diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index 4daf488bb28..c4a5bb0612c 100644
--- a/doc/languages-frameworks/python.section.md
+++ b/doc/languages-frameworks/python.section.md
@@ -328,7 +328,7 @@ when building the bindings and are therefore added as `buildInputs`.
meta = {
description = "Pythonic binding for the libxml2 and libxslt libraries";
- homepage = http://lxml.de;
+ homepage = https://lxml.de;
license = licenses.bsd3;
maintainers = with maintainers; [ sjourdois ];
};
diff --git a/lib/kernel.nix b/lib/kernel.nix
new file mode 100644
index 00000000000..45b33aea7b8
--- /dev/null
+++ b/lib/kernel.nix
@@ -0,0 +1,57 @@
+{ lib
+# we pass the kernel version here to keep a nice syntax `whenOlder "4.13"`
+# kernelVersion, e.g., config.boot.kernelPackages.version
+, version
+, mkValuePreprocess ? null
+}:
+
+with lib;
+rec {
+ # Common patterns
+ when = cond: opt: if cond then opt else null;
+ whenAtLeast = ver: when (versionAtLeast version ver);
+ whenOlder = ver: when (versionOlder version ver);
+ whenBetween = verLow: verHigh: when (versionAtLeast version verLow && versionOlder version verHigh);
+
+ # Keeping these around in case we decide to change this horrible implementation :)
+ option = x: if x == null then null else "?${x}";
+ yes = "y";
+ no = "n";
+ module = "m";
+
+ mkValue = val:
+ let
+ isNumber = c: elem c ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9"];
+ in
+ if val == "" then "\"\""
+ else if val == yes || val == module || val == no then val
+ else if all isNumber (stringToCharacters val) then val
+ else if substring 0 2 val == "0x" then val
+ else val; # FIXME: fix quoting one day
+
+
+ # generate nix intermediate kernel config file of the form
+ #
+ # VIRTIO_MMIO m
+ # VIRTIO_BLK y
+ # VIRTIO_CONSOLE n
+ # NET_9P_VIRTIO? y
+ #
+ # Use mkValuePreprocess to preprocess option values, aka mark 'modules' as
+ # 'yes' or vice-versa
+ # Borrowed from copumpkin https://github.com/NixOS/nixpkgs/pull/12158
+ # returns a string, expr should be an attribute set
+ generateNixKConf = exprs: mkValuePreprocess:
+ let
+ mkConfigLine = key: rawval:
+ let
+ val = if builtins.isFunction mkValuePreprocess then mkValuePreprocess rawval else rawval;
+ in
+ if val == null
+ then ""
+ else if hasPrefix "?" val
+ then "${key}? ${mkValue (removePrefix "?" val)}\n"
+ else "${key} ${mkValue val}\n";
+ mkConf = cfg: concatStrings (mapAttrsToList mkConfigLine cfg);
+ in mkConf exprs;
+}
diff --git a/nixos/doc/manual/administration/imperative-containers.xml b/nixos/doc/manual/administration/imperative-containers.xml
index 9cc7ca3e672..9bb62bc2ece 100644
--- a/nixos/doc/manual/administration/imperative-containers.xml
+++ b/nixos/doc/manual/administration/imperative-containers.xml
@@ -27,7 +27,7 @@
# nixos-container create foo --config '
= true;
- users.extraUsers.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"];
+ users.users.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"];
'
diff --git a/nixos/doc/manual/configuration/network-manager.xml b/nixos/doc/manual/configuration/network-manager.xml
index e217a99148b..d103ee24978 100644
--- a/nixos/doc/manual/configuration/network-manager.xml
+++ b/nixos/doc/manual/configuration/network-manager.xml
@@ -19,7 +19,7 @@
All users that should have permission to change network settings must belong
to the networkmanager
group:
-users.extraUsers.youruser.extraGroups = [ "networkmanager" ];
+users.users.alice.extraGroups = [ "networkmanager" ];
diff --git a/nixos/doc/manual/configuration/ssh.xml b/nixos/doc/manual/configuration/ssh.xml
index 6e883e3fbbc..a4af1b96583 100644
--- a/nixos/doc/manual/configuration/ssh.xml
+++ b/nixos/doc/manual/configuration/ssh.xml
@@ -20,7 +20,7 @@
follows:
-users.extraUsers.alice.openssh.authorizedKeys.keys =
+users.users.alice.openssh.authorizedKeys.keys =
[ "ssh-dss AAAAB3NzaC1kc3MAAACBAPIkGWVEt4..." ];
diff --git a/nixos/doc/manual/installation/changing-config.xml b/nixos/doc/manual/installation/changing-config.xml
index 680160a3cb7..1a116ec0b65 100644
--- a/nixos/doc/manual/installation/changing-config.xml
+++ b/nixos/doc/manual/installation/changing-config.xml
@@ -66,7 +66,7 @@ $ ./result/bin/run-*-vm
mutableUsers = false. Another way is to temporarily add
the following to your configuration:
-users.extraUsers.your-user.initialHashedPassword = "test";
+users.users.your-user.initialHashedPassword = "test";
Important: delete the $hostname.qcow2 file if you have
started the virtual machine at least once without the right users, otherwise
diff --git a/nixos/doc/manual/installation/installing-from-other-distro.xml b/nixos/doc/manual/installation/installing-from-other-distro.xml
index c55aa90267f..d1e49a2a159 100644
--- a/nixos/doc/manual/installation/installing-from-other-distro.xml
+++ b/nixos/doc/manual/installation/installing-from-other-distro.xml
@@ -211,7 +211,7 @@ $ sudo groupdel nixbld
use sudo)
-users.extraUsers.root.initialHashedPassword = "";
+users.users.root.initialHashedPassword = "";
diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml
index 667437a2413..51e77d24a74 100644
--- a/nixos/doc/manual/release-notes/rl-1809.xml
+++ b/nixos/doc/manual/release-notes/rl-1809.xml
@@ -330,6 +330,11 @@ inherit (pkgs.nixos {
will be added to environment.systemPackages.
+
+
+ The module now uses WPA2 by default.
+
+
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 73231edf077..aac86087f9e 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -317,6 +317,10 @@
restic = 291;
openvpn = 292;
meguca = 293;
+ yarn = 294;
+ hdfs = 295;
+ mapred = 296;
+ hadoop = 297;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@@ -594,6 +598,10 @@
restic = 291;
openvpn = 292;
meguca = 293;
+ yarn = 294;
+ hdfs = 295;
+ mapred = 296;
+ hadoop = 297;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index ea996acebb2..c70d52c94cd 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -178,6 +178,7 @@
./services/backup/rsnapshot.nix
./services/backup/tarsnap.nix
./services/backup/znapzend.nix
+ ./services/cluster/hadoop/default.nix
./services/cluster/kubernetes/default.nix
./services/cluster/kubernetes/dns.nix
./services/cluster/kubernetes/dashboard.nix
diff --git a/nixos/modules/services/cluster/hadoop/conf.nix b/nixos/modules/services/cluster/hadoop/conf.nix
new file mode 100644
index 00000000000..38db10406b9
--- /dev/null
+++ b/nixos/modules/services/cluster/hadoop/conf.nix
@@ -0,0 +1,31 @@
+{ hadoop, pkgs }:
+let
+ propertyXml = name: value: ''
+
+ ${name}
+ ${builtins.toString value}
+
+ '';
+ siteXml = fileName: properties: pkgs.writeTextDir fileName ''
+
+
+
+ ${builtins.concatStringsSep "\n" (pkgs.lib.mapAttrsToList propertyXml properties)}
+
+ '';
+ userFunctions = ''
+ hadoop_verify_logdir() {
+ echo Skipping verification of log directory
+ }
+ '';
+in
+pkgs.buildEnv {
+ name = "hadoop-conf";
+ paths = [
+ (siteXml "core-site.xml" hadoop.coreSite)
+ (siteXml "hdfs-site.xml" hadoop.hdfsSite)
+ (siteXml "mapred-site.xml" hadoop.mapredSite)
+ (siteXml "yarn-site.xml" hadoop.yarnSite)
+ (pkgs.writeTextDir "hadoop-user-functions.sh" userFunctions)
+ ];
+}
diff --git a/nixos/modules/services/cluster/hadoop/default.nix b/nixos/modules/services/cluster/hadoop/default.nix
new file mode 100644
index 00000000000..53c13fd0603
--- /dev/null
+++ b/nixos/modules/services/cluster/hadoop/default.nix
@@ -0,0 +1,63 @@
+{ config, lib, pkgs, ...}:
+let
+ cfg = config.services.hadoop;
+ hadoopConf = import ./conf.nix { hadoop = cfg; pkgs = pkgs; };
+in
+with lib;
+{
+ imports = [ ./yarn.nix ./hdfs.nix ];
+
+ options.services.hadoop = {
+ coreSite = mkOption {
+ default = {};
+ example = {
+ "fs.defaultFS" = "hdfs://localhost";
+ };
+ description = "Hadoop core-site.xml definition";
+ };
+
+ hdfsSite = mkOption {
+ default = {};
+ example = {
+ "dfs.nameservices" = "namenode1";
+ };
+ description = "Hadoop hdfs-site.xml definition";
+ };
+
+ mapredSite = mkOption {
+ default = {};
+ example = {
+ "mapreduce.map.cpu.vcores" = "1";
+ };
+ description = "Hadoop mapred-site.xml definition";
+ };
+
+ yarnSite = mkOption {
+ default = {};
+ example = {
+ "yarn.resourcemanager.ha.id" = "resourcemanager1";
+ };
+ description = "Hadoop yarn-site.xml definition";
+ };
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.hadoop;
+ defaultText = "pkgs.hadoop";
+ example = literalExample "pkgs.hadoop";
+ description = ''
+ '';
+ };
+ };
+
+
+ config = mkMerge [
+ (mkIf (builtins.hasAttr "yarn" config.users.extraUsers ||
+ builtins.hasAttr "hdfs" config.users.extraUsers ) {
+ users.extraGroups.hadoop = {
+ gid = config.ids.gids.hadoop;
+ };
+ })
+
+ ];
+}
diff --git a/nixos/modules/services/cluster/hadoop/hdfs.nix b/nixos/modules/services/cluster/hadoop/hdfs.nix
new file mode 100644
index 00000000000..48020e6139c
--- /dev/null
+++ b/nixos/modules/services/cluster/hadoop/hdfs.nix
@@ -0,0 +1,73 @@
+{ config, lib, pkgs, ...}:
+let
+ cfg = config.services.hadoop;
+ hadoopConf = import ./conf.nix { hadoop = cfg; pkgs = pkgs; };
+in
+with lib;
+{
+ options.services.hadoop.hdfs = {
+ namenode.enabled = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to run the Hadoop YARN NameNode
+ '';
+ };
+ datanode.enabled = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to run the Hadoop YARN DataNode
+ '';
+ };
+ };
+
+ config = mkMerge [
+ (mkIf cfg.hdfs.namenode.enabled {
+ systemd.services."hdfs-namenode" = {
+ description = "Hadoop HDFS NameNode";
+ wantedBy = [ "multi-user.target" ];
+
+ environment = {
+ HADOOP_HOME = "${cfg.package}";
+ };
+
+ preStart = ''
+ ${cfg.package}/bin/hdfs --config ${hadoopConf} namenode -format -nonInteractive || true
+ '';
+
+ serviceConfig = {
+ User = "hdfs";
+ SyslogIdentifier = "hdfs-namenode";
+ ExecStart = "${cfg.package}/bin/hdfs --config ${hadoopConf} namenode";
+ };
+ };
+ })
+ (mkIf cfg.hdfs.datanode.enabled {
+ systemd.services."hdfs-datanode" = {
+ description = "Hadoop HDFS DataNode";
+ wantedBy = [ "multi-user.target" ];
+
+ environment = {
+ HADOOP_HOME = "${cfg.package}";
+ };
+
+ serviceConfig = {
+ User = "hdfs";
+ SyslogIdentifier = "hdfs-datanode";
+ ExecStart = "${cfg.package}/bin/hdfs --config ${hadoopConf} datanode";
+ };
+ };
+ })
+ (mkIf (
+ cfg.hdfs.namenode.enabled || cfg.hdfs.datanode.enabled
+ ) {
+ users.extraUsers.hdfs = {
+ description = "Hadoop HDFS user";
+ group = "hadoop";
+ uid = config.ids.uids.hdfs;
+ };
+ })
+
+ ];
+}
diff --git a/nixos/modules/services/cluster/hadoop/yarn.nix b/nixos/modules/services/cluster/hadoop/yarn.nix
new file mode 100644
index 00000000000..ce5b04a331c
--- /dev/null
+++ b/nixos/modules/services/cluster/hadoop/yarn.nix
@@ -0,0 +1,74 @@
+{ config, lib, pkgs, ...}:
+let
+ cfg = config.services.hadoop;
+ hadoopConf = import ./conf.nix { hadoop = cfg; pkgs = pkgs; };
+in
+with lib;
+{
+ options.services.hadoop.yarn = {
+ resourcemanager.enabled = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to run the Hadoop YARN ResourceManager
+ '';
+ };
+ nodemanager.enabled = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to run the Hadoop YARN NodeManager
+ '';
+ };
+ };
+
+ config = mkMerge [
+ (mkIf (
+ cfg.yarn.resourcemanager.enabled || cfg.yarn.nodemanager.enabled
+ ) {
+
+ users.extraUsers.yarn = {
+ description = "Hadoop YARN user";
+ group = "hadoop";
+ uid = config.ids.uids.yarn;
+ };
+ })
+
+ (mkIf cfg.yarn.resourcemanager.enabled {
+ systemd.services."yarn-resourcemanager" = {
+ description = "Hadoop YARN ResourceManager";
+ wantedBy = [ "multi-user.target" ];
+
+ environment = {
+ HADOOP_HOME = "${cfg.package}";
+ };
+
+ serviceConfig = {
+ User = "yarn";
+ SyslogIdentifier = "yarn-resourcemanager";
+ ExecStart = "${cfg.package}/bin/yarn --config ${hadoopConf} " +
+ " resourcemanager";
+ };
+ };
+ })
+
+ (mkIf cfg.yarn.nodemanager.enabled {
+ systemd.services."yarn-nodemanager" = {
+ description = "Hadoop YARN NodeManager";
+ wantedBy = [ "multi-user.target" ];
+
+ environment = {
+ HADOOP_HOME = "${cfg.package}";
+ };
+
+ serviceConfig = {
+ User = "yarn";
+ SyslogIdentifier = "yarn-nodemanager";
+ ExecStart = "${cfg.package}/bin/yarn --config ${hadoopConf} " +
+ " nodemanager";
+ };
+ };
+ })
+
+ ];
+}
diff --git a/nixos/modules/services/hardware/fwupd.nix b/nixos/modules/services/hardware/fwupd.nix
index d8abde2a600..d97d690920a 100644
--- a/nixos/modules/services/hardware/fwupd.nix
+++ b/nixos/modules/services/hardware/fwupd.nix
@@ -85,6 +85,6 @@ in {
};
meta = {
- maintainers = pkgs.fwupd.maintainers;
+ maintainers = pkgs.fwupd.meta.maintainers;
};
}
diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix
index 3826fe3edfd..52c0966e05b 100644
--- a/nixos/modules/services/network-filesystems/openafs/client.nix
+++ b/nixos/modules/services/network-filesystems/openafs/client.nix
@@ -1,6 +1,7 @@
-{ config, pkgs, lib, ... }:
+{ config, lib, pkgs, ... }:
-with import ./lib.nix { inherit lib; };
+# openafsMod, openafsBin, mkCellServDB
+with import ./lib.nix { inherit config lib pkgs; };
let
inherit (lib) getBin mkOption mkIf optionalString singleton types;
@@ -8,8 +9,8 @@ let
cfg = config.services.openafsClient;
cellServDB = pkgs.fetchurl {
- url = http://dl.central.org/dl/cellservdb/CellServDB.2017-03-14;
- sha256 = "1197z6c5xrijgf66rhaymnm5cvyg2yiy1i20y4ah4mrzmjx0m7sc";
+ url = http://dl.central.org/dl/cellservdb/CellServDB.2018-05-14;
+ sha256 = "1wmjn6mmyy2r8p10nlbdzs4nrqxy8a9pjyrdciy5nmppg4053rk2";
};
clientServDB = pkgs.writeText "client-cellServDB-${cfg.cellName}" (mkCellServDB cfg.cellName cfg.cellServDB);
@@ -21,8 +22,6 @@ let
echo "${cfg.mountPoint}:${cfg.cache.directory}:${toString cfg.cache.blocks}" > $out/cacheinfo
'';
- openafsMod = config.boot.kernelPackages.openafs;
- openafsBin = lib.getBin pkgs.openafs;
in
{
###### interface
@@ -147,6 +146,19 @@ in
'';
};
+ packages = {
+ module = mkOption {
+ default = config.boot.kernelPackages.openafs;
+ type = types.package;
+ description = "OpenAFS kernel module package. MUST match the userland package!";
+ };
+ programs = mkOption {
+ default = getBin pkgs.openafs;
+ type = types.package;
+ description = "OpenAFS programs package. MUST match the kernel module package!";
+ };
+ };
+
sparse = mkOption {
default = true;
type = types.bool;
@@ -180,7 +192,7 @@ in
}
];
- environment.systemPackages = [ pkgs.openafs ];
+ environment.systemPackages = [ openafsBin ];
environment.etc = {
clientCellServDB = {
diff --git a/nixos/modules/services/network-filesystems/openafs/lib.nix b/nixos/modules/services/network-filesystems/openafs/lib.nix
index ecfc72d2eaf..255740ac65e 100644
--- a/nixos/modules/services/network-filesystems/openafs/lib.nix
+++ b/nixos/modules/services/network-filesystems/openafs/lib.nix
@@ -1,14 +1,15 @@
-{ lib, ...}:
+{ config, lib, pkgs, ...}:
let
- inherit (lib) concatStringsSep mkOption types;
+ inherit (lib) concatStringsSep getBin mkOption types;
in rec {
mkCellServDB = cellName: db: ''
>${cellName}
'' + (concatStringsSep "\n" (map (dbm: if (dbm.ip != "" && dbm.dnsname != "") then dbm.ip + " #" + dbm.dnsname else "")
- db));
+ db))
+ + "\n";
# CellServDB configuration type
cellServDBConfig = {
@@ -25,4 +26,8 @@ in rec {
description = "DNS full-qualified domain name of a database server";
};
};
+
+ openafsMod = config.services.openafsClient.packages.module;
+ openafsBin = config.services.openafsClient.packages.programs;
+ openafsSrv = config.services.openafsServer.package;
}
diff --git a/nixos/modules/services/network-filesystems/openafs/server.nix b/nixos/modules/services/network-filesystems/openafs/server.nix
index 429eb945ac9..aa8640fd240 100644
--- a/nixos/modules/services/network-filesystems/openafs/server.nix
+++ b/nixos/modules/services/network-filesystems/openafs/server.nix
@@ -1,6 +1,7 @@
-{ config, pkgs, lib, ... }:
+{ config, lib, pkgs, ... }:
-with import ./lib.nix { inherit lib; };
+# openafsBin, openafsSrv, mkCellServDB
+with import ./lib.nix { inherit config lib pkgs; };
let
inherit (lib) concatStringsSep intersperse mapAttrsToList mkForce mkIf mkMerge mkOption optionalString types;
@@ -11,21 +12,21 @@ let
checkbintime 3 0 5 0 0
'' + (optionalString cfg.roles.database.enable ''
bnode simple vlserver 1
- parm ${openafsBin}/libexec/openafs/vlserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.vlserverArgs}
+ parm ${openafsSrv}/libexec/openafs/vlserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.vlserverArgs}
end
bnode simple ptserver 1
- parm ${openafsBin}/libexec/openafs/ptserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.ptserverArgs}
+ parm ${openafsSrv}/libexec/openafs/ptserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.ptserverArgs}
end
'') + (optionalString cfg.roles.fileserver.enable ''
bnode dafs dafs 1
- parm ${openafsBin}/libexec/openafs/dafileserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.fileserverArgs}
- parm ${openafsBin}/libexec/openafs/davolserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.volserverArgs}
- parm ${openafsBin}/libexec/openafs/salvageserver ${cfg.roles.fileserver.salvageserverArgs}
- parm ${openafsBin}/libexec/openafs/dasalvager ${cfg.roles.fileserver.salvagerArgs}
+ parm ${openafsSrv}/libexec/openafs/dafileserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.fileserverArgs}
+ parm ${openafsSrv}/libexec/openafs/davolserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.volserverArgs}
+ parm ${openafsSrv}/libexec/openafs/salvageserver ${cfg.roles.fileserver.salvageserverArgs}
+ parm ${openafsSrv}/libexec/openafs/dasalvager ${cfg.roles.fileserver.salvagerArgs}
end
'') + (optionalString (cfg.roles.database.enable && cfg.roles.backup.enable) ''
bnode simple buserver 1
- parm ${openafsBin}/libexec/openafs/buserver ${cfg.roles.backup.buserverArgs} ${optionalString (cfg.roles.backup.cellServDB != []) "-cellservdb /etc/openafs/backup/"}
+ parm ${openafsSrv}/libexec/openafs/buserver ${cfg.roles.backup.buserverArgs} ${optionalString (cfg.roles.backup.cellServDB != []) "-cellservdb /etc/openafs/backup/"}
end
''));
@@ -39,8 +40,6 @@ let
udpSizeStr = toString cfg.udpPacketSize;
- openafsBin = lib.getBin pkgs.openafs;
-
in {
options = {
@@ -79,6 +78,12 @@ in {
description = "Definition of all cell-local database server machines.";
};
+ package = mkOption {
+ default = pkgs.openafs.server or pkgs.openafs;
+ type = types.package;
+ description = "OpenAFS package for the server binaries";
+ };
+
roles = {
fileserver = {
enable = mkOption {
@@ -213,7 +218,7 @@ in {
}
];
- environment.systemPackages = [ pkgs.openafs ];
+ environment.systemPackages = [ openafsBin ];
environment.etc = {
bosConfig = {
@@ -244,7 +249,10 @@ in {
after = [ "syslog.target" "network.target" ];
wantedBy = [ "multi-user.target" ];
restartIfChanged = false;
- unitConfig.ConditionPathExists = [ "/etc/openafs/server/rxkad.keytab" ];
+ unitConfig.ConditionPathExists = [
+ "|/etc/openafs/server/rxkad.keytab"
+ "|/etc/openafs/server/KeyFileExt"
+ ];
preStart = ''
mkdir -m 0755 -p /var/openafs
${optionalString (netInfo != null) "cp ${netInfo} /var/openafs/netInfo"}
diff --git a/nixos/modules/services/networking/hostapd.nix b/nixos/modules/services/networking/hostapd.nix
index 63f56437d1c..3af0441a89d 100644
--- a/nixos/modules/services/networking/hostapd.nix
+++ b/nixos/modules/services/networking/hostapd.nix
@@ -29,7 +29,7 @@ let
ctrl_interface_group=${cfg.group}
${if cfg.wpa then ''
- wpa=1
+ wpa=2
wpa_passphrase=${cfg.wpaPassphrase}
'' else ""}
diff --git a/nixos/modules/services/networking/iwd.nix b/nixos/modules/services/networking/iwd.nix
index 344212ad832..cfc536fc5b5 100644
--- a/nixos/modules/services/networking/iwd.nix
+++ b/nixos/modules/services/networking/iwd.nix
@@ -28,6 +28,10 @@ in {
serviceConfig.ExecStart = "${pkgs.iwd}/libexec/iwd";
};
+
+ systemd.tmpfiles.rules = [
+ "d /var/lib/iwd 0700 root root -"
+ ];
};
meta.maintainers = with lib.maintainers; [ mic92 ];
diff --git a/nixos/release.nix b/nixos/release.nix
index 0d3ae997469..67820149437 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -299,6 +299,8 @@ in rec {
tests.gnome3-gdm = callTest tests/gnome3-gdm.nix {};
tests.grafana = callTest tests/grafana.nix {};
tests.graphite = callTest tests/graphite.nix {};
+ tests.hadoop.hdfs = callTestOnMatchingSystems [ "x86_64-linux" ] tests/hadoop/hdfs.nix {};
+ tests.hadoop.yarn = callTestOnMatchingSystems [ "x86_64-linux" ] tests/hadoop/yarn.nix {};
tests.hardened = callTest tests/hardened.nix { };
tests.haproxy = callTest tests/haproxy.nix {};
tests.hibernate = callTest tests/hibernate.nix {};
diff --git a/nixos/tests/common/letsencrypt.nix b/nixos/tests/common/letsencrypt.nix
index 7c6b3b29e36..2c86fe8d68b 100644
--- a/nixos/tests/common/letsencrypt.nix
+++ b/nixos/tests/common/letsencrypt.nix
@@ -193,6 +193,7 @@ let
snakeOilCa = pkgs.runCommand "snakeoil-ca" {
buildInputs = [ pkgs.openssl ];
+ allowSubstitutes = false;
} ''
mkdir "$out"
openssl req -newkey rsa:4096 -x509 -sha256 -days 36500 \
@@ -215,6 +216,7 @@ let
'';
in pkgs.runCommand "snakeoil-certs-${fqdn}" {
buildInputs = [ pkgs.openssl ];
+ allowSubstitutes = false;
} ''
mkdir "$out"
openssl genrsa -out "$out/snakeoil.key" 4096
diff --git a/nixos/tests/hadoop/hdfs.nix b/nixos/tests/hadoop/hdfs.nix
new file mode 100644
index 00000000000..4206c940c1a
--- /dev/null
+++ b/nixos/tests/hadoop/hdfs.nix
@@ -0,0 +1,54 @@
+import ../make-test.nix ({pkgs, ...}: {
+ nodes = {
+ namenode = {pkgs, config, ...}: {
+ services.hadoop = {
+ package = pkgs.hadoop_3_1;
+ hdfs.namenode.enabled = true;
+ coreSite = {
+ "fs.defaultFS" = "hdfs://namenode:8020";
+ };
+ hdfsSite = {
+ "dfs.replication" = 1;
+ "dfs.namenode.rpc-bind-host" = "0.0.0.0";
+ "dfs.namenode.http-bind-host" = "0.0.0.0";
+ };
+ };
+ networking.firewall.allowedTCPPorts = [
+ 9870 # namenode.http-address
+ 8020 # namenode.rpc-address
+ ];
+ };
+ datanode = {pkgs, config, ...}: {
+ services.hadoop = {
+ package = pkgs.hadoop_3_1;
+ hdfs.datanode.enabled = true;
+ coreSite = {
+ "fs.defaultFS" = "hdfs://namenode:8020";
+ };
+ };
+ networking.firewall.allowedTCPPorts = [
+ 9864 # datanode.http.address
+ 9866 # datanode.address
+ 9867 # datanode.ipc.address
+ ];
+ };
+ };
+
+ testScript = ''
+ startAll
+
+ $namenode->waitForUnit("hdfs-namenode");
+ $namenode->waitForUnit("network.target");
+ $namenode->waitForOpenPort(8020);
+ $namenode->waitForOpenPort(9870);
+
+ $datanode->waitForUnit("hdfs-datanode");
+ $datanode->waitForUnit("network.target");
+ $datanode->waitForOpenPort(9864);
+ $datanode->waitForOpenPort(9866);
+ $datanode->waitForOpenPort(9867);
+
+ $namenode->succeed("curl http://namenode:9870");
+ $datanode->succeed("curl http://datanode:9864");
+ '';
+})
diff --git a/nixos/tests/hadoop/yarn.nix b/nixos/tests/hadoop/yarn.nix
new file mode 100644
index 00000000000..e97cc1acc90
--- /dev/null
+++ b/nixos/tests/hadoop/yarn.nix
@@ -0,0 +1,46 @@
+import ../make-test.nix ({pkgs, ...}: {
+ nodes = {
+ resourcemanager = {pkgs, config, ...}: {
+ services.hadoop.package = pkgs.hadoop_3_1;
+ services.hadoop.yarn.resourcemanager.enabled = true;
+ services.hadoop.yarnSite = {
+ "yarn.resourcemanager.scheduler.class" = "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler";
+ };
+ networking.firewall.allowedTCPPorts = [
+ 8088 # resourcemanager.webapp.address
+ 8031 # resourcemanager.resource-tracker.address
+ ];
+ };
+ nodemanager = {pkgs, config, ...}: {
+ services.hadoop.package = pkgs.hadoop_3_1;
+ services.hadoop.yarn.nodemanager.enabled = true;
+ services.hadoop.yarnSite = {
+ "yarn.resourcemanager.hostname" = "resourcemanager";
+ "yarn.nodemanager.log-dirs" = "/tmp/userlogs";
+ "yarn.nodemanager.address" = "0.0.0.0:8041";
+ };
+ networking.firewall.allowedTCPPorts = [
+ 8042 # nodemanager.webapp.address
+ 8041 # nodemanager.address
+ ];
+ };
+
+ };
+
+ testScript = ''
+ startAll;
+
+ $resourcemanager->waitForUnit("yarn-resourcemanager");
+ $resourcemanager->waitForUnit("network.target");
+ $resourcemanager->waitForOpenPort(8031);
+ $resourcemanager->waitForOpenPort(8088);
+
+ $nodemanager->waitForUnit("yarn-nodemanager");
+ $nodemanager->waitForUnit("network.target");
+ $nodemanager->waitForOpenPort(8042);
+ $nodemanager->waitForOpenPort(8041);
+
+ $resourcemanager->succeed("curl http://localhost:8088");
+ $nodemanager->succeed("curl http://localhost:8042");
+ '';
+})
diff --git a/pkgs/applications/altcoins/nano-wallet/default.nix b/pkgs/applications/altcoins/nano-wallet/default.nix
index 8c4722bd991..a14a40e9cc7 100644
--- a/pkgs/applications/altcoins/nano-wallet/default.nix
+++ b/pkgs/applications/altcoins/nano-wallet/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "nano-wallet-${version}";
- version = "12.1";
+ version = "14.2";
src = fetchFromGitHub {
owner = "nanocurrency";
repo = "raiblocks";
rev = "V${version}";
- sha256 = "10ng7qn6y31s2bjahmpivw2plx90ljjjzb87j3l7zmppsjd2iq03";
+ sha256 = "0jbv5a8sz403a1pqcgl32idk6y0z510h7ikjg1dcxla0rsch6ipl";
fetchSubmodules = true;
};
diff --git a/pkgs/applications/altcoins/parity/default.nix b/pkgs/applications/altcoins/parity/default.nix
index 707889b23ee..4ee13665d1b 100644
--- a/pkgs/applications/altcoins/parity/default.nix
+++ b/pkgs/applications/altcoins/parity/default.nix
@@ -1,7 +1,7 @@
let
- version = "1.10.7";
- sha256 = "0syhvr4n9zyxhx20xln7sf70ljzj6ab36xjz4710ivnwwz2pjajf";
- cargoSha256 = "0zwk8xv71s7xkwvssh27772qfb23yhq5jlcny617qik6bwpcdh6b";
+ version = "1.10.8";
+ sha256 = "0q6blsbxn48afqf3cmxvmdlyzvf0cpqcymsjbsk8nyx0zxzf1dpk";
+ cargoSha256 = "0rzhabyhprmcg0cdmibbb8zgqf6z4izsdq8m060mppkkv675x0lf";
patches = [ ./patches/vendored-sources-1.10.patch ];
in
import ./parity.nix { inherit version sha256 cargoSha256 patches; }
diff --git a/pkgs/applications/audio/sidplayfp/default.nix b/pkgs/applications/audio/sidplayfp/default.nix
new file mode 100644
index 00000000000..2495759593c
--- /dev/null
+++ b/pkgs/applications/audio/sidplayfp/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, libsidplayfp }:
+
+stdenv.mkDerivation rec {
+ version = "1.4.3";
+ name = "sidplayfp-${version}";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/sidplay-residfp/sidplayfp/1.4/${name}.tar.gz";
+ sha256 = "04gqhxs4w0riabp1svgcs6gsxdmbfmrs4kaqr5lifvxjvv03vzsn";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ libsidplayfp ];
+
+ meta = with stdenv.lib; {
+ description = "A SID player using libsidplayfp";
+ homepage = https://sourceforge.net/projects/sidplay-residfp/;
+ license = with licenses; [ gpl2Plus ];
+ maintainers = with maintainers; [ dezgeg ];
+ platforms = with platforms; linux;
+ };
+}
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index a165fad370e..8a536bad9c4 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -16,6 +16,7 @@
, fontconfig
, freetype
, libpulseaudio
+, libGL
, libX11
, libXext
, libXi
@@ -97,6 +98,7 @@ let
# For Android emulator
libpulseaudio
libX11
+ libGL
# For GTKLookAndFeel
gtk2
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index 9f9e965c6a9..fbf6443b91f 100644
--- a/pkgs/applications/graphics/avocode/default.nix
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
name = "avocode-${version}";
- version = "3.0.0";
+ version = "3.1.1";
src = fetchurl {
url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
- sha256 = "1lm0zzqhnk5gm68l8fkmlkh3gl71f1xw0amy23460a7hm9wcwjr7";
+ sha256 = "1qvyc08i3b4rr43ssz78xndm4bx8lz2vigh6w9gd7w367xjf4f5b";
};
libPath = stdenv.lib.makeLibraryPath (with xorg; with gnome2; [
diff --git a/pkgs/applications/misc/cbatticon/default.nix b/pkgs/applications/misc/cbatticon/default.nix
index 01511b41b08..f4ba30080f7 100644
--- a/pkgs/applications/misc/cbatticon/default.nix
+++ b/pkgs/applications/misc/cbatticon/default.nix
@@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
sha256 = "16g26vin1693dbdr9qsnw36fdchx394lp79gvp7gcbw0w1ny9av6";
};
+ patchPhase = ''
+ sed -i -e 's/ -Wno-format//g' Makefile
+ '';
+
makeFlags = "PREFIX=$(out)";
nativeBuildInputs = [ pkgconfig gettext ];
diff --git a/pkgs/applications/misc/chirp/default.nix b/pkgs/applications/misc/chirp/default.nix
index 6dc7a5f7dd2..16f63cfcd10 100644
--- a/pkgs/applications/misc/chirp/default.nix
+++ b/pkgs/applications/misc/chirp/default.nix
@@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "chirp-daily-${version}";
- version = "20180611";
+ version = "20180614";
src = fetchurl {
url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz";
- sha256 = "1569gnbs4jb53n58wdkdjrxx9nrayljn5v0wqacn5zfr87s16zxf";
+ sha256 = "011bxd418hrl88rhp6lhja68b2kvnm1b845v41g9qfsagvfmbv3g";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index 2710850759b..0224d5fd68c 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, writeText, makeWrapper
# Dependencies documented @ https://gnuradio.org/doc/doxygen/build_guide.html
# => core dependencies
-, ninja, cmake, pkgconfig, git, boost, cppunit, fftw
+, cmake, pkgconfig, git, boost, cppunit, fftw
# => python wrappers
# May be able to upgrade to swig3
, python, swig2, numpy, scipy, matplotlib
@@ -32,12 +32,12 @@ stdenv.mkDerivation rec {
owner = "gnuradio";
repo = "gnuradio";
rev = "v${version}";
- sha256 = "0fqxn1k41xqd52i5z528zdhkn52i9z5hl6cc75ggdx9iqxhvb3jj";
+ sha256 = "1qpa53axqavdv2ykby7rwh7xmhvv964xq1d7rcvbwkry7dngrbib";
fetchSubmodules = true;
};
nativeBuildInputs = [
- cmake pkgconfig git makeWrapper cppunit orc ninja
+ cmake pkgconfig git makeWrapper cppunit orc
];
buildInputs = [
diff --git a/pkgs/applications/misc/goldendict/default.nix b/pkgs/applications/misc/goldendict/default.nix
index f552a74f4c1..5cb51eefe5d 100644
--- a/pkgs/applications/misc/goldendict/default.nix
+++ b/pkgs/applications/misc/goldendict/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, libXtst, libvorbis, hunspell
+{ stdenv, fetchFromGitHub, pkgconfig, libXtst, libvorbis, hunspell
, libao, ffmpeg, libeb, lzo, xz, libtiff
, qtbase, qtsvg, qtwebkit, qtx11extras, qttools, qmake }:
stdenv.mkDerivation rec {
- name = "goldendict-1.5.0.rc2";
- src = fetchurl {
- url = "https://github.com/goldendict/goldendict/archive/1.5.0-RC2.tar.gz";
- sha256 = "1pizz39l61rbps0wby75fkvzyrah805257j33siqybwhsfiy1kmw";
+ name = "goldendict-2018-06-13";
+ src = fetchFromGitHub {
+ owner = "goldendict";
+ repo = "goldendict";
+ rev = "48e850c7ec11d83cba7499f7fdce377ef3849bbb";
+ sha256 = "0i4q4waqjv45hgwillvjik97pg26kwlmz4925djjkx8s6hxgjlq9";
};
nativeBuildInputs = [ pkgconfig qmake ];
@@ -22,6 +24,6 @@ stdenv.mkDerivation rec {
description = "A feature-rich dictionary lookup program";
platforms = stdenv.lib.platforms.linux;
- maintainers = [ stdenv.lib.maintainers.astsmtl ];
+ maintainers = with stdenv.lib.maintainers; [ gebner astsmtl ];
};
}
diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix
index 60f6deefb01..ede85aeada5 100644
--- a/pkgs/applications/misc/khal/default.nix
+++ b/pkgs/applications/misc/khal/default.nix
@@ -1,8 +1,22 @@
-{ stdenv, pkgs, python3Packages }:
+{ stdenv, pkgs, python3 }:
-with python3Packages;
+let
+ python = python3.override {
+ packageOverrides = self: super: {
-buildPythonApplication rec {
+ # https://github.com/pimutils/khal/issues/780
+ python-dateutil = super.python-dateutil.overridePythonAttrs (oldAttrs: rec {
+ version = "2.6.1";
+ src = oldAttrs.src.override {
+ inherit version;
+ sha256 = "891c38b2a02f5bb1be3e4793866c8df49c7d19baabf9c1bad62547e0b4866aca";
+ };
+ });
+
+ };
+ };
+
+in with python.pkgs; buildPythonApplication rec {
pname = "khal";
version = "0.9.9";
@@ -29,10 +43,11 @@ buildPythonApplication rec {
pkginfo
freezegun
];
- buildInputs = [ setuptools_scm pytest pkgs.glibcLocales ];
+ nativeBuildInputs = [ setuptools_scm pkgs.glibcLocales ];
+ checkInputs = [ pytest ];
checkPhase = ''
- # py.test
+ py.test
'';
meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/krename/default.nix b/pkgs/applications/misc/krename/default.nix
index e686ec94a4a..a0a2776ae36 100644
--- a/pkgs/applications/misc/krename/default.nix
+++ b/pkgs/applications/misc/krename/default.nix
@@ -1,5 +1,5 @@
{
- mkDerivation, fetchFromGitHub, lib,
+ mkDerivation, fetchurl, lib,
extra-cmake-modules, kdoctools, wrapGAppsHook,
kconfig, kinit, kjsembed, taglib, exiv2, podofo,
kcrash
@@ -7,15 +7,14 @@
let
pname = "krename";
- version = "20170610";
+ version = "5.0.0";
+
in mkDerivation rec {
name = "${pname}-${version}";
- src = fetchFromGitHub {
- owner = "KDE";
- repo = "krename";
- rev = "18000edfec52de0b417d575e14eb078b4bd7b2f3";
- sha256 = "0hsrlfrbi42jqqnkcz682c6yrfi3xpl299672knj22074wr6sv0j";
+ src = fetchurl {
+ url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
+ sha256 = "136j1dkqrhv458rjh5v3vzjhvq6dhz7k79zk6mmx8zvqacc7cq8a";
};
meta = with lib; {
diff --git a/pkgs/applications/networking/browsers/eolie/0001-Extend-the-python-path-rather-than-replacing-it.patch b/pkgs/applications/networking/browsers/eolie/0001-Extend-the-python-path-rather-than-replacing-it.patch
deleted file mode 100644
index 347fb8e1287..00000000000
--- a/pkgs/applications/networking/browsers/eolie/0001-Extend-the-python-path-rather-than-replacing-it.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From b51b63b78c9ff1639f5f65ccfdd54681f1cadc1d Mon Sep 17 00:00:00 2001
-From: Sam Parkinson
-Date: Tue, 26 Dec 2017 14:46:27 +1100
-Subject: [PATCH] Extend the python path; rather than replacing it
-
-Some distros (i.e. NixOS) require the special PYTHONPATH, so that
-the web extension has access to the python packages it wants (i.e. gi).
-
-Previously, the PYTHONPATH was replaced with the web extension path;
-meaning it would crash on NixOS. This instead prepends the web
-extension path to the PYTHONPATH.
----
- eolie/application.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/eolie/application.py b/eolie/application.py
-index 3c21542..bed4e55 100644
---- a/eolie/application.py
-+++ b/eolie/application.py
-@@ -340,7 +340,11 @@ class Application(Gtk.Application):
- self.settings = Settings.new()
-
- # Init extensions
-- GLib.setenv("PYTHONPATH", self.__extension_dir, True)
-+ current_path = GLib.getenv("PYTHONPATH")
-+ new_path = self.__extension_dir
-+ if current_path:
-+ new_path = new_path + ':' + current_path
-+ GLib.setenv("PYTHONPATH", new_path, True)
-
- # Create favicon path
- if not GLib.file_test(self.__FAVICONS_PATH, GLib.FileTest.IS_DIR):
---
-2.15.0
-
diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix
index 9d4c858298d..5de6c0d882a 100644
--- a/pkgs/applications/networking/browsers/eolie/default.nix
+++ b/pkgs/applications/networking/browsers/eolie/default.nix
@@ -1,67 +1,53 @@
-{ stdenv, fetchgit, intltool, itstool, meson, ninja, pkgconfig, wrapGAppsHook
-, glib, glib-networking, gsettings-desktop-schemas, gst_all_1, gtk3, gobjectIntrospection
-, gtkspell3, libsecret, python36, python36Packages, webkitgtk }:
+{ stdenv, fetchgit, meson, ninja, pkgconfig, wrapGAppsHook
+, desktop-file-utils, gobjectIntrospection, python36Packages
+, gnome3, gst_all_1, gtkspell3, hunspell }:
stdenv.mkDerivation rec {
name = "eolie-${version}";
- version = "0.9.16";
+ version = "0.9.35";
src = fetchgit {
- url = https://gitlab.gnome.org/gnumdk/eolie;
- rev = version;
- sha256 = "0mvhr6hy4nx7xaq9r9qp5rb0y293kjjryw5ykzb473cr3iwzk25b";
+ url = "https://gitlab.gnome.org/World/eolie";
+ rev = "refs/tags/${version}";
+ fetchSubmodules = true;
+ sha256 = "0x3p1fgx1fhrnr7vkkpnl34401r6k6xg2mrjff7ncb1k57q522k7";
};
- nativeBuildInputs = [
- intltool
- itstool
+ nativeBuildInputs = with python36Packages; [
+ desktop-file-utils
+ gobjectIntrospection
meson
ninja
pkgconfig
wrapGAppsHook
- gobjectIntrospection
+ wrapPython
];
- buildInputs = [
- glib
- glib-networking
- gsettings-desktop-schemas
- gst_all_1.gstreamer
- gst_all_1.gst-plugins-base
- gst_all_1.gst-plugins-good
- gst_all_1.gst-plugins-bad
- gst_all_1.gst-plugins-ugly
- gst_all_1.gst-libav
- gtk3
- gtkspell3
- libsecret
- python36
- python36Packages.pygobject3
- python36Packages.pycairo
- python36Packages.dateutil
- python36Packages.dbus-python
- python36Packages.beautifulsoup4
- python36Packages.pycrypto
- python36Packages.requests
- webkitgtk
+ buildInputs = [ gtkspell3 hunspell python36Packages.pygobject3 ] ++ (with gnome3; [
+ glib glib-networking gsettings_desktop_schemas gtk3 webkitgtk libsecret
+ ]) ++ (with gst_all_1; [
+ gst-libav gst-plugins-base gst-plugins-ugly gstreamer
+ ]);
+
+ pythonPath = with python36Packages; [
+ beautifulsoup4
+ pycairo
+ pygobject3
+ python-dateutil
];
- wrapPrefixVariables = [ "PYTHONPATH" ];
+ postFixup = "wrapPythonPrograms";
postPatch = ''
chmod +x meson_post_install.py # patchShebangs requires executable file
patchShebangs meson_post_install.py
'';
- patches = [
- ./0001-Extend-the-python-path-rather-than-replacing-it.patch
- ];
-
meta = with stdenv.lib; {
description = "A new GNOME web browser";
- homepage = https://wiki.gnome.org/Apps/Eolie;
- license = licenses.gpl3;
- maintainers = [ maintainers.samdroid-apps ];
- platforms = platforms.linux;
+ homepage = https://wiki.gnome.org/Apps/Eolie;
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ samdroid-apps worldofpeace ];
+ platforms = platforms.linux;
};
}
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 692a4362935..2f08e8af6c9 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -1,14 +1,16 @@
-{ stdenv, fetchurl, system, makeWrapper, makeDesktopItem,
- alsaLib, dbus, glib, fontconfig, freetype, libpulseaudio,
- utillinux, zlib, xorg, udev, sqlite, expat, libv4l, procps, libGL }:
+{ stdenv, fetchurl, system, makeWrapper, makeDesktopItem, autoPatchelfHook
+, dbus, glib, libGL, libX11, libXfixes, libuuid, libxcb, procps
+, qtbase, qtdeclarative, qtlocation, qtquickcontrols2, qtscript
+, qtwebchannel, qtwebengine
+}:
let
- version = "2.0.123200.0405";
+ version = "2.2.128100.0627";
srcs = {
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
- sha256 = "1ifwa2xf5mw1ll2j1f39qd7mpyxpc6xj3650dmlnxf525dsm573z";
+ sha256 = "1x98zhs75c22x58zj4vzk8gb9yr7a9hfkbiqhjp5jrvccgz6ncin";
};
};
@@ -17,76 +19,44 @@ in stdenv.mkDerivation {
src = srcs.${system};
- nativeBuildInputs = [ makeWrapper ];
+ nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
- libPath = stdenv.lib.makeLibraryPath [
- alsaLib
- expat
- glib
- freetype
- libGL
- libpulseaudio
- zlib
- dbus
- fontconfig
- sqlite
- utillinux
- udev
-
- xorg.libX11
- xorg.libSM
- xorg.libICE
- xorg.libxcb
- xorg.xcbutilimage
- xorg.xcbutilkeysyms
- xorg.libXcursor
- xorg.libXext
- xorg.libXfixes
- xorg.libXdamage
- xorg.libXtst
- xorg.libxshmfence
- xorg.libXi
- xorg.libXrender
- xorg.libXcomposite
- xorg.libXScrnSaver
- xorg.libXrandr
-
- stdenv.cc.cc
+ buildInputs = [
+ dbus glib libGL libX11 libXfixes libuuid libxcb qtbase qtdeclarative
+ qtlocation qtquickcontrols2 qtscript qtwebchannel qtwebengine
];
- installPhase = ''
- runHook preInstall
+ installPhase =
+ let
+ files = stdenv.lib.concatStringsSep " " [
+ "*.pcm"
+ "*.png"
+ "ZXMPPROOT.cer"
+ "ZoomLauncher"
+ "config-dump.sh"
+ "qtdiag"
+ "timezones"
+ "translations"
+ "version.txt"
+ "zcacert.pem"
+ "zoom"
+ "zoom.sh"
+ "zoomlinux"
+ "zopen"
+ ];
+ in ''
+ runHook preInstall
- packagePath=$out/share/zoom-us
- mkdir -p $packagePath
- mkdir -p $out/bin
- cp -ar * $packagePath
+ packagePath=$out/share/zoom-us
+ mkdir -p $packagePath $out/bin
- patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $packagePath/zoom
- patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $packagePath/QtWebEngineProcess
- patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $packagePath/qtdiag
- patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $packagePath/zopen
- # included from https://github.com/NixOS/nixpkgs/commit/fc218766333a05c9352b386e0cbb16e1ae84bf53
- # it works for me without it, but, well...
- paxmark m $packagePath/zoom
- #paxmark m $packagePath/QtWebEngineProcess # is this what dtzWill talked about?
+ cp -ar ${files} $packagePath
- # RUNPATH set via patchelf is used only for half of libraries (why?), so wrap it
- makeWrapper $packagePath/zoom $out/bin/zoom-us \
- --prefix LD_LIBRARY_PATH : "$packagePath:$libPath" \
- --prefix LD_PRELOAD : "${libv4l}/lib/v4l1compat.so" \
- --prefix PATH : "${procps}/bin" \
- --set QT_PLUGIN_PATH "$packagePath/platforms" \
- --set QT_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb" \
- --set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale"
+ makeWrapper $packagePath/zoom $out/bin/zoom-us \
+ --prefix PATH : "${procps}/bin"
- cat > $packagePath/qt.conf < 1.35), libidn.so.11 became libidn.so.12.
+ # Citrix looks for the former so we build version 1.34 to please the binary
+ libidn_134 = libidn.overrideDerivation (_: rec {
+ name = "libidn-1.34";
+ src = fetchurl {
+ url = "mirror://gnu/libidn/${name}.tar.gz";
+ sha256 = "0g3fzypp0xjcgr90c5cyj57apx1cmy0c6y9lvw2qdcigbyby469p";
+ };
+ });
+
versionInfo = {
"13.4.0" = rec {
major = "13";
@@ -102,6 +113,17 @@ let
x86hash = "A93E9770FD10FDD3586A2D47448559EA037265717A7000B9BD2B1DCCE7B0A483";
x64suffix = "6";
x86suffix = "6";
+ homepage = https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-1391.html;
+ };
+
+ "13.10.0" = {
+ major = "13";
+ minor = "10";
+ patch = "0";
+ x64hash = "7025688C7891374CDA11C92FC0BA2FA8151AEB4C4D31589AD18747FAE943F6EA";
+ x86hash = "2DCA3C8EDED11C5D824D579BC3A6B7D531EAEDDCBFB16E91B5702C72CAE9DEE4";
+ x64suffix = "20";
+ x86suffix = "20";
homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html;
};
};
@@ -160,7 +182,7 @@ let
xorg.libXinerama
xorg.libXfixes
libpng12
- libidn
+ libidn_134
zlib
gtk_engines
freetype
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index c09d0b3aa39..63fda1e0e8b 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -25,11 +25,11 @@ in
stdenv.mkDerivation rec {
name = "gnucash-${version}";
- version = "3.1-1";
+ version = "3.2";
src = fetchurl {
url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
- sha256 = "0qfjpmr6hnr0v7l2fi00rilnlyan4kqiyygyidxlpdxqqg76dvx1";
+ sha256 = "0li4b6pvlahgh5n9v91yxfgm972a1kky80xw3q1ggl4f2h6b1rb3";
};
nativeBuildInputs = [ pkgconfig makeWrapper cmake gtest ];
diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix
index 212aaa5fa2c..7899bf607e5 100644
--- a/pkgs/applications/office/kmymoney/default.nix
+++ b/pkgs/applications/office/kmymoney/default.nix
@@ -1,4 +1,5 @@
{ stdenv, lib, fetchurl, doxygen, extra-cmake-modules, graphviz, kdoctools
+, fetchpatch
, akonadi, alkimia, aqbanking, gmp, gwenhywfar, kactivities, karchive
, kcmutils, kcontacts, kdewebkit, kdiagram, kholidays, kidentitymanagement
@@ -20,6 +21,13 @@ stdenv.mkDerivation rec {
sha256 = "1c9apnvc07y17pzy4vygry1dai5ass2z7j354lrcppa85b18yvnx";
};
+ # Fix build with Qt 5.11.
+ patches = lib.singleton (fetchpatch {
+ url = "https://cgit.kde.org/kmymoney.git/patch/?id="
+ + "e5198a902996b27bf9abde0ad24af82d55ab5dc1";
+ sha256 = "1h2f1xznf7343s26fh94x8n2ci0pijk5j86f24lvghawsw848316";
+ });
+
# Hidden dependency that wasn't included in CMakeLists.txt:
NIX_CFLAGS_COMPILE = "-I${kitemmodels.dev}/include/KF5";
diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix
index 9675293cfe5..387a71aa04e 100644
--- a/pkgs/applications/office/ledger/default.nix
+++ b/pkgs/applications/office/ledger/default.nix
@@ -13,7 +13,10 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
- buildInputs = [ boost gmp mpfr libedit python texinfo gnused ];
+ buildInputs = [
+ (boost.override { enablePython = usePython; })
+ gmp mpfr libedit python texinfo gnused
+ ];
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/astronomy/gravit/default.nix b/pkgs/applications/science/astronomy/gravit/default.nix
index 9edc6220899..03d0018f237 100644
--- a/pkgs/applications/science/astronomy/gravit/default.nix
+++ b/pkgs/applications/science/astronomy/gravit/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = {
- homepage = http://gravit.slowchop.com;
+ homepage = https://gravit.slowchop.com;
description = "Beautiful OpenGL-based gravity simulator";
license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/applications/science/electronics/librepcb/default.nix b/pkgs/applications/science/electronics/librepcb/default.nix
index ea0ebd52b3e..48afb5bf9dc 100644
--- a/pkgs/applications/science/electronics/librepcb/default.nix
+++ b/pkgs/applications/science/electronics/librepcb/default.nix
@@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
name = "librepcb-${version}";
- version = "20171229";
+ version = "20180628";
src = fetchFromGitHub {
owner = "LibrePCB";
repo = "LibrePCB";
fetchSubmodules = true;
- rev = "4efb06fa42755abc5e606da4669cc17e8de2f8c6";
- sha256 = "0r33fm1djqpy0dzvnf5gv2dfh5nj2acaxb7w4cn8yxdgrazjf7ak";
+ rev = "68577ecf8f39299ef4d81ff964b01c3908d1f10b";
+ sha256 = "1ca4q8b8fhp19vq5yi55sq6xlsz14ihw3i0h7rq5fw0kigpjldmz";
};
enableParallelBuilding = true;
@@ -18,11 +18,13 @@ stdenv.mkDerivation rec {
buildInputs = [ qtbase ];
- # LibrePCB still supports QT below 5.9. But some code lines break the build, so they are removed by this patch so that the software builds.
- patches = [ ./fix-2017-12.patch ];
-
qmakeFlags = ["-r"];
+ postInstall = ''
+ mkdir -p $out/share/librepcb/fontobene
+ cp share/librepcb/fontobene/newstroke.bene $out/share/librepcb/fontobene/
+ '';
+
meta = with stdenv.lib; {
description = "A free EDA software to develop printed circuit boards";
homepage = http://librepcb.org/;
diff --git a/pkgs/applications/science/electronics/librepcb/fix-2017-12.patch b/pkgs/applications/science/electronics/librepcb/fix-2017-12.patch
deleted file mode 100644
index 75fc590ad7f..00000000000
--- a/pkgs/applications/science/electronics/librepcb/fix-2017-12.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/libs/librepcb/common/fileio/serializableobjectlist.h
-+++ b/libs/librepcb/common/fileio/serializableobjectlist.h
-@@ -374,26 +374,6 @@
- } // namespace librepcb
-
- /*****************************************************************************************
-- * Prevent from using SerializableObjectList in a foreach loop because it always would
-- * create a deep copy of the list! You should use C++11 range based for loops instead.
-- ****************************************************************************************/
--
--#if (QT_VERSION > QT_VERSION_CHECK(5, 9, 0))
--#define QFOREACHCONTAINER_TEMPLATE QtPrivate::QForeachContainer
--#else
--#define QFOREACHCONTAINER_TEMPLATE QForeachContainer
--#endif
--
--template
--class QFOREACHCONTAINER_TEMPLATE> { public:
-- ~QForeachContainer() = delete;
--};
--template
--class QFOREACHCONTAINER_TEMPLATE> { public:
-- ~QForeachContainer() = delete;
--};
--
--/*****************************************************************************************
- * End of File
- ****************************************************************************************/
-
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index 2b35c91d10c..dbfec66789a 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -23,6 +23,7 @@ let
"8.7.1" = "0gjn59jkbxwrihk8fx9d823wjyjh5m9gvj9l31nv6z6bcqhgdqi8";
"8.7.2" = "0a0657xby8wdq4aqb2xsxp3n7pmc2w4yxjmrb2l4kccs1aqvaj4w";
"8.8.0" = "13a4fka22hdxsjk11mgjb9ffzplfxyxp1sg5v1c8nk1grxlscgw8";
+ "8.8.1" = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk";
}."${version}";
coq-version = builtins.substring 0 3 version;
camlp5 = ocamlPackages.camlp5_strict;
diff --git a/pkgs/applications/science/math/sage/README.md b/pkgs/applications/science/math/sage/README.md
new file mode 100644
index 00000000000..46496664f28
--- /dev/null
+++ b/pkgs/applications/science/math/sage/README.md
@@ -0,0 +1,117 @@
+# Sage on nixos
+
+Sage is a pretty complex package that depends on many other complex packages and patches some of those. As a result, the sage nix package is also quite complex.
+
+Don't feel discouraged to fix, simplify or improve things though. Here's a quick overview over the functions of the individual files:
+
+- `sage-src.nix`
+ Downloads the source code and applies patches. This makes sure that all the other files work with the same sage source. If you want to apply a patch to sage or update sage to a new version, this is the place to do it.
+
+- `env-locations.nix`
+ Creates a bash file that sets a bunch of environment variables telling sage where to find various packages and files. The definitions of those environment variables can be found in the sage source in the `src/env.py` file. This bash file needs to be sourced before sage is started (done in `sage-env.nix` and `sagedoc.nix`).
+
+- `sage-env.nix`
+ Sets all environment variables sage needs to run. This includes the package locations defined in `env-locations.nix` as well as the location of sage itself and its various subdirectories.
+
+- `sagelib.nix`
+ Defines the main sage package (without setting the necessary environments or running any tests).
+
+- `sage-with-env.nix`
+ Wraps sage in the necessary environment.
+
+- `sage.nix`
+ Runs sages doctests.
+
+- `sage-wrapper.nix`
+ Optionally tells sage where do find the docs.
+
+- `sagedoc.nix`
+ Builds and tests the sage html documentation. Can be used for offline documentation viewing as well as the sage `browse_sage_doc` and `search_doc` functions.
+
+- `sagenb.nix`
+ The (semi deprecated) sage notebook.
+
+- `default.nix`
+ Introduces necessary overrides, defines new packages and ties everything together (returning the `sage` package).
+
+- `flask-oldsessions.nix`, `flask-openid.nix`, `python-openid.nix`
+ These are python packages that were rejected from the main nixpkgs tree because they appear unmaintained. They are needed for the (semi-deprecated) sage notebook. Since that notebook is still needed to run the sage doctests, these packages are included but not exposed to the rest of nixpkgs.
+
+- `pybrial.nix`
+ pybrial is a dependency of sage. However, pybrial itself also has sage as a dependency. Because of that circular dependency, pybrial is hidden from the rest of nixpkgs (just as the flask packages and python-openid.
+
+- `openblas-pc.nix`
+ This creates a `.pc` file to be read by `pkg-config` that allows openblas to take on different roles, like `cblas` or `lapack`.
+
+## The sage build is broken
+
+First you should find out which change to nixpkgs is at fault (if you don't already know). You can use `git-bisect` for that (see the manpage).
+
+If the build broke as a result of a package update, try those solutions in order:
+
+- search the [sage trac](https://trac.sagemath.org/) for keywords like "Upgrade ". Maybe somebody has already proposed a patch that fixes the issue. You can then add a `fetchpatch` to `sage-src.nix`.
+
+- check if [gentoo](https://github.com/cschwan/sage-on-gentoo/tree/master/sci-mathematics/sage), [debian](https://salsa.debian.org/science-team/sagemath/tree/master/debian) or [arch linux](https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/sagemath) already solved the problem. You can then again add a `fetchpatch` to `sage-src.nix`. If applicable you should also [propose the patch upstream](#proposing-a-sage-patch).
+
+- fix the problem yourself. First clone the sagemath source and then check out the sage version you want to patch:
+
+```
+[user@localhost ~]$ git clone git://github.com/sagemath/sage.git
+[user@localhost ~]$ cd sage
+[user@localhost sage]$ git checkout 8.2 # substitute the relevant version here
+```
+
+Then make the needed changes and generate a patch with `git diff`:
+
+```
+[user@localhost ~]$
+[user@localhost ~]$ git diff -u > /path/to/nixpkgs/pkgs/applications/science/math/sage/patches/name-of-patch.patch
+```
+
+Now just add the patch to `sage-src.nix` and test your changes. If they fix the problem, [propose them upstream](#proposing-a-sage-patch) and add a link to the trac ticket.
+
+- pin the package version in `default.nix` and add a note that explains why that is necessary.
+
+
+## Proposing a sage patch
+
+You can [login the sage trac using GitHub](https://trac.sagemath.org/login). Your username will then be `gh-`. The only other way is to request a trac account via email. After that refer to [git the hard way](http://doc.sagemath.org/html/en/developer/manual_git.html#chapter-manual-git) in the sage documentation. The "easy way" requires a non-GitHub account (requested via email) and a special tool. The "hard way" is really not all that hard if you're a bit familiar with git.
+
+Here's the gist, assuming you want to use ssh key authentication. First, [add your public ssh key](https://trac.sagemath.org/prefs/sshkeys). Then:
+
+```
+[user@localhost ~]$ git clone git://github.com/sagemath/sage.git
+[user@localhost ~]$ cd sage
+[user@localhost sage]$ git remote add trac git@trac.sagemath.org:sage.git -t master
+[user@localhost sage]$ git checkout -b u/gh-/ develop
+[user@localhost sage]$
+[user@localhost sage]$ git add .
+[user@localhost sage]$ git commit
+[user@localhost sage]$ git show # review your changes
+[user@localhost sage]$ git push --set-upstream trac u/gh-/
+```
+
+You now created a branch on the trac server (you *must* follow the naming scheme as you only have push access to branches with the `u/gh-/` prefix).
+Now you can [create a new trac ticket](https://trac.sagemath.org/newticket).
+- Write a description of the change
+- set the type and component as appropriate
+- write your real name in the "Authors" field
+- write `u/gh-/` in the "Branch" field
+- click "Create ticket"
+- click "Modify" on the top right of your ticket (for some reason you can only change the ticket status after you have created it)
+- set the ticket status from `new` to `needs_review`
+- click "Save changes"
+
+Refer to sages [Developer's Guide](http://doc.sagemath.org/html/en/developer/index.html) for further details.
+
+## I want to update sage
+
+You'll need to change the `version` field in `sage-src.nix`. Afterwards just try to build and let nix tell you which patches no longer apply (hopefully because they were adopted upstream). Remove those.
+
+Hopefully the build will succeed now. If it doesn't and the problem is obvious, fix it as described in [The sage build is broken](#the-sage-build-is-broken).
+If the problem is not obvious, you can try to first update sage to an intermediate version (remember that you can also set the `version` field to any git revision of sage) and locate the sage commit that introduced the issue. You can even use `git-bisect` for that (it will only be a bit tricky to keep track of which patches to apply). Hopefully after that the issue will be obvious.
+
+## Well, that didn't help!
+
+If you couldn't fix the problem, create a GitHub issue on the nixpkgs repo and ping @timokau (or whoever is listed in the `maintainers` list of the sage package).
+Describe what you did and why it didn't work. Afterwards it would be great if you help the next guy out and improve this documentation!
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index 7f101bac147..9ad112213ff 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -1,230 +1,211 @@
-# TODO
-# - consider writing a script to convert spkgs to nix packages, similar to vim
-# or cabal2nix. This would allow a more efficient and "cleaner" build, greater
-# flexibility and the possibility to select which dependencies to add and which
-# to remove. It would also allow to use system packages for some dependencies
-# and recompile others (optimized for the system) without recompiling everything.
-# - add optdeps:
-# - imagemagick
-# - texlive full for documentation
-# - ...
-# - further seperate build outputs. Also maybe run `make doc`.
-# Configure flags like --bindir and --libdir oculd also be used for that, see
-# ./configure --help`.
-
-# Other resources:
-# - https://wiki.debian.org/DebianScience/Sage
-# - https://github.com/cschwan/sage-on-gentoo
-# - https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/sagemath
-
-{ stdenv
-, bash
-, fetchurl
-, perl
-, gfortran6
-, python
-, autoreconfHook
-, gettext
-, which
-, texlive
-, texinfo
-, hevea
-, buildDocs ? false
-, optimize ? false # optimize sage to the current system (obviously impure)
+{ nixpkgs
+, withDoc ? false
}:
-stdenv.mkDerivation rec {
- version = "8.1";
- name = "sage-${version}";
+let
+ inherit (nixpkgs) fetchpatch fetchurl symlinkJoin fetchFromGitHub callPackage nodePackages_8_x;
- # Modified version of patchShebangs that patches to the sage-internal version if possible
- # and falls back to the system version if not.
- patchSageShebangs = ./patchSageShebangs.sh;
- src = fetchurl {
- # Note that the source is *not* fetched from github, since that doesn't
- # the upstream folder with all the source tarballs of the spkgs.
- # If those are not present they are fetched at build time, which breaks
- # when building in a sandbox (and probably only works if you install the
- # latest sage version).
- urls = [
- "http://mirrors.mit.edu/sage/src/sage-${version}.tar.gz"
- "ftp://ftp.fu-berlin.de/unix/misc/sage/src/sage-${version}.tar.gz"
- "http://sagemath.polytechnic.edu.na/src/sage-${version}.tar.gz"
- "ftp://ftp.sun.ac.za/pub/mirrors/www.sagemath.org/src/sage-${version}.tar.gz"
- "http://sagemath.mirror.ac.za/src/sage-${version}.tar.gz"
- "https://ftp.leg.uct.ac.za/pub/packages/sage/src/sage-${version}.tar.gz"
- "http://mirror.ufs.ac.za/sagemath/src/sage-${version}.tar.gz"
- "https://mirrors-usa.go-parts.com/sage/sagemath/src/sage-${version}.tar.gz"
- "http://www.cecm.sfu.ca/sage/src/sage-${version}.tar.gz"
- "http://files.sagemath.org/src/sage-${version}.tar.gz"
- "https://mirrors.xmission.com/sage/src/sage-${version}.tar.gz"
- "http://sagemath.c3sl.ufpr.br/src/sage-${version}.tar.gz"
- "http://linorg.usp.br/sage/src/sage-${version}.tar.gz"
- "http://mirror.hust.edu.cn/sagemath/src/sage-${version}.tar.gz"
- "https://ftp.iitm.ac.in/sage/src/sage-${version}.tar.gz"
- "http://ftp.kaist.ac.kr/sage/src/sage-${version}.tar.gz"
- "https://ftp.riken.jp/sagemath/src/sage-${version}.tar.gz"
- "https://mirrors.tuna.tsinghua.edu.cn/sagemath/src/sage-${version}.tar.gz"
- "https://mirrors.ustc.edu.cn/sagemath/src/sage-${version}.tar.gz"
- "http://ftp.tsukuba.wide.ad.jp/software/sage/src/sage-${version}.tar.gz"
- "https://ftp.yz.yamagata-u.ac.jp/pub/math/sage/src/sage-${version}.tar.gz"
- "https://mirror.yandex.ru/mirrors/sage.math.washington.edu/src/sage-${version}.tar.gz"
- "https://mirror.aarnet.edu.au/pub/sage/src/sage-${version}.tar.gz"
- "https://sage.mirror.garr.it/mirrors/sage/src/sage-${version}.tar.gz"
- "https://www.mirrorservice.org/sites/www.sagemath.org/src/sage-${version}.tar.gz"
- "http://mirror.switch.ch/mirror/sagemath/src/sage-${version}.tar.gz"
- "https://mirrors.up.pt/pub/sage/src/sage-${version}.tar.gz"
- "http://www-ftp.lip6.fr/pub/math/sagemath/src/sage-${version}.tar.gz"
- "http://ftp.ntua.gr/pub/sagemath/src/sage-${version}.tar.gz"
+ # https://trac.sagemath.org/ticket/15980 for tracking of python3 support
+ python = nixpkgs.python2.override {
+ packageOverrides = self: super: {
+ cypari2 = super.cypari2.override { inherit pari; };
+
+ cysignals = super.cysignals.override { inherit pari; };
+
+ cvxopt = super.cvxopt.override { inherit glpk; };
+
+ # https://github.com/sagemath/sagenb/issues/437
+ flask-babel = super.flask-babel.overridePythonAttrs (attrs: rec {
+ version = "0.9";
+ src = attrs.src.override {
+ inherit version;
+ sha256 = "0k7vk4k54y55ma0nx2k5s0phfqbriwslhy5shh3b0d046q7ibzaa";
+ };
+ doCheck = false;
+ });
+
+ # python packages that appear unmaintained and were not accepted into the nixpkgs
+ # tree because of that. These packages are only dependencies of the more-or-less
+ # deprecated sagenb. However sagenb is still a default dependency and the doctests
+ # depend on it.
+ # See https://github.com/NixOS/nixpkgs/pull/38787 for a discussion.
+ flask-oldsessions = self.callPackage ./flask-oldsessions.nix {};
+ flask-openid = self.callPackage ./flask-openid.nix {};
+ python-openid = self.callPackage ./python-openid.nix {};
+
+ pybrial = self.callPackage ./pybrial.nix {};
+
+ sagelib = self.callPackage ./sagelib.nix {
+ inherit flint ecl pari glpk eclib;
+ inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular;
+ linbox = nixpkgs.linbox.override { withSage = true; };
+ };
+
+ sagenb = self.callPackage ./sagenb.nix {
+ mathjax = nodePackages_8_x.mathjax;
+ };
+
+ sagedoc = self.callPackage ./sagedoc.nix {
+ inherit sage-src;
+ };
+
+ env-locations = self.callPackage ./env-locations.nix {
+ inherit pari_data ecl pari;
+ inherit singular;
+ three = nodePackages_8_x.three;
+ mathjax = nodePackages_8_x.mathjax;
+ };
+
+ sage-env = self.callPackage ./sage-env.nix {
+ inherit sage-src python rWrapper openblas-cblas-pc glpk ecl singular eclib pari palp flint pynac pythonEnv;
+ pkg-config = nixpkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
+ };
+
+ sage-with-env = self.callPackage ./sage-with-env.nix {
+ inherit pari eclib pythonEnv;
+ inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular;
+ pkg-config = nixpkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
+ three = nodePackages_8_x.three;
+ };
+
+ sage = self.callPackage ./sage.nix { };
+
+ sage-wrapper = self.callPackage ./sage-wrapper.nix {
+ inherit sage-src withDoc;
+ };
+ };
+ };
+
+ openblas-blas-pc = callPackage ./openblas-pc.nix { name = "blas"; };
+ openblas-cblas-pc = callPackage ./openblas-pc.nix { name = "cblas"; };
+ openblas-lapack-pc = callPackage ./openblas-pc.nix { name = "lapack"; };
+
+ sage-src = callPackage ./sage-src.nix {};
+
+ pythonRuntimeDeps = with python.pkgs; [
+ sagelib
+ pybrial
+ sagenb
+ cvxopt
+ networkx
+ service-identity
+ psutil
+ sympy
+ fpylll
+ matplotlib
+ scipy
+ ipywidgets
+ rpy2
+ sphinx
+ typing
+ pillow
+ ];
+
+ pythonEnv = python.buildEnv.override {
+ extraLibs = pythonRuntimeDeps;
+ ignoreCollisions = true;
+ } // { extraLibs = pythonRuntimeDeps; }; # make the libs accessible
+
+ # needs to be rWrapper, standard "R" doesn't include default packages
+ rWrapper = nixpkgs.rWrapper.override {
+ # https://trac.sagemath.org/ticket/25674
+ R = nixpkgs.R.overrideAttrs (attrs: rec {
+ name = "R-3.4.4";
+ src = fetchurl {
+ url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
+ sha256 = "0dq3jsnwsb5j3fhl0wi3p5ycv8avf8s5j1y4ap3d2mkjmcppvsdk";
+ };
+ });
+ };
+
+ # update causes issues
+ # https://groups.google.com/forum/#!topic/sage-packaging/cS3v05Q0zso
+ # https://trac.sagemath.org/ticket/24735
+ singular = nixpkgs.singular.overrideAttrs (oldAttrs: {
+ name = "singular-4.1.0p3";
+ src = fetchurl {
+ url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-1-0/singular-4.1.0p3.tar.gz";
+ sha256 = "105zs3zk46b1cps403ap9423rl48824ap5gyrdgmg8fma34680a4";
+ };
+ });
+
+ # *not* to confuse with the python package "pynac"
+ # https://trac.sagemath.org/ticket/24838 (depends on arb update)
+ pynac = nixpkgs.pynac.override { inherit singular; };
+
+ eclib = nixpkgs.eclib.override { inherit pari; };
+
+ # With openblas (64 bit), the tests fail the same way as when sage is build with
+ # openblas instead of openblasCompat. Apparently other packages somehow use flints
+ # blas when it is available. Alternative would be to override flint to use
+ # openblasCompat.
+ flint = nixpkgs.flint.override { withBlas = false; };
+
+ # Multiple palp dimensions need to be available and sage expects them all to be
+ # in the same folder.
+ palp = symlinkJoin {
+ name = "palp-${nixpkgs.palp.version}";
+ paths = [
+ (nixpkgs.palp.override { dimensions = 4; doSymlink = false; })
+ (nixpkgs.palp.override { dimensions = 5; doSymlink = false; })
+ (nixpkgs.palp.override { dimensions = 6; doSymlink = true; })
+ (nixpkgs.palp.override { dimensions = 11; doSymlink = false; })
];
- sha256 = "1cpcs1mr0yii64s152xmxyd450bfzjb22jjj0zh9y3n6g9alzpyq";
};
- postPatch = ''
- substituteAllInPlace src/bin/sage-env
- bash=${bash} substituteAllInPlace build/bin/sage-spkg
- '';
-
- installPhase = ''
- # Sage installs during first `make`, `make install` is no-op and just takes time.
- '';
-
- outputs = [ "out" ] ++ stdenv.lib.optionals (buildDocs) [ "doc" ];
-
- buildInputs = [
- bash # needed for the build
- perl # needed for the build
- python # needed for the build
- gfortran6 # needed to build giac, openblas
- autoreconfHook # needed to configure sage with prefix
- gettext # needed to build the singular spkg
- which # needed in configure of mpir
- texinfo # needed to build maxima
- ] ++ stdenv.lib.optionals(buildDocs) [
- hevea # needed to build the docs of the giac spkg
- (texlive.combine { inherit (texlive)
- scheme-basic
- collection-pstricks # needed by giac
- times # font needed by giac
- stmaryrd # needed by giac
- babel-greek # optional for giac, otherwise throws a bunch of latex command not founds
- ;
- })
- ];
-
- nativeBuildInputs = [ gfortran6 perl which ];
-
- patches = [
- # fix usages of /bin/rm
- ./spkg-singular.patch
- # help python find the crypt library
- # patches python3 and indirectly python2, since those installation files are symlinked
- ./spkg-python.patch
- # fix usages of /usr/bin/perl
- ./spkg-git.patch
- # fix usages of /bin/cp and add necessary argument to function call
- ./spkg-giac.patch
- # environment
- ./env.patch
- # adjust wrapper shebang and patch shebangs after each spkg build
- ./shebangs.patch
- ];
-
- enableParallelBuilding = true;
-
- hardeningDisable = [
- "format" # needed to build palp, for lines like `printf(ctime(&_NFL->TIME))`
- # TODO could be patched with `sed s|printf(ctime(\(.*\)))|%s... or fixed upstream
- ];
-
- configureFlags = stdenv.lib.optionals(buildDocs) [ "--docdir=$(doc)" ];
- preConfigure = ''
- export SAGE_NUM_THREADS="$NIX_BUILD_CORES"
-
- export HOME=/tmp/sage-home
- export SAGE_ROOT="$PWD"
- export SAGE_SRC="$PWD"
-
- mkdir -p "$HOME"
- mkdir -p "$out"
-
- # we need to keep the source around
- dir="$PWD"
- cd ..
- mv "$dir" "$out/sage-root"
-
- export SAGE_SPKG_INSTALL_DOCS='no'
- cd "$out/sage-root" # build in target dir, since `make` is also `make install`
- ''
- + stdenv.lib.optionalString (buildDocs) ''
- mkdir -p "$doc"
- export SAGE_DOC="$doc"
- export SAGE_DOCBUILD_OPTS="--no-pdf-links -k"
- ''
- + stdenv.lib.optionalString (!optimize) ''
- export SAGE_FAT_BINARY=yes
- '';
-
- buildFlags = if (buildDocs) then "doc" else "build";
-
- # for reference: http://doc.sagemath.org/html/en/installation/source.html
- preBuild = ''
- # symlink python to make sure the shebangs are patched to the sage path
- # while still being able to use python before building it
- # (this is important because otherwise sage will try to install python
- # packages globally later on)
- ln -s "${python}/bin/python2" $out/bin/python2
- ln -s "$out/bin/python2" $out/bin/python
- touch $out/bin/python3
- bash $patchSageShebangs .
- '';
-
- postBuild = ''
- # Clean up
- rm -r "$out/sage-root/upstream" # don't keep the sources of all the spkgs
- rm -rf "$out/sage-root/src/build"
- rm -rf "$out/sage-root/src/autom4te.cache"
- rm -rf "$out/sage-root/src/config"
- rm -rf "$out/sage-root/src/m4"
- rm -rf "$out/sage-root/.git"
- rm -r "$out/sage-root/logs"
- rm -r "$out"/lib/python*/test
- # Fix dependency cycle between out and doc
- rm -f "$out/sage-root/config.log"
- rm -f "$out/sage-root/config.status"
- rm -f "$out/sage-root/build/make/Makefile-auto"
- rm -f "$out/sage-home/.sage/gap/libgap-workspace-"*
- # Make sure unnessessary packages don't end up in the build closure
- find "$out" \
- -iname 'config.log' \
- -delete \
- -or -iname 'Makefile' \
- -delete
- rm -f "$out/lib/R/etc/Renviron"
- # Make sure all shebangs are properly patched
- bash $patchSageShebangs $out
- '';
-
- # TODO there are some doctest failures, which seem harmless.
- # We should figure out a way to fix the failures or ignore only those tests.
- doCheck = false;
-
- checkTarget = "ptestalllong"; # all long tests in parallell
- preCheck = ''
- export SAGE_TIMEOUT=0 # no timeout
- export SAGE_TIMEOUT_LONG=0 # no timeout
- '';
-
- meta = {
- homepage = http://www.sagemath.org;
- description = "A free open source mathematics software system";
- # taken from the homepage
- longDescription = ''
- SageMath is a free open-source mathematics software system licensed under the GPL. It builds on top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Access their combined power through a common, Python-based language or directly via interfaces or wrappers.
- Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab.
- '';
- license = stdenv.lib.licenses.gpl2Plus;
- platforms = ["x86_64-linux" "i686-linux"];
- maintainers = with stdenv.lib.maintainers; [ timokau ];
+ # Sage expects those in the same directory.
+ pari_data = symlinkJoin {
+ name = "pari_data";
+ paths = with nixpkgs; [
+ pari-galdata
+ pari-seadata-small
+ ];
};
-}
+
+ # https://trac.sagemath.org/ticket/22191
+ ecl = nixpkgs.ecl_16_1_2;
+
+ # sage currently uses an unreleased version of pari
+ pari = (nixpkgs.pari.override { withThread = false; }).overrideAttrs (attrs: rec {
+ version = "2.10-1280-g88fb5b3"; # on update remove pari-stackwarn patch from `sage-src.nix`
+ src = fetchurl {
+ url = "mirror://sageupstream/pari/pari-${version}.tar.gz";
+ sha256 = "19gbsm8jqq3hraanbmsvzkbh88iwlqbckzbnga3y76r7k42akn7m";
+ };
+ });
+
+ # https://trac.sagemath.org/ticket/24824
+ glpk = nixpkgs.glpk.overrideAttrs (attrs: rec {
+ version = "4.63";
+ name = "glpk-${version}";
+ src = fetchurl {
+ url = "mirror://gnu/glpk/${name}.tar.gz";
+ sha256 = "1xp7nclmp8inp20968bvvfcwmz3mz03sbm0v3yjz8aqwlpqjfkci";
+ };
+ patches = (attrs.patches or []) ++ [
+ # Alternatively patch sage with debians
+ # https://sources.debian.org/data/main/s/sagemath/8.1-7/debian/patches/t-version-glpk-4.60-extra-hack-fixes.patch
+ # The header of that debian patch contains a good description of the issue. The gist of it:
+ # > If GLPK in Sage causes one error, and this is caught by Sage and recovered from, then
+ # > later (because upstream GLPK does not clear the "error" flag) Sage will append
+ # > all subsequent terminal output of GLPK into the error_message string but not
+ # > actually forward it to the user's terminal. This breaks some doctests.
+ (fetchpatch {
+ name = "error_recovery.patch";
+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/glpk/patches/error_recovery.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+ sha256 = "0z99z9gd31apb6x5n5n26411qzx0ma3s6dnznc4x61x86bhq31qf";
+ })
+
+ # Allow setting a exact verbosity level (OFF|ERR|ON|ALL|DBG)
+ (fetchpatch {
+ name = "exact_verbosity.patch";
+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/glpk/patches/glp_exact_verbosity.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+ sha256 = "15gm5i2alqla3m463i1qq6jx6c0ns6lip7njvbhp37pgxg4s9hx8";
+ })
+ ];
+ });
+in
+ python.pkgs.sage-wrapper // {
+ doc = python.pkgs.sagedoc;
+ lib = python.pkgs.sagelib;
+ }
diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix
new file mode 100644
index 00000000000..2ed079ab32b
--- /dev/null
+++ b/pkgs/applications/science/math/sage/env-locations.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, writeTextFile
+, pari_data
+, pari
+, singular
+, maxima-ecl
+, conway_polynomials
+, graphs
+, elliptic_curves
+, polytopes_db
+, gap-libgap-compatible
+, ecl
+, combinatorial_designs
+, jmol
+, mathjax
+, three
+, cysignals
+}:
+
+writeTextFile rec {
+ name = "sage-env-locations";
+ destination = "/${name}";
+ text = ''
+ export GP_DATA_DIR="${pari_data}/share/pari"
+ export PARI_DATA_DIR="${pari_data}"
+ export GPHELP="${pari}/bin/gphelp"
+ export GPDOCDIR="${pari}/share/pari/doc"
+ export SINGULARPATH='${singular}/share/singular'
+ export SINGULAR_SO='${singular}/lib/libSingular.so'
+ export SINGULAR_EXECUTABLE='${singular}/bin/Singular'
+ export MAXIMA_FAS='${maxima-ecl}/lib/maxima/${maxima-ecl.version}/binary-ecl/maxima.fas'
+ export MAXIMA_PREFIX="${maxima-ecl}"
+ export CONWAY_POLYNOMIALS_DATA_DIR='${conway_polynomials}/share/conway_polynomials'
+ export GRAPHS_DATA_DIR='${graphs}/share/graphs'
+ export ELLCURVE_DATA_DIR='${elliptic_curves}/share/ellcurves'
+ export POLYTOPE_DATA_DIR='${polytopes_db}/share/reflexive_polytopes'
+ export GAP_ROOT_DIR='${gap-libgap-compatible}/share/gap/build-dir'
+ export ECLDIR='${ecl}/lib/ecl-${ecl.version}/'
+ export COMBINATORIAL_DESIGN_DATA_DIR="${combinatorial_designs}/share/combinatorial_designs"
+ export CREMONA_MINI_DATA_DIR="${elliptic_curves}/share/cremona"
+ export JMOL_DIR="${jmol}"
+ export MATHJAX_DIR="${mathjax}/lib/node_modules/mathjax"
+ export THREEJS_DIR="${three}/lib/node_modules/three"
+ export SAGE_INCLUDE_DIRECTORIES="${cysignals}/lib/python2.7/site-packages"
+ '';
+}
diff --git a/pkgs/applications/science/math/sage/env.patch b/pkgs/applications/science/math/sage/env.patch
deleted file mode 100644
index a7f8538eac3..00000000000
--- a/pkgs/applications/science/math/sage/env.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/bin/sage-env b/src/bin/sage-env
-index ead308f861..ed8db9f9b7 100644
---- a/src/bin/sage-env
-+++ b/src/bin/sage-env
-@@ -111,6 +111,8 @@ resolvelinks() {
- }
-
-
-+SAGE_ROOT="@out@/sage-root"
-+
- # New value for SAGE_ROOT: either SAGE_ROOT (if given)
- # or a guessed value based on pwd.
- if [ -n "$SAGE_ROOT" ]; then
-@@ -185,6 +187,8 @@ fi
- export SAGE_ENV_SOURCED=$SAGE_ENV_VERSION
-
- export SAGE_ROOT="$NEW_SAGE_ROOT"
-+export SAGE_LOCAL='@out@/'
-+export PYTHONPATH="@out@/lib/python2.7/site-packages:$PYTHONPATH"
-
-
- # sage-env must know where the Sage's script files are.
diff --git a/pkgs/applications/science/math/sage/fetch-mirrors.sh b/pkgs/applications/science/math/sage/fetch-mirrors.sh
deleted file mode 100755
index a1103e86beb..00000000000
--- a/pkgs/applications/science/math/sage/fetch-mirrors.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#! /usr/bin/env nix-shell
-#! nix-shell -i bash -p curl go-pup
-
-# Fetches a list of all available source mirrors from the sage homepage.
-# Note that the list is sorted by country, but fetchurl doesn't offer an option
-# to customize mirror preference.
-
-curl -s http://www.sagemath.org/download-source.html \
- | pup 'table#mirror' \
- | pup 'a attr{href}' \
- | sed -e 's/index\.html/sage-${version}.tar.gz/'
diff --git a/pkgs/applications/science/math/sage/flask-oldsessions.nix b/pkgs/applications/science/math/sage/flask-oldsessions.nix
new file mode 100644
index 00000000000..85e35736d03
--- /dev/null
+++ b/pkgs/applications/science/math/sage/flask-oldsessions.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, python
+, flask
+}:
+
+buildPythonPackage rec {
+ pname = "Flask-OldSessions";
+ version = "0.10";
+
+ # no artifact on pypi: https://github.com/mitsuhiko/flask-oldsessions/issues/1
+ src = fetchFromGitHub {
+ owner = "mitsuhiko";
+ repo = "flask-oldsessions";
+ rev = "${version}";
+ sha256 = "04b5m8njjiwld9a0zw55iqwvyjgwcpdbhz1cic8nyhgcmypbicqn";
+ };
+
+ propagatedBuildInputs = [
+ flask
+ ];
+
+ # missing module flask.testsuite, probably assumes an old version of flask
+ doCheck = false;
+ checkPhase = ''
+ ${python.interpreter} run-tests.py
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Provides a session class that works like the one in Flask before 0.10.";
+ license = licenses.bsd2;
+ maintainers = with maintainers; [ timokau ];
+ homepage = https://github.com/mitsuhiko/flask-oldsessions;
+ };
+}
diff --git a/pkgs/applications/science/math/sage/flask-openid.nix b/pkgs/applications/science/math/sage/flask-openid.nix
new file mode 100644
index 00000000000..9043fabd9b4
--- /dev/null
+++ b/pkgs/applications/science/math/sage/flask-openid.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, flask
+, python-openid
+}:
+
+buildPythonPackage rec {
+ pname = "Flask-OpenID";
+ version = "1.2.5";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "1aycwmwi7ilcaa5ab8hm0bp6323zl8z25q9ha0gwrl8aihfgx3ss";
+ };
+
+ propagatedBuildInputs = [
+ flask
+ python-openid
+ ];
+
+ meta = with stdenv.lib; {
+ description = "Adds openid support to flask applications";
+ license = licenses.bsd2;
+ maintainers = with maintainers; [ timokau ];
+ homepage = https://pythonhosted.org/Flask-OpenID/;
+ };
+}
diff --git a/pkgs/applications/science/math/sage/openblas-pc.nix b/pkgs/applications/science/math/sage/openblas-pc.nix
new file mode 100644
index 00000000000..ba46850bbc6
--- /dev/null
+++ b/pkgs/applications/science/math/sage/openblas-pc.nix
@@ -0,0 +1,18 @@
+{ stdenv
+, openblasCompat
+, writeTextFile
+, name
+}:
+
+writeTextFile {
+ name = "openblas-${name}-pc-${openblasCompat.version}";
+ destination = "/lib/pkgconfig/${name}.pc";
+ text = ''
+ Name: ${name}
+ Version: ${openblasCompat.version}
+
+ Description: ${name} for SageMath, provided by the OpenBLAS package.
+ Cflags: -I${openblasCompat}/include
+ Libs: -L${openblasCompat}/lib -lopenblas
+ '';
+}
diff --git a/pkgs/applications/science/math/sage/patchSageShebangs.sh b/pkgs/applications/science/math/sage/patchSageShebangs.sh
deleted file mode 100644
index 6ddf93af011..00000000000
--- a/pkgs/applications/science/math/sage/patchSageShebangs.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-# This is a slightly modified version of nix's default patchShebangs
-
-dir="$1"
-
-echo "patching sage internal script interpreter paths in $( readlink -f "$dir")"
-
-find "$dir" -type f -perm -0100 | while read f; do
- if [ "$(head -1 "$f" | head -c+2)" != '#!' ]; then
- # missing shebang => not a script
- continue
- fi
-
- oldInterpreterLine=$(head -1 "$f" | tail -c+3)
- read -r oldPath arg0 args <<< "$oldInterpreterLine"
-
- if $(echo "$oldPath" | grep -q "/bin/env$"); then
- # Check for unsupported 'env' functionality:
- # - options: something starting with a '-'
- # - environment variables: foo=bar
- if $(echo "$arg0" | grep -q -- "^-.*\|.*=.*"); then
- echo "unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)"
- exit 1
- fi
- executable="$arg0"
- else
- if [ "$oldPath" = "" ]; then
- # If no interpreter is specified linux will use /bin/sh. Set
- # oldpath="/bin/sh" so that we get /nix/store/.../sh.
- oldPath="/bin/sh"
- fi
- executable="$(basename "$oldPath")"
- args="$arg0 $args"
- fi
-
- newPath="$(echo "$out/bin/$executable $args" | sed 's/[[:space:]]*$//')"
- if [[ ! -x "$newPath" ]] ; then
- newPath="$(command -v "$executable" || true)"
- fi
-
- # Strip trailing whitespace introduced when no arguments are present
- newInterpreterLine="$(echo "$newPath $args" | sed 's/[[:space:]]*$//')"
-
- if [ -n "$oldPath" -a "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]; then
- if [ -n "$newPath" -a "$newPath" != "$oldPath" ]; then
- echo "$f: sage interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\""
- # escape the escape chars so that sed doesn't interpret them
- escapedInterpreterLine=$(echo "$newInterpreterLine" | sed 's|\\|\\\\|g')
- sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f"
- fi
- fi
-done
diff --git a/pkgs/applications/science/math/sage/patches/arb-2.13.0.patch b/pkgs/applications/science/math/sage/patches/arb-2.13.0.patch
new file mode 100644
index 00000000000..a20f1670a25
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/arb-2.13.0.patch
@@ -0,0 +1,427 @@
+commit c885927e25b29bd23869e02379c2918da430323e
+Author: Timo Kaufmann
+Date: Sat Jun 30 02:26:15 2018 +0200
+
+diff --git a/build/pkgs/arb/checksums.ini b/build/pkgs/arb/checksums.ini
+index 1924ee03c3..9323b97391 100644
+--- a/build/pkgs/arb/checksums.ini
++++ b/build/pkgs/arb/checksums.ini
+@@ -1,4 +1,4 @@
+ tarball=arb-VERSION.tar.gz
+-sha1=27476d0529e48a07d92da90bd0fb80dd18f443e3
+-md5=733285d9705d10b8024e551ffa81952f
+-cksum=2391183744
++sha1=44eda7bf8eaa666c45b1fc2c1b5bd08756d94b58
++md5=fa24de9fffe4394fb6a7a6792e2ecc5f
++cksum=3689220688
+diff --git a/build/pkgs/arb/package-version.txt b/build/pkgs/arb/package-version.txt
+index c8810e9bdb..fb2c0766b7 100644
+--- a/build/pkgs/arb/package-version.txt
++++ b/build/pkgs/arb/package-version.txt
+@@ -1 +1 @@
+-2.12.0.p0
++2.13.0
+diff --git a/build/pkgs/arb/patches/arb-pie-hardening-conflict.patch b/build/pkgs/arb/patches/arb-pie-hardening-conflict.patch
+deleted file mode 100644
+index 3e5c0e708b..0000000000
+--- a/build/pkgs/arb/patches/arb-pie-hardening-conflict.patch
++++ /dev/null
+@@ -1,17 +0,0 @@
+-In newer binutils, ld options -r and -pie conflict.
+-Patch due to Jörg-Volker Peetz
+-(source : https://groups.google.com/d/msg/sage-devel/TduebNoZuBE/sEULolL0BQAJ),
+-packaged by Emmanuel Charpentier
+-
+-diff -ru arb-2.8.1-orig/Makefile.subdirs arb-2.8.1-new/Makefile.subdirs
+---- arb-2.8.1-orig/Makefile.subdirs 2015-12-31 17:30:01.000000000 +0100
+-+++ arb-2.8.1-new/Makefile.subdirs 2016-11-07 18:50:34.540051779 +0100
+-@@ -52,7 +52,7 @@
+- $(QUIET_CC) $(CC) $(CFLAGS) $(INCS) -c $< -o $@ -MMD -MP -MF "$(BUILD_DIR)/$(MOD_DIR)_$*.d" -MT "$(BUILD_DIR)/$(MOD_DIR)_$*.d" -MT "$@"
+-
+- $(MOD_LOBJ): $(LOBJS)
+-- $(QUIET_CC) $(CC) $(ABI_FLAG) -Wl,-r $^ -o $@ -nostdlib
+-+ $(QUIET_CC) $(CC) $(ABI_FLAG) -r $^ -o $@ -nostdlib
+-
+- -include $(LOBJS:.lo=.d)
+-
+diff --git a/src/sage/rings/complex_arb.pyx b/src/sage/rings/complex_arb.pyx
+index 70d51e655a..00e7caea2c 100644
+--- a/src/sage/rings/complex_arb.pyx
++++ b/src/sage/rings/complex_arb.pyx
+@@ -857,14 +857,14 @@ class ComplexBallField(UniqueRepresentation, Field):
+ [0.500000000000000 +/- 2.09e-16]
+
+ sage: CBF.integral(lambda x, _: x.gamma(), 1 - CBF(i), 1 + CBF(i))
+- [+/- 3.95e-15] + [1.5723926694981 +/- 4.53e-14]*I
++ [+/- 4...e-15] + [1.5723926694981 +/- 4...e-14]*I
+
+ sage: C = ComplexBallField(100)
+ sage: C.integral(lambda x, _: x.cos() * x.sin(), 0, 1)
+ [0.35403670913678559674939205737 +/- 8.89e-30]
+
+ sage: CBF.integral(lambda x, _: (x + x.exp()).sin(), 0, 8)
+- [0.34740017266 +/- 6.36e-12]
++ [0.34740017266 +/- 6...e-12]
+
+ sage: C = ComplexBallField(2000)
+ sage: C.integral(lambda x, _: (x + x.exp()).sin(), 0, 8) # long time
+@@ -879,14 +879,14 @@ class ComplexBallField(UniqueRepresentation, Field):
+ ....: else:
+ ....: return z.sqrt()
+ sage: CBF.integral(my_sqrt, -1 + CBF(i), -1 - CBF(i))
+- [+/- 1.14e-14] + [-0.4752076627926 +/- 5.18e-14]*I
++ [+/- 1.14e-14] + [-0.4752076627926 +/- 5...e-14]*I
+
+ Note, though, that proper handling of the ``analytic`` flag is required
+ even when the path does not touch the branch cut::
+
+ sage: correct = CBF.integral(my_sqrt, 1, 2); correct
+ [1.21895141649746 +/- 3.73e-15]
+- sage: RBF(integral(sqrt(x), x, 1, 2))
++ sage: RBF(integral(sqrt(x), x, 1, 2)) # long time
+ [1.21895141649746 +/- 1.79e-15]
+ sage: wrong = CBF.integral(lambda z, _: z.sqrt(), 1, 2) # WRONG!
+ sage: correct - wrong
+@@ -915,9 +915,9 @@ class ComplexBallField(UniqueRepresentation, Field):
+ the integrand is unbounded::
+
+ sage: CBF.integral(lambda x, _: 1/x, -1, 1)
+- [+/- inf] + [+/- inf]*I
++ nan + nan*I
+ sage: CBF.integral(lambda x, _: 1/x, 10^-1000, 1)
+- [+/- inf] + [+/- inf]*I
++ nan + nan*I
+ sage: CBF.integral(lambda x, _: 1/x, 10^-1000, 1, abs_tol=1e-10)
+ [2302.5850930 +/- 1.26e-8]
+
+@@ -928,14 +928,15 @@ class ComplexBallField(UniqueRepresentation, Field):
+ sage: CBF.integral(lambda x, _: x.exp(), -1020, -1010, abs_tol=1e-450)
+ [2.304377150950e-439 +/- 9.74e-452]
+ sage: CBF.integral(lambda x, _: x.exp(), -1020, -1010, abs_tol=0)
+- [2.304377150949e-439 +/- 7.53e-452]
+- sage: CBF.integral(lambda x, _: x.exp(), -1020, -1010, rel_tol=1e-4, abs_tol=0)
+- [2.30438e-439 +/- 3.90e-445]
++ [2.304377150950e-439 +/- 7...e-452]
++ sage: CBF.integral(lambda x, _: x.exp(), -1020, -1010, rel_tol=1e-2, abs_tol=0)
++ [2.30438e-439 +/- 5.94e-445]
+
+- sage: CBF.integral(lambda x, _: x*(1/x).sin(), 0, 1)
+- [+/- 0.644]
+- sage: CBF.integral(lambda x, _: x*(1/x).sin(), 0, 1, use_heap=True)
+- [0.3785300 +/- 4.32e-8]
++ sage: epsi = CBF(1e-10)
++ sage: CBF.integral(lambda x, _: x*(1/x).sin(), epsi, 1)
++ [0.38 +/- 8.54e-3]
++ sage: CBF.integral(lambda x, _: x*(1/x).sin(), epsi, 1, use_heap=True)
++ [0.37853002 +/- 8.73e-9]
+
+ ALGORITHM:
+
+@@ -951,12 +952,12 @@ class ComplexBallField(UniqueRepresentation, Field):
+
+ sage: i = QuadraticField(-1).gen()
+ sage: CBF.integral(lambda x, _: (1 + i*x).gamma(), -1, 1)
+- [1.5723926694981 +/- 4.53e-14] + [+/- 3.95e-15]*I
++ [1.5723926694981 +/- 4...e-14] + [+/- 4...e-15]*I
+
+- sage: ComplexBallField(10000).integral(lambda x, _: x.sin(), 0, 1, rel_tol=1e-400)
+- [0.459... +/- ...e-4...]
++ sage: ComplexBallField(10000).integral(lambda x, _: x.sin(), 0, 1, rel_tol=1e-300)
++ [0.459... +/- ...e-3...]
+ sage: CBF.integral(lambda x, _: x.sin(), 0, 100, rel_tol=10)
+- [+/- 7.61]
++ [0.138 +/- 5.53e-4]
+
+ sage: ComplexBallField(10000).integral(lambda x, _: x.sin(), 0, 1, abs_tol=1e-400)
+ [0.459697... +/- ...e-4...]
+@@ -2389,9 +2390,9 @@ cdef class ComplexBall(RingElement):
+ sage: ~CBF(i/3)
+ [-3.00000000000000 +/- 9.44e-16]*I
+ sage: ~CBF(0)
+- [+/- inf]
++ nan
+ sage: ~CBF(RIF(10,11))
+- [0.1 +/- 9.53e-3]
++ [0.1 +/- 9.10e-3]
+ """
+ cdef ComplexBall res = self._new()
+ if _do_sig(prec(self)): sig_on()
+@@ -2512,9 +2513,9 @@ cdef class ComplexBall(RingElement):
+ sage: CBF(-2, 1)/CBF(1, 1/3)
+ [-1.500000000000000 +/- 8.83e-16] + [1.500000000000000 +/- 5.64e-16]*I
+ sage: CBF(2+I)/CBF(0)
+- [+/- inf] + [+/- inf]*I
++ nan + nan*I
+ sage: CBF(1)/CBF(0)
+- [+/- inf]
++ nan
+ sage: CBF(1)/CBF(RBF(0, 1.))
+ nan
+ """
+@@ -2543,9 +2544,9 @@ cdef class ComplexBall(RingElement):
+ sage: CBF(0)^(1/3)
+ 0
+ sage: CBF(0)^(-1)
+- [+/- inf]
++ nan
+ sage: CBF(0)^(-2)
+- [+/- inf] + [+/- inf]*I
++ nan + nan*I
+
+ TESTS::
+
+@@ -2656,12 +2657,12 @@ cdef class ComplexBall(RingElement):
+ sage: CBF(1).rising_factorial(5)
+ 120.0000000000000
+ sage: CBF(1/3, 1/2).rising_factorial(300)
+- [-3.87949484514e+612 +/- 5.23e+600] + [-3.52042209763e+612 +/- 5.55e+600]*I
++ [-3.87949484514e+612 +/- 5...e+600] + [-3.52042209763e+612 +/- 5...e+600]*I
+
+ sage: CBF(1).rising_factorial(-1)
+ nan
+ sage: CBF(1).rising_factorial(2**64)
+- [+/- 2.30e+347382171305201370464]
++ [+/- 2.30e+347382171326740403407]
+ sage: ComplexBallField(128)(1).rising_factorial(2**64)
+ [2.343691126796861348e+347382171305201285713 +/- 4.71e+347382171305201285694]
+ sage: CBF(1/2).rising_factorial(CBF(2,3))
+@@ -2700,7 +2701,7 @@ cdef class ComplexBall(RingElement):
+ [1.000000000000000 +/- 2.83e-16] + [-0.441271200305303 +/- 2.82e-16]*I
+
+ sage: CBF('inf').log()
+- nan + nan*I
++ [+/- inf]
+ sage: CBF(2).log(0)
+ nan + nan*I
+ """
+@@ -2808,7 +2809,7 @@ cdef class ComplexBall(RingElement):
+ sage: CBF(pi/2, 1/10).tan()
+ [+/- 2.87e-14] + [10.0333111322540 +/- 2.36e-14]*I
+ sage: CBF(pi/2).tan()
+- [+/- inf]
++ nan
+ """
+ cdef ComplexBall res = self._new()
+ if _do_sig(prec(self)): sig_on()
+@@ -2825,7 +2826,7 @@ cdef class ComplexBall(RingElement):
+ sage: CBF(pi, 1/10).cot()
+ [+/- 5.74e-14] + [-10.0333111322540 +/- 2.81e-14]*I
+ sage: CBF(pi).cot()
+- [+/- inf]
++ nan
+ """
+ cdef ComplexBall res = self._new()
+ if _do_sig(prec(self)): sig_on()
+@@ -3211,9 +3212,9 @@ cdef class ComplexBall(RingElement):
+ 1.000000000000000*I
+
+ sage: CBF(2+3*I).hypergeometric([1/4,1/3],[1/2])
+- [0.7871684267473 +/- 7.34e-14] + [0.2749254173721 +/- 9.23e-14]*I
++ [0.7871684267473 +/- 7...e-14] + [0.2749254173721 +/- 9...e-14]*I
+ sage: CBF(2+3*I).hypergeometric([1/4,1/3],[1/2],regularized=True)
+- [0.4441122268685 +/- 3.96e-14] + [0.1551100567338 +/- 5.75e-14]*I
++ [0.4441122268685 +/- 3...e-14] + [0.1551100567338 +/- 5...e-14]*I
+
+ sage: CBF(5).hypergeometric([2,3], [-5])
+ nan + nan*I
+@@ -4041,9 +4042,9 @@ cdef class ComplexBall(RingElement):
+
+ sage: phi = CBF(1,1)
+ sage: (CBF.pi()/2).elliptic_e_inc(phi)
+- [1.283840957898 +/- 3.23e-13] + [-0.5317843366915 +/- 7.79e-14]*I
++ [1.283840957898 +/- 3...e-13] + [-0.5317843366915 +/- 7...e-14]*I
+ sage: phi.elliptic_e()
+- [1.2838409578982 +/- 5.90e-14] + [-0.5317843366915 +/- 3.35e-14]*I
++ [1.2838409578982 +/- 5...e-14] + [-0.5317843366915 +/- 3...e-14]*I
+
+ sage: phi = CBF(2, 3/7)
+ sage: (CBF.pi()/2).elliptic_e_inc(phi)
+@@ -4312,8 +4313,7 @@ cdef class ComplexBall(RingElement):
+ sage: CBF(10).laguerre_L(3, 2)
+ [-6.666666666667 +/- 4.15e-13]
+ sage: CBF(5,7).laguerre_L(CBF(2,3), CBF(1,-2))
+- [5515.315030271 +/- 4.37e-10] + [-12386.942845271 +/- 5.47e-10]*I
+-
++ [5515.315030271 +/- 4...e-10] + [-12386.942845271 +/- 5...e-10]*I
+ """
+ cdef ComplexBall my_n = self._parent.coerce(n)
+ cdef ComplexBall my_m = self._parent.coerce(m)
+@@ -4357,9 +4357,9 @@ cdef class ComplexBall(RingElement):
+ EXAMPLES::
+
+ sage: CBF(1/2).legendre_P(5)
+- [0.08984375000000000 +/- 4.5...e-18]
++ [0.0898437500000000 +/- 7...e-17]
+ sage: CBF(1,2).legendre_P(CBF(2,3), CBF(0,1))
+- [0.10996180744364 +/- 7.45e-15] + [0.14312767804055 +/- 8.38e-15]*I
++ [0.10996180744364 +/- 7.12e-15] + [0.14312767804055 +/- 8.07e-15]*I
+ sage: CBF(-10).legendre_P(5, 325/100)
+ [-22104403.487377 +/- 6.81e-7] + [53364750.687392 +/- 7.25e-7]*I
+ sage: CBF(-10).legendre_P(5, 325/100, type=3)
+@@ -4393,9 +4393,9 @@ cdef class ComplexBall(RingElement):
+ sage: CBF(1/2).legendre_Q(5)
+ [0.55508089057168 +/- 2.79e-15]
+ sage: CBF(1,2).legendre_Q(CBF(2,3), CBF(0,1))
+- [0.167678710 +/- 4.60e-10] + [-0.161558598 +/- 7.47e-10]*I
++ [0.167678710 +/- 3.91e-10] + [-0.161558598 +/- 6.77e-10]*I
+ sage: CBF(-10).legendre_Q(5, 325/100)
+- [-83825154.36008 +/- 4.94e-6] + [-34721515.80396 +/- 5.40e-6]*I
++ [-83825154.36008 +/- 5.02e-6] + [-34721515.80396 +/- 5.42e-6]*I
+ sage: CBF(-10).legendre_Q(5, 325/100, type=3)
+ [-4.797306921692e-6 +/- 6.82e-19] + [-4.797306921692e-6 +/- 6.57e-19]*I
+
+diff --git a/src/sage/rings/polynomial/polynomial_complex_arb.pyx b/src/sage/rings/polynomial/polynomial_complex_arb.pyx
+index c436d4705b..ef611a566b 100644
+--- a/src/sage/rings/polynomial/polynomial_complex_arb.pyx
++++ b/src/sage/rings/polynomial/polynomial_complex_arb.pyx
+@@ -543,7 +543,7 @@ cdef class Polynomial_complex_arb(Polynomial):
+ sage: (1 - x/3).inverse_series_trunc(3)
+ ([0.1111111111111111 +/- 5.99e-17])*x^2 + ([0.3333333333333333 +/- 7.04e-17])*x + 1.000000000000000
+ sage: x.inverse_series_trunc(1)
+- [+/- inf]
++ nan
+ sage: Pol(0).inverse_series_trunc(2)
+ (nan + nan*I)*x + nan + nan*I
+
+@@ -671,7 +671,7 @@ cdef class Polynomial_complex_arb(Polynomial):
+ sage: pol._sqrt_series(2)
+ ([+/- 7.51e-3] + [+/- 0.501]*I)*x + [+/- 5.01e-3] + [+/- 1.01]*I
+ sage: x._sqrt_series(2)
+- ([+/- inf] + [+/- inf]*I)*x
++ (nan + nan*I)*x
+ """
+ cdef Polynomial_complex_arb res = self._new()
+ if n < 0:
+diff --git a/src/sage/rings/real_arb.pyx b/src/sage/rings/real_arb.pyx
+index c9f68e38d7..76e3037a9a 100644
+--- a/src/sage/rings/real_arb.pyx
++++ b/src/sage/rings/real_arb.pyx
+@@ -161,7 +161,7 @@ values and should be preferred::
+
+ sage: RBF(NaN) < RBF(infinity)
+ False
+- sage: 1/RBF(0) <= RBF(infinity)
++ sage: RBF(0).add_error(infinity) <= RBF(infinity)
+ True
+
+ TESTS::
+@@ -252,6 +252,8 @@ cdef void mpfi_to_arb(arb_t target, const mpfi_t source, const long precision):
+ (+infinity, +infinity)
+ sage: RBF(RIF(-infinity)).endpoints()
+ (-infinity, -infinity)
++ sage: RBF(RIF(-infinity, infinity)).endpoints()
++ (-infinity, +infinity)
+ sage: RIF(RBF(infinity)).endpoints()
+ (+infinity, +infinity)
+ sage: RIF(RBF(-infinity)).endpoints()
+@@ -266,10 +268,11 @@ cdef void mpfi_to_arb(arb_t target, const mpfi_t source, const long precision):
+ if _do_sig(precision): sig_on()
+ mpfi_get_left(left, source)
+ mpfi_get_right(right, source)
+- arb_set_interval_mpfr(target, left, right, precision)
+- # Work around weakness of arb_set_interval_mpfr(tgt, inf, inf)
+- if mpfr_equal_p(left, right):
+- mag_zero(arb_radref(target))
++ if mpfr_inf_p(left) and mpfr_inf_p(right) and mpfr_sgn(left) < 0 < mpfr_sgn(right):
++ # Work around a weakness of arb_set_interval_mpfr(tgt, -inf, inf)
++ arb_zero_pm_inf(target)
++ else:
++ arb_set_interval_mpfr(target, left, right, precision)
+ if _do_sig(precision): sig_off()
+
+ mpfr_clear(left)
+@@ -649,17 +652,15 @@ class RealBallField(UniqueRepresentation, Field):
+ EXAMPLES::
+
+ sage: RBF.some_elements()
+- [1.000000000000000,
+- [0.3333333333333333 +/- 7.04e-17],
++ [0, 1.000000000000000, [0.3333333333333333 +/- 7.04e-17],
+ [-4.733045976388941e+363922934236666733021124 +/- 3.46e+363922934236666733021108],
+- [+/- inf],
+- [+/- inf],
+- nan]
++ [+/- inf], [+/- inf], [+/- inf], nan]
+ """
+ import sage.symbolic.constants
+- return [self(1), self(1)/3,
++ inf = self(sage.rings.infinity.Infinity)
++ return [self(0), self(1), self(1)/3,
+ -self(2)**(Integer(2)**80),
+- self(sage.rings.infinity.Infinity), ~self(0),
++ inf, -inf, self.zero().add_error(inf),
+ self.element_class(self, sage.symbolic.constants.NotANumber())]
+
+ def _sum_of_products(self, terms):
+@@ -881,7 +882,7 @@ class RealBallField(UniqueRepresentation, Field):
+ sage: RBF.gamma(5)
+ 24.00000000000000
+ sage: RBF.gamma(10**20)
+- [+/- 5.92e+1956570551809674821757]
++ [+/- 5.50e+1956570552410610660600]
+ sage: RBF.gamma(1/3)
+ [2.678938534707747 +/- 8.99e-16]
+ sage: RBF.gamma(-5)
+@@ -2247,7 +2248,7 @@ cdef class RealBall(RingElement):
+ sage: inf = RBF(+infinity)
+ sage: other_inf = RBF(+infinity, 42.r)
+ sage: neg_inf = RBF(-infinity)
+- sage: extended_line = 1/RBF(0)
++ sage: extended_line = RBF(0).add_error(infinity)
+ sage: exact_nan = inf - inf
+ sage: exact_nan.mid(), exact_nan.rad()
+ (NaN, 0.00000000)
+@@ -2659,7 +2660,7 @@ cdef class RealBall(RingElement):
+ sage: ~RBF(5)
+ [0.2000000000000000 +/- 4.45e-17]
+ sage: ~RBF(0)
+- [+/- inf]
++ nan
+ sage: RBF(RIF(-0.1,0.1))
+ [+/- 0.101]
+
+@@ -2739,7 +2740,7 @@ cdef class RealBall(RingElement):
+ sage: RBF(pi)/RBF(e)
+ [1.155727349790922 +/- 8.43e-16]
+ sage: RBF(2)/RBF(0)
+- [+/- inf]
++ nan
+ """
+ cdef RealBall res = self._new()
+ if _do_sig(prec(self)): sig_on()
+@@ -2765,7 +2766,7 @@ cdef class RealBall(RingElement):
+ sage: RBF(-1)^(1/3)
+ nan
+ sage: RBF(0)^(-1)
+- [+/- inf]
++ nan
+ sage: RBF(-e)**RBF(pi)
+ nan
+
+@@ -3129,7 +3130,7 @@ cdef class RealBall(RingElement):
+ sage: RBF(1).tan()
+ [1.557407724654902 +/- 3.26e-16]
+ sage: RBF(pi/2).tan()
+- [+/- inf]
++ nan
+ """
+ cdef RealBall res = self._new()
+ if _do_sig(prec(self)): sig_on()
+@@ -3146,7 +3147,7 @@ cdef class RealBall(RingElement):
+ sage: RBF(1).cot()
+ [0.642092615934331 +/- 4.79e-16]
+ sage: RBF(pi).cot()
+- [+/- inf]
++ nan
+ """
+ cdef RealBall res = self._new()
+ if _do_sig(prec(self)): sig_on()
+@@ -3257,7 +3258,7 @@ cdef class RealBall(RingElement):
+ sage: RBF(1).coth()
+ [1.313035285499331 +/- 4.97e-16]
+ sage: RBF(0).coth()
+- [+/- inf]
++ nan
+ """
+ cdef RealBall res = self._new()
+ if _do_sig(prec(self)): sig_on()
diff --git a/pkgs/applications/science/math/sage/patches/dochtml-optional.patch b/pkgs/applications/science/math/sage/patches/dochtml-optional.patch
new file mode 100644
index 00000000000..a51e30312ed
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/dochtml-optional.patch
@@ -0,0 +1,127 @@
+diff --git a/src/doc/common/conf.py b/src/doc/common/conf.py
+index 25f94f7b7d..9f6139ea4a 100644
+--- a/src/doc/common/conf.py
++++ b/src/doc/common/conf.py
+@@ -622,9 +622,9 @@ def call_intersphinx(app, env, node, contnode):
+ Check that the link from the thematic tutorials to the reference
+ manual is relative, see :trac:`20118`::
+
+- sage: from sage.env import SAGE_DOC
+- sage: thematic_index = os.path.join(SAGE_DOC, "html", "en", "thematic_tutorials", "index.html")
+- sage: for line in open(thematic_index).readlines():
++ sage: from sage.env import SAGE_DOC # optional - dochtml
++ sage: thematic_index = os.path.join(SAGE_DOC, "html", "en", "thematic_tutorials", "index.html") # optional - dochtml
++ sage: for line in open(thematic_index).readlines(): # optional - dochtml
+ ....: if "padics" in line:
+ ....: sys.stdout.write(line)
+ Introduction to the -adics
+diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py
+index 4236fd05e0..8e499cbaf7 100644
+--- a/src/sage/doctest/control.py
++++ b/src/sage/doctest/control.py
+@@ -87,7 +87,7 @@ class DocTestDefaults(SageObject):
+ self.sagenb = False
+ self.long = False
+ self.warn_long = None
+- self.optional = set(['sage']) | auto_optional_tags
++ self.optional = set(['sage', 'dochtml']) | auto_optional_tags
+ self.randorder = None
+ self.global_iterations = 1 # sage-runtests default is 0
+ self.file_iterations = 1 # sage-runtests default is 0
+@@ -343,7 +343,8 @@ class DocTestController(SageObject):
+ if not optionaltag_regex.search(o):
+ raise ValueError('invalid optional tag {!r}'.format(o))
+
+- options.optional |= auto_optional_tags
++ if "sage" in options.optional:
++ options.optional |= auto_optional_tags
+
+ self.options = options
+ self.files = args
+@@ -741,7 +742,7 @@ class DocTestController(SageObject):
+ sage: DC = DocTestController(DD, [dirname])
+ sage: DC.expand_files_into_sources()
+ sage: sorted(DC.sources[0].options.optional) # abs tol 1
+- ['guava', 'magma', 'py3']
++ ['guava', 'magma']
+
+ We check that files are skipped appropriately::
+
+@@ -968,7 +969,7 @@ class DocTestController(SageObject):
+ sage: from sage.doctest.control import DocTestDefaults, DocTestController
+ sage: DC = DocTestController(DocTestDefaults(), [])
+ sage: DC._optional_tags_string()
+- 'sage'
++ 'dochtml,sage'
+ sage: DC = DocTestController(DocTestDefaults(optional="all,and,some,more"), [])
+ sage: DC._optional_tags_string()
+ 'all'
+diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py
+index 9255aa848f..cc4712d3ec 100644
+--- a/src/sage/misc/sagedoc.py
++++ b/src/sage/misc/sagedoc.py
+@@ -18,9 +18,9 @@ TESTS:
+ Check that argspecs of extension function/methods appear correctly,
+ see :trac:`12849`::
+
+- sage: from sage.env import SAGE_DOC
+- sage: docfilename = os.path.join(SAGE_DOC, 'html', 'en', 'reference', 'calculus', 'sage', 'symbolic', 'expression.html')
+- sage: with open(docfilename) as fobj:
++ sage: from sage.env import SAGE_DOC # optional - dochtml
++ sage: docfilename = os.path.join(SAGE_DOC, 'html', 'en', 'reference', 'calculus', 'sage', 'symbolic', 'expression.html') # optional - dochtml
++ sage: with open(docfilename) as fobj: # optional - dochtml
+ ....: for line in fobj:
+ ....: if "#sage.symbolic.expression.Expression.numerical_approx" in line:
+ ....: print(line)
+@@ -790,11 +790,12 @@ def _search_src_or_doc(what, string, extra1='', extra2='', extra3='',
+
+ ::
+
+- sage: len(_search_src_or_doc('src', r'matrix\(', 'incidence_structures', 'self', 'combinat', interact=False).splitlines()) > 1
++ sage: from sage.misc.sagedoc import _search_src_or_doc # optional - dochtml
++ sage: len(_search_src_or_doc('src', r'matrix\(', 'incidence_structures', 'self', 'combinat', interact=False).splitlines()) > 1 # optional - dochtml
+ True
+- sage: 'abvar/homology' in _search_src_or_doc('doc', 'homology', 'variety', interact=False) # long time (4s on sage.math, 2012)
++ sage: 'abvar/homology' in _search_src_or_doc('doc', 'homology', 'variety', interact=False) # optional - dochtml, long time (4s on sage.math, 2012)
+ True
+- sage: 'divisors' in _search_src_or_doc('src', '^ *def prime', interact=False)
++ sage: 'divisors' in _search_src_or_doc('src', '^ *def prime', interact=False) # optional - dochtml
+ True
+ """
+ # process keywords
+@@ -1160,9 +1161,9 @@ def search_doc(string, extra1='', extra2='', extra3='', extra4='',
+ counting the length of ``search_doc('tree',
+ interact=False).splitlines()`` gives the number of matches. ::
+
+- sage: len(search_doc('tree', interact=False).splitlines()) > 4000 # long time
++ sage: len(search_doc('tree', interact=False).splitlines()) > 4000 # optional - dochtml, long time
+ True
+- sage: len(search_doc('tree', whole_word=True, interact=False).splitlines()) < 2000 # long time
++ sage: len(search_doc('tree', whole_word=True, interact=False).splitlines()) < 2000 # optional - dochtml, long time
+ True
+ """
+ return _search_src_or_doc('doc', string, extra1=extra1, extra2=extra2,
+@@ -1332,9 +1333,9 @@ class _sage_doc:
+
+ EXAMPLES::
+
+- sage: browse_sage_doc._open("reference", testing=True)[0] # indirect doctest
++ sage: browse_sage_doc._open("reference", testing=True)[0] # optional - dochtml, indirect doctest
+ 'http://localhost:8000/doc/live/reference/index.html'
+- sage: browse_sage_doc(identity_matrix, 'rst')[-107:-47]
++ sage: browse_sage_doc(identity_matrix, 'rst')[-107:-47] # optional - dochtml
+ 'Full MatrixSpace of 3 by 3 sparse matrices over Integer Ring'
+ """
+ def __init__(self):
+@@ -1494,9 +1495,9 @@ class _sage_doc:
+
+ EXAMPLES::
+
+- sage: browse_sage_doc._open("reference", testing=True)[0]
++ sage: browse_sage_doc._open("reference", testing=True)[0] # optional - dochtml
+ 'http://localhost:8000/doc/live/reference/index.html'
+- sage: browse_sage_doc._open("tutorial", testing=True)[1]
++ sage: browse_sage_doc._open("tutorial", testing=True)[1] # optional - dochtml
+ '.../html/en/tutorial/index.html'
+ """
+ url = self._base_url + os.path.join(name, "index.html")
diff --git a/pkgs/applications/science/math/sage/patches/eclib-regulator-precision.patch b/pkgs/applications/science/math/sage/patches/eclib-regulator-precision.patch
new file mode 100644
index 00000000000..a1464b8fe31
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/eclib-regulator-precision.patch
@@ -0,0 +1,98 @@
+diff --git a/src/sage/libs/eclib/interface.py b/src/sage/libs/eclib/interface.py
+index f77000c478..9d17d412ae 100644
+--- a/src/sage/libs/eclib/interface.py
++++ b/src/sage/libs/eclib/interface.py
+@@ -1014,7 +1014,7 @@ class mwrank_MordellWeil(SageObject):
+ WARNING: saturation at primes p > 2 will not be done;
+ ...
+ Gained index 2
+- New regulator = 93.857300720636393209
++ New regulator = 93.85730...
+ (False, 2, '[ ]')
+ sage: EQ.points()
+ [[-2, 3, 1], [2707496766203306, 864581029138191, 2969715140223272], [-13422227300, -49322830557, 12167000000]]
+@@ -1025,7 +1025,7 @@ class mwrank_MordellWeil(SageObject):
+ WARNING: saturation at primes p > 3 will not be done;
+ ...
+ Gained index 3
+- New regulator = 10.4285889689595992455
++ New regulator = 10.42858...
+ (False, 3, '[ ]')
+ sage: EQ.points()
+ [[-2, 3, 1], [-14, 25, 8], [-13422227300, -49322830557, 12167000000]]
+@@ -1036,7 +1036,7 @@ class mwrank_MordellWeil(SageObject):
+ WARNING: saturation at primes p > 5 will not be done;
+ ...
+ Gained index 5
+- New regulator = 0.417143558758383969818
++ New regulator = 0.41714...
+ (False, 5, '[ ]')
+ sage: EQ.points()
+ [[-2, 3, 1], [-14, 25, 8], [1, -1, 1]]
+@@ -1221,7 +1221,7 @@ class mwrank_MordellWeil(SageObject):
+ WARNING: saturation at primes p > 2 will not be done;
+ ...
+ Gained index 2
+- New regulator = 93.857300720636393209
++ New regulator = 93.85730...
+ (False, 2, '[ ]')
+ sage: EQ
+ Subgroup of Mordell-Weil group: [[-2:3:1], [2707496766203306:864581029138191:2969715140223272], [-13422227300:-49322830557:12167000000]]
+@@ -1235,7 +1235,7 @@ class mwrank_MordellWeil(SageObject):
+ WARNING: saturation at primes p > 3 will not be done;
+ ...
+ Gained index 3
+- New regulator = 10.4285889689595992455
++ New regulator = 10.42858...
+ (False, 3, '[ ]')
+ sage: EQ
+ Subgroup of Mordell-Weil group: [[-2:3:1], [-14:25:8], [-13422227300:-49322830557:12167000000]]
+@@ -1249,7 +1249,7 @@ class mwrank_MordellWeil(SageObject):
+ WARNING: saturation at primes p > 5 will not be done;
+ ...
+ Gained index 5
+- New regulator = 0.417143558758383969818
++ New regulator = 0.41714...
+ (False, 5, '[ ]')
+ sage: EQ
+ Subgroup of Mordell-Weil group: [[-2:3:1], [-14:25:8], [1:-1:1]]
+diff --git a/src/sage/libs/eclib/mwrank.pyx b/src/sage/libs/eclib/mwrank.pyx
+index a4f89e1ca5..f8a22d2f55 100644
+--- a/src/sage/libs/eclib/mwrank.pyx
++++ b/src/sage/libs/eclib/mwrank.pyx
+@@ -1234,9 +1234,9 @@ cdef class _two_descent:
+ sage: D2.saturate()
+ Searching for points (bound = 8)...done:
+ found points which generate a subgroup of rank 3
+- and regulator 0.417143558758383969817119544618093396749810106098479
++ and regulator 0.41714...
+ Processing points found during 2-descent...done:
+- now regulator = 0.417143558758383969817119544618093396749810106098479
++ now regulator = 0.41714...
+ No saturation being done
+ sage: D2.getbasis()
+ '[[1:-1:1], [-2:3:1], [-14:25:8]]'
+@@ -1281,9 +1281,9 @@ cdef class _two_descent:
+ sage: D2.saturate()
+ Searching for points (bound = 8)...done:
+ found points which generate a subgroup of rank 3
+- and regulator 0.417143558758383969817119544618093396749810106098479
++ and regulator 0.41714...
+ Processing points found during 2-descent...done:
+- now regulator = 0.417143558758383969817119544618093396749810106098479
++ now regulator = 0.41714...
+ No saturation being done
+ sage: D2.getbasis()
+ '[[1:-1:1], [-2:3:1], [-14:25:8]]'
+@@ -1329,9 +1329,9 @@ cdef class _two_descent:
+ sage: D2.saturate()
+ Searching for points (bound = 8)...done:
+ found points which generate a subgroup of rank 3
+- and regulator 0.417143558758383969817119544618093396749810106098479
++ and regulator 0.41714...
+ Processing points found during 2-descent...done:
+- now regulator = 0.417143558758383969817119544618093396749810106098479
++ now regulator = 0.41714...
+ No saturation being done
+ sage: D2.getbasis()
+ '[[1:-1:1], [-2:3:1], [-14:25:8]]'
diff --git a/pkgs/applications/science/math/sage/patches/matplotlib-normed-deprecated.patch b/pkgs/applications/science/math/sage/patches/matplotlib-normed-deprecated.patch
new file mode 100644
index 00000000000..41747635cac
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/matplotlib-normed-deprecated.patch
@@ -0,0 +1,12 @@
+diff --git a/src/sage/all.py b/src/sage/all.py
+index 14cec431f1..25a35a0522 100644
+--- a/src/sage/all.py
++++ b/src/sage/all.py
+@@ -310,6 +310,7 @@ warnings.filters.remove(('ignore', None, DeprecationWarning, None, 0))
+ # Ignore all deprecations from IPython etc.
+ warnings.filterwarnings('ignore',
+ module='.*(IPython|ipykernel|jupyter_client|jupyter_core|nbformat|notebook|ipywidgets|storemagic)')
++warnings.filterwarnings('ignore', "The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.") # matplotlib normed deprecation
+ # However, be sure to keep OUR deprecation warnings
+ warnings.filterwarnings('default',
+ '[\s\S]*See http://trac.sagemath.org/[0-9]* for details.')
diff --git a/pkgs/applications/science/math/sage/patches/maxima-5.41.0-doctests.patch b/pkgs/applications/science/math/sage/patches/maxima-5.41.0-doctests.patch
new file mode 100644
index 00000000000..fad434e52ad
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/maxima-5.41.0-doctests.patch
@@ -0,0 +1,48 @@
+diff --git a/src/sage/interfaces/maxima_abstract.py b/src/sage/interfaces/maxima_abstract.py
+index 961c20aaac..3d601d8939 100644
+--- a/src/sage/interfaces/maxima_abstract.py
++++ b/src/sage/interfaces/maxima_abstract.py
+@@ -1743,7 +1743,7 @@ class MaximaAbstractElement(ExtraTabCompletion, InterfaceElement):
+ sage: y,d = var('y,d')
+ sage: f = function('f')
+ sage: latex(maxima(derivative(f(x*y), x)))
+- \left(\left.{{{\it \partial}}\over{{\it \partial}\, {\it t_0}}}\,f\left({\it t_0}\right) \right|_{{\it t_0}={\it x}\, {\it y}}\right)\,{\it y}
++ \left(\left.{{{\it \partial}}\over{{\it \partial}\, {\it t}_{0}}}\,f\left({\it t}_{0}\right) \right|_{{\it t}_{0}={\it x}\, {\it y}}\right)\,{\it y}
+ sage: latex(maxima(derivative(f(x,y,d), d,x,x,y)))
+ {{{\it \partial}^4}\over{{\it \partial}\,{\it d}\, {\it \partial}\,{\it x}^2\,{\it \partial}\, {\it y}}}\,f\left({\it x} , {\it y} , {\it d}\right)
+ sage: latex(maxima(d/(d-2)))
+diff --git a/src/sage/manifolds/differentiable/metric.py b/src/sage/manifolds/differentiable/metric.py
+index 3cd6ad3235..1e18af1a6b 100644
+--- a/src/sage/manifolds/differentiable/metric.py
++++ b/src/sage/manifolds/differentiable/metric.py
+@@ -993,7 +993,7 @@ class PseudoRiemannianMetric(TensorField):
+ 2-dimensional differentiable manifold S^2
+ sage: g.riemann()[:]
+ [[[[0, 0], [0, 0]], [[0, sin(th)^2], [-sin(th)^2, 0]]],
+- [[[0, (cos(th)^2 - 1)/sin(th)^2], [1, 0]], [[0, 0], [0, 0]]]]
++ [[[0, -1], [1, 0]], [[0, 0], [0, 0]]]]
+
+ In dimension 2, the Riemann tensor can be expressed entirely in terms of
+ the Ricci scalar `r`:
+diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx
+index dfb8751467..27402e54ab 100644
+--- a/src/sage/symbolic/expression.pyx
++++ b/src/sage/symbolic/expression.pyx
+@@ -7154,7 +7154,7 @@ cdef class Expression(CommutativeRingElement):
+ sage: ex = lcm(sin(x)^2 - 1, sin(x)^2 + sin(x)); ex
+ (sin(x)^2 + sin(x))*(sin(x)^2 - 1)/(sin(x) + 1)
+ sage: ex.simplify_full()
+- -cos(x)^2*sin(x)
++ sin(x)^3 - sin(x)
+
+ TESTS:
+
+@@ -10004,7 +10004,7 @@ cdef class Expression(CommutativeRingElement):
+
+ sage: f=tan(3*x)
+ sage: f.simplify_trig()
+- (4*cos(x)^2 - 1)*sin(x)/(4*cos(x)^3 - 3*cos(x))
++ -(4*cos(x)^2 - 1)*sin(x)/(4*cos(x)*sin(x)^2 - cos(x))
+ sage: f.simplify_trig(False)
+ sin(3*x)/cos(3*x)
+
diff --git a/pkgs/applications/science/math/sage/patches/numpy-1.14.3.patch b/pkgs/applications/science/math/sage/patches/numpy-1.14.3.patch
new file mode 100644
index 00000000000..5927bc11609
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/numpy-1.14.3.patch
@@ -0,0 +1,812 @@
+diff --git a/src/doc/en/faq/faq-usage.rst b/src/doc/en/faq/faq-usage.rst
+index 79b4205fd3..9a89bd2136 100644
+--- a/src/doc/en/faq/faq-usage.rst
++++ b/src/doc/en/faq/faq-usage.rst
+@@ -338,7 +338,7 @@ ints. For example::
+ sage: RealNumber = float; Integer = int
+ sage: from scipy import stats
+ sage: stats.ttest_ind(list([1,2,3,4,5]),list([2,3,4,5,.6]))
+- Ttest_indResult(statistic=0.076752955645333687, pvalue=0.94070490247380478)
++ Ttest_indResult(statistic=0.0767529..., pvalue=0.940704...)
+ sage: stats.uniform(0,15).ppf([0.5,0.7])
+ array([ 7.5, 10.5])
+
+diff --git a/src/doc/en/thematic_tutorials/numerical_sage/cvxopt.rst b/src/doc/en/thematic_tutorials/numerical_sage/cvxopt.rst
+index 314811c42b..e5f54ec4c2 100644
+--- a/src/doc/en/thematic_tutorials/numerical_sage/cvxopt.rst
++++ b/src/doc/en/thematic_tutorials/numerical_sage/cvxopt.rst
+@@ -48,11 +48,13 @@ we could do the following.
+ sage: B = numpy.array([1.0]*5)
+ sage: B.shape=(5,1)
+ sage: print(B)
+- [[ 1.]
+- [ 1.]
+- [ 1.]
+- [ 1.]
+- [ 1.]]
++ [[1.]
++ [1.]
++ [1.]
++ [1.]
++ [1.]]
++
++
+ sage: print(A)
+ [ 2.00e+00 3.00e+00 0 0 0 ]
+ [ 3.00e+00 0 4.00e+00 0 6.00e+00]
+diff --git a/src/doc/en/thematic_tutorials/numerical_sage/numpy.rst b/src/doc/en/thematic_tutorials/numerical_sage/numpy.rst
+index 5b89cd75ee..e50b2ea5d4 100644
+--- a/src/doc/en/thematic_tutorials/numerical_sage/numpy.rst
++++ b/src/doc/en/thematic_tutorials/numerical_sage/numpy.rst
+@@ -84,7 +84,7 @@ well as take slices
+ sage: l[3]
+ 3.0
+ sage: l[3:6]
+- array([ 3., 4., 5.])
++ array([3., 4., 5.])
+
+ You can do basic arithmetic operations
+
+@@ -147,11 +147,11 @@ also do matrix vector multiplication, and matrix addition
+ sage: n = numpy.matrix([[1,2],[3,4]],dtype=float)
+ sage: v = numpy.array([[1],[2]],dtype=float)
+ sage: n*v
+- matrix([[ 5.],
+- [ 11.]])
++ matrix([[ 5.],
++ [11.]])
+ sage: n+n
+- matrix([[ 2., 4.],
+- [ 6., 8.]])
++ matrix([[2., 4.],
++ [6., 8.]])
+
+ If ``n`` was created with :meth:`numpy.array`, then to do matrix vector
+ multiplication, you would use ``numpy.dot(n,v)``.
+@@ -170,11 +170,11 @@ to manipulate
+ 22., 23., 24.])
+ sage: n.shape=(5,5)
+ sage: n
+- array([[ 0., 1., 2., 3., 4.],
+- [ 5., 6., 7., 8., 9.],
+- [ 10., 11., 12., 13., 14.],
+- [ 15., 16., 17., 18., 19.],
+- [ 20., 21., 22., 23., 24.]])
++ array([[ 0., 1., 2., 3., 4.],
++ [ 5., 6., 7., 8., 9.],
++ [10., 11., 12., 13., 14.],
++ [15., 16., 17., 18., 19.],
++ [20., 21., 22., 23., 24.]])
+
+ This changes the one-dimensional array into a `5\times 5` array.
+
+@@ -187,8 +187,8 @@ NumPy arrays can be sliced as well
+ sage: n=numpy.array(range(25),dtype=float)
+ sage: n.shape=(5,5)
+ sage: n[2:4,1:3]
+- array([[ 11., 12.],
+- [ 16., 17.]])
++ array([[11., 12.],
++ [16., 17.]])
+
+ It is important to note that the sliced matrices are references to
+ the original
+@@ -224,8 +224,8 @@ Some particularly useful commands are
+
+ sage: x=numpy.arange(0,2,.1,dtype=float)
+ sage: x
+- array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ,
+- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9])
++ array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2,
++ 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9])
+
+ You can see that :meth:`numpy.arange` creates an array of floats increasing by 0.1
+ from 0 to 2. There is a useful command :meth:`numpy.r_` that is best explained by example
+@@ -240,10 +240,11 @@ from 0 to 2. There is a useful command :meth:`numpy.r_` that is best explained b
+ sage: Integer=int
+ sage: n=r_[0.0:5.0]
+ sage: n
+- array([ 0., 1., 2., 3., 4.])
++ array([0., 1., 2., 3., 4.])
+ sage: n=r_[0.0:5.0, [0.0]*5]
+ sage: n
+- array([ 0., 1., 2., 3., 4., 0., 0., 0., 0., 0.])
++ array([0., 1., 2., 3., 4., 0., 0., 0., 0., 0.])
++
+
+ :meth:`numpy.r_` provides a shorthand for constructing NumPy arrays efficiently.
+ Note in the above ``0.0:5.0`` was shorthand for ``0.0, 1.0, 2.0, 3.0, 4.0``.
+@@ -255,7 +256,7 @@ intervals. We can do this as follows
+ ::
+
+ sage: r_[0.0:5.0:11*j]
+- array([ 0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. ])
++ array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. ])
+
+ The notation ``0.0:5.0:11*j`` expands to a list of 11 equally space
+ points between 0 and 5 including both endpoints. Note that ``j`` is the
+@@ -287,23 +288,23 @@ an equally spaced grid with `\Delta x = \Delta y = .25` for
+ sage: y=numpy.r_[0.0:1.0:5*j]
+ sage: xx,yy= meshgrid(x,y)
+ sage: xx
+- array([[ 0. , 0.25, 0.5 , 0.75, 1. ],
+- [ 0. , 0.25, 0.5 , 0.75, 1. ],
+- [ 0. , 0.25, 0.5 , 0.75, 1. ],
+- [ 0. , 0.25, 0.5 , 0.75, 1. ],
+- [ 0. , 0.25, 0.5 , 0.75, 1. ]])
++ array([[0. , 0.25, 0.5 , 0.75, 1. ],
++ [0. , 0.25, 0.5 , 0.75, 1. ],
++ [0. , 0.25, 0.5 , 0.75, 1. ],
++ [0. , 0.25, 0.5 , 0.75, 1. ],
++ [0. , 0.25, 0.5 , 0.75, 1. ]])
+ sage: yy
+- array([[ 0. , 0. , 0. , 0. , 0. ],
+- [ 0.25, 0.25, 0.25, 0.25, 0.25],
+- [ 0.5 , 0.5 , 0.5 , 0.5 , 0.5 ],
+- [ 0.75, 0.75, 0.75, 0.75, 0.75],
+- [ 1. , 1. , 1. , 1. , 1. ]])
++ array([[0. , 0. , 0. , 0. , 0. ],
++ [0.25, 0.25, 0.25, 0.25, 0.25],
++ [0.5 , 0.5 , 0.5 , 0.5 , 0.5 ],
++ [0.75, 0.75, 0.75, 0.75, 0.75],
++ [1. , 1. , 1. , 1. , 1. ]])
+ sage: f(xx,yy)
+- array([[ 0. , 0.0625, 0.25 , 0.5625, 1. ],
+- [ 0.0625, 0.125 , 0.3125, 0.625 , 1.0625],
+- [ 0.25 , 0.3125, 0.5 , 0.8125, 1.25 ],
+- [ 0.5625, 0.625 , 0.8125, 1.125 , 1.5625],
+- [ 1. , 1.0625, 1.25 , 1.5625, 2. ]])
++ array([[0. , 0.0625, 0.25 , 0.5625, 1. ],
++ [0.0625, 0.125 , 0.3125, 0.625 , 1.0625],
++ [0.25 , 0.3125, 0.5 , 0.8125, 1.25 ],
++ [0.5625, 0.625 , 0.8125, 1.125 , 1.5625],
++ [1. , 1.0625, 1.25 , 1.5625, 2. ]])
+
+ You can see that :meth:`numpy.meshgrid` produces a pair of matrices, here denoted
+ `xx` and `yy`, such that `(xx[i,j],yy[i,j])` has coordinates
+@@ -324,7 +325,7 @@ equation `Ax=b` do
+ sage: b=numpy.array(range(1,6))
+ sage: x=linalg.solve(A,b)
+ sage: numpy.dot(A,x)
+- array([ 1., 2., 3., 4., 5.])
++ array([1., 2., 3., 4., 5.])
+
+ This creates a random 5x5 matrix ``A``, and solves `Ax=b` where
+ ``b=[0.0,1.0,2.0,3.0,4.0]``. There are many other routines in the :mod:`numpy.linalg`
+diff --git a/src/sage/calculus/riemann.pyx b/src/sage/calculus/riemann.pyx
+index df85cce43d..34ea164be0 100644
+--- a/src/sage/calculus/riemann.pyx
++++ b/src/sage/calculus/riemann.pyx
+@@ -1191,30 +1191,30 @@ cpdef complex_to_spiderweb(np.ndarray[COMPLEX_T, ndim = 2] z_values,
+ sage: zval = numpy.array([[0, 1, 1000],[.2+.3j,1,-.3j],[0,0,0]],dtype = numpy.complex128)
+ sage: deriv = numpy.array([[.1]],dtype = numpy.float64)
+ sage: complex_to_spiderweb(zval, deriv,deriv, 4,4,[0,0,0],1,False,0.001)
+- array([[[ 1., 1., 1.],
+- [ 1., 1., 1.],
+- [ 1., 1., 1.]],
++ array([[[1., 1., 1.],
++ [1., 1., 1.],
++ [1., 1., 1.]],
+
+- [[ 1., 1., 1.],
+- [ 0., 0., 0.],
+- [ 1., 1., 1.]],
++ [[1., 1., 1.],
++ [0., 0., 0.],
++ [1., 1., 1.]],
+
+- [[ 1., 1., 1.],
+- [ 1., 1., 1.],
+- [ 1., 1., 1.]]])
++ [[1., 1., 1.],
++ [1., 1., 1.],
++ [1., 1., 1.]]])
+
+ sage: complex_to_spiderweb(zval, deriv,deriv, 4,4,[0,0,0],1,True,0.001)
+- array([[[ 1. , 1. , 1. ],
+- [ 1. , 0.05558355, 0.05558355],
+- [ 0.17301243, 0. , 0. ]],
++ array([[[1. , 1. , 1. ],
++ [1. , 0.05558355, 0.05558355],
++ [0.17301243, 0. , 0. ]],
+
+- [[ 1. , 0.96804683, 0.48044583],
+- [ 0. , 0. , 0. ],
+- [ 0.77351965, 0.5470393 , 1. ]],
++ [[1. , 0.96804683, 0.48044583],
++ [0. , 0. , 0. ],
++ [0.77351965, 0.5470393 , 1. ]],
+
+- [[ 1. , 1. , 1. ],
+- [ 1. , 1. , 1. ],
+- [ 1. , 1. , 1. ]]])
++ [[1. , 1. , 1. ],
++ [1. , 1. , 1. ],
++ [1. , 1. , 1. ]]])
+ """
+ cdef Py_ssize_t i, j, imax, jmax
+ cdef FLOAT_T x, y, mag, arg, width, target, precision, dmag, darg
+@@ -1279,14 +1279,14 @@ cpdef complex_to_rgb(np.ndarray[COMPLEX_T, ndim = 2] z_values):
+ sage: from sage.calculus.riemann import complex_to_rgb
+ sage: import numpy
+ sage: complex_to_rgb(numpy.array([[0, 1, 1000]], dtype = numpy.complex128))
+- array([[[ 1. , 1. , 1. ],
+- [ 1. , 0.05558355, 0.05558355],
+- [ 0.17301243, 0. , 0. ]]])
++ array([[[1. , 1. , 1. ],
++ [1. , 0.05558355, 0.05558355],
++ [0.17301243, 0. , 0. ]]])
+
+ sage: complex_to_rgb(numpy.array([[0, 1j, 1000j]], dtype = numpy.complex128))
+- array([[[ 1. , 1. , 1. ],
+- [ 0.52779177, 1. , 0.05558355],
+- [ 0.08650622, 0.17301243, 0. ]]])
++ array([[[1. , 1. , 1. ],
++ [0.52779177, 1. , 0.05558355],
++ [0.08650622, 0.17301243, 0. ]]])
+
+
+ TESTS::
+diff --git a/src/sage/combinat/fully_packed_loop.py b/src/sage/combinat/fully_packed_loop.py
+index 61b1003002..4baee9cbbd 100644
+--- a/src/sage/combinat/fully_packed_loop.py
++++ b/src/sage/combinat/fully_packed_loop.py
+@@ -72,11 +72,11 @@ def _make_color_list(n, colors=None, color_map=None, randomize=False):
+ sage: _make_color_list(5, ['blue', 'red'])
+ ['blue', 'red', 'blue', 'red', 'blue']
+ sage: _make_color_list(5, color_map='summer')
+- [(0.0, 0.5, 0.40000000000000002),
+- (0.25098039215686274, 0.62549019607843137, 0.40000000000000002),
+- (0.50196078431372548, 0.75098039215686274, 0.40000000000000002),
+- (0.75294117647058822, 0.87647058823529411, 0.40000000000000002),
+- (1.0, 1.0, 0.40000000000000002)]
++ [(0.0, 0.5, 0.4),
++ (0.25098039215686274, 0.6254901960784314, 0.4),
++ (0.5019607843137255, 0.7509803921568627, 0.4),
++ (0.7529411764705882, 0.8764705882352941, 0.4),
++ (1.0, 1.0, 0.4)]
+ sage: _make_color_list(8, ['blue', 'red'], randomize=True)
+ ['blue', 'blue', 'red', 'blue', 'red', 'red', 'red', 'blue']
+ """
+diff --git a/src/sage/finance/time_series.pyx b/src/sage/finance/time_series.pyx
+index c37700d14e..49b7298d0b 100644
+--- a/src/sage/finance/time_series.pyx
++++ b/src/sage/finance/time_series.pyx
+@@ -109,8 +109,8 @@ cdef class TimeSeries:
+
+ sage: import numpy
+ sage: v = numpy.array([[1,2], [3,4]], dtype=float); v
+- array([[ 1., 2.],
+- [ 3., 4.]])
++ array([[1., 2.],
++ [3., 4.]])
+ sage: finance.TimeSeries(v)
+ [1.0000, 2.0000, 3.0000, 4.0000]
+ sage: finance.TimeSeries(v[:,0])
+@@ -2098,14 +2098,14 @@ cdef class TimeSeries:
+
+ sage: w[0] = 20
+ sage: w
+- array([ 20. , -3. , 4.5, -2. ])
++ array([20. , -3. , 4.5, -2. ])
+ sage: v
+ [20.0000, -3.0000, 4.5000, -2.0000]
+
+ If you want a separate copy do not give the ``copy=False`` option. ::
+
+ sage: z = v.numpy(); z
+- array([ 20. , -3. , 4.5, -2. ])
++ array([20. , -3. , 4.5, -2. ])
+ sage: z[0] = -10
+ sage: v
+ [20.0000, -3.0000, 4.5000, -2.0000]
+diff --git a/src/sage/functions/hyperbolic.py b/src/sage/functions/hyperbolic.py
+index 931a4b41e4..bf33fc483d 100644
+--- a/src/sage/functions/hyperbolic.py
++++ b/src/sage/functions/hyperbolic.py
+@@ -214,7 +214,7 @@ class Function_coth(GinacFunction):
+ sage: import numpy
+ sage: a = numpy.arange(2, 5)
+ sage: coth(a)
+- array([ 1.03731472, 1.00496982, 1.00067115])
++ array([1.03731472, 1.00496982, 1.00067115])
+ """
+ return 1.0 / tanh(x)
+
+@@ -267,7 +267,7 @@ class Function_sech(GinacFunction):
+ sage: import numpy
+ sage: a = numpy.arange(2, 5)
+ sage: sech(a)
+- array([ 0.26580223, 0.09932793, 0.03661899])
++ array([0.26580223, 0.09932793, 0.03661899])
+ """
+ return 1.0 / cosh(x)
+
+@@ -318,7 +318,7 @@ class Function_csch(GinacFunction):
+ sage: import numpy
+ sage: a = numpy.arange(2, 5)
+ sage: csch(a)
+- array([ 0.27572056, 0.09982157, 0.03664357])
++ array([0.27572056, 0.09982157, 0.03664357])
+ """
+ return 1.0 / sinh(x)
+
+@@ -586,7 +586,7 @@ class Function_arccoth(GinacFunction):
+ sage: import numpy
+ sage: a = numpy.arange(2,5)
+ sage: acoth(a)
+- array([ 0.54930614, 0.34657359, 0.25541281])
++ array([0.54930614, 0.34657359, 0.25541281])
+ """
+ return arctanh(1.0 / x)
+
+diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py
+index 017c85a96f..33fbb499c5 100644
+--- a/src/sage/functions/orthogonal_polys.py
++++ b/src/sage/functions/orthogonal_polys.py
+@@ -810,12 +810,12 @@ class Func_chebyshev_T(ChebyshevFunction):
+ sage: z2 = numpy.array([[1,2],[1,2]])
+ sage: z3 = numpy.array([1,2,3.])
+ sage: chebyshev_T(1,z)
+- array([ 1., 2.])
++ array([1., 2.])
+ sage: chebyshev_T(1,z2)
+- array([[ 1., 2.],
+- [ 1., 2.]])
++ array([[1., 2.],
++ [1., 2.]])
+ sage: chebyshev_T(1,z3)
+- array([ 1., 2., 3.])
++ array([1., 2., 3.])
+ sage: chebyshev_T(z,0.1)
+ array([ 0.1 , -0.98])
+ """
+@@ -1095,12 +1095,12 @@ class Func_chebyshev_U(ChebyshevFunction):
+ sage: z2 = numpy.array([[1,2],[1,2]])
+ sage: z3 = numpy.array([1,2,3.])
+ sage: chebyshev_U(1,z)
+- array([ 2., 4.])
++ array([2., 4.])
+ sage: chebyshev_U(1,z2)
+- array([[ 2., 4.],
+- [ 2., 4.]])
++ array([[2., 4.],
++ [2., 4.]])
+ sage: chebyshev_U(1,z3)
+- array([ 2., 4., 6.])
++ array([2., 4., 6.])
+ sage: chebyshev_U(z,0.1)
+ array([ 0.2 , -0.96])
+ """
+diff --git a/src/sage/functions/other.py b/src/sage/functions/other.py
+index 679384c907..d63b295a4c 100644
+--- a/src/sage/functions/other.py
++++ b/src/sage/functions/other.py
+@@ -390,7 +390,7 @@ class Function_ceil(BuiltinFunction):
+ sage: import numpy
+ sage: a = numpy.linspace(0,2,6)
+ sage: ceil(a)
+- array([ 0., 1., 1., 2., 2., 2.])
++ array([0., 1., 1., 2., 2., 2.])
+
+ Test pickling::
+
+@@ -539,7 +539,7 @@ class Function_floor(BuiltinFunction):
+ sage: import numpy
+ sage: a = numpy.linspace(0,2,6)
+ sage: floor(a)
+- array([ 0., 0., 0., 1., 1., 2.])
++ array([0., 0., 0., 1., 1., 2.])
+ sage: floor(x)._sympy_()
+ floor(x)
+
+@@ -840,7 +840,7 @@ def sqrt(x, *args, **kwds):
+ sage: import numpy
+ sage: a = numpy.arange(2,5)
+ sage: sqrt(a)
+- array([ 1.41421356, 1.73205081, 2. ])
++ array([1.41421356, 1.73205081, 2. ])
+ """
+ if isinstance(x, float):
+ return math.sqrt(x)
+diff --git a/src/sage/functions/trig.py b/src/sage/functions/trig.py
+index e7e7a311cd..e7ff78a9de 100644
+--- a/src/sage/functions/trig.py
++++ b/src/sage/functions/trig.py
+@@ -731,7 +731,7 @@ class Function_arccot(GinacFunction):
+ sage: import numpy
+ sage: a = numpy.arange(2, 5)
+ sage: arccot(a)
+- array([ 0.46364761, 0.32175055, 0.24497866])
++ array([0.46364761, 0.32175055, 0.24497866])
+ """
+ return math.pi/2 - arctan(x)
+
+@@ -787,7 +787,7 @@ class Function_arccsc(GinacFunction):
+ sage: import numpy
+ sage: a = numpy.arange(2, 5)
+ sage: arccsc(a)
+- array([ 0.52359878, 0.33983691, 0.25268026])
++ array([0.52359878, 0.33983691, 0.25268026])
+ """
+ return arcsin(1.0/x)
+
+@@ -845,7 +845,7 @@ class Function_arcsec(GinacFunction):
+ sage: import numpy
+ sage: a = numpy.arange(2, 5)
+ sage: arcsec(a)
+- array([ 1.04719755, 1.23095942, 1.31811607])
++ array([1.04719755, 1.23095942, 1.31811607])
+ """
+ return arccos(1.0/x)
+
+@@ -920,13 +920,13 @@ class Function_arctan2(GinacFunction):
+ sage: a = numpy.linspace(1, 3, 3)
+ sage: b = numpy.linspace(3, 6, 3)
+ sage: atan2(a, b)
+- array([ 0.32175055, 0.41822433, 0.46364761])
++ array([0.32175055, 0.41822433, 0.46364761])
+
+ sage: atan2(1,a)
+- array([ 0.78539816, 0.46364761, 0.32175055])
++ array([0.78539816, 0.46364761, 0.32175055])
+
+ sage: atan2(a, 1)
+- array([ 0.78539816, 1.10714872, 1.24904577])
++ array([0.78539816, 1.10714872, 1.24904577])
+
+ TESTS::
+
+diff --git a/src/sage/matrix/constructor.pyx b/src/sage/matrix/constructor.pyx
+index 19a1d37df0..5780dfae1c 100644
+--- a/src/sage/matrix/constructor.pyx
++++ b/src/sage/matrix/constructor.pyx
+@@ -494,8 +494,8 @@ class MatrixFactory(object):
+ [7 8 9]
+ Full MatrixSpace of 3 by 3 dense matrices over Integer Ring
+ sage: n = matrix(QQ, 2, 2, [1, 1/2, 1/3, 1/4]).numpy(); n
+- array([[ 1. , 0.5 ],
+- [ 0.33333333, 0.25 ]])
++ array([[1. , 0.5 ],
++ [0.33333333, 0.25 ]])
+ sage: matrix(QQ, n)
+ [ 1 1/2]
+ [1/3 1/4]
+diff --git a/src/sage/matrix/matrix_double_dense.pyx b/src/sage/matrix/matrix_double_dense.pyx
+index 48e0a8a97f..1be5d35b19 100644
+--- a/src/sage/matrix/matrix_double_dense.pyx
++++ b/src/sage/matrix/matrix_double_dense.pyx
+@@ -2546,7 +2546,7 @@ cdef class Matrix_double_dense(Matrix_dense):
+ sage: P.is_unitary(algorithm='orthonormal')
+ Traceback (most recent call last):
+ ...
+- ValueError: failed to create intent(cache|hide)|optional array-- must have defined dimensions but got (0,)
++ error: ((lwork==-1)||(lwork >= MAX(1,2*n))) failed for 3rd keyword lwork: zgees:lwork=0
+
+ TESTS::
+
+@@ -3662,8 +3662,8 @@ cdef class Matrix_double_dense(Matrix_dense):
+ [0.0 1.0 2.0]
+ [3.0 4.0 5.0]
+ sage: m.numpy()
+- array([[ 0., 1., 2.],
+- [ 3., 4., 5.]])
++ array([[0., 1., 2.],
++ [3., 4., 5.]])
+
+ Alternatively, numpy automatically calls this function (via
+ the magic :meth:`__array__` method) to convert Sage matrices
+@@ -3674,16 +3674,16 @@ cdef class Matrix_double_dense(Matrix_dense):
+ [0.0 1.0 2.0]
+ [3.0 4.0 5.0]
+ sage: numpy.array(m)
+- array([[ 0., 1., 2.],
+- [ 3., 4., 5.]])
++ array([[0., 1., 2.],
++ [3., 4., 5.]])
+ sage: numpy.array(m).dtype
+ dtype('float64')
+ sage: m = matrix(CDF, 2, range(6)); m
+ [0.0 1.0 2.0]
+ [3.0 4.0 5.0]
+ sage: numpy.array(m)
+- array([[ 0.+0.j, 1.+0.j, 2.+0.j],
+- [ 3.+0.j, 4.+0.j, 5.+0.j]])
++ array([[0.+0.j, 1.+0.j, 2.+0.j],
++ [3.+0.j, 4.+0.j, 5.+0.j]])
+ sage: numpy.array(m).dtype
+ dtype('complex128')
+
+diff --git a/src/sage/matrix/special.py b/src/sage/matrix/special.py
+index c698ba5e97..b743bab354 100644
+--- a/src/sage/matrix/special.py
++++ b/src/sage/matrix/special.py
+@@ -705,7 +705,7 @@ def diagonal_matrix(arg0=None, arg1=None, arg2=None, sparse=True):
+
+ sage: import numpy
+ sage: entries = numpy.array([1.2, 5.6]); entries
+- array([ 1.2, 5.6])
++ array([1.2, 5.6])
+ sage: A = diagonal_matrix(3, entries); A
+ [1.2 0.0 0.0]
+ [0.0 5.6 0.0]
+@@ -715,7 +715,7 @@ def diagonal_matrix(arg0=None, arg1=None, arg2=None, sparse=True):
+
+ sage: j = numpy.complex(0,1)
+ sage: entries = numpy.array([2.0+j, 8.1, 3.4+2.6*j]); entries
+- array([ 2.0+1.j , 8.1+0.j , 3.4+2.6j])
++ array([2. +1.j , 8.1+0.j , 3.4+2.6j])
+ sage: A = diagonal_matrix(entries); A
+ [2.0 + 1.0*I 0.0 0.0]
+ [ 0.0 8.1 0.0]
+diff --git a/src/sage/modules/free_module_element.pyx b/src/sage/modules/free_module_element.pyx
+index 230f142117..2ab1c0ae68 100644
+--- a/src/sage/modules/free_module_element.pyx
++++ b/src/sage/modules/free_module_element.pyx
+@@ -982,7 +982,7 @@ cdef class FreeModuleElement(Vector): # abstract base class
+ sage: v.numpy()
+ array([1, 2, 5/6], dtype=object)
+ sage: v.numpy(dtype=float)
+- array([ 1. , 2. , 0.83333333])
++ array([1. , 2. , 0.83333333])
+ sage: v.numpy(dtype=int)
+ array([1, 2, 0])
+ sage: import numpy
+@@ -993,7 +993,7 @@ cdef class FreeModuleElement(Vector): # abstract base class
+ be more efficient but may have unintended consequences::
+
+ sage: v.numpy(dtype=None)
+- array([ 1. , 2. , 0.83333333])
++ array([1. , 2. , 0.83333333])
+
+ sage: w = vector(ZZ, [0, 1, 2^63 -1]); w
+ (0, 1, 9223372036854775807)
+diff --git a/src/sage/modules/vector_double_dense.pyx b/src/sage/modules/vector_double_dense.pyx
+index 39fc2970de..2badf98284 100644
+--- a/src/sage/modules/vector_double_dense.pyx
++++ b/src/sage/modules/vector_double_dense.pyx
+@@ -807,13 +807,13 @@ cdef class Vector_double_dense(FreeModuleElement):
+
+ sage: v = vector(CDF,4,range(4))
+ sage: v.numpy()
+- array([ 0.+0.j, 1.+0.j, 2.+0.j, 3.+0.j])
++ array([0.+0.j, 1.+0.j, 2.+0.j, 3.+0.j])
+ sage: v = vector(CDF,0)
+ sage: v.numpy()
+ array([], dtype=complex128)
+ sage: v = vector(RDF,4,range(4))
+ sage: v.numpy()
+- array([ 0., 1., 2., 3.])
++ array([0., 1., 2., 3.])
+ sage: v = vector(RDF,0)
+ sage: v.numpy()
+ array([], dtype=float64)
+@@ -823,11 +823,11 @@ cdef class Vector_double_dense(FreeModuleElement):
+ sage: import numpy
+ sage: v = vector(CDF, 3, range(3))
+ sage: v.numpy()
+- array([ 0.+0.j, 1.+0.j, 2.+0.j])
++ array([0.+0.j, 1.+0.j, 2.+0.j])
+ sage: v.numpy(dtype=numpy.float64)
+- array([ 0., 1., 2.])
++ array([0., 1., 2.])
+ sage: v.numpy(dtype=numpy.float32)
+- array([ 0., 1., 2.], dtype=float32)
++ array([0., 1., 2.], dtype=float32)
+ """
+ if dtype is None or dtype is self._vector_numpy.dtype:
+ from copy import copy
+diff --git a/src/sage/numerical/optimize.py b/src/sage/numerical/optimize.py
+index 17b5ebb84b..92ce35c502 100644
+--- a/src/sage/numerical/optimize.py
++++ b/src/sage/numerical/optimize.py
+@@ -486,9 +486,9 @@ def minimize_constrained(func,cons,x0,gradient=None,algorithm='default', **args)
+ else:
+ min = optimize.fmin_tnc(f, x0, approx_grad=True, bounds=cons, messages=0, **args)[0]
+ elif isinstance(cons[0], function_type) or isinstance(cons[0], Expression):
+- min = optimize.fmin_cobyla(f, x0, cons, iprint=0, **args)
++ min = optimize.fmin_cobyla(f, x0, cons, disp=0, **args)
+ elif isinstance(cons, function_type) or isinstance(cons, Expression):
+- min = optimize.fmin_cobyla(f, x0, cons, iprint=0, **args)
++ min = optimize.fmin_cobyla(f, x0, cons, disp=0, **args)
+ return vector(RDF, min)
+
+
+diff --git a/src/sage/plot/complex_plot.pyx b/src/sage/plot/complex_plot.pyx
+index ad9693da62..758fb709b7 100644
+--- a/src/sage/plot/complex_plot.pyx
++++ b/src/sage/plot/complex_plot.pyx
+@@ -61,9 +61,9 @@ cdef inline double mag_to_lightness(double r):
+
+ sage: from sage.plot.complex_plot import complex_to_rgb
+ sage: complex_to_rgb([[0, 1, 10]])
+- array([[[ 0. , 0. , 0. ],
+- [ 0.77172568, 0. , 0. ],
+- [ 1. , 0.22134776, 0.22134776]]])
++ array([[[0. , 0. , 0. ],
++ [0.77172568, 0. , 0. ],
++ [1. , 0.22134776, 0.22134776]]])
+ """
+ return atan(log(sqrt(r)+1)) * (4/PI) - 1
+
+@@ -82,13 +82,13 @@ def complex_to_rgb(z_values):
+
+ sage: from sage.plot.complex_plot import complex_to_rgb
+ sage: complex_to_rgb([[0, 1, 1000]])
+- array([[[ 0. , 0. , 0. ],
+- [ 0.77172568, 0. , 0. ],
+- [ 1. , 0.64421177, 0.64421177]]])
++ array([[[0. , 0. , 0. ],
++ [0.77172568, 0. , 0. ],
++ [1. , 0.64421177, 0.64421177]]])
+ sage: complex_to_rgb([[0, 1j, 1000j]])
+- array([[[ 0. , 0. , 0. ],
+- [ 0.38586284, 0.77172568, 0. ],
+- [ 0.82210588, 1. , 0.64421177]]])
++ array([[[0. , 0. , 0. ],
++ [0.38586284, 0.77172568, 0. ],
++ [0.82210588, 1. , 0.64421177]]])
+ """
+ import numpy
+ cdef unsigned int i, j, imax, jmax
+diff --git a/src/sage/plot/line.py b/src/sage/plot/line.py
+index 23f5e61446..3b1b51d7cf 100644
+--- a/src/sage/plot/line.py
++++ b/src/sage/plot/line.py
+@@ -502,14 +502,12 @@ def line2d(points, **options):
+ from sage.plot.all import Graphics
+ from sage.plot.plot import xydata_from_point_list
+ from sage.rings.all import CC, CDF
++ points = list(points) # make sure points is a python list
+ if points in CC or points in CDF:
+ pass
+ else:
+- try:
+- if not points:
+- return Graphics()
+- except ValueError: # numpy raises a ValueError if not empty
+- pass
++ if len(points) == 0:
++ return Graphics()
+ xdata, ydata = xydata_from_point_list(points)
+ g = Graphics()
+ g._set_extra_kwds(Graphics._extract_kwds_for_show(options))
+diff --git a/src/sage/plot/plot_field.py b/src/sage/plot/plot_field.py
+index 0025098a8d..23c80902f3 100644
+--- a/src/sage/plot/plot_field.py
++++ b/src/sage/plot/plot_field.py
+@@ -49,9 +49,10 @@ class PlotField(GraphicPrimitive):
+ sage: r.xpos_array
+ [0.0, 0.0, 1.0, 1.0]
+ sage: r.yvec_array
+- masked_array(data = [0.0 0.70710678118... 0.70710678118... 0.89442719...],
+- mask = [False False False False],
+- fill_value = 1e+20)
++ masked_array(data=[0.0, 0.70710678118..., 0.70710678118...,
++ 0.89442719...],
++ mask=[False, False, False, False],
++ fill_value=1e+20)
+
+ TESTS:
+
+diff --git a/src/sage/plot/streamline_plot.py b/src/sage/plot/streamline_plot.py
+index f3da57c370..3806f4b32f 100644
+--- a/src/sage/plot/streamline_plot.py
++++ b/src/sage/plot/streamline_plot.py
+@@ -38,16 +38,14 @@ class StreamlinePlot(GraphicPrimitive):
+ sage: r.options()['plot_points']
+ 2
+ sage: r.xpos_array
+- array([ 0., 1.])
++ array([0., 1.])
+ sage: r.yvec_array
+- masked_array(data =
+- [[1.0 1.0]
+- [0.5403023058681398 0.5403023058681398]],
+- mask =
+- [[False False]
+- [False False]],
+- fill_value = 1e+20)
+-
++ masked_array(
++ data=[[1.0, 1.0],
++ [0.5403023058681398, 0.5403023058681398]],
++ mask=[[False, False],
++ [False, False]],
++ fill_value=1e+20)
+
+ TESTS:
+
+diff --git a/src/sage/probability/probability_distribution.pyx b/src/sage/probability/probability_distribution.pyx
+index f66cd898b9..35995886d5 100644
+--- a/src/sage/probability/probability_distribution.pyx
++++ b/src/sage/probability/probability_distribution.pyx
+@@ -130,7 +130,17 @@ cdef class ProbabilityDistribution:
+ 0.0,
+ 1.4650000000000003]
+ sage: b
+- [0.0, 0.20000000000000001, 0.40000000000000002, 0.60000000000000009, 0.80000000000000004, 1.0, 1.2000000000000002, 1.4000000000000001, 1.6000000000000001, 1.8, 2.0]
++ [0.0,
++ 0.2,
++ 0.4,
++ 0.6000000000000001,
++ 0.8,
++ 1.0,
++ 1.2000000000000002,
++ 1.4000000000000001,
++ 1.6,
++ 1.8,
++ 2.0]
+ """
+ import pylab
+ l = [float(self.get_random_element()) for _ in range(num_samples)]
+diff --git a/src/sage/rings/rational.pyx b/src/sage/rings/rational.pyx
+index a0bfe080f5..7d95e7a1a8 100644
+--- a/src/sage/rings/rational.pyx
++++ b/src/sage/rings/rational.pyx
+@@ -1056,7 +1056,7 @@ cdef class Rational(sage.structure.element.FieldElement):
+ dtype('O')
+
+ sage: numpy.array([1, 1/2, 3/4])
+- array([ 1. , 0.5 , 0.75])
++ array([1. , 0.5 , 0.75])
+ """
+ if mpz_cmp_ui(mpq_denref(self.value), 1) == 0:
+ if mpz_fits_slong_p(mpq_numref(self.value)):
+diff --git a/src/sage/rings/real_mpfr.pyx b/src/sage/rings/real_mpfr.pyx
+index 4c630867a4..64e2187f5b 100644
+--- a/src/sage/rings/real_mpfr.pyx
++++ b/src/sage/rings/real_mpfr.pyx
+@@ -1438,7 +1438,7 @@ cdef class RealNumber(sage.structure.element.RingElement):
+
+ sage: import numpy
+ sage: numpy.arange(10.0)
+- array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])
++ array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])
+ sage: numpy.array([1.0, 1.1, 1.2]).dtype
+ dtype('float64')
+ sage: numpy.array([1.000000000000000000000000000000000000]).dtype
+diff --git a/src/sage/schemes/elliptic_curves/height.py b/src/sage/schemes/elliptic_curves/height.py
+index 3d270ebf9d..1144f168e3 100644
+--- a/src/sage/schemes/elliptic_curves/height.py
++++ b/src/sage/schemes/elliptic_curves/height.py
+@@ -1623,18 +1623,18 @@ class EllipticCurveCanonicalHeight:
+ even::
+
+ sage: H.wp_on_grid(v,4)
+- array([[ 25.43920182, 5.28760943, 5.28760943, 25.43920182],
+- [ 6.05099485, 1.83757786, 1.83757786, 6.05099485],
+- [ 6.05099485, 1.83757786, 1.83757786, 6.05099485],
+- [ 25.43920182, 5.28760943, 5.28760943, 25.43920182]])
++ array([[25.43920182, 5.28760943, 5.28760943, 25.43920182],
++ [ 6.05099485, 1.83757786, 1.83757786, 6.05099485],
++ [ 6.05099485, 1.83757786, 1.83757786, 6.05099485],
++ [25.43920182, 5.28760943, 5.28760943, 25.43920182]])
+
+ The array of values on the half-grid::
+
+ sage: H.wp_on_grid(v,4,True)
+- array([[ 25.43920182, 5.28760943],
+- [ 6.05099485, 1.83757786],
+- [ 6.05099485, 1.83757786],
+- [ 25.43920182, 5.28760943]])
++ array([[25.43920182, 5.28760943],
++ [ 6.05099485, 1.83757786],
++ [ 6.05099485, 1.83757786],
++ [25.43920182, 5.28760943]])
+ """
+ tau = self.tau(v)
+ fk, err = self.fk_intervals(v, 15, CDF)
+diff --git a/src/sage/symbolic/ring.pyx b/src/sage/symbolic/ring.pyx
+index 2dcb0492b9..2b1a06385c 100644
+--- a/src/sage/symbolic/ring.pyx
++++ b/src/sage/symbolic/ring.pyx
+@@ -1135,7 +1135,7 @@ cdef class NumpyToSRMorphism(Morphism):
+ sage: cos(numpy.int('2'))
+ cos(2)
+ sage: numpy.cos(numpy.int('2'))
+- -0.41614683654714241
++ -0.4161468365471424
+ """
+ cdef _intermediate_ring
+
diff --git a/pkgs/applications/science/math/sage/patches/pari-stackwarn.patch b/pkgs/applications/science/math/sage/patches/pari-stackwarn.patch
new file mode 100644
index 00000000000..49cdfd189b9
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/pari-stackwarn.patch
@@ -0,0 +1,20 @@
+diff --git a/src/sage/doctest/parsing.py b/src/sage/doctest/parsing.py
+index 6bdc9a0..31fc780 100644
+--- a/src/sage/doctest/parsing.py
++++ b/src/sage/doctest/parsing.py
+@@ -40,6 +40,7 @@ from .external import available_software
+
+ float_regex = re.compile('\s*([+-]?\s*((\d*\.?\d+)|(\d+\.?))([eE][+-]?\d+)?)')
+ optional_regex = re.compile(r'(py2|py3|long time|not implemented|not tested|known bug)|([^ a-z]\s*optional\s*[:-]*((\s|\w)*))')
++pari_stack_warning_regex = re.compile(r'\s*\*\*\*.*(Warning: increasing stack size to )\d+\.')
+ find_sage_prompt = re.compile(r"^(\s*)sage: ", re.M)
+ find_sage_continuation = re.compile(r"^(\s*)\.\.\.\.:", re.M)
+ random_marker = re.compile('.*random', re.I)
+@@ -935,6 +936,7 @@ class SageOutputChecker(doctest.OutputChecker):
+
+ """
+ got = self.human_readable_escape_sequences(got)
++ got = pari_stack_warning_regex.sub('', got)
+ if isinstance(want, MarkedOutput):
+ if want.random:
+ return True
diff --git a/pkgs/applications/science/math/sage/patches/pynac-0.7.22.patch b/pkgs/applications/science/math/sage/patches/pynac-0.7.22.patch
new file mode 100644
index 00000000000..22f274d608d
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/pynac-0.7.22.patch
@@ -0,0 +1,479 @@
+diff --git a/src/sage/calculus/calculus.py b/src/sage/calculus/calculus.py
+index 3a417d9d5c..fadaadbaf6 100644
+--- a/src/sage/calculus/calculus.py
++++ b/src/sage/calculus/calculus.py
+@@ -231,7 +231,7 @@ Another example::
+ sage: f(x=3)
+ arcsinh(1)
+ sage: f.derivative(x)
+- 1/3/sqrt(1/9*x^2 + 1)
++ 1/sqrt(x^2 + 9)
+
+ We compute the length of the parabola from 0 to 2::
+
+@@ -1509,8 +1509,8 @@ def laplace(ex, t, s, algorithm='maxima'):
+ Testing SymPy::
+
+ sage: laplace(t^n, t, s, algorithm='sympy')
+- (s^(-n)*gamma(n + 1)/s, 0, -re(n) < 1)
+-
++ (gamma(n + 1)/(s*s^n), 0, -re(n) < 1)
++
+ Testing Maxima::
+
+ sage: laplace(t^n, t, s, algorithm='maxima')
+diff --git a/src/sage/functions/hypergeometric.py b/src/sage/functions/hypergeometric.py
+index 1fc2db5c94..f3e49b9cdb 100644
+--- a/src/sage/functions/hypergeometric.py
++++ b/src/sage/functions/hypergeometric.py
+@@ -34,7 +34,7 @@ Simplification (note that ``simplify_full`` does not yet call
+ sage: a.simplify_hypergeometric()
+ 1/((-e^x + 1)^e^x)
+ sage: a.simplify_hypergeometric(algorithm='sage')
+- (-e^x + 1)^(-e^x)
++ 1/((-e^x + 1)^e^x)
+
+ Equality testing::
+
+@@ -145,7 +145,7 @@ Series expansions of confluent hypergeometric functions::
+
+ sage: hypergeometric_M(2, 2, x).series(x, 3)
+ 1 + 1*x + 1/2*x^2 + Order(x^3)
+- sage: hypergeometric_U(2, 2, x).series(x == 3, 100).subs(x=1).n()
++ sage: hypergeometric_U(2, 2, x).series(x == 3, 100).subs(x=1).n() # known bug (see :trac:`25688`)
+ 0.403652637676806
+ sage: hypergeometric_U(2, 2, 1).n()
+ 0.403652637676806
+@@ -773,7 +773,7 @@ def closed_form(hyp):
+ sage: closed_form(hypergeometric([], [], z))
+ e^z
+ sage: closed_form(hypergeometric([a], [], z))
+- (-z + 1)^(-a)
++ 1/((-z + 1)^a)
+ sage: closed_form(hypergeometric([1, 1, 2], [1, 1], z))
+ (z - 1)^(-2)
+ sage: closed_form(hypergeometric([2, 3], [1], x))
+@@ -1121,7 +1121,7 @@ class Hypergeometric_U(BuiltinFunction):
+ sage: var('a b z')
+ (a, b, z)
+ sage: hypergeometric_U(a, b, z).generalized()
+- z^(-a)*hypergeometric((a, a - b + 1), (), -1/z)
++ hypergeometric((a, a - b + 1), (), -1/z)/z^a
+ sage: hypergeometric_U(1, 3, 1/2).generalized()
+ 2*hypergeometric((1, -1), (), -2)
+ sage: hypergeometric_U(3, I, 2).generalized()
+diff --git a/src/sage/functions/log.py b/src/sage/functions/log.py
+index 75d1bf8060..61968582af 100644
+--- a/src/sage/functions/log.py
++++ b/src/sage/functions/log.py
+@@ -518,17 +518,17 @@ class Function_polylog(GinacFunction):
+
+ sage: BF = RealBallField(100)
+ sage: polylog(2, BF(1/3))
+- [0.36621322997706348761674629766 +/- 4.51e-30]
++ [0.36621322997706348761674629766... +/- ...]
+ sage: polylog(2, BF(4/3))
+- nan
++ [2.27001825336107090380391448586 +/- 5.64e-30] + [-0.90377988538400159956755721265 +/- 8.39e-30]*I
+ sage: parent(_)
+- Real ball field with 100 bits of precision
++ Complex ball field with 100 bits of precision
+ sage: polylog(2, CBF(1/3))
+- [0.366213229977063 +/- 5.85e-16]
++ [0.366213229977063 +/- ...]
+ sage: parent(_)
+ Complex ball field with 53 bits of precision
+ sage: polylog(2, CBF(1))
+- [1.644934066848226 +/- 6.59e-16]
++ [1.644934066848226 +/- ...]
+ sage: parent(_)
+ Complex ball field with 53 bits of precision
+ """
+diff --git a/src/sage/functions/trig.py b/src/sage/functions/trig.py
+index e7e7a311cd..1f2926d6c9 100644
+--- a/src/sage/functions/trig.py
++++ b/src/sage/functions/trig.py
+@@ -529,13 +529,8 @@ class Function_arcsin(GinacFunction):
+ arcsin
+ sage: asin(complex(1,1))
+ (0.6662394324925152+1.0612750619050357j)
+-
+- Check that :trac:`22823` is fixed::
+-
+- sage: bool(asin(SR(2.1)) == NaN)
+- True
+- sage: asin(SR(2.1)).is_real()
+- False
++ sage: asin(SR(2.1))
++ 1.57079632679490 - 1.37285914424258*I
+ """
+ GinacFunction.__init__(self, 'arcsin', latex_name=r"\arcsin",
+ conversions=dict(maxima='asin', sympy='asin', fricas="asin", giac="asin"))
+@@ -595,13 +590,8 @@ class Function_arccos(GinacFunction):
+ arccos
+ sage: acos(complex(1,1))
+ (0.9045568943023814-1.0612750619050357j)
+-
+- Check that :trac:`22823` is fixed::
+-
+- sage: bool(acos(SR(2.1)) == NaN)
+- True
+- sage: acos(SR(2.1)).is_real()
+- False
++ sage: acos(SR(2.1))
++ 1.37285914424258*I
+ """
+ GinacFunction.__init__(self, 'arccos', latex_name=r"\arccos",
+ conversions=dict(maxima='acos', sympy='acos', fricas='acos', giac='acos'))
+@@ -807,7 +797,7 @@ class Function_arcsec(GinacFunction):
+ sage: arcsec(2).n(100)
+ 1.0471975511965977461542144611
+ sage: arcsec(1/2).n(100)
+- NaN
++ 1.3169578969248167086250463473*I
+ sage: RDF(arcsec(2)) # abs tol 1e-15
+ 1.0471975511965976
+ sage: arcsec(1 + I)
+@@ -958,7 +948,9 @@ class Function_arctan2(GinacFunction):
+ sage: atan2(0,0,hold=True)
+ arctan2(0, 0)
+ sage: atan2(0,0,hold=True).n()
+- NaN
++ Traceback (most recent call last):
++ ...
++ RuntimeError: atan2(): division by zero
+
+ Check if :trac:`10062` is fixed, this was caused by
+ ``(I*I).is_positive()`` returning ``True``::
+diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py b/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py
+index 3b5c8d1729..1c6b73a16c 100644
+--- a/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py
++++ b/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py
+@@ -1422,8 +1422,10 @@ class HyperbolicGeodesicUHP(HyperbolicGeodesic):
+ expressions do not generate runtime errors. ::
+
+ sage: g=HyperbolicPlane().UHP().get_geodesic(-1+I,1+I)
+- sage: g.midpoint()
+- Point in UHP 1/2*(sqrt(2)*e^(1/2*arccosh(3)) - sqrt(2) + (I - 1)*e^(1/2*arccosh(3)) + I - 1)/((1/4*I - 1/4)*sqrt(2)*e^(1/2*arccosh(3)) - (1/4*I - 1/4)*sqrt(2) + 1/2*e^(1/2*arccosh(3)) + 1/2)
++ sage: point = g.midpoint(); point
++ Point in UHP -1/2*(sqrt(2)*...
++ sage: QQbar(point.coordinates()).radical_expression()
++ I*sqrt(2)
+
+ Check that floating points remain floating points
+ in :meth:`midpoint` ::
+diff --git a/src/sage/interfaces/fricas.py b/src/sage/interfaces/fricas.py
+index 82aae78e37..8501ea2a18 100644
+--- a/src/sage/interfaces/fricas.py
++++ b/src/sage/interfaces/fricas.py
+@@ -1084,14 +1084,14 @@ class FriCASElement(ExpectElement):
+ 0.451026811796262,
+ 0.732815101786507,
+ 0.837981225008390,
+- NaN,
+- NaN,
++ 1.57079632679490 - 0.467145308103262*I,
++ 0.467145308103262*I,
+ 1.11976951499863,
+ 0.451026811796262,
+ 0.732815101786507,
+ 0.837981225008390,
+- NaN,
+- NaN]
++ 1.57079632679490 - 0.467145308103262*I,
++ 0.467145308103262*I]
+ sage: l = [tanh, sinh, cosh, coth, sech, csch, asinh, acosh, atanh, acoth, asech, acsch, arcsinh, arccosh, arctanh, arccoth, arcsech, arccsch]
+ sage: [f(x)._fricas_().sage().subs(x=0.9) for f in l] # optional - fricas
+ [0.716297870199024,
+diff --git a/src/sage/libs/pynac/pynac.pyx b/src/sage/libs/pynac/pynac.pyx
+index 9e9d8f664b..e3406f007e 100644
+--- a/src/sage/libs/pynac/pynac.pyx
++++ b/src/sage/libs/pynac/pynac.pyx
+@@ -1824,7 +1824,7 @@ cdef py_atan2(x, y):
+ sage: atan2(CC(I), CC(I+1))
+ 0.553574358897045 + 0.402359478108525*I
+ sage: atan2(CBF(I), CBF(I+1))
+- [0.55357435889705 +/- 5.58e-15] + [0.402359478108525 +/- 7.11e-16]*I
++ [0.55357435889705 +/- ...] + [0.402359478108525 +/- ...]*I
+
+ Check that :trac:`23776` is fixed and RDF input gives real output::
+
+diff --git a/src/sage/matrix/matrix_symbolic_dense.pyx b/src/sage/matrix/matrix_symbolic_dense.pyx
+index 46a15e53eb..7a0beb437b 100644
+--- a/src/sage/matrix/matrix_symbolic_dense.pyx
++++ b/src/sage/matrix/matrix_symbolic_dense.pyx
+@@ -200,7 +200,7 @@ cdef class Matrix_symbolic_dense(Matrix_generic_dense):
+ sage: eval, [evec], mult = es[0]
+ sage: delta = eval*evec - evec*A
+ sage: abs(abs(delta)) < 1e-10
+- sqrt(9/25*((2*sqrt(6) - 3)*(sqrt(6) - 2) + 7*sqrt(6) - 18)^2 + 9/25*((sqrt(6) - 2)*(sqrt(6) - 4) + 6*sqrt(6) - 14)^2) < (1.00000000000000e-10)
++ 3/5*sqrt(((2*sqrt(6) - 3)*(sqrt(6) - 2) + 7*sqrt(6) - 18)^2 + ((sqrt(6) - 2)*(sqrt(6) - 4) + 6*sqrt(6) - 14)^2) < (1.00000000000000e-10)
+ sage: abs(abs(delta)).n() < 1e-10
+ True
+
+diff --git a/src/sage/modules/matrix_morphism.py b/src/sage/modules/matrix_morphism.py
+index 17a1d6e290..03892ceec0 100644
+--- a/src/sage/modules/matrix_morphism.py
++++ b/src/sage/modules/matrix_morphism.py
+@@ -214,9 +214,9 @@ class MatrixMorphism_abstract(sage.categories.morphism.Morphism):
+ sage: f((1, 0))
+ Traceback (most recent call last):
+ ...
+- TypeError: Unable to coerce entries (=[1.00000000000000*I, 0.000000000000000]) to coefficients in Real Field with 53 bits of precision
++ TypeError: Unable to coerce entries (=[1.00000000000000*I, 0]) to coefficients in Real Field with 53 bits of precision
+ sage: f((1, 0), coerce=False)
+- (1.00000000000000*I, 0.000000000000000)
++ (1.00000000000000*I, 0)
+
+ """
+ if self.domain().is_ambient():
+diff --git a/src/sage/plot/plot.py b/src/sage/plot/plot.py
+index 77cdeb8c46..e501e74036 100644
+--- a/src/sage/plot/plot.py
++++ b/src/sage/plot/plot.py
+@@ -2061,7 +2061,7 @@ def _plot(funcs, xrange, parametric=False,
+ plot properly (:trac:`13246`)::
+
+ sage: parametric_plot((x, arcsec(x)), (x, -2, 2))
+- Graphics object consisting of 1 graphics primitive
++ Graphics object consisting of 2 graphics primitives
+
+ """
+ from sage.plot.colors import Color
+diff --git a/src/sage/repl/display/formatter.py b/src/sage/repl/display/formatter.py
+index 8ce2e839d7..948207c95e 100644
+--- a/src/sage/repl/display/formatter.py
++++ b/src/sage/repl/display/formatter.py
+@@ -25,11 +25,11 @@ generally, all sage expression as an ASCII art object::
+ sage: shell = get_test_shell()
+ sage: shell.run_cell('%display ascii_art')
+ sage: shell.run_cell('integral(x^2/pi^x, x)')
+- / 2 2 \ -x*log(pi)
+- -\x *log (pi) + 2*x*log(pi) + 2/*e
+- ---------------------------------------------
+- 3
+- log (pi)
++ -x / 2 2 \
++ -pi *\x *log (pi) + 2*x*log(pi) + 2/
++ --------------------------------------
++ 3
++ log (pi)
+ sage: shell.run_cell("i = var('i')")
+ sage: shell.run_cell('sum(i*x^i, i, 0, 10)')
+ 10 9 8 7 6 5 4 3 2
+diff --git a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
+index d8ebbf4f76..8c60f65e99 100644
+--- a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
++++ b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
+@@ -151,8 +151,8 @@ A multiple point example (Example 6.5 of [RaWi2012]_)::
+ [(x + 2*y - 1, 1), (2*x + y - 1, 1)])
+ sage: F1 = decomp[1]
+ sage: F1.asymptotics(p, alpha, 2)
+- (-3*((2*a^2 - 5*a*b + 2*b^2)*r^2 + (a + b)*r + 3)*((1/3)^(-a)*(1/3)^(-b))^r,
+- (1/3)^(-a)*(1/3)^(-b), -3*(2*a^2 - 5*a*b + 2*b^2)*r^2 - 3*(a + b)*r - 9)
++ (-3*((2*a^2 - 5*a*b + 2*b^2)*r^2 + (a + b)*r + 3)*(1/((1/3)^a*(1/3)^b))^r,
++ 1/((1/3)^a*(1/3)^b), -3*(2*a^2 - 5*a*b + 2*b^2)*r^2 - 3*(a + b)*r - 9)
+ sage: alpha = [4, 3]
+ sage: decomp = F.asymptotic_decomposition(alpha)
+ sage: F1 = decomp[1]
+@@ -2159,7 +2159,7 @@ class FractionWithFactoredDenominator(RingElement):
+ sage: p = {x: 1/3, y: 1/3}
+ sage: alpha = (var('a'), var('b'))
+ sage: F.asymptotics_multiple(p, alpha, 2, var('r')) # long time
+- (3*((1/3)^(-a)*(1/3)^(-b))^r*e^(2/3), (1/3)^(-a)*(1/3)^(-b), 3*e^(2/3))
++ (3*(1/((1/3)^a*(1/3)^b))^r*e^(2/3), 1/((1/3)^a*(1/3)^b), 3*e^(2/3))
+ """
+ from itertools import product
+ from sage.calculus.functions import jacobian
+diff --git a/src/sage/stats/basic_stats.py b/src/sage/stats/basic_stats.py
+index 16a268a02c..5fd244e93b 100644
+--- a/src/sage/stats/basic_stats.py
++++ b/src/sage/stats/basic_stats.py
+@@ -183,7 +183,7 @@ def std(v, bias=False):
+ sage: std([])
+ NaN
+ sage: std([I, sqrt(2), 3/5])
+- sqrt(1/450*(10*sqrt(2) - 5*I - 3)^2 + 1/450*(5*sqrt(2) - 10*I + 3)^2 + 1/450*(5*sqrt(2) + 5*I - 6)^2)
++ 1/15*sqrt(1/2)*sqrt((10*sqrt(2) - 5*I - 3)^2 + (5*sqrt(2) - 10*I + 3)^2 + (5*sqrt(2) + 5*I - 6)^2)
+ sage: std([RIF(1.0103, 1.0103), RIF(2)])
+ 0.6998235813403261?
+ sage: import numpy
+diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx
+index ab4c05de3a..60f0dc549a 100644
+--- a/src/sage/symbolic/expression.pyx
++++ b/src/sage/symbolic/expression.pyx
+@@ -622,7 +622,7 @@ cdef class Expression(CommutativeRingElement):
+ sage: x^(-5)
+ x^(-5)
+ sage: x^(-y)
+- x^(-y)
++ 1/(x^y)
+ sage: 2*x^(-1)
+ 2/x
+ sage: i*x
+@@ -3621,14 +3621,14 @@ cdef class Expression(CommutativeRingElement):
+ sage: repl_dict = {b_0: b_0, b_3: b_1, b_2: b_3, b_1: b_2}
+ sage: P = precomp.substitute(repl_dict)
+ sage: P.expand()
+- -2^(-b_0)*2^(-b_2)*2^b_3 - 2^b_0*2^(-b_2)*2^b_3 -
+- 2^(-b_0)*2^b_2*2^b_3 + 2^b_0*2^b_2*2^b_3 - 2*2^(-b_0)*2^(-b_2)
+- - 2*2^b_0*2^(-b_2) - 2*2^(-b_0)*2^b_2 + 2*2^b_0*2^b_2 +
+- 2^(-b_0)*2^b_3 + 2^b_0*2^b_3 + 2^(-b_2)*2^b_3 + 2^b_2*2^b_3 +
+- 2*2^(-b_0) + 2*2^b_0 + 2*2^(-b_2) + 2*2^b_2 - 9*2^b_3 -
+- 2^(-b_0)*2^(-b_2)/2^b_3 - 2^b_0*2^(-b_2)/2^b_3 -
+- 2^(-b_0)*2^b_2/2^b_3 + 2^b_0*2^b_2/2^b_3 + 2^(-b_0)/2^b_3 +
+- 2^b_0/2^b_3 + 2^(-b_2)/2^b_3 + 2^b_2/2^b_3 - 9/2^b_3 - 18
++ 2^b_0*2^b_2*2^b_3 + 2*2^b_0*2^b_2 + 2^b_0*2^b_3 + 2^b_2*2^b_3 +
++ 2*2^b_0 + 2*2^b_2 - 9*2^b_3 + 2^b_0*2^b_2/2^b_3 -
++ 2^b_0*2^b_3/2^b_2 - 2^b_2*2^b_3/2^b_0 - 2*2^b_0/2^b_2 -
++ 2*2^b_2/2^b_0 + 2^b_0/2^b_3 + 2^b_2/2^b_3 + 2^b_3/2^b_0 +
++ 2^b_3/2^b_2 + 2/2^b_0 + 2/2^b_2 - 2^b_0/(2^b_2*2^b_3) -
++ 2^b_2/(2^b_0*2^b_3) - 9/2^b_3 - 2^b_3/(2^b_0*2^b_2) -
++ 2/(2^b_0*2^b_2) + 1/(2^b_0*2^b_3) + 1/(2^b_2*2^b_3) -
++ 1/(2^b_0*2^b_2*2^b_3) - 18
+
+ sage: _0,b_1,b_2=var('b_0,b_1,b_2')
+ sage: f = 1/27*b_2^2/(2^b_2)^2 + 1/27*b_1^2/(2^b_1)^2 + \
+@@ -3809,7 +3809,7 @@ cdef class Expression(CommutativeRingElement):
+
+ sage: x = SR.symbol('x', domain='real')
+ sage: (x^3)^(1/3)
+- (x^3)^(1/3)
++ x
+ sage: (x^4)^(1/4)
+ abs(x)
+ sage: (x^8)^(1/4)
+@@ -3872,7 +3872,7 @@ cdef class Expression(CommutativeRingElement):
+ sage: 2^(x/log(2))
+ e^x
+ sage: 2^(-x^2/2/log(2))
+- e^(-1/2*x^2)
++ 1/e^(1/2*x^2)
+ sage: x^(x/log(x))
+ x^(x/log(x))
+ sage: assume(x > 0)
+@@ -4816,18 +4816,24 @@ cdef class Expression(CommutativeRingElement):
+ sage: ((x+y)^(x+y)).match(w0^w0)
+ {$0: x + y}
+ sage: t = ((a+b)*(a+c)).match((a+w0)*(a+w1))
+- sage: t[w0], t[w1]
+- (c, b)
++ sage: set([t[w0], t[w1]]) == set([b, c])
++ True
+ sage: ((a+b)*(a+c)).match((w0+b)*(w0+c))
+ {$0: a}
+ sage: t = ((a+b)*(a+c)).match((w0+w1)*(w0+w2))
+- sage: t[w0], t[w1], t[w2]
+- (a, c, b)
+- sage: print(((a+b)*(a+c)).match((w0+w1)*(w1+w2)))
+- None
++ sage: t[w0]
++ a
++ sage: set([t[w1], t[w2]]) == set([b, c])
++ True
++ sage: t = ((a+b)*(a+c)).match((w0+w1)*(w1+w2))
++ sage: t[w1]
++ a
++ sage: set([t[w0], t[w2]]) == set([b, c])
++ True
+ sage: t = (a*(x+y)+a*z+b).match(a*w0+w1)
+- sage: t[w0], t[w1]
+- (x + y, a*z + b)
++ sage: s = set([t[w0], t[w1]])
++ sage: s == set([x+y, a*z+b]) or s == set([z, a*(x+y)+b])
++ True
+ sage: print((a+b+c+d+f+g).match(c))
+ None
+ sage: (a+b+c+d+f+g).has(c)
+@@ -4836,7 +4842,7 @@ cdef class Expression(CommutativeRingElement):
+ {$0: a + b + d + f + g}
+ sage: (a+b+c+d+f+g).match(c+g+w0)
+ {$0: a + b + d + f}
+- sage: (a+b).match(a+b+w0)
++ sage: (a+b).match(a+b+w0) # known bug
+ {$0: 0}
+ sage: print((a*b^2).match(a^w0*b^w1))
+ None
+@@ -5009,7 +5015,7 @@ cdef class Expression(CommutativeRingElement):
+ a^3 + b^3 + (x + y)^3
+
+ sage: t.subs(w0 == w0^2)
+- (x^2 + y^2)^18 + a^16 + b^16
++ a^8 + b^8 + (x^2 + y^2)^6
+
+ sage: t.subs(a == b, b == c)
+ (x + y)^3 + b^2 + c^2
+@@ -8392,9 +8398,13 @@ cdef class Expression(CommutativeRingElement):
+ sage: SR(I).arctan2(1)
+ arctan2(I, 1)
+ sage: SR(CDF(0,1)).arctan2(1)
+- NaN + +infinity*I
+- sage: SR(1).arctan2(CDF(0,1)) # known bug
+- 0.7853981633974484 - 19.012501686914433*I
++ Traceback (most recent call last):
++ ...
++ ValueError: power::eval(): division by zero
++ sage: SR(1).arctan2(CDF(0,1))
++ Traceback (most recent call last):
++ ...
++ ValueError: power::eval(): division by zero
+
+ sage: arctan2(0,oo)
+ 0
+@@ -8656,7 +8666,7 @@ cdef class Expression(CommutativeRingElement):
+ 1/2*I*pi
+ sage: SR(1/2).arccosh()
+ arccosh(1/2)
+- sage: SR(CDF(1/2)).arccosh() # rel tol 1e-15
++ sage: SR(CDF(1/2)).arccosh() # rel tol 1e-15
+ 1.0471975511965976*I
+ sage: maxima('acosh(0.5)')
+ 1.04719755119659...*%i
+@@ -11687,7 +11697,7 @@ cdef class Expression(CommutativeRingElement):
+ sage: a.solve(t)
+ []
+ sage: b = a.canonicalize_radical(); b
+- -23040.0*(-2.0*e^(1800*t) + 25.0*e^(900*t) - 32.0)*e^(-2400*t)
++ (46080.0*e^(1800*t) - 576000.0*e^(900*t) + 737280.0)*e^(-2400*t)
+ sage: b.solve(t)
+ []
+ sage: b.solve(t, to_poly_solve=True)
+@@ -12163,14 +12173,14 @@ cdef class Expression(CommutativeRingElement):
+
+ sage: (n,k,j)=var('n,k,j')
+ sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
+- -(-1)^(-j)*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
++ -(-1)^j*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
+ sage: assume(j>-1)
+ sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
+ 1
+ sage: forget()
+ sage: assume(n>=j)
+ sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
+- -(-1)^(-j)*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
++ -(-1)^j*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
+ sage: forget()
+ sage: assume(j==-1)
+ sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
+@@ -12178,7 +12188,7 @@ cdef class Expression(CommutativeRingElement):
+ sage: forget()
+ sage: assume(j<-1)
+ sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
+- -(-1)^(-j)*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
++ -(-1)^j*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n)
+ sage: forget()
+
+ Check that :trac:`16176` is fixed::
+diff --git a/src/sage/symbolic/relation.py b/src/sage/symbolic/relation.py
+index da6f0eef42..4bd65ef572 100644
+--- a/src/sage/symbolic/relation.py
++++ b/src/sage/symbolic/relation.py
+@@ -895,7 +895,7 @@ def solve(f, *args, **kwds):
+ sage: (r[0][x], r[0][y])
+ (2*lambert_w(1/2), 1)
+ sage: solve(-2*x**3 + 4*x**2 - 2*x + 6 > 0, x, algorithm='sympy')
+- [x < (1/6*sqrt(77) + 79/54)^(1/3) + 1/9/(1/6*sqrt(77) + 79/54)^(1/3) + 2/3]
++ [x < 1/3*(1/2)^(1/3)*(9*sqrt(77) + 79)^(1/3) + 2/3*(1/2)^(2/3)/(9*sqrt(77) + 79)^(1/3) + 2/3]
+ sage: solve(sqrt(2*x^2 - 7) - (3 - x),x,algorithm='sympy')
+ [x == -8, x == 2]
+ sage: solve(sqrt(2*x + 9) - sqrt(x + 1) - sqrt(x + 4),x,algorithm='sympy')
diff --git a/pkgs/applications/science/math/sage/patches/python-5755-hotpatch.patch b/pkgs/applications/science/math/sage/patches/python-5755-hotpatch.patch
new file mode 100644
index 00000000000..1b64f39fe60
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/python-5755-hotpatch.patch
@@ -0,0 +1,28 @@
+diff --git a/src/sage/all.py b/src/sage/all.py
+index ca309ef..be3186b 100644
+--- a/src/sage/all.py
++++ b/src/sage/all.py
+@@ -298,6 +298,23 @@ warnings.filterwarnings('ignore', module='matplotlib[.]font_manager')
+ warnings.filterwarnings('default',
+ '[\s\S]*See http://trac.sagemath.org/[0-9]* for details.')
+
++# Hotpatch around https://bugs.python.org/issue5755 which won't be fixed for
++# python 2.7. Idea by https://stackoverflow.com/a/36293331.
++from distutils.command.build_ext import build_ext
++from distutils.sysconfig import customize_compiler
++
++_build_extensions = build_ext.build_extensions
++
++def build_extensions_patched(self):
++ customize_compiler(self.compiler)
++ try:
++ self.compiler.compiler_so.remove("-Wstrict-prototypes")
++ except (AttributeError, ValueError):
++ pass
++ _build_extensions(self)
++
++build_ext.build_extensions = build_extensions_patched
++
+
+ # Set a new random number seed as the very last thing
+ # (so that printing initial_seed() and using that seed
diff --git a/pkgs/applications/science/math/sage/patches/python3-syntax-without-write.patch b/pkgs/applications/science/math/sage/patches/python3-syntax-without-write.patch
new file mode 100644
index 00000000000..ff1dcd22acf
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/python3-syntax-without-write.patch
@@ -0,0 +1,40 @@
+diff --git a/src/sage/tests/py3_syntax.py b/src/sage/tests/py3_syntax.py
+index e564860b48..86ab3725f9 100644
+--- a/src/sage/tests/py3_syntax.py
++++ b/src/sage/tests/py3_syntax.py
+@@ -179,15 +179,30 @@ class Python3SyntaxTest(SortedDirectoryWalkerABC):
+ sage: py3_syntax = Python3SyntaxTest()
+ sage: py3_syntax.test(src.name)
+ Invalid Python 3 syntax found:
+- File "...py", line 1
+- print "invalid print statement"
+- ^
+- SyntaxError: Missing parentheses in call to 'print'
++ Missing parentheses in call to 'print'...
+ sage: os.unlink(src.name)
+ """
++
++ # compile all given files in memory, printing all errors
++ # inspired by the py_compile module (but without writing to file)
++ script = """
++import sys
++import importlib.machinery
++rv = 0
++for file in sys.argv[1:]:
++ loader = importlib.machinery.SourceFileLoader('', file)
++ source_bytes = loader.get_data(file)
++ try:
++ code = loader.source_to_code(source_bytes, file)
++ except Exception as err:
++ print(err)
++ rv = 1
++sys.exit(rv)
++"""
+ cmd = [
+ 'python3',
+- '-m', 'py_compile'
++ '-c',
++ script,
+ ] + list(filenames)
+ process = subprocess.Popen(
+ cmd,
diff --git a/pkgs/applications/science/math/sage/patches/revert-269c1e1551285.patch b/pkgs/applications/science/math/sage/patches/revert-269c1e1551285.patch
new file mode 100644
index 00000000000..b57e48b86de
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/revert-269c1e1551285.patch
@@ -0,0 +1,14 @@
+reverted:
+--- b/src/sage/geometry/polyhedron/backend_cdd.py
++++ a/src/sage/geometry/polyhedron/backend_cdd.py
+@@ -154,7 +154,9 @@
+ ... [0.62, -1.38, 0.38],[0.144, -1.04, 0.04],
+ ... [0.1309090909, -1.0290909091, 0.04]]
+ sage: Polyhedron(point_list)
++ Traceback (most recent call last):
++ ...
++ ValueError: *Error: Numerical inconsistency is found. Use the GMP exact arithmetic.
+- A 3-dimensional polyhedron in RDF^3 defined as the convex hull of 14 vertices
+ sage: Polyhedron(point_list, base_ring=QQ)
+ A 3-dimensional polyhedron in QQ^3 defined as the convex hull of 14 vertices
+ """
diff --git a/pkgs/applications/science/math/sage/patches/sagenb-sphinx-1.7.patch b/pkgs/applications/science/math/sage/patches/sagenb-sphinx-1.7.patch
new file mode 100644
index 00000000000..42deef4eab0
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/sagenb-sphinx-1.7.patch
@@ -0,0 +1,31 @@
+From 7419e0246230594ebfd5e7a2fe6b80d67abfc98a Mon Sep 17 00:00:00 2001
+From: Jeroen Demeyer
+Date: Tue, 20 Mar 2018 10:40:41 +0100
+Subject: Fix sphinxify doctests
+
+---
+ sagenb/misc/sphinxify.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/sagenb/misc/sphinxify.py b/sagenb/misc/sphinxify.py
+index 4f76d41..15623d9 100644
+--- a/sagenb/misc/sphinxify.py
++++ b/sagenb/misc/sphinxify.py
+@@ -47,11 +47,11 @@ def sphinxify(docstring, format='html'):
+
+ sage: from sage.misc.sphinxify import sphinxify
+ sage: sphinxify('A test')
+- '...'
++ ''
+ sage: sphinxify('**Testing**\n`monospace`')
+- '...Testing\n\n\n\n
'
++ 'Testing\n\n\n\n
'
+ sage: sphinxify('`x=y`')
+- '...'
++ ''
+ sage: sphinxify('`x=y`', format='text')
+ 'x=y\n'
+ sage: sphinxify(':math:`x=y`', format='text')
+--
+cgit v1.0-1-gd88e
+
diff --git a/pkgs/applications/science/math/sage/patches/sphinx-1.7.patch b/pkgs/applications/science/math/sage/patches/sphinx-1.7.patch
new file mode 100644
index 00000000000..c67b8942e28
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/sphinx-1.7.patch
@@ -0,0 +1,62 @@
+diff --git a/src/bin/sage b/src/bin/sage
+index 397f30cbed..3fc473c343 100755
+--- a/src/bin/sage
++++ b/src/bin/sage
+@@ -980,8 +980,11 @@ if [ "$1" = '-rsyncdist' -o "$1" = "--rsyncdist" ]; then
+ fi
+
+ if [ "$1" = "-docbuild" -o "$1" = "--docbuild" ]; then
++ # Redirect stdin from /dev/null. This helps with running TeX which
++ # tends to ask interactive questions if something goes wrong. These
++ # cause the build to hang. If stdin is /dev/null, TeX just aborts.
+ shift
+- exec sage-python23 -m "sage_setup.docbuild" "$@"
++ exec sage-python23 -m sage_setup.docbuild "$@" Introduction to the -adics
++ Introduction to the -adics
+ """
+ debug_inf(app, "???? Trying intersphinx for %s"%node['reftarget'])
+ builder = app.builder
+diff --git a/src/sage/misc/sphinxify.py b/src/sage/misc/sphinxify.py
+index 4f76d4113a..8f426b5989 100644
+--- a/src/sage/misc/sphinxify.py
++++ b/src/sage/misc/sphinxify.py
+@@ -47,11 +47,11 @@ def sphinxify(docstring, format='html'):
+
+ sage: from sage.misc.sphinxify import sphinxify
+ sage: sphinxify('A test')
+- '...'
++ ''
+ sage: sphinxify('**Testing**\n`monospace`')
+- '...Testing\n\n\n\n
'
++ ''
++ ''
+ sage: sphinxify('`x=y`', format='text')
+ 'x=y\n'
+ sage: sphinxify(':math:`x=y`', format='text')
+diff --git a/src/sage_setup/docbuild/sphinxbuild.py b/src/sage_setup/docbuild/sphinxbuild.py
+index fda76a4174..d3413239dd 100644
+--- a/src/sage_setup/docbuild/sphinxbuild.py
++++ b/src/sage_setup/docbuild/sphinxbuild.py
+@@ -207,7 +207,7 @@ def runsphinx():
+ try:
+ sys.stdout = SageSphinxLogger(sys.stdout, os.path.basename(output_dir))
+ sys.stderr = SageSphinxLogger(sys.stderr, os.path.basename(output_dir))
+- sphinx.cmdline.main(sys.argv)
++ sphinx.cmdline.main(sys.argv[1:])
+ finally:
+ sys.stdout = saved_stdout
+ sys.stderr = saved_stderr
diff --git a/pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch b/pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch
new file mode 100644
index 00000000000..febab370277
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch
@@ -0,0 +1,31 @@
+diff --git a/src/sage/repl/ipython_kernel/install.py b/src/sage/repl/ipython_kernel/install.py
+index aa23c8405d..8a87de0591 100644
+--- a/src/sage/repl/ipython_kernel/install.py
++++ b/src/sage/repl/ipython_kernel/install.py
+@@ -112,7 +112,7 @@ class SageKernelSpec(object):
+ EXAMPLES::
+
+ sage: from sage.repl.ipython_kernel.install import SageKernelSpec
+- sage: spec = SageKernelSpec()
++ sage: spec = SageKernelSpec(prefix = tmp_dir())
+ sage: spec.use_local_mathjax()
+ sage: mathjax = os.path.join(spec.nbextensions_dir, 'mathjax')
+ sage: os.path.isdir(mathjax)
+@@ -129,7 +129,7 @@ class SageKernelSpec(object):
+ EXAMPLES::
+
+ sage: from sage.repl.ipython_kernel.install import SageKernelSpec
+- sage: spec = SageKernelSpec()
++ sage: spec = SageKernelSpec(prefix = tmp_dir())
+ sage: spec.use_local_jsmol()
+ sage: jsmol = os.path.join(spec.nbextensions_dir, 'jsmol')
+ sage: os.path.isdir(jsmol)
+@@ -146,7 +146,7 @@ class SageKernelSpec(object):
+ EXAMPLES::
+
+ sage: from sage.repl.ipython_kernel.install import SageKernelSpec
+- sage: spec = SageKernelSpec()
++ sage: spec = SageKernelSpec(prefix = tmp_dir())
+ sage: spec.use_local_threejs()
+ sage: threejs = os.path.join(spec.nbextensions_dir, 'threejs')
+ sage: os.path.isdir(threejs)
diff --git a/pkgs/applications/science/math/sage/patches/zn_poly_version.patch b/pkgs/applications/science/math/sage/patches/zn_poly_version.patch
new file mode 100644
index 00000000000..92ea4303e47
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/zn_poly_version.patch
@@ -0,0 +1,13 @@
+diff --git a/src/sage/misc/package.py b/src/sage/misc/package.py
+index 7ff4f21675..1d72168833 100644
+--- a/src/sage/misc/package.py
++++ b/src/sage/misc/package.py
+@@ -350,7 +350,7 @@ def package_versions(package_type, local=False):
+ sage: 'gap' in std
+ True
+ sage: std['zn_poly']
+- ('0.9.p11', '0.9.p11')
++ ('0.9', '0.9.p11')
+ """
+ return {pkg['name']: (pkg['installed_version'], pkg['remote_version']) for pkg in list_packages(package_type, local=local).values()}
+
diff --git a/pkgs/applications/science/math/sage/pybrial.nix b/pkgs/applications/science/math/sage/pybrial.nix
new file mode 100644
index 00000000000..f5cb39603c3
--- /dev/null
+++ b/pkgs/applications/science/math/sage/pybrial.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, fetchFromGitHub
+, buildPythonPackage
+}:
+# This has a cyclic dependency with sage. I don't include sage in the
+# buildInputs and let python figure it out at runtime. Because of this,
+# I don't include the package in the main nipxkgs tree. It wouldn't be useful
+# outside of sage anyways (as you could just directly depend on sage and use
+# it).
+buildPythonPackage rec {
+ pname = "pyBRiAl";
+ version = "1.2.3";
+
+ # included with BRiAl source
+ src = fetchFromGitHub {
+ owner = "BRiAl";
+ repo = "BRiAl";
+ rev = "${version}";
+ sha256 = "0qy4cwy7qrk4zg151cmws5cglaa866z461cnj9wdnalabs7v7qbg";
+ };
+
+ sourceRoot = "source/sage-brial";
+
+ meta = with stdenv.lib; {
+ description = "python implementation of BRiAl";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ timokau ];
+ };
+}
diff --git a/pkgs/applications/science/math/sage/python-openid.nix b/pkgs/applications/science/math/sage/python-openid.nix
new file mode 100644
index 00000000000..184eaf29bdd
--- /dev/null
+++ b/pkgs/applications/science/math/sage/python-openid.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, django
+, nose
+, twill
+, pycrypto
+}:
+
+buildPythonPackage rec {
+ pname = "python-openid";
+ version = "2.2.5";
+
+ disabled = isPy3k;
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "1vvhxlghjan01snfdc4k7ykd80vkyjgizwgg9bncnin8rqz1ricj";
+ };
+
+ propagatedBuildInputs = [
+ django
+ twill
+ pycrypto
+ ];
+
+ # Cannot access the djopenid example module.
+ # I don't know how to fix that (adding the examples dir to PYTHONPATH doesn't work)
+ doCheck = false;
+ checkInputs = [ nose ];
+ checkPhase = ''
+ nosetests
+ '';
+
+ meta = with stdenv.lib; {
+ description = "OpenID library for Python";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ timokau ];
+ homepage = https://github.com/openid/python-openid/;
+ };
+}
diff --git a/pkgs/applications/science/math/sage/sage-env.nix b/pkgs/applications/science/math/sage/sage-env.nix
new file mode 100644
index 00000000000..317eb6e16c4
--- /dev/null
+++ b/pkgs/applications/science/math/sage/sage-env.nix
@@ -0,0 +1,162 @@
+{ stdenv
+, lib
+, writeTextFile
+, python
+, sage-src
+, sagelib
+, env-locations
+, gfortran
+, bash
+, coreutils
+, gnused
+, gnugrep
+, binutils
+, pythonEnv
+, python3
+, pkg-config
+, pari
+, gap-libgap-compatible
+, libgap
+, ecl
+, maxima-ecl
+, singular
+, giac
+, palp
+, rWrapper
+, gfan
+, cddlib
+, jmol
+, tachyon
+, glpk
+, eclib
+, sympow
+, nauty
+, sqlite
+, ppl
+, ecm
+, lcalc
+, rubiks
+, flintqs
+, openblas-cblas-pc
+, flint
+, gmp
+, mpfr
+, pynac
+, zlib
+, gsl
+, ntl
+}:
+
+let
+ runtimepath = (lib.makeBinPath ([
+ "@sage-local@"
+ "@sage-local@/build"
+ pythonEnv
+ # empty python env to add python wrapper that clears PYTHONHOME (see
+ # wrapper.nix). This is necessary because sage will call the python3 binary
+ # (from python2 code). The python2 PYTHONHOME (again set in wrapper.nix)
+ # will then confuse python3, if it is not overwritten.
+ python3.buildEnv
+ gfortran # for inline fortran
+ stdenv.cc # for cython
+ bash
+ coreutils
+ gnused
+ gnugrep
+ binutils.bintools
+ pkg-config
+ pari
+ gap-libgap-compatible
+ libgap
+ ecl
+ maxima-ecl
+ singular
+ giac
+ palp
+ rWrapper
+ gfan
+ cddlib
+ jmol
+ tachyon
+ glpk
+ eclib
+ sympow
+ nauty
+ sqlite
+ ppl
+ ecm
+ lcalc
+ rubiks
+ flintqs
+ ]
+ ));
+in
+writeTextFile rec {
+ name = "sage-env";
+ destination = "/${name}";
+ text = ''
+ export PKG_CONFIG_PATH='${lib.concatStringsSep ":" (map (pkg: "${pkg}/lib/pkgconfig") [
+ # This is only needed in the src/sage/misc/cython.py test and I'm not sure if there's really a use-case
+ # for it outside of the tests. However since singular and openblas are runtime dependencies anyways
+ # and openblas-cblas-pc is tiny, it doesn't really hurt to include.
+ singular
+ openblas-cblas-pc
+ ])
+ }'
+ export SAGE_ROOT='${sage-src}'
+ export SAGE_LOCAL='@sage-local@'
+ export SAGE_SHARE='${sagelib}/share'
+ orig_path="$PATH"
+ export PATH='${runtimepath}'
+
+ # set dependent vars, like JUPYTER_CONFIG_DIR
+ source "${sage-src}/src/bin/sage-env"
+ export PATH="${runtimepath}:$orig_path" # sage-env messes with PATH
+
+ export SAGE_LOGS="$TMPDIR/sage-logs"
+ export SAGE_DOC="''${SAGE_DOC_OVERRIDE:-doc-placeholder}"
+ export SAGE_DOC_SRC="''${SAGE_DOC_SRC_OVERRIDE:-${sage-src}/src/doc}"
+
+ # set locations of dependencies
+ . ${env-locations}/sage-env-locations
+
+ # needed for cython
+ export CC='${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc'
+ # cython needs to find these libraries, otherwise will fail with `ld: cannot find -lflint` or similar
+ export LDFLAGS='${
+ lib.concatStringsSep " " (map (pkg: "-L${pkg}/lib") [
+ flint
+ libgap
+ glpk
+ gmp
+ mpfr
+ pari
+ pynac
+ zlib
+ eclib
+ gsl
+ ntl
+ jmol
+ sympow
+ ])
+ }'
+ export CFLAGS='${
+ lib.concatStringsSep " " (map (pkg: "-isystem ${pkg}/include") [
+ singular
+ gmp.dev
+ glpk
+ flint
+ libgap
+ pynac
+ mpfr.dev
+ ])
+ }'
+
+ export SAGE_LIB='${sagelib}/${python.sitePackages}'
+
+ export SAGE_EXTCODE='${sage-src}/src/ext'
+
+ # for find_library
+ export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular]}:$DYLD_LIBRARY_PATH"
+ '';
+}
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
new file mode 100644
index 00000000000..244a6ea7267
--- /dev/null
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -0,0 +1,205 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+}:
+stdenv.mkDerivation rec {
+ version = "8.2";
+ name = "sage-src-${version}";
+
+ src = fetchFromGitHub {
+ owner = "sagemath";
+ repo = "sage";
+ rev = version;
+ sha256 = "0d7vc16s7dj23an2cb8v5bhbnc6nsw20qhnnxr0xh8qg629027b8";
+ };
+
+ nixPatches = [
+ # https://trac.sagemath.org/ticket/25309
+ (fetchpatch {
+ name = "spkg-paths.patch";
+ url = "https://git.sagemath.org/sage.git/patch/?h=97f06fddee920399d4fcda65aa9b0925774aec69&id=a86151429ccce1ddd085e8090ada8ebdf02f3310";
+ sha256 = "1xb9108rzzkdhn71vw44525620d3ww9jv1fph5a77v9y7nf9wgr7";
+ })
+ (fetchpatch {
+ name = "maxima-fas.patch";
+ url = "https://git.sagemath.org/sage.git/patch/?h=97f06fddee920399d4fcda65aa9b0925774aec69";
+ sha256 = "14s50yg3hpw9cp3v581dx7zfmpm2j972im7x30iwki8k45mjvk3i";
+ })
+
+ # https://trac.sagemath.org/ticket/25328
+ # https://trac.sagemath.org/ticket/25546
+ # https://trac.sagemath.org/ticket/25722
+ (fetchpatch {
+ name = "install-jupyter-kernel-in-correct-prefix.patch";
+ url = "https://git.sagemath.org/sage.git/patch?id=72167b98e3f64326df6b2c78785df25539472fcc";
+ sha256 = "0pscnjhm7r2yr2rxnv4kkkq626vwaja720lixa3m3w9rwlxll5a7";
+ })
+ ./patches/test-in-tmpdir.patch
+
+ # https://trac.sagemath.org/ticket/25358
+ (fetchpatch {
+ name = "safe-directory-test-without-patch.patch";
+ url = "https://git.sagemath.org/sage.git/patch?id2=8bdc326ba57d1bb9664f63cf165a9e9920cc1afc&id=dc673c17555efca611f68398d5013b66e9825463";
+ sha256 = "1hhannz7xzprijakn2w2d0rhd5zv2zikik9p51i87bas3nc658f7";
+ })
+
+ # https://trac.sagemath.org/ticket/25357 rebased on 8.2
+ ./patches/python3-syntax-without-write.patch
+
+ # https://trac.sagemath.org/ticket/25314
+ (fetchpatch {
+ name = "make-qepcad-test-optional.patch";
+ url = "https://git.sagemath.org/sage.git/patch/?h=fe294c58bd035ef427e268901d54a6faa0058138";
+ sha256 = "003d5baf5c0n5rfg010ijwkwz8kg0s414cxwczs2vhdayxdixbix";
+ })
+
+ # https://trac.sagemath.org/ticket/25316
+ ./patches/python-5755-hotpatch.patch
+
+ # https://trac.sagemath.org/ticket/25354
+ # https://trac.sagemath.org/ticket/25531
+ (fetchpatch {
+ name = "cysignals-include.patch";
+ url = "https://git.sagemath.org/sage.git/patch/?h=28778bd25a37c80884d2b24e0683fb2989300cef";
+ sha256 = "0fiiiw91pgs8avm9ggj8hb64bhqzl6jcw094d94nhirmh8w2jmc5";
+ })
+
+ # https://trac.sagemath.org/ticket/25315
+ (fetchpatch {
+ name = "find-libraries-in-dyld-library-path.patch";
+ url = "https://git.sagemath.org/sage.git/patch/?h=20d4593876ce9c6004eac2ab6fd61786d0d96a06";
+ sha256 = "1k3afq3qlzmgqwx6rzs5wv153vv9dsf5rk8pi61g57l3r3npbjmc";
+ })
+
+ # Pari upstream has since accepted a patch, so this patch won't be necessary once sage updates pari.
+ # https://trac.sagemath.org/ticket/25312
+ ./patches/pari-stackwarn.patch
+
+ # https://trac.sagemath.org/ticket/25311
+ ./patches/zn_poly_version.patch
+
+ # https://trac.sagemath.org/ticket/25345
+ # (upstream patch doesn't apply on 8.2 source)
+ ./patches/dochtml-optional.patch
+ ];
+
+ packageUpgradePatches = [
+ # matplotlib 2.2.2 deprecated `normed` (replaced by `density`).
+ # This patch only ignores the warning. It would be equally easy to fix it
+ # (by replacing all mentions of `normed` by `density`), but its better to
+ # stay close to sage upstream. I didn't open an upstream ticket about it
+ # because the matplotlib update also requires a new dependency (kiwisolver)
+ # and I don't want to invest the time to learn how to add it.
+ ./patches/matplotlib-normed-deprecated.patch
+
+ # Update to 20171219 broke the doctests because of insignificant precision
+ # changes, make the doctests less fragile.
+ # I didn't open an upstream ticket because its not entirely clear if
+ # 20171219 is really "released" yet. It is listed on the github releases
+ # page, but not marked as "latest release" and the homepage still links to
+ # the last version.
+ ./patches/eclib-regulator-precision.patch
+
+ # sphinx 1.6 -> 1.7 upgrade
+ # https://trac.sagemath.org/ticket/24935
+ ./patches/sphinx-1.7.patch
+
+ # https://trac.sagemath.org/ticket/25320
+ (fetchpatch {
+ name = "zero_division_error_formatting.patch";
+ url = "https://git.sagemath.org/sage.git/patch/?h=f79070ddd09fa0ad6b340b097bd8d690a7aa35f0";
+ sha256 = "02wsc3wbp8g8dk5jcjyv18d9v537h3zp5v8lwir46j4na4kj0dlb";
+ })
+
+ # Adapt hashes to new boost version
+ # https://trac.sagemath.org/ticket/22243
+ # (this ticket doesn't only upgrade boost but also avoids this problem in the future)
+ (fetchpatch {
+ name = "boost-upgrade.patch";
+ url = "https://git.sagemath.org/sage.git/patch?id=a24a9c6b30b93957333a3116196214a931325b69";
+ sha256 = "0z3870g2ms2a81vnw08dc2i4k7jr62w8fggvcdwaavgd1wvdxwfl";
+ })
+
+ # gfan 0.6.2
+ # https://trac.sagemath.org/ticket/23353
+ (fetchpatch {
+ name = "gfan-update.patch";
+ url = "https://git.sagemath.org/sage.git/patch/?h=420215fc469cde733ec7a339e59b78ad6eec804c&id=112498a293ea2bf563e41aed35f1aa608f01b349";
+ sha256 = "0ga3hkx8cr23dpc919lgvpi5lmy0d728jkq9z6kf0fl9s8g31mxb";
+ })
+
+ # New glpk version has new warnings, filter those out until upstream sage has found a solution
+ # https://trac.sagemath.org/ticket/24824
+ (fetchpatch {
+ url = "https://salsa.debian.org/science-team/sagemath/raw/58bbba93a807ca2933ca317501d093a1bb4b84db/debian/patches/dt-version-glpk-4.65-ignore-warnings.patch";
+ sha256 = "0b9293v73wb4x13wv5zwyjgclc01zn16msccfzzi6znswklgvddp";
+ stripLen = 1;
+ })
+
+ # https://trac.sagemath.org/ticket/25329
+ (fetchpatch {
+ name = "dont-check-exact-glpk-version.patch";
+ url = "https://git.sagemath.org/sage.git/patch?id2=8bdc326ba57d1bb9664f63cf165a9e9920cc1afc&id=89d068d8d77316bfffa6bf8e9ebf70b3b3b88e5c";
+ sha256 = "00knwxs6fmymfgfl0q5kcavmxm9sf90a4r76y35n5s55gj8pl918";
+ })
+
+ # https://trac.sagemath.org/ticket/25355
+ (fetchpatch {
+ name = "maxima-5.41.0.patch";
+ url = "https://git.sagemath.org/sage.git/patch/?id=87328023c4739abdf24108038201e3fa9bdfc739";
+ sha256 = "0hxi7qr5mfx1bc32r8j7iba4gzd7c6v63asylyf5cbyp86azpb7i";
+ })
+
+ # Update cddlib from 0.94g to 0.94h.
+ # https://trac.sagemath.org/ticket/25341 (doesn't apply to 8.2 sources)
+ (fetchpatch {
+ url = "https://salsa.debian.org/science-team/sagemath/raw/58bbba93a807ca2933ca317501d093a1bb4b84db/debian/patches/u2-version-cddlib-094h.patch";
+ sha256 = "0fmw7pzbaxs2dshky6iw9pr8i23p9ih2y2lw661qypdrxh5xw03k";
+ stripLen = 1;
+ })
+ ./patches/revert-269c1e1551285.patch
+
+
+ # Only formatting changes.
+ # https://trac.sagemath.org/ticket/25260
+ ./patches/numpy-1.14.3.patch
+
+ # https://trac.sagemath.org/ticket/24374
+ (fetchpatch {
+ name = "networkx-2.1.patch";
+ url = "https://salsa.debian.org/science-team/sagemath/raw/487df9ae48ca1d93d9b1cb3af8745d31e30fb741/debian/patches/u0-version-networkx-2.1.patch";
+ sha256 = "1xxxawygbgxgvlv7b4w8hhzgdnva4rhmgdxaiaa3pwdwln0yc750";
+ stripLen = 1;
+ })
+
+ # https://trac.sagemath.org/ticket/24927 rebased
+ ./patches/arb-2.13.0.patch
+
+ # https://trac.sagemath.org/ticket/24838 rebased
+ ./patches/pynac-0.7.22.patch
+ ];
+
+ patches = nixPatches ++ packageUpgradePatches;
+
+ postPatch = ''
+ # make sure shebangs etc are fixed, but sage-python23 still works
+ find . -type f -exec sed \
+ -e 's/sage-python23/python/g' \
+ -i {} \;
+
+ echo '#!${stdenv.shell}
+ python "$@"' > build/bin/sage-python23
+
+ # Do not use sage-env-config (generated by ./configure).
+ # Instead variables are set manually.
+ echo '# do nothing' > src/bin/sage-env-config
+ '';
+
+ configurePhase = "# do nothing";
+
+ buildPhase = "# do nothing";
+
+ installPhase = ''
+ cp -r . "$out"
+ '';
+}
diff --git a/pkgs/applications/science/math/sage/sage-with-env.nix b/pkgs/applications/science/math/sage/sage-with-env.nix
new file mode 100644
index 00000000000..3d1ebe87c6b
--- /dev/null
+++ b/pkgs/applications/science/math/sage/sage-with-env.nix
@@ -0,0 +1,129 @@
+{ stdenv
+, lib
+, makeWrapper
+, sage-env
+, sage-src
+, sagelib
+, sagedoc
+, openblasCompat
+, openblas-blas-pc
+, openblas-cblas-pc
+, openblas-lapack-pc
+, pkg-config
+, three
+, singular
+, libgap
+, gap-libgap-compatible
+, gcc
+, giac
+, maxima-ecl
+, pari
+, gmp
+, gfan
+, python2
+, flintqs
+, eclib
+, ntl
+, ecm
+, pynac
+, pythonEnv
+}:
+
+let
+ buildInputs = [
+ pythonEnv # for patchShebangs
+ makeWrapper
+ pkg-config
+ openblasCompat # lots of segfaults with regular (64 bit) openblas
+ openblas-blas-pc
+ openblas-cblas-pc
+ openblas-lapack-pc
+ singular
+ three
+ pynac
+ giac
+ libgap
+ gap-libgap-compatible
+ pari
+ gmp
+ gfan
+ maxima-ecl
+ eclib
+ flintqs
+ ntl
+ ecm
+ ];
+
+ # remove python prefix, replace "-" in the name by "_", apply patch_names
+ # python2.7-some-pkg-1.0 -> some_pkg-1.0
+ pkg_to_spkg_name = pkg: patch_names: let
+ parts = lib.splitString "-" pkg.name;
+ # remove python2.7-
+ stripped_parts = if (builtins.head parts) == python2.libPrefix then builtins.tail parts else parts;
+ version = lib.last stripped_parts;
+ orig_pkgname = lib.init stripped_parts;
+ pkgname = patch_names (lib.concatStringsSep "_" orig_pkgname);
+ in pkgname + "-" + version;
+
+
+ # return the names of all dependencies in the transitive closure
+ transitiveClosure = dep:
+ if isNull dep then
+ # propagatedBuildInputs might contain null
+ # (although that might be considered a programming error in the derivation)
+ []
+ else
+ [ dep ] ++ (
+ if builtins.hasAttr "propagatedBuildInputs" dep then
+ lib.unique (builtins.concatLists (map transitiveClosure dep.propagatedBuildInputs))
+ else
+ []
+ );
+
+ allInputs = lib.remove null (buildInputs ++ pythonEnv.extraLibs);
+ transitiveDeps = lib.unique (builtins.concatLists (map transitiveClosure allInputs ));
+ # fix differences between spkg and sage names
+ # (could patch sage instead, but this is more lightweight and also works for packages depending on sage)
+ patch_names = builtins.replaceStrings [
+ "zope.interface"
+ "node_three"
+ ] [
+ "zope_interface"
+ "threejs"
+ ];
+ # spkg names (this_is_a_package-version) of all transitive deps
+ input_names = map (dep: pkg_to_spkg_name dep patch_names) transitiveDeps;
+in
+stdenv.mkDerivation rec {
+ version = sage-src.version;
+ name = "sage-with-env-${version}";
+
+ inherit buildInputs;
+
+ src = sage-src;
+
+ configurePhase = "#do nothing";
+
+ buildPhase = ''
+ mkdir installed
+ for pkg in ${lib.concatStringsSep " " input_names}; do
+ touch "installed/$pkg"
+ done
+ '';
+
+ installPhase = ''
+ mkdir -p "$out/var/lib/sage"
+ cp -r installed $out/var/lib/sage
+
+ mkdir -p "$out/etc"
+ # sage tests will try to create this file if it doesn't exist
+ touch "$out/etc/sage-started.txt"
+
+ mkdir -p "$out/build"
+ cp -r src/bin "$out/bin"
+ cp -r build/bin "$out/build/bin"
+ cp -f '${sage-env}/sage-env' "$out/bin/sage-env"
+ substituteInPlace "$out/bin/sage-env" \
+ --subst-var-by sage-local "$out"
+ '';
+}
diff --git a/pkgs/applications/science/math/sage/sage-wrapper.nix b/pkgs/applications/science/math/sage/sage-wrapper.nix
new file mode 100644
index 00000000000..06b667f426f
--- /dev/null
+++ b/pkgs/applications/science/math/sage/sage-wrapper.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, makeWrapper
+, sage
+, sage-src
+, sagedoc
+, withDoc
+}:
+
+stdenv.mkDerivation rec {
+ version = sage.version;
+ name = "sage-wrapper-${version}";
+
+ buildInputs = [
+ makeWrapper
+ ];
+
+ unpackPhase = "#do nothing";
+ configurePhase = "#do nothing";
+ buildPhase = "#do nothing";
+
+ installPhase = ''
+ mkdir -p "$out/bin"
+ makeWrapper "${sage}/bin/sage" "$out/bin/sage" \
+ --set SAGE_DOC_SRC_OVERRIDE "${sage-src}/src/doc" ${
+ stdenv.lib.optionalString withDoc "--set SAGE_DOC_OVERRIDE ${sagedoc}/share/doc/sage"
+ }
+ '';
+
+ doInstallCheck = withDoc;
+ installCheckPhase = ''
+ export HOME="$TMPDIR/sage-home"
+ mkdir -p "$HOME"
+ "$out/bin/sage" -c 'browse_sage_doc._open("reference", testing=True)'
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ timokau ];
+ };
+}
diff --git a/pkgs/applications/science/math/sage/sage.nix b/pkgs/applications/science/math/sage/sage.nix
new file mode 100644
index 00000000000..b1e5d7278b0
--- /dev/null
+++ b/pkgs/applications/science/math/sage/sage.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, sage-with-env
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+ version = sage-with-env.version;
+ name = "sage-${version}";
+
+ buildInputs = [
+ makeWrapper
+ ];
+
+ unpackPhase = "#do nothing";
+ configurePhase = "#do nothing";
+ buildPhase = "#do nothing";
+
+ installPhase = ''
+ mkdir -p "$out/bin"
+ # Like a symlink, but make sure that $0 points to the original.
+ makeWrapper "${sage-with-env}/bin/sage" "$out/bin/sage"
+ '';
+
+ doInstallCheck = true;
+ installCheckPhase = ''
+ export HOME="$TMPDIR/sage-home"
+ mkdir -p "$HOME"
+
+ # "--long" tests are in the order of 1h, without "--long" its 1/2h
+ "$out/bin/sage" -t --nthreads "$NIX_BUILD_CORES" --optional=sage --long --all
+ '';
+}
diff --git a/pkgs/applications/science/math/sage/sagedoc.nix b/pkgs/applications/science/math/sage/sagedoc.nix
new file mode 100644
index 00000000000..7b280e9e028
--- /dev/null
+++ b/pkgs/applications/science/math/sage/sagedoc.nix
@@ -0,0 +1,97 @@
+{ pkgs
+, stdenv
+, sage-src
+, env-locations
+, sage-with-env
+, sagelib
+, python2
+, psutil
+, future
+, sphinx
+, sagenb
+, maxima-ecl
+, networkx
+, scipy
+, sympy
+, matplotlib
+, pillow
+, ipykernel
+, jupyter_client
+, tachyon
+, jmol
+, ipywidgets
+, typing
+, cddlib
+, pybrial
+}:
+
+stdenv.mkDerivation rec {
+ version = sage-src.version;
+ name = "sagedoc-${version}";
+
+
+ # Building the documentation has many dependencies, because all documented
+ # modules are imported and because matplotlib is used to produce plots.
+ buildInputs = [
+ sagelib
+ python2
+ psutil
+ future
+ sphinx
+ sagenb
+ maxima-ecl
+ networkx
+ scipy
+ sympy
+ matplotlib
+ pillow
+ ipykernel
+ jupyter_client
+ tachyon
+ jmol
+ ipywidgets
+ typing
+ cddlib
+ pybrial
+ ];
+
+ unpackPhase = ''
+ export SAGE_DOC_OVERRIDE="$PWD/share/doc/sage"
+ export SAGE_DOC_SRC_OVERRIDE="$PWD/docsrc"
+
+ cp -r "${sage-src}/src/doc" "$SAGE_DOC_SRC_OVERRIDE"
+ chmod -R 755 "$SAGE_DOC_SRC_OVERRIDE"
+ '';
+
+ buildPhase = ''
+ export SAGE_NUM_THREADS="$NIX_BUILD_CORES"
+ export HOME="$TMPDIR/sage_home"
+ mkdir -p "$HOME"
+
+ ${sage-with-env}/bin/sage -python -m sage_setup.docbuild \
+ --mathjax \
+ --no-pdf-links \
+ all html
+ '';
+
+ installPhase = ''
+ cd "$SAGE_DOC_OVERRIDE"
+
+ mkdir -p "$out/share/doc/sage"
+ cp -r html "$out"/share/doc/sage
+
+ # Replace duplicated files by symlinks (Gentoo)
+ cd "$out"/share/doc/sage
+ mv html/en/_static{,.tmp}
+ for _dir in `find -name _static` ; do
+ rm -r $_dir
+ ln -s /share/doc/sage/html/en/_static $_dir
+ done
+ mv html/en/_static{.tmp,}
+ '';
+
+ doCheck = true;
+ checkPhase = ''
+ ${sage-with-env}/bin/sage -t --optional=dochtml --all
+ '';
+}
diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix
new file mode 100644
index 00000000000..a053d997bf9
--- /dev/null
+++ b/pkgs/applications/science/math/sage/sagelib.nix
@@ -0,0 +1,139 @@
+{ stdenv
+, sage-src
+, perl
+, buildPythonPackage
+, arb
+, openblasCompat
+, openblas-blas-pc
+, openblas-cblas-pc
+, openblas-lapack-pc
+, brial
+, cliquer
+, cypari2
+, cysignals
+, cython
+, ecl
+, eclib
+, ecm
+, flint
+, gd
+, givaro
+, glpk
+, gsl
+, iml
+, jinja2
+, lcalc
+, lrcalc
+, libgap
+, linbox
+, m4ri
+, m4rie
+, libmpc
+, mpfi
+, ntl
+, numpy
+, pari
+, pkgconfig
+, planarity
+, ppl
+, pynac
+, python
+, ratpoints
+, readline
+, rankwidth
+, symmetrica
+, zn_poly
+, fflas-ffpack
+, boost
+, singular
+, pip
+, jupyter_core
+}:
+
+buildPythonPackage rec {
+ format = "other";
+ version = sage-src.version;
+ pname = "sagelib";
+
+ src = sage-src;
+
+ nativeBuildInputs = [
+ iml
+ perl
+ openblas-blas-pc
+ openblas-cblas-pc
+ openblas-lapack-pc
+ jupyter_core
+ ];
+
+ buildInputs = [
+ gd
+ readline
+ ];
+
+ propagatedBuildInputs = [
+ cypari2
+ jinja2
+ numpy
+ pkgconfig
+ boost
+ arb
+ brial
+ cliquer
+ ecl
+ eclib
+ ecm
+ fflas-ffpack
+ flint
+ givaro
+ glpk
+ gsl
+ lcalc
+ libgap
+ libmpc
+ linbox
+ lrcalc
+ m4ri
+ m4rie
+ mpfi
+ ntl
+ openblasCompat
+ pari
+ planarity
+ ppl
+ pynac
+ rankwidth
+ ratpoints
+ singular
+ symmetrica
+ zn_poly
+ pip
+ cython
+ cysignals
+ ];
+
+ buildPhase = ''
+ export SAGE_ROOT="$PWD"
+ export SAGE_LOCAL="$SAGE_ROOT"
+ export SAGE_SHARE="$SAGE_LOCAL/share"
+ export JUPYTER_PATH="$SAGE_LOCAL/jupyter"
+
+ export PATH="$SAGE_ROOT/build/bin:$SAGE_ROOT/src/bin:$PATH"
+
+ export SAGE_NUM_THREADS="$NIX_BUILD_CORES"
+
+ mkdir -p "$SAGE_SHARE/sage/ext/notebook-ipython"
+ mkdir -p "var/lib/sage/installed"
+
+ cd src
+ source bin/sage-dist-helpers
+
+ ${python.interpreter} -u setup.py --no-user-cfg build
+ '';
+
+ installPhase = ''
+ ${python.interpreter} -u setup.py --no-user-cfg install --prefix=$out
+
+ rm -r "$out/${python.sitePackages}/sage/cython_debug"
+ '';
+}
diff --git a/pkgs/applications/science/math/sage/sagenb.nix b/pkgs/applications/science/math/sage/sagenb.nix
new file mode 100644
index 00000000000..5ab387ebc5e
--- /dev/null
+++ b/pkgs/applications/science/math/sage/sagenb.nix
@@ -0,0 +1,49 @@
+# Has a cyclic dependency with sage (not expressed here) and is not useful outside of sage
+{ stdenv
+, fetchpatch
+, python
+, buildPythonPackage
+, fetchFromGitHub
+, mathjax
+, twisted
+, flask
+, flask-oldsessions
+, flask-openid
+, flask-autoindex
+, flask-babel
+}:
+
+buildPythonPackage rec {
+ pname = "sagenb";
+ version = "2018-06-26"; # not 1.0.1 because of new flask syntax
+
+ src = fetchFromGitHub {
+ owner = "sagemath";
+ repo = "sagenb";
+ rev = "b360a0172e15501fb0163d02dce713a561fee2af";
+ sha256 = "12anydw0v9w23rbc0a94bqmjhjdir9h820c5zdhipw9ccdcc2jlf";
+ };
+
+ propagatedBuildInputs = [
+ twisted
+ flask
+ flask-oldsessions
+ flask-openid
+ flask-autoindex
+ flask-babel
+ ];
+
+ # tests depend on sage
+ doCheck = false;
+
+ meta = with stdenv.lib; {
+ description = "Sage Notebook";
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ timokau ];
+ };
+
+ # let sagenb use mathjax
+ postInstall = ''
+ ln -s ${mathjax}/lib/node_modules/mathjax "$out/${python.sitePackages}/mathjax"
+ '';
+}
diff --git a/pkgs/applications/science/math/sage/shebangs.patch b/pkgs/applications/science/math/sage/shebangs.patch
deleted file mode 100644
index 96ed5a4bc6c..00000000000
--- a/pkgs/applications/science/math/sage/shebangs.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/build/bin/sage-spkg b/build/bin/sage-spkg
-index 83e61a7e0d..942ba206c7 100755
---- a/build/bin/sage-spkg
-+++ b/build/bin/sage-spkg
-@@ -648,8 +648,12 @@ if ! sage-apply-patches; then
- error_msg "Error applying patches"
- exit 1
- fi
-+
-+@bash@/bin/bash @patchSageShebangs@ .
-+
- cd ..
-
-+
- ##################################################################
- # The package has been extracted, prepare for installation
- ##################################################################
-@@ -671,7 +675,7 @@ write_script_wrapper() {
- local tmpscript="$(dirname "$script")/.tmp-${script##*/}"
-
- cat > "$tmpscript" <<__EOF__
--#!/usr/bin/env bash
-+#! @bash@/bin/bash
-
- export SAGE_ROOT="$SAGE_ROOT"
- export SAGE_SRC="$SAGE_SRC"
-@@ -833,6 +837,9 @@ if [ "$UNAME" = "CYGWIN" ]; then
- sage-rebase.sh "$SAGE_LOCAL" 2>/dev/null
- fi
-
-+@bash@/bin/bash @patchSageShebangs@ .
-+@bash@/bin/bash @patchSageShebangs@ "$out/bin"
-+
- echo "Successfully installed $PKG_NAME"
-
- if [ "$SAGE_CHECK" = "yes" ]; then
diff --git a/pkgs/applications/science/math/sage/spkg-giac.patch b/pkgs/applications/science/math/sage/spkg-giac.patch
deleted file mode 100644
index c79d4422133..00000000000
--- a/pkgs/applications/science/math/sage/spkg-giac.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/build/pkgs/giac/spkg-install b/build/pkgs/giac/spkg-install
-index bdd8df6cb8..3fd7a3ef8a 100644
---- a/build/pkgs/giac/spkg-install
-+++ b/build/pkgs/giac/spkg-install
-@@ -2,6 +2,15 @@
- ## Giac
- ###########################################
-
-+# Fix hardcoded paths, while making sure to only update timestamps of actually
-+# changed files (otherwise confuses make)
-+grep -rlF '/bin/cp' . | while read file
-+do
-+ sed -e 's@/bin/cp@cp@g' -i "$file"
-+done
-+
-+# Fix input parser syntax
-+sed -e 's@yylex (&yylval)@yylex (\&yyval, scanner)@gp' -i 'src/src/input_parser.cc'
-
- if [ "$SAGE_LOCAL" = "" ]; then
- echo "SAGE_LOCAL undefined ... exiting";
diff --git a/pkgs/applications/science/math/sage/spkg-git.patch b/pkgs/applications/science/math/sage/spkg-git.patch
deleted file mode 100644
index 74f552dd3c3..00000000000
--- a/pkgs/applications/science/math/sage/spkg-git.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/build/pkgs/git/spkg-install b/build/pkgs/git/spkg-install
-index 87874de3d8..b0906245fa 100644
---- a/build/pkgs/git/spkg-install
-+++ b/build/pkgs/git/spkg-install
-@@ -33,6 +33,13 @@ fi
-
- cd src
-
-+# Fix hardcoded paths, while making sure to only update timestamps of actually
-+# changed files (otherwise confuses make)
-+grep -rlF '/usr/bin/perl' . | while read file
-+do
-+ sed -e 's@/usr/bin/perl@perl@g' -i "$file"
-+done
-+
- # We don't want to think about Fink or Macports
- export NO_FINK=1
- export NO_DARWIN_PORTS=1
diff --git a/pkgs/applications/science/math/sage/spkg-python.patch b/pkgs/applications/science/math/sage/spkg-python.patch
deleted file mode 100644
index e39981b6552..00000000000
--- a/pkgs/applications/science/math/sage/spkg-python.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/build/pkgs/python3/spkg-build b/build/pkgs/python3/spkg-build
-index 56db087ae5..b450703c5f 100644
---- a/build/pkgs/python3/spkg-build
-+++ b/build/pkgs/python3/spkg-build
-@@ -27,6 +27,8 @@ fi
- export EXTRA_CFLAGS="`testcflags.sh -Wno-unused` $CFLAGS"
- unset CFLAGS
-
-+export LDFLAGS="$LDFLAGS -lcrypt"
-+
- if [ "$UNAME" = Darwin ]; then
- PYTHON_CONFIGURE="--disable-toolbox-glue $PYTHON_CONFIGURE"
-
diff --git a/pkgs/applications/science/math/sage/spkg-singular.patch b/pkgs/applications/science/math/sage/spkg-singular.patch
deleted file mode 100644
index 606ffcd3ad4..00000000000
--- a/pkgs/applications/science/math/sage/spkg-singular.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/build/pkgs/singular/spkg-install b/build/pkgs/singular/spkg-install
-index 8caafb1699..3c34e6608a 100644
---- a/build/pkgs/singular/spkg-install
-+++ b/build/pkgs/singular/spkg-install
-@@ -2,6 +2,13 @@
- ## Singular
- ###########################################
-
-+# Fix hardcoded paths, while making sure to only update timestamps of actually
-+# changed files (otherwise confuses make)
-+grep -rlF '/bin/rm' . | while read file
-+do
-+ sed -e 's@/bin/rm@rm@g' -i "$file"
-+done
-+
- if [ -z "$SAGE_LOCAL" ]; then
- echo >&2 "Error: SAGE_LOCAL undefined -- exiting..."
- echo >&2 "Maybe run 'sage -sh'?"
diff --git a/pkgs/applications/science/math/symmetrica/default.nix b/pkgs/applications/science/math/symmetrica/default.nix
index a7212299aa6..6123fd7306d 100644
--- a/pkgs/applications/science/math/symmetrica/default.nix
+++ b/pkgs/applications/science/math/symmetrica/default.nix
@@ -1,14 +1,15 @@
-{stdenv, fetchurl}:
+{ stdenv
+, fetchurl
+, fetchpatch
+}:
stdenv.mkDerivation rec {
name = "symmetrica-${version}";
version = "2.0";
- # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
src = fetchurl {
url = "http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/SYM2_0_tar.gz";
sha256 = "1qhfrbd5ybb0sinl9pad64rscr08qvlfzrzmi4p4hk61xn6phlmz";
name = "symmetrica-2.0.tar.gz";
};
- buildInputs = [];
sourceRoot = ".";
installPhase = ''
mkdir -p "$out"/{lib,share/doc/symmetrica,include/symmetrica}
@@ -18,6 +19,22 @@ stdenv.mkDerivation rec {
cp *.h "$out/include/symmetrica"
cp README *.doc "$out/share/doc/symmetrica"
'';
+ patches = [
+ # don't show banner ("SYMMETRICA VERSION X - STARTING)
+ # it doesn't contain very much helpful information and a banner is not ideal for a library
+ (fetchpatch {
+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/symmetrica/patches/de.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+ sha256 = "0df0vqixcfpzny6dkhyj87h8aznz3xn3zfwwlj8pd10bpb90k6gb";
+ })
+
+ # use int32_t and uint32_t for type INT
+ # see https://trac.sagemath.org/ticket/13413
+ (fetchpatch {
+ name = "fix_64bit_integer_overflow.patch";
+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/symmetrica/patches/int32.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+ sha256 = "0p33c85ck4kd453z687ni4bdcqr1pqx2756j7aq11bf63vjz4cyz";
+ })
+ ];
meta = {
inherit version;
description = ''A collection of routines for representation theory and combinatorics'';
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index 6885caa7d60..491e6fcd164 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -1,22 +1,16 @@
{ stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }:
pythonPackages.buildPythonApplication rec {
- version = "0.13.0";
+ version = "0.14.2";
name = "streamlink-${version}";
src = fetchFromGitHub {
owner = "streamlink";
repo = "streamlink";
rev = "${version}";
- sha256 = "17i5j5a69d28abg13md2r2ycxgmd5h1pjy0pgca1zcqaqfq4v05x";
+ sha256 = "1njwfy1h8a9n5z6crrfnknlw4ys0bap2jam6ga6njgkd10aly9qr";
};
- postPatch = ''
- # Fix failing test. This can be removed after version 0.13.0, see:
- # https://github.com/streamlink/streamlink/commit/a27e1a2d8eec6eb23c6e1dc280c6afc1cd0b5b32
- substituteInPlace tests/test_plugin.py --replace "lambda: datetime" "datetime"
- '';
-
checkInputs = with pythonPackages; [ pytest mock requests-mock freezegun ];
propagatedBuildInputs = (with pythonPackages; [ pycryptodome requests iso-639 iso3166 websocket_client isodate ]) ++ [ rtmpdump ffmpeg ];
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 2d177353153..d5f29e3daf1 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -319,51 +319,48 @@ rec {
];
# Sage mirrors (http://www.sagemath.org/mirrors.html)
- sagemath = [
+ sageupstream = [
# Africa
- http://sagemath.polytechnic.edu.na/src/
- ftp://ftp.sun.ac.za/pub/mirrors/www.sagemath.org/src/
- http://sagemath.mirror.ac.za/src/
- https://ftp.leg.uct.ac.za/pub/packages/sage/src/
- http://mirror.ufs.ac.za/sagemath/src/
+ http://sagemath.polytechnic.edu.na/spkg/upstream/
+ ftp://ftp.sun.ac.za/pub/mirrors/www.sagemath.org/spkg/upstream/
+ http://sagemath.mirror.ac.za/spkg/upstream/
+ https://ftp.leg.uct.ac.za/pub/packages/sage/spkg/upstream/
+ http://mirror.ufs.ac.za/sagemath/spkg/upstream/
# America, North
- http://mirrors-usa.go-parts.com/sage/sagemath/src/
- http://mirrors.mit.edu/sage/src/
- http://www.cecm.sfu.ca/sage/src/
- http://files.sagemath.org/src/
- http://mirror.clibre.uqam.ca/sage/src/
- https://mirrors.xmission.com/sage/src/
+ http://mirrors-usa.go-parts.com/sage/sagemath/spkg/upstream/
+ http://mirrors.mit.edu/sage/spkg/upstream/
+ http://www.cecm.sfu.ca/sage/spkg/upstream/
+ http://files.sagemath.org/spkg/upstream/
+ http://mirror.clibre.uqam.ca/sage/spkg/upstream/
+ https://mirrors.xmission.com/sage/spkg/upstream/
# America, South
- http://sagemath.c3sl.ufpr.br/src/
- http://linorg.usp.br/sage/
+ http://sagemath.c3sl.ufpr.br/spkg/upstream/
+ http://linorg.usp.br/sage/spkg/upstream
# Asia
- http://sage.asis.io/src/
- http://mirror.hust.edu.cn/sagemath/src/
- https://ftp.iitm.ac.in/sage/src/
- http://ftp.kaist.ac.kr/sage/src/
- http://ftp.riken.jp/sagemath/src/
- https://mirrors.tuna.tsinghua.edu.cn/sagemath/src/
- https://mirrors.ustc.edu.cn/sagemath/src/
- http://ftp.tsukuba.wide.ad.jp/software/sage/src/
- http://ftp.yz.yamagata-u.ac.jp/pub/math/sage/src/
- https://mirror.yandex.ru/mirrors/sage.math.washington.edu/src/
+ http://sage.asis.io/spkg/upstream/
+ http://mirror.hust.edu.cn/sagemath/spkg/upstream/
+ https://ftp.iitm.ac.in/sage/spkg/upstream/
+ http://ftp.kaist.ac.kr/sage/spkg/upstream/
+ http://ftp.riken.jp/sagemath/spkg/upstream/
+ https://mirrors.tuna.tsinghua.edu.cn/sagemath/spkg/upstream/
+ https://mirrors.ustc.edu.cn/sagemath/spkg/upstream/
+ http://ftp.tsukuba.wide.ad.jp/software/sage/spkg/upstream/
+ http://ftp.yz.yamagata-u.ac.jp/pub/math/sage/spkg/upstream/
+ https://mirror.yandex.ru/mirrors/sage.math.washington.edu/spkg/upstream/
# Australia
- http://echidna.maths.usyd.edu.au/sage/src/
+ http://echidna.maths.usyd.edu.au/sage/spkg/upstream/
# Europe
- http://sage.mirror.garr.it/mirrors/sage/src/
- http://sunsite.rediris.es/mirror/sagemath/src/
- http://mirror.switch.ch/mirror/sagemath/src/
- http://mirrors.fe.up.pt/pub/sage/src/
- http://www-ftp.lip6.fr/pub/math/sagemath/src/
- http://ftp.ntua.gr/pub/sagemath/src/
-
- # Old versions
- http://sagemath.org/src-old/
+ http://sage.mirror.garr.it/mirrors/sage/spkg/upstream/
+ http://sunsite.rediris.es/mirror/sagemath/spkg/upstream/
+ http://mirror.switch.ch/mirror/sagemath/spkg/upstream/
+ http://mirrors.fe.up.pt/pub/sage/spkg/upstream/
+ http://www-ftp.lip6.fr/pub/math/sagemath/spkg/upstream/
+ http://ftp.ntua.gr/pub/sagemath/spkg/upstream/
];
# MySQL mirrors
diff --git a/pkgs/data/misc/combinatorial_designs/default.nix b/pkgs/data/misc/combinatorial_designs/default.nix
new file mode 100644
index 00000000000..18331b5ada9
--- /dev/null
+++ b/pkgs/data/misc/combinatorial_designs/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+ name = "combinatorial_designs-${version}";
+ version = "20140630";
+
+ src = fetchurl {
+ url = "mirror://sageupstream/combinatorial_designs/combinatorial_designs-${version}.tar.bz2";
+ sha256 = "0bj8ngiq59hipa6izi6g5ph5akmy4cbk0vlsb0wa67f7grnnqj69";
+ };
+
+ installPhase = ''
+ mkdir -p "$out/share/combinatorial_designs"
+ mv * "$out/share/combinatorial_designs"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Data for Combinatorial Designs";
+ longDescription = ''
+ Current content:
+
+ - The table of MOLS (10 000 integers) from the Handbook of Combinatorial
+ Designs, 2ed.
+ '';
+ license = licenses.publicDomain;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ timokau ];
+ };
+}
diff --git a/pkgs/data/misc/conway_polynomials/default.nix b/pkgs/data/misc/conway_polynomials/default.nix
new file mode 100644
index 00000000000..fec422b33ac
--- /dev/null
+++ b/pkgs/data/misc/conway_polynomials/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchurl
+, python
+}:
+
+stdenv.mkDerivation rec {
+ name = "conway_polynomials-${version}";
+ version = "0.5";
+
+ pythonEnv = python.withPackages (ps: with ps; [ six ]);
+
+ src = fetchurl {
+ url = "mirror://sageupstream/conway_polynomials/conway_polynomials-${version}.tar.bz2";
+ sha256 = "05zb1ly9x2bbscqv0jgc45g48xx77mfs7qdbqhn4ihmihn57iwnq";
+ };
+
+ # Script that creates the "database" (nested python array) and pickles it
+ spkg-install = fetchurl {
+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/conway_polynomials/spkg-install.py?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+ sha256 = "0m12nfb37j3bn4bp06ddgnyp2d6z0hg5f83pbbjszxw7vxs33a82";
+ };
+
+ installPhase = ''
+ # directory layout as spkg-install.py expects
+ dir="$PWD"
+ cd ..
+ ln -s "$dir" "src"
+
+ # environment spkg-install.py expects
+ mkdir -p "$out/share"
+ export SAGE_SHARE="$out/share"
+ export PYTHONPATH=$PWD
+
+ ${pythonEnv.interpreter} ${spkg-install}
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Contains a small database of Conway polynomials.";
+ license = licenses.gpl2;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ timokau ];
+ };
+}
diff --git a/pkgs/data/misc/elliptic_curves/default.nix b/pkgs/data/misc/elliptic_curves/default.nix
new file mode 100644
index 00000000000..528486328c6
--- /dev/null
+++ b/pkgs/data/misc/elliptic_curves/default.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, fetchurl
+, python
+}:
+
+stdenv.mkDerivation rec {
+ pname = "elliptic_curves";
+ version = "0.8";
+ name = "${pname}-${version}";
+
+ src = fetchurl {
+ url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2";
+ sha256 = "0pzaym44x88dn8rydiwqgm73yghzlgf7gqvd7qqsrsdl2vyp091w";
+ };
+
+
+ # Script that creates the sqlite database from the allcurves textfile
+ spkg-install = fetchurl {
+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/${pname}/spkg-install.py?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+ sha256 = "116g684i6mvs11fvb6fzfsr4fn903axn31vigdyb8bgpf8l4hvc5";
+ };
+
+ installPhase = ''
+ # directory layout as spkg-install.py expects
+ dir="$PWD"
+ cd ..
+ ln -s "$dir" "src"
+
+ # environment spkg-install.py expects
+ mkdir -p "$out/share"
+ export SAGE_SHARE="$out/share"
+ export PYTHONPATH=$PWD
+
+ ${python.interpreter} ${spkg-install}
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Databases of elliptic curves";
+ longDescription = ''
+ Includes two databases:
+
+ * A small subset of the data in John Cremona's database of elliptic curves up
+ to conductor 10000. See http://www.warwick.ac.uk/~masgaj/ftp/data/ or
+ http://sage.math.washington.edu/cremona/INDEX.html
+ * William Stein's database of interesting curves
+ '';
+ license = licenses.gpl2;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ timokau ];
+ };
+}
diff --git a/pkgs/data/misc/graphs/default.nix b/pkgs/data/misc/graphs/default.nix
new file mode 100644
index 00000000000..aea5feef46c
--- /dev/null
+++ b/pkgs/data/misc/graphs/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+ pname = "graphs";
+ version = "20161026";
+ name = "${pname}-${version}";
+
+ src = fetchurl {
+ url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2";
+ sha256 = "0a2b5lly9nifphvknz88rrhfbbc8vqnlqcv19zdpfq8h8nnyjbb2";
+ };
+
+ installPhase = ''
+ mkdir -p "$out/share/graphs"
+ cp * "$out/share/graphs/"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A database of graphs";
+ license = licenses.gpl2;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ timokau ];
+ };
+}
diff --git a/pkgs/data/misc/pari-galdata/default.nix b/pkgs/data/misc/pari-galdata/default.nix
new file mode 100644
index 00000000000..222fd2f8870
--- /dev/null
+++ b/pkgs/data/misc/pari-galdata/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+ version = "20080411";
+ name = "pari-galdata-${version}";
+
+ src = fetchurl {
+ url = "http://pari.math.u-bordeaux.fr/pub/pari/packages/galdata.tgz";
+ sha256 = "1pch6bk76f1i6cwwgm7hhxi5h71m52lqayp4mnyj0jmjk406bhdp";
+ };
+
+ installPhase = ''
+ mkdir -p "$out/share/pari"
+ cp -R * "$out/share/pari/"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "PARI database needed to compute Galois group in degrees 8 through 11";
+ homepage = http://pari.math.u-bordeaux.fr/;
+ license = licenses.gpl2Plus;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ timokau ];
+ };
+}
diff --git a/pkgs/data/misc/pari-seadata-small/default.nix b/pkgs/data/misc/pari-seadata-small/default.nix
new file mode 100644
index 00000000000..967122c1bd4
--- /dev/null
+++ b/pkgs/data/misc/pari-seadata-small/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+ version = "20090618";
+ name = "pari-seadata-small-${version}";
+
+ src = fetchurl {
+ url = "http://pari.math.u-bordeaux.fr/pub/pari/packages/seadata-small.tgz";
+ sha256 = "13qafribxwkz8h3haa0cng7arz0kh7398br4y7vqs9ib8w9yjnxz";
+ };
+
+ installPhase = ''
+ mkdir -p "$out/share/pari"
+ cp -R * "$out/share/pari/"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "PARI database needed by ellap for large primes";
+ homepage = http://pari.math.u-bordeaux.fr/;
+ license = licenses.gpl2Plus;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ timokau ];
+ };
+}
diff --git a/pkgs/data/misc/polytopes_db/default.nix b/pkgs/data/misc/polytopes_db/default.nix
new file mode 100644
index 00000000000..85f2cff09db
--- /dev/null
+++ b/pkgs/data/misc/polytopes_db/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+ pname = "polytopes_db";
+ version = "20170220";
+ name = "${pname}-${version}";
+
+ src = fetchurl {
+ url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2";
+ sha256 = "1q0cd811ilhax4dsj9y5p7z8prlalqr7k9mzq178c03frbgqny6b";
+ };
+
+ installPhase = ''
+ mkdir -p "$out/share/reflexive_polytopes"
+ cp -R * "$out/share/reflexive_polytopes/"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Reflexive polytopes database";
+ license = licenses.gpl2;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ timokau ];
+ };
+}
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
index 44b0de37d69..dc55fa9a7b4 100644
--- a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
@@ -7,16 +7,13 @@
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "tracker-miners";
- version = "2.0.4";
+ version = "2.0.5";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
- sha256 = "0mp9m2waii583sjgr61m1ni6py6dry11r0rzidgvw1g4cxhn89j6";
+ sha256 = "00k8nb8dbkjnqjk12gcs5n2cm6yny553qildsm5b2c8nfs1w16b4";
};
- # https://github.com/NixOS/nixpkgs/issues/39547
- LIBRARY_PATH = stdenv.lib.makeLibraryPath [ giflib ];
-
nativeBuildInputs = [
intltool
itstool
@@ -71,31 +68,11 @@ stdenv.mkDerivation rec {
src = ./fix-paths.patch;
inherit (gnome3) tracker;
})
- # https://bugzilla.gnome.org/show_bug.cgi?id=795573
- (fetchurl {
- url = https://bugzilla.gnome.org/attachment.cgi?id=371422;
- sha256 = "1rzwzrc7q73k42s1j1iw52chy10w6y3xksfrzg2l42nn9wk7n281";
- })
- # https://bugzilla.gnome.org/show_bug.cgi?id=795574
- (fetchurl {
- url = https://bugzilla.gnome.org/attachment.cgi?id=371423;
- sha256 = "0b2ck8z4b2yrgwg4v9jsac5n8h3a91qkp90vv17wxcvr4v50fg48";
- })
- # https://bugzilla.gnome.org/show_bug.cgi?id=795575
- (fetchurl {
- url = https://bugzilla.gnome.org/attachment.cgi?id=371424;
- sha256 = "03i29fabxrpraydh7712vdrc571qmiq0l4axj24gbi6h77xn7mxc";
- })
# https://bugzilla.gnome.org/show_bug.cgi?id=795576
(fetchurl {
url = https://bugzilla.gnome.org/attachment.cgi?id=371427;
sha256 = "187flswvzymjfxwfrrhizb1cvs780zm39aa3i2vwa5fbllr7kcpf";
})
- # https://bugzilla.gnome.org/show_bug.cgi?id=795577
- (fetchurl {
- url = https://bugzilla.gnome.org/attachment.cgi?id=371425;
- sha256 = "05m629469jr2lm2cjs54n7xwyim2d5rwwvdjxzcwh5qpfjds5phm";
- })
];
passthru = {
@@ -114,7 +91,7 @@ stdenv.mkDerivation rec {
postInstall = ''
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
'';
-
+
# https://bugzilla.gnome.org/show_bug.cgi?id=796145
postFixup = ''
rm $out/share/tracker/miners/org.freedesktop.Tracker1.Miner.RSS.service
diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix
index cbf16c6807f..649960c0bf3 100644
--- a/pkgs/desktops/gnome-3/core/tracker/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker/default.nix
@@ -4,7 +4,7 @@
let
pname = "tracker";
- version = "2.0.3";
+ version = "2.0.4";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
- sha256 = "1005w90vhk1cl8g6kxpy2vdzbskw2jskfjcl42lngv18q5sb4bss";
+ sha256 = "1mfc5lv820kr7ssi7hldn25gmshh65k19kh478qjsnb64sshsbyf";
};
enableParallelBuilding = true;
diff --git a/pkgs/desktops/lxqt/optional/compton-conf/default.nix b/pkgs/desktops/lxqt/optional/compton-conf/default.nix
index 253f8112f5b..1c2ade5938e 100644
--- a/pkgs/desktops/lxqt/optional/compton-conf/default.nix
+++ b/pkgs/desktops/lxqt/optional/compton-conf/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "compton-conf";
- version = "0.3.0";
+ version = "0.4.0";
src = fetchFromGitHub {
owner = "lxde";
repo = pname;
rev = version;
- sha256 = "1p1y7g5psczx1dgh6gd1h5iga8rylvczkwlfirzrh0rfl45dajgb";
+ sha256 = "1r187fx1vivzq1gcwwawax36mnlmfig5j1ba4s4wfdi3q2wcq7mw";
};
nativeBuildInputs = [
diff --git a/pkgs/development/compilers/ecl/16.1.2.nix b/pkgs/development/compilers/ecl/16.1.2.nix
index 291b0ed013d..c27f2a22670 100644
--- a/pkgs/development/compilers/ecl/16.1.2.nix
+++ b/pkgs/development/compilers/ecl/16.1.2.nix
@@ -53,6 +53,14 @@ stdenv.mkDerivation {
url = "https://gitlab.com/embeddable-common-lisp/ecl/commit/caba1989f40ef917e7486f41b9cd5c7e3c5c2d79.patch";
sha256 = "07vw91psbc9gdn8grql46ra8lq3bgkzg5v480chnbryna4sv6lbb";
})
+ (fetchpatch {
+ # Fix getcwd with long pathnames
+ # Rebased version of
+ # https://gitlab.com/embeddable-common-lisp/ecl/commit/ac5f011f57a85a38627af154bc3ee7580e7fecd4.patch
+ name = "getcwd.patch";
+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/16.1.2-getcwd.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+ sha256 = "1fbi8gn7rv8nqff5mpaijsrch3k3z7qc5cn4h1vl8qrr8xwqlqhb";
+ })
];
hardeningDisable = [ "format" ];
diff --git a/pkgs/development/compilers/ghc/8.6.1.nix b/pkgs/development/compilers/ghc/8.6.1.nix
new file mode 100644
index 00000000000..51b79ed6bb1
--- /dev/null
+++ b/pkgs/development/compilers/ghc/8.6.1.nix
@@ -0,0 +1,210 @@
+{ stdenv, targetPackages
+, buildPlatform, hostPlatform, targetPlatform
+
+# build-tools
+, bootPkgs, alex, happy, hscolour
+, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4
+
+, libffi, libiconv ? null, ncurses
+
+, useLLVM ? !targetPlatform.isx86 || targetPlatform.isMusl
+, # LLVM is conceptually a run-time-only depedendency, but for
+ # non-x86, we need LLVM to bootstrap later stages, so it becomes a
+ # build-time dependency too.
+ buildLlvmPackages, llvmPackages
+
+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
+ # library instead of the faster but GPLed integer-gmp library.
+ enableIntegerSimple ? !(gmp.meta.available or false), gmp
+
+, # If enabled, use -fPIC when compiling static libs.
+ enableRelocatedStaticLibs ? targetPlatform != hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+ # platform). Static libs are always built.
+ enableShared ? !targetPlatform.isWindows && !targetPlatform.useiOSPrebuilt
+
+, # Whetherto build terminfo.
+ enableTerminfo ? !targetPlatform.isWindows
+
+, # What flavour to build. An empty string indicates no
+ # specific flavour and falls back to ghc default values.
+ ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
+}:
+
+let
+ inherit (bootPkgs) ghc;
+
+ # TODO(@Ericson2314) Make unconditional
+ targetPrefix = stdenv.lib.optionalString
+ (targetPlatform != hostPlatform)
+ "${targetPlatform.config}-";
+
+ buildMK = ''
+ BuildFlavour = ${ghcFlavour}
+ ifneq \"\$(BuildFlavour)\" \"\"
+ include mk/flavours/\$(BuildFlavour).mk
+ endif
+ DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+ '' + stdenv.lib.optionalString enableIntegerSimple ''
+ INTEGER_LIBRARY = integer-simple
+ '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+ Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
+ CrossCompilePrefix = ${targetPrefix}
+ HADDOCK_DOCS = NO
+ BUILD_SPHINX_HTML = NO
+ BUILD_SPHINX_PDF = NO
+ '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+ GhcLibHcOpts += -fPIC
+ GhcRtsHcOpts += -fPIC
+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+ EXTRA_CC_OPTS += -std=gnu99
+ '';
+
+ # Splicer will pull out correct variations
+ libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
+ ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+
+ toolsForTarget =
+ if hostPlatform == buildPlatform then
+ [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm
+ else assert targetPlatform == hostPlatform; # build != host == target
+ [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+ targetCC = builtins.head toolsForTarget;
+
+in
+stdenv.mkDerivation (rec {
+ version = "8.6.0.20180627";
+ name = "${targetPrefix}ghc-${version}";
+
+ src = fetchurl {
+ url = "https://downloads.haskell.org/~ghc/8.6.1-alpha1/ghc-${version}-src.tar.xz";
+ sha256 = "0vmki10ypdhca3nykxz3lgarr14mfanfkif43m1s2p1q0b1z576n";
+ };
+
+ enableParallelBuilding = true;
+
+ outputs = [ "out" "doc" ];
+
+ patches = stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch;
+
+ postPatch = "patchShebangs .";
+
+ # GHC is a bit confused on its cross terminology.
+ preConfigure = ''
+ for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+ export "''${env#TARGET_}=''${!env}"
+ done
+ # GHC is a bit confused on its cross terminology, as these would normally be
+ # the *host* tools.
+ export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+ # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+ export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}"
+ export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+ export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+ export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+ export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+ export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+ export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+ echo -n "${buildMK}" > mk/build.mk
+ sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+ '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+ export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
+ export NIX_LDFLAGS+=" -no_dtrace_dof"
+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+ sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
+ '';
+
+ # TODO(@Ericson2314): Always pass "--target" and always prefix.
+ configurePlatforms = [ "build" "host" ]
+ ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+ # `--with` flags for libraries needed for RTS linker
+ configureFlags = [
+ "--datadir=$doc/share/doc/ghc"
+ "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+ ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
+ "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
+ ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+ "--enable-bootstrap-with-devel-snapshot"
+ ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
+ "CFLAGS=-fuse-ld=gold"
+ "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+ "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+ ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [
+ # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+ "--disable-large-address-space"
+ ];
+
+ # Make sure we never relax`$PATH` and hooks support for compatability.
+ strictDeps = true;
+
+ nativeBuildInputs = [
+ perl autoconf automake m4 python3
+ ghc alex happy hscolour
+ ];
+
+ # For building runtime libs
+ depsBuildTarget = toolsForTarget;
+
+ buildInputs = libDeps hostPlatform;
+
+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+ ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+ depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+ depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
+ # required, because otherwise all symbols from HSffi.o are stripped, and
+ # that in turn causes GHCi to abort
+ stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
+
+ checkTarget = "test";
+
+ hardeningDisable = [ "format" ];
+
+ postInstall = ''
+ for bin in "$out"/lib/${name}/bin/*; do
+ isELF "$bin" || continue
+ paxmark m "$bin"
+ done
+
+ # Install the bash completion file.
+ install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
+
+ # Patch scripts to include "readelf" and "cat" in $PATH.
+ for i in "$out/bin/"*; do
+ test ! -h $i || continue
+ egrep --quiet '^#!' <(head -n 1 $i) || continue
+ sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
+ done
+ '';
+
+ passthru = {
+ inherit bootPkgs targetPrefix;
+
+ inherit llvmPackages;
+ inherit enableShared;
+
+ # Our Cabal compiler name
+ haskellCompilerName = "ghc-8.4.3";
+ };
+
+ meta = {
+ homepage = http://haskell.org/ghc;
+ description = "The Glasgow Haskell Compiler";
+ maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
+ inherit (ghc.meta) license platforms;
+ };
+
+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
+ dontStrip = true;
+ dontPatchELF = true;
+ noAuditTmpdir = true;
+})
diff --git a/pkgs/development/compilers/polyml/5.6.nix b/pkgs/development/compilers/polyml/5.6.nix
index 8b5d14e7f5f..7f22f4de624 100644
--- a/pkgs/development/compilers/polyml/5.6.nix
+++ b/pkgs/development/compilers/polyml/5.6.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
longDescription = ''
Poly/ML is a full implementation of Standard ML.
'';
- homepage = http://www.polyml.org/;
+ homepage = https://www.polyml.org/;
license = stdenv.lib.licenses.lgpl21;
platforms = with stdenv.lib.platforms; linux;
maintainers = [ #Add your name here!
diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix
index de5b8505527..b7feed84c37 100644
--- a/pkgs/development/compilers/polyml/default.nix
+++ b/pkgs/development/compilers/polyml/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
longDescription = ''
Poly/ML is a full implementation of Standard ML.
'';
- homepage = http://www.polyml.org/;
+ homepage = https://www.polyml.org/;
license = licenses.lgpl21;
platforms = with platforms; (linux ++ darwin);
maintainers = with maintainers; [ z77z yurrriq ];
diff --git a/pkgs/development/compilers/scala/2.11.nix b/pkgs/development/compilers/scala/2.11.nix
index b1100eb8aa9..a1f803b6719 100644
--- a/pkgs/development/compilers/scala/2.11.nix
+++ b/pkgs/development/compilers/scala/2.11.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
Code sizes are typically reduced by a factor of two to three when
compared to an equivalent Java application.
'';
- homepage = http://www.scala-lang.org/;
+ homepage = https://www.scala-lang.org/;
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.all;
branch = "2.11";
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 6cc6945bae4..966334f1e45 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1063,11 +1063,16 @@ self: super: {
});
# dhall-json requires a very particular dhall version
- dhall-json_1_2_0 = super.dhall-json_1_2_0.override { dhall = self.dhall_1_14_0; };
+ dhall-json_1_2_1 = super.dhall-json_1_2_1.override { dhall = self.dhall_1_14_0; };
# https://github.com/fpco/streaming-commons/issues/49
streaming-commons = dontCheck super.streaming-commons;
+ # cabal2nix generates a dependency on base-compat, which is the wrong version
+ base-compat-batteries = super.base-compat-batteries.override {
+ base-compat = super.base-compat_0_10_1;
+ };
+
}
//
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
index 1e48971b6fb..736be056e0e 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -23,6 +23,7 @@ self: super: {
ghc-prim = null;
ghci = null;
haskeline = null;
+ hoopl = self.hoopl_3_10_2_2; # no longer a core library in GHC 8.4.x
hpc = null;
integer-gmp = null;
mtl = null;
@@ -396,9 +397,9 @@ self: super: {
dhall_1_13_0 = doJailbreak super.dhall_1_14_0; # support ansi-terminal 0.8.x
HaTeX = self.HaTeX_3_19_0_0;
hpack = self.hpack_0_28_2;
- hspec = dontCheck super.hspec_2_5_1;
- hspec-core = dontCheck super.hspec-core_2_5_1;
- hspec-discover = self.hspec-discover_2_5_1;
+ hspec = dontCheck super.hspec_2_5_3;
+ hspec-core = dontCheck super.hspec-core_2_5_3;
+ hspec-discover = self.hspec-discover_2_5_3;
hspec-smallcheck = self.hspec-smallcheck_0_5_2;
matrix = self.matrix_0_3_6_1;
pandoc = self.pandoc_2_2_1;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index d87a84c3c77..bc2412aca11 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -38,7 +38,7 @@ core-packages:
- ghcjs-base-0
default-package-overrides:
- # LTS Haskell 11.14
+ # LTS Haskell 11.15
- abstract-deque ==0.3
- abstract-deque-tests ==0.3
- abstract-par ==0.3.3
@@ -445,7 +445,7 @@ default-package-overrides:
- concurrent-split ==0.0.1
- concurrent-supply ==0.1.8
- cond ==0.4.1.1
- - conduit ==1.3.0.2
+ - conduit ==1.3.0.3
- conduit-algorithms ==0.0.8.1
- conduit-combinators ==1.3.0
- conduit-connection ==0.1.0.4
@@ -843,7 +843,7 @@ default-package-overrides:
- github-webhooks ==0.9.1
- gitrev ==1.3.1
- gl ==0.8.0
- - glabrous ==0.3.5
+ - glabrous ==0.3.6
- glaze ==0.3.0.1
- glazier ==0.11.0.1
- glazier-pipes ==0.1.5.1
@@ -921,7 +921,7 @@ default-package-overrides:
- haskell-src ==1.0.3.0
- haskell-src-exts ==1.20.2
- haskell-src-exts-util ==0.2.3
- - haskell-src-meta ==0.8.0.2
+ - haskell-src-meta ==0.8.0.3
- haskell-tools-ast ==1.0.1.1
- haskell-tools-backend-ghc ==1.0.1.1
- haskell-tools-prettyprint ==1.0.1.1
@@ -1173,7 +1173,7 @@ default-package-overrides:
- ip ==1.2.1
- ip6addr ==0.5.3
- iproute ==1.7.5
- - IPv6Addr ==1.0.3
+ - IPv6Addr ==1.0.4
- IPv6DB ==0.2.6
- ipython-kernel ==0.9.0.2
- irc ==0.6.1.0
@@ -1284,7 +1284,7 @@ default-package-overrides:
- linear-accelerate ==0.5.0.1
- linked-list-with-iterator ==0.1.1.0
- linux-file-extents ==0.2.0.0
- - linux-namespaces ==0.1.2.0
+ - linux-namespaces ==0.1.3.0
- List ==0.6.2
- ListLike ==4.6
- listsafe ==0.1.0.1
@@ -1456,7 +1456,7 @@ default-package-overrides:
- mysql-haskell-openssl ==0.8.3.0
- mysql-simple ==0.4.5
- nagios-check ==0.3.2
- - names-th ==0.2.0.4
+ - names-th ==0.2.0.5
- nano-erl ==0.1.0.1
- nanospec ==0.2.2
- naqsha ==0.2.0.1
@@ -1596,8 +1596,8 @@ default-package-overrides:
- pem ==0.2.4
- perf ==0.3.1.1
- perfect-hash-generator ==0.2.0.6
- - persistable-record ==0.6.0.3
- - persistable-types-HDBC-pg ==0.0.3.2
+ - persistable-record ==0.6.0.4
+ - persistable-types-HDBC-pg ==0.0.3.3
- persistent ==2.8.2
- persistent-mongoDB ==2.8.0
- persistent-mysql ==2.8.1
@@ -1718,7 +1718,7 @@ default-package-overrides:
- pureMD5 ==2.1.3
- purescript-bridge ==0.11.1.2
- pushbullet-types ==0.4.1.0
- - pusher-http-haskell ==1.5.1.4
+ - pusher-http-haskell ==1.5.1.5
- pwstore-fast ==2.4.4
- qchas ==1.1.0.0
- qm-interpolated-string ==0.3.0.0
@@ -1790,13 +1790,13 @@ default-package-overrides:
- regex-pcre-builtin ==0.94.4.8.8.35
- regex-pcre-text ==0.94.0.1
- regex-posix ==0.95.2
- - regex-tdfa ==1.2.3
+ - regex-tdfa ==1.2.3.1
- regex-tdfa-text ==1.0.0.3
- reinterpret-cast ==0.1.0
- - relational-query ==0.11.1.0
- - relational-query-HDBC ==0.6.7.1
- - relational-record ==0.2.1.2
- - relational-schemas ==0.1.6.1
+ - relational-query ==0.11.4.0
+ - relational-query-HDBC ==0.6.8.0
+ - relational-record ==0.2.2.0
+ - relational-schemas ==0.1.6.2
- rematch ==0.2.0.0
- renderable ==0.2.0.1
- repa ==3.4.1.3
@@ -1817,9 +1817,9 @@ default-package-overrides:
- retry ==0.7.6.2
- rev-state ==0.1.2
- rfc5051 ==0.1.0.3
- - riak ==1.1.2.4
+ - riak ==1.1.2.5
- riak-protobuf ==0.23.0.0
- - rio ==0.1.2.0
+ - rio ==0.1.3.0
- rng-utils ==0.3.0
- roles ==0.2.0.0
- rollbar-hs ==0.2.0.0
@@ -1843,8 +1843,8 @@ default-package-overrides:
- say ==0.1.0.0
- sbp ==2.3.16
- sbv ==7.5
- - scalendar ==1.2.0
- SCalendar ==1.1.0
+ - scalendar ==1.2.0
- scalpel ==0.5.1
- scalpel-core ==0.5.1
- scanner ==0.2
@@ -1884,7 +1884,7 @@ default-package-overrides:
- servant-elm ==0.4.0.1
- servant-exceptions ==0.1.1
- servant-foreign ==0.11.1
- - servant-generic ==0.1.0.1
+ - servant-generic ==0.1.0.2
- servant-github-webhook ==0.4.1.0
- servant-js ==0.9.3.2
- servant-JuicyPixels ==0.3.0.3
@@ -1981,7 +1981,7 @@ default-package-overrides:
- spoon ==0.3.1
- spreadsheet ==0.1.3.7
- sqlite-simple ==0.4.16.0
- - sql-words ==0.1.6.1
+ - sql-words ==0.1.6.2
- squeal-postgresql ==0.1.1.4
- srcloc ==0.5.1.2
- stache ==1.2.1
@@ -2063,7 +2063,7 @@ default-package-overrides:
- tagsoup ==0.14.6
- tagstream-conduit ==0.5.5.3
- tar ==0.5.1.0
- - tar-conduit ==0.2.3
+ - tar-conduit ==0.2.3.1
- tardis ==0.4.1.0
- tasty ==1.0.1.1
- tasty-ant-xml ==1.1.4
@@ -2071,7 +2071,7 @@ default-package-overrides:
- tasty-dejafu ==1.1.0.2
- tasty-discover ==4.2.1
- tasty-expected-failure ==0.11.1.1
- - tasty-golden ==2.3.1.3
+ - tasty-golden ==2.3.2
- tasty-hedgehog ==0.1.0.2
- tasty-hspec ==1.1.4
- tasty-html ==0.4.1.1
@@ -2116,7 +2116,7 @@ default-package-overrides:
- textlocal ==0.1.0.5
- text-manipulate ==0.2.0.1
- text-metrics ==0.3.0
- - text-postgresql ==0.0.3.0
+ - text-postgresql ==0.0.3.1
- text-printer ==0.5
- text-region ==0.3.1.0
- text-short ==0.1.2
@@ -2125,7 +2125,7 @@ default-package-overrides:
- text-zipper ==0.10.1
- tfp ==1.0.0.2
- tf-random ==0.5
- - th-abstraction ==0.2.6.0
+ - th-abstraction ==0.2.7.0
- th-data-compat ==0.0.2.6
- th-desugar ==1.7
- these ==0.7.4
@@ -2196,7 +2196,7 @@ default-package-overrides:
- tuple ==0.3.0.2
- tuples-homogenous-h98 ==0.1.1.0
- tuple-th ==0.2.5
- - turtle ==1.5.8
+ - turtle ==1.5.9
- turtle-options ==0.1.0.4
- type-assertions ==0.1.0.0
- type-combinators ==0.2.4.3
@@ -2215,7 +2215,7 @@ default-package-overrides:
- typography-geometry ==1.0.0.1
- tz ==0.1.3.1
- tzdata ==0.1.20180122.0
- - ua-parser ==0.7.4.1
+ - ua-parser ==0.7.5.0
- uglymemo ==0.1.0.1
- unbounded-delays ==0.1.1.0
- unbound-generics ==0.3.3
@@ -2232,8 +2232,8 @@ default-package-overrides:
- union-find ==0.2
- uniplate ==1.6.12
- uniq-deep ==1.1.0.0
- - Unique ==0.4.7.2
- unique ==0
+ - Unique ==0.4.7.2
- unit-constraint ==0.0.0
- units-parser ==0.1.1.2
- universe ==1.0
@@ -2251,6 +2251,7 @@ default-package-overrides:
- unlit ==0.4.0.0
- unordered-containers ==0.2.9.0
- unsafe ==0.0
+ - uom-plugin ==0.3.0.0
- uri-bytestring ==0.3.2.0
- uri-bytestring-aeson ==0.1.0.6
- uri-encode ==1.5.0.5
@@ -2355,8 +2356,8 @@ default-package-overrides:
- weigh ==0.0.12
- wide-word ==0.1.0.6
- wikicfp-scraper ==0.1.0.9
- - wild-bind ==0.1.2.0
- - wild-bind-x11 ==0.2.0.3
+ - wild-bind ==0.1.2.1
+ - wild-bind-x11 ==0.2.0.4
- Win32-notify ==0.3.0.3
- wire-streams ==0.1.1.0
- withdependencies ==0.2.4.2
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index a9f21040ac0..54366046222 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -516,9 +516,4 @@ self: super: builtins.intersectAttrs super {
# Tests require a browser: https://github.com/ku-fpg/blank-canvas/issues/73
blank-canvas = dontCheck super.blank-canvas;
blank-canvas_0_6_2 = dontCheck super.blank-canvas_0_6_2;
-
- # cabal2nix generates a dependency on base-compat, which is the wrong version
- base-compat-batteries = super.base-compat-batteries.override {
- base-compat = super.base-compat_0_10_1;
- };
}
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index e5d713ac4c3..2a60e3b71e0 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -10205,24 +10205,6 @@ self: {
}) {};
"IPv6Addr" = callPackage
- ({ mkDerivation, aeson, attoparsec, base, HUnit, iproute, network
- , network-info, random, test-framework, test-framework-hunit, text
- }:
- mkDerivation {
- pname = "IPv6Addr";
- version = "1.0.3";
- sha256 = "17bk63qi9krfghplrmck4v1hv54kwdppl50hfm7349dqfhdbf129";
- libraryHaskellDepends = [
- aeson attoparsec base iproute network network-info random text
- ];
- testHaskellDepends = [
- base HUnit test-framework test-framework-hunit text
- ];
- description = "Library to deal with IPv6 address text representations";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "IPv6Addr_1_0_4" = callPackage
({ mkDerivation, aeson, attoparsec, base, HUnit, iproute, network
, network-info, random, test-framework, test-framework-hunit, text
}:
@@ -10238,7 +10220,6 @@ self: {
];
description = "Library to deal with IPv6 address text representations";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"IPv6DB" = callPackage
@@ -10351,6 +10332,18 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
+ "IntGraph" = callPackage
+ ({ mkDerivation, base, containers }:
+ mkDerivation {
+ pname = "IntGraph";
+ version = "0.1.0.0";
+ sha256 = "0b7hycjl4mrs47377h4yisy1kcypz7im9x0rs6w0jblczf7gmk46";
+ libraryHaskellDepends = [ base containers ];
+ testHaskellDepends = [ base containers ];
+ description = "Dynamically sized graph library";
+ license = stdenv.lib.licenses.bsd3;
+ }) {};
+
"Interpolation" = callPackage
({ mkDerivation, base, haskell-src-meta, syb, template-haskell }:
mkDerivation {
@@ -11166,8 +11159,8 @@ self: {
}:
mkDerivation {
pname = "LambdaHack";
- version = "0.8.1.2";
- sha256 = "0bad3l413rab2r17j7hqzfypnyf2gmmffzfy1bvpdh3r8xrc5z1d";
+ version = "0.8.3.0";
+ sha256 = "0v07c8v7l8yg111fysl735scsbsl9l6q3vzigy7rv05sjfl276ss";
isLibrary = true;
isExecutable = true;
enableSeparateDataOutput = true;
@@ -14474,8 +14467,8 @@ self: {
}:
mkDerivation {
pname = "Plot-ho-matic";
- version = "0.12.2.1";
- sha256 = "0wxz9skscs72bxb2fac82pyn1wkcxc666l40s42q32rbq17d9x44";
+ version = "0.12.2.2";
+ sha256 = "07zxn4gqkmprrpfyd8vvsf4c2350965k029nzvs0zvrwfbkxin4m";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
@@ -14994,8 +14987,8 @@ self: {
({ mkDerivation, base, hspec, QuickCheck }:
mkDerivation {
pname = "QuickCheckVariant";
- version = "1.0.0.0";
- sha256 = "0gxq90fh1bgy2vcpyzbdgnly7q88bbqx06dq44rmv3fwjs61rc82";
+ version = "1.0.0.1";
+ sha256 = "12yxavf2bcd6cpf09j4d97myks4v34jki5hqjl9kcwar8k8j8gls";
libraryHaskellDepends = [ base QuickCheck ];
testHaskellDepends = [ base hspec QuickCheck ];
description = "Generator of \"valid\" and \"invalid\" data in a type class";
@@ -27431,14 +27424,14 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
- "apecs_0_4_0_0" = callPackage
+ "apecs_0_4_0_1" = callPackage
({ mkDerivation, async, base, containers, criterion, linear, mtl
, QuickCheck, template-haskell, vector
}:
mkDerivation {
pname = "apecs";
- version = "0.4.0.0";
- sha256 = "0wpjs90q9nwknbn6shk7bazc0kdhllhvg13432h2hckqbmrfp836";
+ version = "0.4.0.1";
+ sha256 = "03dbjvsnfh6zlms4v6djq7y8bxfwk80nnprrrmrj5crxr5mll4xg";
libraryHaskellDepends = [
async base containers mtl template-haskell vector
];
@@ -30278,8 +30271,8 @@ self: {
}:
mkDerivation {
pname = "ats-pkg";
- version = "2.11.0.7";
- sha256 = "1jslvfsp1mraills55z1kxnf3x2csx9qn9r7ccsyyl2bimzj9yq6";
+ version = "2.11.0.8";
+ sha256 = "1nk802nm3s5dygk1ldhn4djxwz9priqsm3hpd9wkb6pd80w945m5";
isLibrary = true;
isExecutable = true;
setupHaskellDepends = [ base Cabal cli-setup ];
@@ -33924,6 +33917,24 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
+ "bench_1_0_10" = callPackage
+ ({ mkDerivation, base, criterion, optparse-applicative, process
+ , silently, text, turtle
+ }:
+ mkDerivation {
+ pname = "bench";
+ version = "1.0.10";
+ sha256 = "0h5lqxzx170a742rjqlngikar58krzyr772hd8f92zg85p1qgqzx";
+ isLibrary = false;
+ isExecutable = true;
+ executableHaskellDepends = [
+ base criterion optparse-applicative process silently text turtle
+ ];
+ description = "Command-line benchmark tool";
+ license = stdenv.lib.licenses.bsd3;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {};
+
"bench-graph" = callPackage
({ mkDerivation, base, bytestring, Chart, Chart-diagrams, csv
, directory, filepath, split, text, transformers, Unique
@@ -39593,8 +39604,8 @@ self: {
}:
mkDerivation {
pname = "bugsnag-haskell";
- version = "0.0.1.1";
- sha256 = "09jv8qr795ag12xf035ywpvnd61q7cgsqcx1irvyh9zlmiixb975";
+ version = "0.0.1.2";
+ sha256 = "0xd0vxvvbp2fzy4z9yfrc6j5km1612ivnhrx71zzv17m5r2z50sv";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
@@ -48137,6 +48148,19 @@ self: {
license = stdenv.lib.licenses.mit;
}) {};
+ "coercible-utils" = callPackage
+ ({ mkDerivation, base, gauge }:
+ mkDerivation {
+ pname = "coercible-utils";
+ version = "0.0.0";
+ sha256 = "164cn0cs7fjfm599v2z8wsgsz599f97wky4h7vycf460rn34jqia";
+ libraryHaskellDepends = [ base ];
+ testHaskellDepends = [ base ];
+ benchmarkHaskellDepends = [ base gauge ];
+ description = "Utility functions for Coercible types";
+ license = stdenv.lib.licenses.bsd3;
+ }) {};
+
"cofunctor" = callPackage
({ mkDerivation, base }:
mkDerivation {
@@ -49253,8 +49277,8 @@ self: {
}:
mkDerivation {
pname = "compactable";
- version = "0.1.2.1";
- sha256 = "00fxrwyn1znyhfpql2ygh308b7nl6a3lgxvl39q3qm89wzh2gisc";
+ version = "0.1.2.2";
+ sha256 = "0jmc2b7mvqjwv54k7xnqydqf2qa7drr0l0f2vzd1a9pasbw5kx8x";
libraryHaskellDepends = [
base bifunctors containers transformers vector
];
@@ -50482,34 +50506,6 @@ self: {
}) {};
"conduit" = callPackage
- ({ mkDerivation, base, bytestring, containers, deepseq, directory
- , exceptions, filepath, gauge, hspec, kan-extensions
- , mono-traversable, mtl, mwc-random, primitive, QuickCheck
- , resourcet, safe, silently, split, text, transformers, unix
- , unliftio, unliftio-core, vector
- }:
- mkDerivation {
- pname = "conduit";
- version = "1.3.0.2";
- sha256 = "0nqy9bffg2p2ij8isz99r7i5zm7sib0m9fqwisknakjh8b99kw60";
- libraryHaskellDepends = [
- base bytestring directory exceptions filepath mono-traversable mtl
- primitive resourcet text transformers unix unliftio-core vector
- ];
- testHaskellDepends = [
- base bytestring containers directory exceptions filepath hspec
- mono-traversable mtl QuickCheck resourcet safe silently split text
- transformers unliftio vector
- ];
- benchmarkHaskellDepends = [
- base containers deepseq gauge hspec kan-extensions mwc-random
- transformers vector
- ];
- description = "Streaming data processing library";
- license = stdenv.lib.licenses.mit;
- }) {};
-
- "conduit_1_3_0_3" = callPackage
({ mkDerivation, base, bytestring, containers, deepseq, directory
, exceptions, filepath, gauge, hspec, kan-extensions
, mono-traversable, mtl, mwc-random, primitive, QuickCheck
@@ -50535,7 +50531,6 @@ self: {
];
description = "Streaming data processing library";
license = stdenv.lib.licenses.mit;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"conduit-algorithms" = callPackage
@@ -51884,6 +51879,16 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
+ "contiguous-checked" = callPackage
+ ({ mkDerivation, base, contiguous, primitive }:
+ mkDerivation {
+ pname = "contiguous-checked";
+ version = "0.2.0.0";
+ sha256 = "0cb7cankkmn8nb7v6fy4ykcglfd4sd5nc916lg1nyj7fjr5v7y4l";
+ libraryHaskellDepends = [ base contiguous primitive ];
+ license = stdenv.lib.licenses.bsd3;
+ }) {};
+
"continue" = callPackage
({ mkDerivation, base, bifunctors, monad-control, mtl
, semigroupoids, transformers, transformers-base
@@ -60740,6 +60745,8 @@ self: {
pname = "detour-via-sci";
version = "1.0.0";
sha256 = "1r417lp98k0nizlxh7r74c2c4g1ij33pk5ip0bm7ssmzyya127j5";
+ revision = "1";
+ editedCabalFile = "00dj8vf9gg9ww37sir6mblf3xhcpam8qgfz5bfana23arhf2cixj";
libraryHaskellDepends = [
aeson base cassava newtype scientific siggy-chardust
template-haskell
@@ -60760,6 +60767,8 @@ self: {
pname = "detour-via-uom";
version = "1.0.0";
sha256 = "07jhj5mrfkfi2l05fyax6aylq4rp0nixvpsymv2xjzvbv2pfmdq7";
+ revision = "1";
+ editedCabalFile = "1l8az0mqcms0w59dr1bvklplmdqzr8yliwq522smcrn4krj3rl10";
libraryHaskellDepends = [
aeson base cassava detour-via-sci newtype scientific uom-plugin
];
@@ -60974,37 +60983,39 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
- "dhall_1_14_0" = callPackage
+ "dhall_1_15_0" = callPackage
({ mkDerivation, ansi-terminal, base, bytestring, case-insensitive
- , containers, contravariant, cryptonite, deepseq, directory
- , doctest, exceptions, filepath, formatting, haskeline, http-client
+ , containers, contravariant, criterion, cryptonite, deepseq, Diff
+ , directory, doctest, exceptions, filepath, haskeline, http-client
, http-client-tls, insert-ordered-containers, lens-family-core
, megaparsec, memory, mtl, optparse-applicative, parsers
, prettyprinter, prettyprinter-ansi-terminal, repline, scientific
- , tasty, tasty-hunit, text, transformers, unordered-containers
- , vector
+ , tasty, tasty-hunit, template-haskell, text, transformers
+ , unordered-containers, vector
}:
mkDerivation {
pname = "dhall";
- version = "1.14.0";
- sha256 = "0dm823rr4gkx1m7f0v9wvqlkhn1mmmml854p4zsi2j6ai4l885gl";
+ version = "1.15.0";
+ sha256 = "1p74jrrl5g5rfjp5kc2k3r1rq2cc80k166pg4ii1ams6j8ik1fys";
+ revision = "1";
+ editedCabalFile = "15z19v1g7wlgr99pb3sh7543v6bi4xb2v1nb1r8dm71ah63dki5r";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
ansi-terminal base bytestring case-insensitive containers
- contravariant cryptonite directory exceptions filepath formatting
- http-client http-client-tls insert-ordered-containers
- lens-family-core megaparsec memory parsers prettyprinter
- prettyprinter-ansi-terminal scientific text transformers
- unordered-containers vector
- ];
- executableHaskellDepends = [
- ansi-terminal base haskeline megaparsec mtl optparse-applicative
- prettyprinter prettyprinter-ansi-terminal repline text
+ contravariant cryptonite Diff directory exceptions filepath
+ haskeline http-client http-client-tls insert-ordered-containers
+ lens-family-core megaparsec memory mtl optparse-applicative parsers
+ prettyprinter prettyprinter-ansi-terminal repline scientific
+ template-haskell text transformers unordered-containers vector
];
+ executableHaskellDepends = [ base ];
testHaskellDepends = [
- base deepseq doctest insert-ordered-containers prettyprinter tasty
- tasty-hunit text vector
+ base deepseq Diff doctest insert-ordered-containers prettyprinter
+ tasty tasty-hunit text vector
+ ];
+ benchmarkHaskellDepends = [
+ base containers criterion directory text
];
description = "A configuration language guaranteed to terminate";
license = stdenv.lib.licenses.bsd3;
@@ -61012,19 +61023,19 @@ self: {
}) {};
"dhall-bash" = callPackage
- ({ mkDerivation, base, bytestring, containers, dhall, formatting
+ ({ mkDerivation, base, bytestring, containers, dhall
, insert-ordered-containers, neat-interpolation, optparse-generic
, shell-escape, text
}:
mkDerivation {
pname = "dhall-bash";
- version = "1.0.13";
- sha256 = "04f9ksw36kqb1g41211hcfcgg21pxkdszsznpa1vh09dcmlv6i7i";
+ version = "1.0.14";
+ sha256 = "1zxqlmnhq8lrwxiqz7hlqln7wf14mlz78s018yqy3hpzmy3aa84d";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
- base bytestring containers dhall formatting
- insert-ordered-containers neat-interpolation shell-escape text
+ base bytestring containers dhall insert-ordered-containers
+ neat-interpolation shell-escape text
];
executableHaskellDepends = [
base bytestring dhall optparse-generic text
@@ -61072,15 +61083,15 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
- "dhall-json_1_2_0" = callPackage
+ "dhall-json_1_2_1" = callPackage
({ mkDerivation, aeson, aeson-pretty, base, bytestring, dhall
, insert-ordered-containers, optparse-applicative, text
, unordered-containers, yaml
}:
mkDerivation {
pname = "dhall-json";
- version = "1.2.0";
- sha256 = "0ks8ycgysimj1jqabzdrrsdcqkp3bi5f0zhwgmilsprx88dxrddz";
+ version = "1.2.1";
+ sha256 = "0zf88py0hfrzsa3jq5i8nz0wv8m1b753bdakvykmkj6r0dgd574r";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
@@ -61116,19 +61127,19 @@ self: {
}) {};
"dhall-nix" = callPackage
- ({ mkDerivation, base, containers, data-fix, dhall, formatting
- , hnix, insert-ordered-containers, neat-interpolation
- , optparse-generic, scientific, text
+ ({ mkDerivation, base, containers, data-fix, dhall, hnix
+ , insert-ordered-containers, neat-interpolation, optparse-generic
+ , text
}:
mkDerivation {
pname = "dhall-nix";
- version = "1.1.4";
- sha256 = "1yhnpmvisizl5vm37sns8sn0ff496aqr2i76v3c2034cjd9v0mdb";
+ version = "1.1.5";
+ sha256 = "1j0b7w8ydhz5fq7jmajz35j8bw2xmr1v0pbl4yfkc2gv8djmiw6y";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
- base containers data-fix dhall formatting hnix
- insert-ordered-containers neat-interpolation scientific text
+ base containers data-fix dhall hnix insert-ordered-containers
+ neat-interpolation text
];
executableHaskellDepends = [
base dhall hnix optparse-generic text
@@ -61139,14 +61150,16 @@ self: {
}) {};
"dhall-text" = callPackage
- ({ mkDerivation, base, dhall, optparse-generic, text }:
+ ({ mkDerivation, base, dhall, optparse-applicative, text }:
mkDerivation {
pname = "dhall-text";
- version = "1.0.10";
- sha256 = "07cxc3m2pqg5lk0d03i20ch6bsq779sg3ci4yy1fkai8vs513yjq";
+ version = "1.0.11";
+ sha256 = "0zbsr5mchcm3713y6dbdj1vlak5rb6f13p6a8ah7f3kcihdpx0b1";
isLibrary = false;
isExecutable = true;
- executableHaskellDepends = [ base dhall optparse-generic text ];
+ executableHaskellDepends = [
+ base dhall optparse-applicative text
+ ];
description = "Template text using Dhall";
license = stdenv.lib.licenses.bsd3;
hydraPlatforms = stdenv.lib.platforms.none;
@@ -64317,6 +64330,40 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
+ "docker_0_6_0_0" = callPackage
+ ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
+ , conduit-combinators, conduit-extra, connection, containers
+ , data-default-class, directory, exceptions, filemanip, filepath
+ , http-client, http-client-tls, http-conduit, http-types, lens
+ , lens-aeson, monad-control, mtl, network, process, QuickCheck
+ , resourcet, scientific, tar, tasty, tasty-hunit, tasty-quickcheck
+ , temporary, text, time, tls, transformers, transformers-base
+ , unliftio-core, unordered-containers, uuid, vector, x509
+ , x509-store, x509-system, zlib
+ }:
+ mkDerivation {
+ pname = "docker";
+ version = "0.6.0.0";
+ sha256 = "0i90nkj1fc4swr6nral2y6raa6mmdz8x40sg47ww42dw18q00fjd";
+ libraryHaskellDepends = [
+ aeson base blaze-builder bytestring conduit conduit-combinators
+ conduit-extra containers data-default-class directory exceptions
+ filemanip filepath http-client http-conduit http-types
+ monad-control mtl network resourcet scientific tar temporary text
+ time tls transformers transformers-base unliftio-core
+ unordered-containers uuid vector x509 x509-store x509-system zlib
+ ];
+ testHaskellDepends = [
+ aeson base bytestring connection containers directory http-client
+ http-client-tls http-types lens lens-aeson process QuickCheck tasty
+ tasty-hunit tasty-quickcheck text transformers unordered-containers
+ vector
+ ];
+ description = "An API client for docker written in Haskell";
+ license = stdenv.lib.licenses.bsd3;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {};
+
"docker-build-cacher" = callPackage
({ mkDerivation, base, containers, foldl, language-docker
, system-filepath, text, turtle
@@ -64593,6 +64640,22 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
+ "doctest-driver-gen_0_2_0_3" = callPackage
+ ({ mkDerivation, base, doctest }:
+ mkDerivation {
+ pname = "doctest-driver-gen";
+ version = "0.2.0.3";
+ sha256 = "1vm9rwym2fdl76kwgkh21z2ixfcvza1df4gba2hm7hkk0n4ndcq6";
+ isLibrary = true;
+ isExecutable = true;
+ libraryHaskellDepends = [ base doctest ];
+ executableHaskellDepends = [ base ];
+ testHaskellDepends = [ base doctest ];
+ description = "Generate driver file for doctest's cabal integration";
+ license = stdenv.lib.licenses.bsd3;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {};
+
"doctest-prop" = callPackage
({ mkDerivation, base, doctest, HUnit, QuickCheck }:
mkDerivation {
@@ -71665,15 +71728,15 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
- "extensible-effects_2_6_3_0" = callPackage
+ "extensible-effects_3_0_0_0" = callPackage
({ mkDerivation, base, criterion, doctest, HUnit, monad-control
, mtl, QuickCheck, silently, test-framework, test-framework-hunit
, test-framework-quickcheck2, test-framework-th, transformers-base
}:
mkDerivation {
pname = "extensible-effects";
- version = "2.6.3.0";
- sha256 = "07syxmhyqhcbsbwwc701k5rya89pkhcjly9nrdw7mspxailbggzs";
+ version = "3.0.0.0";
+ sha256 = "1sqvdwqi3aqqhsjny7h1i7gany4b79nqc539b5arwksjvsgmv2yb";
libraryHaskellDepends = [ base monad-control transformers-base ];
testHaskellDepends = [
base doctest HUnit monad-control QuickCheck silently test-framework
@@ -71696,15 +71759,16 @@ self: {
}:
mkDerivation {
pname = "extensible-effects-concurrent";
- version = "0.2.0.3";
- sha256 = "024wn3i2nxi9j4gskhjnrkqifwszfpfnn812p34krvf763vfqcn1";
+ version = "0.3.0.2";
+ sha256 = "1w44dyyi3qgqsmbvnid67cn8mqy85si75wpryhl76b456pgp0ynl";
libraryHaskellDepends = [
base containers directory extensible-effects filepath lens
logging-effect monad-control mtl parallel process QuickCheck random
stm tagged time transformers
];
testHaskellDepends = [
- base extensible-effects HUnit stm tasty tasty-discover tasty-hunit
+ base containers extensible-effects HUnit lens QuickCheck stm tasty
+ tasty-discover tasty-hunit
];
description = "Message passing concurrency as extensible-effect";
license = stdenv.lib.licenses.bsd3;
@@ -73410,6 +73474,36 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
+ "festung" = callPackage
+ ({ mkDerivation, aeson, argparser, async, base, base64-bytestring
+ , bytestring, case-insensitive, containers, directory, either
+ , exceptions, filepath, hspec, http-types, HUnit, mtl, scientific
+ , sqlcipher, temporary, text, transformers, unordered-containers
+ , utf8-string, vector, wai, wai-extra, yesod, yesod-core
+ , yesod-test
+ }:
+ mkDerivation {
+ pname = "festung";
+ version = "0.9.1.2";
+ sha256 = "09vcwds5vvk7a899nb4xvpfwkdgmm21w1lv4lacsdl7rvrw84f4l";
+ isLibrary = true;
+ isExecutable = true;
+ libraryHaskellDepends = [
+ aeson argparser async base base64-bytestring bytestring
+ case-insensitive containers directory either exceptions filepath
+ http-types mtl scientific sqlcipher text transformers
+ unordered-containers utf8-string vector wai yesod yesod-core
+ ];
+ executableHaskellDepends = [ argparser base yesod ];
+ testHaskellDepends = [
+ aeson base base64-bytestring bytestring containers directory
+ exceptions filepath hspec HUnit scientific temporary text wai-extra
+ yesod yesod-test
+ ];
+ description = "Remote multi-db SQLCipher server";
+ license = stdenv.lib.licenses.mit;
+ }) {};
+
"fez-conf" = callPackage
({ mkDerivation, base, containers, regex-compat }:
mkDerivation {
@@ -75230,6 +75324,8 @@ self: {
pname = "flight-igc";
version = "0.1.0";
sha256 = "1cr25xhwmpzi0rg8znj1q7siy5skjm8q08ncgwvmd4h3mmdbb7xl";
+ revision = "1";
+ editedCabalFile = "0yaqp249gjqgch7w9d8y963afvjl43mhaywgni3x8ld14h55m7ia";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [ base parsec ];
@@ -75243,6 +75339,29 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
+ "flight-kml" = callPackage
+ ({ mkDerivation, aeson, base, detour-via-sci, doctest, hlint, hxt
+ , hxt-xpath, parsec, path, raw-strings-qq, siggy-chardust
+ , smallcheck, split, tasty, tasty-hunit, tasty-quickcheck
+ , tasty-smallcheck, template-haskell, time
+ }:
+ mkDerivation {
+ pname = "flight-kml";
+ version = "1.0.0";
+ sha256 = "0h04f0hkcri1qjk9kfc4r0sg8wyf6hx6s4cjgzaqnmfak6sa9j9c";
+ libraryHaskellDepends = [
+ aeson base detour-via-sci hxt hxt-xpath parsec path siggy-chardust
+ split time
+ ];
+ testHaskellDepends = [
+ aeson base detour-via-sci doctest hlint hxt hxt-xpath parsec path
+ raw-strings-qq siggy-chardust smallcheck split tasty tasty-hunit
+ tasty-quickcheck tasty-smallcheck template-haskell time
+ ];
+ description = "Parsing of pilot tracklogs dumped as KML";
+ license = stdenv.lib.licenses.mpl20;
+ }) {};
+
"flip-cmd" = callPackage
({ mkDerivation, base, process, safe-exceptions }:
mkDerivation {
@@ -75962,7 +76081,7 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
- "foldl_1_4_0" = callPackage
+ "foldl_1_4_1" = callPackage
({ mkDerivation, base, bytestring, comonad, containers
, contravariant, criterion, hashable, mwc-random, primitive
, profunctors, semigroups, text, transformers, unordered-containers
@@ -75970,8 +76089,8 @@ self: {
}:
mkDerivation {
pname = "foldl";
- version = "1.4.0";
- sha256 = "16vx35yl853g9ql9ncpa6r29bg5cai40s7jnpjj2d06ij9cad955";
+ version = "1.4.1";
+ sha256 = "0xfwqhn4nzl1fi1v1h7i9haxjy32118lf08rgfiqpw33zzrkyz6d";
libraryHaskellDepends = [
base bytestring comonad containers contravariant hashable
mwc-random primitive profunctors semigroups text transformers
@@ -76711,8 +76830,8 @@ self: {
}:
mkDerivation {
pname = "fortytwo";
- version = "1.0.3";
- sha256 = "113z46b5dnf6z7bxw1a4vhr84w5pw0iridsi3wjimhjz0rr530cm";
+ version = "1.0.4";
+ sha256 = "0gbvhlsyhfslxrwkdldn15adj8f371rhx5qxfapcpqfa6pwbjsfd";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [ ansi-terminal base text ];
@@ -77737,6 +77856,21 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
+ "fromhtml" = callPackage
+ ({ mkDerivation, base, bytestring, pandoc, process, text }:
+ mkDerivation {
+ pname = "fromhtml";
+ version = "0.1.0.0";
+ sha256 = "1qck5pbbs0jc0vfjsvyx3yc1q3zlrggy51dlrjlkarppwyndqrln";
+ isLibrary = true;
+ isExecutable = true;
+ libraryHaskellDepends = [ base bytestring pandoc process text ];
+ executableHaskellDepends = [ base bytestring pandoc process text ];
+ testHaskellDepends = [ base bytestring pandoc process text ];
+ description = "Simple library for transformation of HTML to other formats";
+ license = stdenv.lib.licenses.mit;
+ }) {};
+
"frontmatter" = callPackage
({ mkDerivation, attoparsec, base, bytestring, hspec, QuickCheck
, text, yaml
@@ -78343,6 +78477,21 @@ self: {
maintainers = with stdenv.lib.maintainers; [ peti ];
}) {};
+ "funcons-lambda-cbv-mp" = callPackage
+ ({ mkDerivation, base, containers, funcons-tools, gll, text }:
+ mkDerivation {
+ pname = "funcons-lambda-cbv-mp";
+ version = "0.1.0.0";
+ sha256 = "0ndjzixmjj2z9l3f65p4zd5yjjw5nd4x8vzlyk51zj7zkbz6pc09";
+ isLibrary = false;
+ isExecutable = true;
+ executableHaskellDepends = [
+ base containers funcons-tools gll text
+ ];
+ description = "Basic call-by-value lambda-calculus with operational semantics based on Funcons";
+ license = stdenv.lib.licenses.bsd3;
+ }) {};
+
"funcons-tools" = callPackage
({ mkDerivation, base, bv, containers, directory, funcons-values
, gll, mtl, multiset, random-strings, regex-applicative, split
@@ -79738,8 +79887,8 @@ self: {
}:
mkDerivation {
pname = "generic-accessors";
- version = "0.6.2.0";
- sha256 = "1id0zc617wskz5p8mbawqin03f73vvqy3d8jm6ywzyw3in5y82hs";
+ version = "0.7.0.0";
+ sha256 = "0jvrwjry0kgw27qhnqxm5zvpks69cvvj0iz1ipvdsd5hi16dxarb";
libraryHaskellDepends = [
base binary cereal lens linear spatial-math TypeCompose
];
@@ -79868,6 +80017,24 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
+ "generic-deriving_1_12_2" = callPackage
+ ({ mkDerivation, base, containers, ghc-prim, hspec, hspec-discover
+ , template-haskell, th-abstraction
+ }:
+ mkDerivation {
+ pname = "generic-deriving";
+ version = "1.12.2";
+ sha256 = "1i7d6cpj9yhaqb79zays3nqchhaacacjz9bkc0zlwj73y5gvi22n";
+ libraryHaskellDepends = [
+ base containers ghc-prim template-haskell th-abstraction
+ ];
+ testHaskellDepends = [ base hspec template-haskell ];
+ testToolDepends = [ hspec-discover ];
+ description = "Generic programming library for generalised deriving";
+ license = stdenv.lib.licenses.bsd3;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {};
+
"generic-enum" = callPackage
({ mkDerivation, array, base, bytestring, hspec }:
mkDerivation {
@@ -85018,26 +85185,6 @@ self: {
}) {};
"glabrous" = callPackage
- ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
- , cereal, cereal-text, directory, either, hspec, text
- , unordered-containers
- }:
- mkDerivation {
- pname = "glabrous";
- version = "0.3.5";
- sha256 = "0n3mqpcmxz9z339r18dac5s4zdgkknlx470cd1mfi9gd932cr4z9";
- libraryHaskellDepends = [
- aeson aeson-pretty attoparsec base bytestring cereal cereal-text
- either text unordered-containers
- ];
- testHaskellDepends = [
- base directory either hspec text unordered-containers
- ];
- description = "A template DSL library";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "glabrous_0_3_6" = callPackage
({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
, cereal, cereal-text, directory, either, hspec, text
, unordered-containers
@@ -85055,7 +85202,6 @@ self: {
];
description = "A template DSL library";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"glade" = callPackage
@@ -88484,6 +88630,18 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
+ "graph" = callPackage
+ ({ mkDerivation, base, smallcheck, tasty, tasty-smallcheck }:
+ mkDerivation {
+ pname = "graph";
+ version = "0.0.0.0";
+ sha256 = "1v94nii7q6smm37m3yk390mcxpa69qclxqqdzcmay8f096dzk3pd";
+ libraryHaskellDepends = [ base ];
+ testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
+ description = "Class of graphs";
+ license = stdenv.lib.licenses.bsd3;
+ }) {};
+
"graph-core" = callPackage
({ mkDerivation, base, containers, deepseq, hashable, HTF, mtl
, QuickCheck, safe, unordered-containers, vector
@@ -96868,28 +97026,6 @@ self: {
}) {};
"haskell-src-meta" = callPackage
- ({ mkDerivation, base, haskell-src-exts, HUnit, pretty, syb
- , template-haskell, test-framework, test-framework-hunit
- , th-orphans
- }:
- mkDerivation {
- pname = "haskell-src-meta";
- version = "0.8.0.2";
- sha256 = "12rc4v5dbbbcwdp7j8isvnm9vqpazv124j5kdfwlgwgwjhxi8ysb";
- revision = "1";
- editedCabalFile = "07xxp2r8amd420bzl7xlyfydhyrcrvaxq24ydnx7y2sz4v2nlzsz";
- libraryHaskellDepends = [
- base haskell-src-exts pretty syb template-haskell th-orphans
- ];
- testHaskellDepends = [
- base haskell-src-exts HUnit pretty template-haskell test-framework
- test-framework-hunit
- ];
- description = "Parse source to template-haskell abstract syntax";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "haskell-src-meta_0_8_0_3" = callPackage
({ mkDerivation, base, haskell-src-exts, HUnit, pretty, syb
, template-haskell, test-framework, test-framework-hunit
, th-orphans
@@ -96907,7 +97043,6 @@ self: {
];
description = "Parse source to template-haskell abstract syntax";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"haskell-src-meta-mwotton" = callPackage
@@ -103523,14 +103658,14 @@ self: {
"hindent" = callPackage
({ mkDerivation, base, bytestring, Cabal, containers, criterion
- , deepseq, descriptive, Diff, directory, exceptions, filepath
- , ghc-prim, haskell-src-exts, hspec, monad-loops, mtl, path
- , path-io, text, transformers, unix-compat, utf8-string, yaml
+ , deepseq, Diff, directory, exceptions, filepath, ghc-prim
+ , haskell-src-exts, hspec, monad-loops, mtl, optparse-applicative
+ , path, path-io, text, transformers, unix-compat, utf8-string, yaml
}:
mkDerivation {
pname = "hindent";
- version = "5.2.5";
- sha256 = "19lckzwsqy8d1wry7hlg5vcg10dc5isai1z0n8srap5hlqvifw1g";
+ version = "5.2.7";
+ sha256 = "06p7rn689ynlxxgpy7ix8r69zwz4iwp7rfvcjxa6kxayfiq3hc2w";
isLibrary = true;
isExecutable = true;
enableSeparateDataOutput = true;
@@ -103539,9 +103674,9 @@ self: {
haskell-src-exts monad-loops mtl text transformers utf8-string yaml
];
executableHaskellDepends = [
- base bytestring deepseq descriptive directory exceptions ghc-prim
- haskell-src-exts path path-io text transformers unix-compat
- utf8-string yaml
+ base bytestring deepseq directory exceptions ghc-prim
+ haskell-src-exts optparse-applicative path path-io text
+ transformers unix-compat utf8-string yaml
];
testHaskellDepends = [
base bytestring deepseq Diff directory exceptions haskell-src-exts
@@ -110919,15 +111054,15 @@ self: {
license = stdenv.lib.licenses.mit;
}) {};
- "hspec_2_5_1" = callPackage
+ "hspec_2_5_3" = callPackage
({ mkDerivation, base, call-stack, directory, hspec-core
, hspec-discover, hspec-expectations, hspec-meta, HUnit, QuickCheck
, stringbuilder, transformers
}:
mkDerivation {
pname = "hspec";
- version = "2.5.1";
- sha256 = "1hip8937prrvkdp63jwicg80b9fpj1yb4rfwl68jd76x2j15hyyl";
+ version = "2.5.3";
+ sha256 = "1rpiaw5m18zdsap7m7ih01awgmnaanq6rshhx9krway1v1y635ab";
libraryHaskellDepends = [
base call-stack hspec-core hspec-discover hspec-expectations HUnit
QuickCheck transformers
@@ -111025,7 +111160,7 @@ self: {
license = stdenv.lib.licenses.mit;
}) {};
- "hspec-core_2_5_1" = callPackage
+ "hspec-core_2_5_3" = callPackage
({ mkDerivation, ansi-terminal, array, base, call-stack, clock
, deepseq, directory, filepath, hspec-expectations, hspec-meta
, HUnit, process, QuickCheck, quickcheck-io, random, setenv
@@ -111033,8 +111168,8 @@ self: {
}:
mkDerivation {
pname = "hspec-core";
- version = "2.5.1";
- sha256 = "0yfw5rxyh830sb4l0zmsvjyanlg4q20y9hd90d3np5qwhpz4b3p8";
+ version = "2.5.3";
+ sha256 = "0gm9ydc89xhv56v6zqpmphl6pr4cik98rny3jy4x5vdwixv1yyyi";
libraryHaskellDepends = [
ansi-terminal array base call-stack clock deepseq directory
filepath hspec-expectations HUnit QuickCheck quickcheck-io random
@@ -111088,13 +111223,13 @@ self: {
license = stdenv.lib.licenses.mit;
}) {};
- "hspec-discover_2_5_1" = callPackage
+ "hspec-discover_2_5_3" = callPackage
({ mkDerivation, base, directory, filepath, hspec-meta, QuickCheck
}:
mkDerivation {
pname = "hspec-discover";
- version = "2.5.1";
- sha256 = "0a3j58jxfv9i15shifhmm7i6i0xd9p4pd3grm4my5c80nhsps61w";
+ version = "2.5.3";
+ sha256 = "0ja4360cphbhiaqfjsgm9qzzckvf0yc4f3c6wkr4iydx1km7v0r0";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [ base directory filepath ];
@@ -113194,8 +113329,8 @@ self: {
}:
mkDerivation {
pname = "http-client-extra";
- version = "0.1.2.0";
- sha256 = "087qwyg2ws3fz26ghys4vafdcbkfx6bxsz1pzni8102ynk3hwn5m";
+ version = "0.1.3.0";
+ sha256 = "112x03s2iqdbp6gpa7hmsnjl86s8cpmpb82n4fxiy9d3rbp72a0j";
libraryHaskellDepends = [
aeson array base base64-bytestring blaze-builder bytestring
case-insensitive containers data-default exceptions http-client
@@ -115104,8 +115239,8 @@ self: {
}:
mkDerivation {
pname = "hw-kafka-avro";
- version = "2.0.0";
- sha256 = "048pj3xq56kvkcgcczvavnhpq8a0hpvnna0w5m5k12wb4hvrj4h5";
+ version = "2.1.0";
+ sha256 = "06yz55g4hqv8lbx0ywkiwwww81dmk44zi37s7sq09vkvbk9hm9v2";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
@@ -119225,6 +119360,8 @@ self: {
pname = "inline-r";
version = "0.9.1";
sha256 = "1wpvyagc56yjkxvaw7a64gl2i4qfn4cgb47nx53pc6wcph7cyras";
+ revision = "1";
+ editedCabalFile = "0gid75ls60mfl0017716mqkypsbsv92lm1lsx2mf8vvd30znhcv0";
libraryHaskellDepends = [
aeson base bytestring containers data-default-class deepseq
exceptions inline-c mtl pretty primitive process reflection setenv
@@ -119246,6 +119383,41 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {inherit (pkgs) R;};
+ "inline-r_0_9_2" = callPackage
+ ({ mkDerivation, aeson, base, bytestring, containers, criterion
+ , data-default-class, deepseq, directory, exceptions, filepath
+ , ieee754, inline-c, mtl, pretty, primitive, process
+ , quickcheck-assertions, R, reflection, setenv, silently
+ , singletons, strict, tasty, tasty-expected-failure, tasty-golden
+ , tasty-hunit, tasty-quickcheck, template-haskell, temporary, text
+ , th-lift, th-orphans, transformers, unix, vector
+ }:
+ mkDerivation {
+ pname = "inline-r";
+ version = "0.9.2";
+ sha256 = "1h2gwrh8kzx3przx29gcl4wffni3bxy1yrfabf88bdxjwj79s7z0";
+ libraryHaskellDepends = [
+ aeson base bytestring containers data-default-class deepseq
+ exceptions inline-c mtl pretty primitive process reflection setenv
+ singletons template-haskell text th-lift th-orphans transformers
+ unix vector
+ ];
+ libraryPkgconfigDepends = [ R ];
+ testHaskellDepends = [
+ base bytestring directory filepath ieee754 mtl process
+ quickcheck-assertions silently singletons strict tasty
+ tasty-expected-failure tasty-golden tasty-hunit tasty-quickcheck
+ template-haskell temporary text unix vector
+ ];
+ benchmarkHaskellDepends = [
+ base criterion filepath primitive process singletons
+ template-haskell vector
+ ];
+ description = "Seamlessly call R from Haskell and vice versa. No FFI required.";
+ license = stdenv.lib.licenses.bsd3;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {inherit (pkgs) R;};
+
"inliterate" = callPackage
({ mkDerivation, base, blaze-html, cheapskate, containers
, haskell-src-exts, lucid, lucid-extras, plotlyhs, text, time
@@ -119777,8 +119949,8 @@ self: {
}:
mkDerivation {
pname = "intero";
- version = "0.1.31";
- sha256 = "0d6pc7mza12889wbzxy7gb5fb86v3b5pm2cdvcvnh6gd6x4ii336";
+ version = "0.1.32";
+ sha256 = "0xk693yhq2hkilznjzsszamvg7pg1l0qyb2y17ffr2s966i4pfr0";
isLibrary = false;
isExecutable = true;
enableSeparateDataOutput = true;
@@ -129220,22 +129392,17 @@ self: {
}) {};
"learn-physics" = callPackage
- ({ mkDerivation, base, gloss, gnuplot, hmatrix, linear, not-gloss
- , spatial-math, vector-space
- }:
+ ({ mkDerivation, base, gloss, gnuplot, hmatrix, vector-space }:
mkDerivation {
pname = "learn-physics";
- version = "0.6.0.2";
- sha256 = "1bncqp4k1gbhc2yqnkja9xcxlh03wfaix1hiyv5llbzz06s9ia8a";
+ version = "0.6.2";
+ sha256 = "0j69q7jyznjjizkyyn032dfc1g9r6fssxp4b183bapj1xp9n116j";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
- base gloss gnuplot hmatrix linear not-gloss spatial-math
- vector-space
- ];
- executableHaskellDepends = [
- base gloss gnuplot not-gloss spatial-math
+ base gloss gnuplot hmatrix vector-space
];
+ executableHaskellDepends = [ base gloss gnuplot ];
description = "Haskell code for learning physics";
license = stdenv.lib.licenses.bsd3;
hydraPlatforms = stdenv.lib.platforms.none;
@@ -130951,6 +131118,33 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
+ "life-sync" = callPackage
+ ({ mkDerivation, ansi-terminal, base-noprelude, bytestring
+ , containers, filepath, fmt, hedgehog, microlens-platform
+ , optparse-applicative, path, path-io, process, tasty
+ , tasty-discover, tasty-hedgehog, text, tomland, universum
+ }:
+ mkDerivation {
+ pname = "life-sync";
+ version = "1.0";
+ sha256 = "04w83c96zhjl52j5iyy3149gpj3m02jfyfvbvvgg34xxqm0vwzha";
+ isLibrary = true;
+ isExecutable = true;
+ libraryHaskellDepends = [
+ ansi-terminal base-noprelude bytestring containers fmt
+ microlens-platform path path-io process text tomland universum
+ ];
+ executableHaskellDepends = [
+ base-noprelude containers optparse-applicative path
+ ];
+ testHaskellDepends = [
+ base-noprelude containers filepath hedgehog path tasty
+ tasty-hedgehog
+ ];
+ testToolDepends = [ tasty-discover ];
+ license = stdenv.lib.licenses.mit;
+ }) {};
+
"lift-generics" = callPackage
({ mkDerivation, base, base-compat, generic-deriving, ghc-prim
, hspec, template-haskell
@@ -131906,17 +132100,6 @@ self: {
}) {};
"linux-namespaces" = callPackage
- ({ mkDerivation, base, unix }:
- mkDerivation {
- pname = "linux-namespaces";
- version = "0.1.2.0";
- sha256 = "0yznnp9rdz15drm79pvbqbrbk2nczbkmlf00pb7rki7w1l9njp2q";
- libraryHaskellDepends = [ base unix ];
- description = "Create new or enter an existing linux namespaces";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "linux-namespaces_0_1_3_0" = callPackage
({ mkDerivation, base, bytestring, unix }:
mkDerivation {
pname = "linux-namespaces";
@@ -131925,7 +132108,6 @@ self: {
libraryHaskellDepends = [ base bytestring unix ];
description = "Work with linux namespaces: create new or enter existing ones";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"linux-perf" = callPackage
@@ -138944,6 +139126,8 @@ self: {
pname = "menoh";
version = "0.1.1";
sha256 = "0cbkhafibm65yn4222kfy8j6zkw6q6k3962hwjhbvp2n57avh789";
+ revision = "1";
+ editedCabalFile = "1mbn1aq24dvaa1amwypik69dmg1x8mm1dz1h4kadzvljc4ld870i";
isLibrary = true;
isExecutable = true;
enableSeparateDataOutput = true;
@@ -140657,15 +140841,15 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
- "miso_0_20_0_0" = callPackage
+ "miso_0_20_1_0" = callPackage
({ mkDerivation, aeson, base, bytestring, containers, http-api-data
, http-types, lucid, network-uri, servant, servant-lucid, text
, transformers, vector
}:
mkDerivation {
pname = "miso";
- version = "0.20.0.0";
- sha256 = "0nr7j9065mrwmmqwjsgl9krh21mhxjddbwmkwja0b207aglc072j";
+ version = "0.20.1.0";
+ sha256 = "03z6p29g5h3dhfpkv7sl81l0vcyi2r8chzdynwsz72d4i81vdi7j";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
@@ -141906,6 +142090,21 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
+ "monad-markov" = callPackage
+ ({ mkDerivation, base, base-compat, MonadRandom, mtl, random
+ , transformers
+ }:
+ mkDerivation {
+ pname = "monad-markov";
+ version = "0.1.0.0";
+ sha256 = "173qlab980aq5hzxs4xxkx1ykvm40q84zsn6a8rksfq7sh1gzc1l";
+ libraryHaskellDepends = [
+ base base-compat MonadRandom mtl random transformers
+ ];
+ description = "Markov process monad";
+ license = stdenv.lib.licenses.mit;
+ }) {};
+
"monad-memo" = callPackage
({ mkDerivation, array, base, containers, criterion, mtl, primitive
, QuickCheck, random, test-framework, test-framework-quickcheck2
@@ -146168,8 +146367,8 @@ self: {
({ mkDerivation, base, containers, template-haskell }:
mkDerivation {
pname = "names-th";
- version = "0.2.0.4";
- sha256 = "03nj3qdqkdl4wgb9s4p1dmrcx19ffc03br0a3n8z85bih0p4vgsq";
+ version = "0.2.0.5";
+ sha256 = "093ffvzbkd2mihnwwa4mfxbixaf37w6wf47bzgz1smlvmqihn0bh";
libraryHaskellDepends = [ base containers template-haskell ];
description = "Manipulate name strings for TH";
license = stdenv.lib.licenses.bsd3;
@@ -149773,16 +149972,17 @@ self: {
"normalize" = callPackage
({ mkDerivation, base, bytestring, cassava, containers, lens
- , optparse-generic, statistics, text, vector
+ , optparse-generic, statistics, text, vector, vector-algorithms
}:
mkDerivation {
pname = "normalize";
- version = "0.3.0.1";
- sha256 = "1wx7jfbc5s1zpksyq1vhb3460gll1fl6lkdbp3349rxifz0l27dq";
+ version = "0.3.1.1";
+ sha256 = "03qlp2vixw7ihzd14vhxv4jrfpnv2yzz9nvqcfcmkkv5p20ldpxy";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
base cassava containers lens statistics text vector
+ vector-algorithms
];
executableHaskellDepends = [
base bytestring cassava containers optparse-generic text vector
@@ -150439,12 +150639,12 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
- "numhask_0_2_3_0" = callPackage
+ "numhask_0_2_3_1" = callPackage
({ mkDerivation, base }:
mkDerivation {
pname = "numhask";
- version = "0.2.3.0";
- sha256 = "1d4sc2gwra18zw9f063d28alf69nf0ikzsfxgc10z1zgy5bfyxny";
+ version = "0.2.3.1";
+ sha256 = "04f1gzfhaikwazvdz0aigf6lz8yk75p8ji9pjb0wsdyxs8mly21k";
libraryHaskellDepends = [ base ];
description = "numeric classes";
license = stdenv.lib.licenses.bsd3;
@@ -157772,24 +157972,6 @@ self: {
}) {};
"persistable-record" = callPackage
- ({ mkDerivation, array, base, containers, dlist, names-th
- , product-isomorphic, quickcheck-simple, template-haskell
- , th-data-compat, transformers
- }:
- mkDerivation {
- pname = "persistable-record";
- version = "0.6.0.3";
- sha256 = "12arj395b1famyy0hxp394ci2y3mkly68i82a26p67g5dpmdm466";
- libraryHaskellDepends = [
- array base containers dlist names-th product-isomorphic
- template-haskell th-data-compat transformers
- ];
- testHaskellDepends = [ base quickcheck-simple ];
- description = "Binding between SQL database values and haskell records";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "persistable-record_0_6_0_4" = callPackage
({ mkDerivation, array, base, containers, dlist, names-th
, product-isomorphic, quickcheck-simple, template-haskell
, th-data-compat, transformers
@@ -157805,7 +157987,6 @@ self: {
testHaskellDepends = [ base quickcheck-simple ];
description = "Binding between SQL database values and haskell records";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"persistable-types-HDBC-pg" = callPackage
@@ -157815,8 +157996,8 @@ self: {
}:
mkDerivation {
pname = "persistable-types-HDBC-pg";
- version = "0.0.3.2";
- sha256 = "0ddzmc19in35vxivgqp9yi8p2afvg67q2dwgl39pkw6camrqlh2r";
+ version = "0.0.3.3";
+ sha256 = "0m5cx6848s9vxmbrxwv3v9f3vplpayxjddn7j332k3kj3qbdgs4v";
libraryHaskellDepends = [
base bytestring convertible dlist HDBC persistable-record
relational-query relational-query-HDBC text-postgresql
@@ -157828,15 +158009,15 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
- "persistable-types-HDBC-pg_0_0_3_4" = callPackage
+ "persistable-types-HDBC-pg_0_0_3_5" = callPackage
({ mkDerivation, base, bytestring, convertible, dlist, HDBC
, persistable-record, relational-query, relational-query-HDBC
, text-postgresql
}:
mkDerivation {
pname = "persistable-types-HDBC-pg";
- version = "0.0.3.4";
- sha256 = "0iygm59rai7w9g43h2ypra1z4dq2rsw5vc3nwh5bzpaa6x2mqqfb";
+ version = "0.0.3.5";
+ sha256 = "0bzc7kv12mz7kan1ivqpf2k1kwn3f1h74gallfvfrqans3np6p4m";
libraryHaskellDepends = [
base bytestring convertible dlist HDBC persistable-record
relational-query relational-query-HDBC text-postgresql
@@ -160092,6 +160273,23 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
+ "pipes-group_1_0_11" = callPackage
+ ({ mkDerivation, base, doctest, free, lens-family-core, pipes
+ , pipes-parse, transformers
+ }:
+ mkDerivation {
+ pname = "pipes-group";
+ version = "1.0.11";
+ sha256 = "1570chhj3i587wgsgz70d1p94j524wz86xaal7imwvgmw40gdacc";
+ libraryHaskellDepends = [
+ base free pipes pipes-parse transformers
+ ];
+ testHaskellDepends = [ base doctest lens-family-core ];
+ description = "Group streams into substreams";
+ license = stdenv.lib.licenses.bsd3;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {};
+
"pipes-http" = callPackage
({ mkDerivation, base, bytestring, http-client, http-client-tls
, pipes
@@ -164770,8 +164968,8 @@ self: {
({ mkDerivation, base, primitive }:
mkDerivation {
pname = "primitive-checked";
- version = "0.6.3.0";
- sha256 = "02097f658qidmcfaisrcl4k3vmipx8w8p6mcbnajc8ndb3m58bbl";
+ version = "0.6.4.0";
+ sha256 = "0605d585nr83dcbfld446aifh7mznl20lnlq5m7v650fr1vrklnf";
libraryHaskellDepends = [ base primitive ];
description = "primitive functions with bounds-checking";
license = stdenv.lib.licenses.bsd3;
@@ -167593,30 +167791,6 @@ self: {
}) {};
"pusher-http-haskell" = callPackage
- ({ mkDerivation, aeson, base, base16-bytestring, bytestring
- , cryptonite, hashable, hspec, http-client, http-types, memory
- , QuickCheck, scientific, text, time, transformers
- , unordered-containers, vector
- }:
- mkDerivation {
- pname = "pusher-http-haskell";
- version = "1.5.1.4";
- sha256 = "1h6dl0h9ybbnjqs834bd1n5w4cx0vdbmi52mqdk2y9y267qc9k4a";
- libraryHaskellDepends = [
- aeson base base16-bytestring bytestring cryptonite hashable
- http-client http-types memory text time transformers
- unordered-containers vector
- ];
- testHaskellDepends = [
- aeson base base16-bytestring bytestring cryptonite hspec
- http-client http-types QuickCheck scientific text time transformers
- unordered-containers vector
- ];
- description = "Haskell client library for the Pusher HTTP API";
- license = stdenv.lib.licenses.mit;
- }) {};
-
- "pusher-http-haskell_1_5_1_5" = callPackage
({ mkDerivation, aeson, base, base16-bytestring, bytestring
, cryptonite, hashable, hspec, http-client, http-types, memory
, QuickCheck, scientific, text, time, transformers
@@ -167638,7 +167812,6 @@ self: {
];
description = "Haskell client library for the Pusher HTTP API";
license = stdenv.lib.licenses.mit;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"pusher-ws" = callPackage
@@ -168350,10 +168523,8 @@ self: {
}:
mkDerivation {
pname = "quantification";
- version = "0.3";
- sha256 = "0hljd4m55254kmcrp3iar8ya7ky5a73vk3vrmgandmb15fsp2wvy";
- revision = "1";
- editedCabalFile = "1kcx4z6xwpbzkydl1kknf5kr1p2ry163jrw5k58f5jpv5gkn7mgn";
+ version = "0.4";
+ sha256 = "0bsdfmzaaxq2mf6bbbphg2dy8q6lhc7n3mfcy20fp4la0cj49aj2";
libraryHaskellDepends = [
aeson base containers ghc-prim hashable path-pieces text
unordered-containers vector
@@ -170393,6 +170564,25 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
+ "rank2classes_1_1" = callPackage
+ ({ mkDerivation, base, distributive, doctest, tasty, tasty-hunit
+ , template-haskell, transformers
+ }:
+ mkDerivation {
+ pname = "rank2classes";
+ version = "1.1";
+ sha256 = "0m7zxgjql399xm97v9jczg13mclnwnwbls8d788iyfqbhlk3slkf";
+ libraryHaskellDepends = [
+ base distributive template-haskell transformers
+ ];
+ testHaskellDepends = [
+ base distributive doctest tasty tasty-hunit
+ ];
+ description = "standard type constructor class hierarchy, only with methods of rank 2 types";
+ license = stdenv.lib.licenses.bsd3;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {};
+
"rapid" = callPackage
({ mkDerivation, async, base, containers, foreign-store, stm }:
mkDerivation {
@@ -173168,23 +173358,6 @@ self: {
}) {};
"regex-tdfa" = callPackage
- ({ mkDerivation, array, base, bytestring, containers, ghc-prim, mtl
- , parsec, regex-base
- }:
- mkDerivation {
- pname = "regex-tdfa";
- version = "1.2.3";
- sha256 = "1n80ssz9k73s444b4hda6fhp1vyzg0fc5fvz0309fi9dh6xpxcc9";
- revision = "1";
- editedCabalFile = "05ygcwwi8zjd40r05kavbmlx6nw6gyb2yicaarwd45sxs1zk73rz";
- libraryHaskellDepends = [
- array base bytestring containers ghc-prim mtl parsec regex-base
- ];
- description = "Replaces/Enhances Text.Regex";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "regex-tdfa_1_2_3_1" = callPackage
({ mkDerivation, array, base, bytestring, containers, ghc-prim, mtl
, parsec, regex-base
}:
@@ -173197,7 +173370,6 @@ self: {
];
description = "Replaces/Enhances Text.Regex";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"regex-tdfa-pipes" = callPackage
@@ -173753,8 +173925,8 @@ self: {
}:
mkDerivation {
pname = "relational-query";
- version = "0.11.1.0";
- sha256 = "1iydq7jdsizacvanvxdfad52vjaazb2awv2h3lyiqrsmva1y0qmq";
+ version = "0.11.4.0";
+ sha256 = "0pai1x1hqk8mn7gqxjrchb7rcv5dc8q4iwiklb8w3band7jwpnf7";
libraryHaskellDepends = [
array base bytestring containers dlist names-th persistable-record
product-isomorphic sql-words template-haskell text th-reify-compat
@@ -173799,8 +173971,8 @@ self: {
}:
mkDerivation {
pname = "relational-query-HDBC";
- version = "0.6.7.1";
- sha256 = "011zvhwkdl7py1mdb5n65zc98xdfm013lpqc2kd37v9pvn11g28s";
+ version = "0.6.8.0";
+ sha256 = "1piriqd6rngbdlf9bx9zabbmpn255iqs29z6f8pkxr5qn3q33dzz";
libraryHaskellDepends = [
base containers convertible dlist HDBC HDBC-session names-th
persistable-record product-isomorphic relational-query
@@ -173814,7 +173986,7 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
- "relational-query-HDBC_0_6_8_0" = callPackage
+ "relational-query-HDBC_0_7_0_0" = callPackage
({ mkDerivation, base, containers, convertible, dlist, HDBC
, HDBC-session, names-th, persistable-record, product-isomorphic
, QuickCheck, quickcheck-simple, relational-query
@@ -173823,8 +173995,8 @@ self: {
}:
mkDerivation {
pname = "relational-query-HDBC";
- version = "0.6.8.0";
- sha256 = "1piriqd6rngbdlf9bx9zabbmpn255iqs29z6f8pkxr5qn3q33dzz";
+ version = "0.7.0.0";
+ sha256 = "1kzryjkfkg4f616ijyx28p72v9a45gpvjs7jpksb1by24ll9ly46";
libraryHaskellDepends = [
base containers convertible dlist HDBC HDBC-session names-th
persistable-record product-isomorphic relational-query
@@ -173840,23 +174012,6 @@ self: {
}) {};
"relational-record" = callPackage
- ({ mkDerivation, base, persistable-record
- , persistable-types-HDBC-pg, product-isomorphic, relational-query
- , relational-query-HDBC
- }:
- mkDerivation {
- pname = "relational-record";
- version = "0.2.1.2";
- sha256 = "068d6a9xp9byhc3k1rb9a1zwifyg7mhxv3r6xisgdjv4w6fizbay";
- libraryHaskellDepends = [
- base persistable-record persistable-types-HDBC-pg
- product-isomorphic relational-query relational-query-HDBC
- ];
- description = "Meta package of Relational Record";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "relational-record_0_2_2_0" = callPackage
({ mkDerivation, base, persistable-record
, persistable-types-HDBC-pg, product-isomorphic, relational-query
, relational-query-HDBC
@@ -173871,7 +174026,6 @@ self: {
];
description = "Meta package of Relational Record";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"relational-record-examples" = callPackage
@@ -173895,21 +174049,6 @@ self: {
}) {};
"relational-schemas" = callPackage
- ({ mkDerivation, base, bytestring, containers, relational-query
- , template-haskell, time
- }:
- mkDerivation {
- pname = "relational-schemas";
- version = "0.1.6.1";
- sha256 = "1lkqaahfrdm2dlyqz3wn9dm0sw8cypmndasrigc67q94ha4lrv81";
- libraryHaskellDepends = [
- base bytestring containers relational-query template-haskell time
- ];
- description = "RDBMSs' schema templates for relational-query";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "relational-schemas_0_1_6_2" = callPackage
({ mkDerivation, base, bytestring, containers, relational-query
, template-haskell, time
}:
@@ -173922,7 +174061,6 @@ self: {
];
description = "RDBMSs' schema templates for relational-query";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"relative-date" = callPackage
@@ -175991,38 +176129,6 @@ self: {
}) {};
"riak" = callPackage
- ({ mkDerivation, aeson, async, attoparsec, base, bifunctors, binary
- , blaze-builder, bytestring, containers, criterion
- , data-default-class, deepseq, enclosed-exceptions, exceptions
- , hashable, HUnit, mersenne-random-pure64, monad-control, mtl
- , network, process, protocol-buffers, pureMD5, QuickCheck, random
- , resource-pool, riak-protobuf, semigroups, stm, tasty, tasty-hunit
- , tasty-quickcheck, template-haskell, text, time, transformers
- , transformers-base, unordered-containers, vector, yaml
- }:
- mkDerivation {
- pname = "riak";
- version = "1.1.2.4";
- sha256 = "1j67p29jnw6zy3294qwsc947akdk8xawa426fvnflbba5lmzxial";
- libraryHaskellDepends = [
- aeson async attoparsec base bifunctors binary blaze-builder
- bytestring containers data-default-class deepseq
- enclosed-exceptions exceptions hashable mersenne-random-pure64
- monad-control network protocol-buffers pureMD5 random resource-pool
- riak-protobuf semigroups stm text time transformers
- transformers-base unordered-containers vector
- ];
- testHaskellDepends = [
- aeson base bytestring containers data-default-class HUnit mtl
- process QuickCheck riak-protobuf semigroups tasty tasty-hunit
- tasty-quickcheck template-haskell text yaml
- ];
- benchmarkHaskellDepends = [ base bytestring criterion semigroups ];
- description = "A Haskell client for the Riak decentralized data store";
- license = "unknown";
- }) {};
-
- "riak_1_1_2_5" = callPackage
({ mkDerivation, aeson, async, attoparsec, base, bifunctors, binary
, blaze-builder, bytestring, containers, criterion
, data-default-class, deepseq, enclosed-exceptions, exceptions
@@ -176052,7 +176158,6 @@ self: {
benchmarkHaskellDepends = [ base bytestring criterion semigroups ];
description = "A Haskell client for the Riak decentralized data store";
license = "unknown";
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"riak-protobuf" = callPackage
@@ -176212,30 +176317,6 @@ self: {
}) {};
"rio" = callPackage
- ({ mkDerivation, base, bytestring, containers, deepseq, directory
- , exceptions, filepath, hashable, hspec, microlens, mtl, primitive
- , process, text, time, typed-process, unix, unliftio
- , unordered-containers, vector
- }:
- mkDerivation {
- pname = "rio";
- version = "0.1.2.0";
- sha256 = "0449jjgw38dwf0lw3vq0ri3gh7mlzfjkajz8xdvxr76ffs9kncwq";
- libraryHaskellDepends = [
- base bytestring containers deepseq directory exceptions filepath
- hashable microlens mtl primitive process text time typed-process
- unix unliftio unordered-containers vector
- ];
- testHaskellDepends = [
- base bytestring containers deepseq directory exceptions filepath
- hashable hspec microlens mtl primitive process text time
- typed-process unix unliftio unordered-containers vector
- ];
- description = "A standard library for Haskell";
- license = stdenv.lib.licenses.mit;
- }) {};
-
- "rio_0_1_3_0" = callPackage
({ mkDerivation, base, bytestring, containers, deepseq, directory
, exceptions, filepath, hashable, hspec, microlens, mtl, primitive
, process, text, time, typed-process, unix, unliftio
@@ -176257,7 +176338,6 @@ self: {
];
description = "A standard library for Haskell";
license = stdenv.lib.licenses.mit;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"rio-orphans" = callPackage
@@ -177586,8 +177666,8 @@ self: {
}:
mkDerivation {
pname = "rss2irc";
- version = "1.1";
- sha256 = "1phclqhf1kvnix729d8117kq851b2f2snsvghr6h6112rg22cf2q";
+ version = "1.2";
+ sha256 = "00q684w6s9ixwrci6sfpzzw2hrsl7j29g07d9j5a5j9csz0cr8gg";
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [
@@ -180417,6 +180497,28 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {inherit (pkgs) SDL2;};
+ "sdl2_2_4_1_0" = callPackage
+ ({ mkDerivation, base, bytestring, deepseq, exceptions, linear
+ , SDL2, StateVar, text, transformers, vector, weigh
+ }:
+ mkDerivation {
+ pname = "sdl2";
+ version = "2.4.1.0";
+ sha256 = "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991";
+ isLibrary = true;
+ isExecutable = true;
+ enableSeparateDataOutput = true;
+ libraryHaskellDepends = [
+ base bytestring exceptions linear StateVar text transformers vector
+ ];
+ librarySystemDepends = [ SDL2 ];
+ libraryPkgconfigDepends = [ SDL2 ];
+ testHaskellDepends = [ base deepseq linear vector weigh ];
+ description = "Both high- and low-level bindings to the SDL library (version 2.0.4+).";
+ license = stdenv.lib.licenses.bsd3;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {inherit (pkgs) SDL2;};
+
"sdl2-cairo" = callPackage
({ mkDerivation, base, cairo, linear, sdl2 }:
mkDerivation {
@@ -182922,22 +183024,6 @@ self: {
}) {};
"servant-generic" = callPackage
- ({ mkDerivation, base, network-uri, servant, servant-server, text
- , warp
- }:
- mkDerivation {
- pname = "servant-generic";
- version = "0.1.0.1";
- sha256 = "1zgw5j3wx4fyb9nhifslzsbfla3iagkvix86vb1x3d9fyz117wif";
- libraryHaskellDepends = [ base servant servant-server ];
- testHaskellDepends = [
- base network-uri servant servant-server text warp
- ];
- description = "Specify Servant APIs with records";
- license = stdenv.lib.licenses.mit;
- }) {};
-
- "servant-generic_0_1_0_2" = callPackage
({ mkDerivation, base, network-uri, servant, servant-server, text
, warp
}:
@@ -182951,7 +183037,6 @@ self: {
];
description = "Specify Servant APIs with records";
license = stdenv.lib.licenses.mit;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"servant-github" = callPackage
@@ -186376,6 +186461,8 @@ self: {
pname = "siggy-chardust";
version = "1.0.0";
sha256 = "0hssby6mak0bq1fqv47hp6rnw51yz1kgzgsmnvh2k9jfq0y0qwwz";
+ revision = "1";
+ editedCabalFile = "1lknm1jr6h5qpixc727aj3zbmj4ia21r9lb8gzj50iildgmfk33b";
libraryHaskellDepends = [ base ];
testHaskellDepends = [
base doctest hlint smallcheck tasty tasty-hunit tasty-quickcheck
@@ -187104,8 +187191,8 @@ self: {
({ mkDerivation, base, process }:
mkDerivation {
pname = "simple-smt";
- version = "0.8";
- sha256 = "0w4adm7zjiqbzm0vg8ky4xyldid00grsnjf7n4pkw5a2fw81qi3d";
+ version = "0.9.1";
+ sha256 = "13dg61jdgby49lpdb53anrg39wn8dwgvg6jpn8vh0y8rf2zilq9b";
libraryHaskellDepends = [ base process ];
description = "A simple way to interact with an SMT solver process";
license = stdenv.lib.licenses.bsd3;
@@ -188280,6 +188367,30 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
+ "slack-web_0_2_0_6" = callPackage
+ ({ mkDerivation, aeson, base, containers, errors, hspec
+ , http-api-data, http-client, http-client-tls, megaparsec, mtl
+ , servant, servant-client, servant-client-core, text, time
+ , transformers
+ }:
+ mkDerivation {
+ pname = "slack-web";
+ version = "0.2.0.6";
+ sha256 = "1rydw71na7qninys7nqyn36mld5a5csvlsf01yzansnn2gvpdh2a";
+ libraryHaskellDepends = [
+ aeson base containers errors http-api-data http-client
+ http-client-tls megaparsec mtl servant servant-client
+ servant-client-core text time transformers
+ ];
+ testHaskellDepends = [
+ aeson base containers errors hspec http-api-data megaparsec text
+ time
+ ];
+ description = "Bindings for the Slack web API";
+ license = stdenv.lib.licenses.mit;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {};
+
"slate" = callPackage
({ mkDerivation, base, directory, filepath, htoml
, optparse-applicative, process, string-conversions
@@ -192531,18 +192642,6 @@ self: {
}) {};
"sql-words" = callPackage
- ({ mkDerivation, base, QuickCheck, quickcheck-simple }:
- mkDerivation {
- pname = "sql-words";
- version = "0.1.6.1";
- sha256 = "07prq4bcvl469m0sr767kxidr0kk27yynb9zsm48sjz84h0bx2v3";
- libraryHaskellDepends = [ base ];
- testHaskellDepends = [ base QuickCheck quickcheck-simple ];
- description = "SQL keywords data constructors into OverloadedString";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "sql-words_0_1_6_2" = callPackage
({ mkDerivation, base, QuickCheck, quickcheck-simple }:
mkDerivation {
pname = "sql-words";
@@ -192552,7 +192651,6 @@ self: {
testHaskellDepends = [ base QuickCheck quickcheck-simple ];
description = "SQL keywords data constructors into OverloadedString";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"sqlcipher" = callPackage
@@ -195781,15 +195879,15 @@ self: {
license = stdenv.lib.licenses.mit;
}) {};
- "streaming-commons_0_2_0_0" = callPackage
+ "streaming-commons_0_2_1_0" = callPackage
({ mkDerivation, array, async, base, bytestring, deepseq, directory
, gauge, hspec, network, process, QuickCheck, random, stm, text
, transformers, unix, zlib
}:
mkDerivation {
pname = "streaming-commons";
- version = "0.2.0.0";
- sha256 = "0pyfibrz30azq22zq7zl4wvbl0mm9wrqw1047p437h950d3biqpl";
+ version = "0.2.1.0";
+ sha256 = "13fn6qmpiggwpn8lczyydgp77cyzfypwds7wxskrwir4i5cgxlfq";
libraryHaskellDepends = [
array async base bytestring directory network process random stm
text transformers unix zlib
@@ -197415,8 +197513,8 @@ self: {
}:
mkDerivation {
pname = "summoner";
- version = "1.0.3";
- sha256 = "0hyki46wp34rzwdgbn6icr0pmsqg89kwqs7hs76ydi4jzxv5183j";
+ version = "1.0.4";
+ sha256 = "1gwglx6lvg962q7a5m0vx372vqyiw3sf5kxsbwnl53pgrynmjhyn";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
@@ -200431,32 +200529,6 @@ self: {
}) {};
"tar-conduit" = callPackage
- ({ mkDerivation, base, bytestring, conduit, conduit-combinators
- , containers, criterion, deepseq, directory, filepath, hspec
- , QuickCheck, safe-exceptions, text, unix, weigh
- }:
- mkDerivation {
- pname = "tar-conduit";
- version = "0.2.3";
- sha256 = "1is2q5662zrrxgb2dm2n1qa1aqdrwf4g7il5jdpxhri28m7pp7jp";
- libraryHaskellDepends = [
- base bytestring conduit conduit-combinators directory filepath
- safe-exceptions text unix
- ];
- testHaskellDepends = [
- base bytestring conduit conduit-combinators containers deepseq
- directory filepath hspec QuickCheck weigh
- ];
- benchmarkHaskellDepends = [
- base bytestring conduit conduit-combinators containers criterion
- deepseq directory filepath hspec
- ];
- description = "Extract and create tar files using conduit for streaming";
- license = stdenv.lib.licenses.mit;
- hydraPlatforms = stdenv.lib.platforms.none;
- }) {};
-
- "tar-conduit_0_2_3_1" = callPackage
({ mkDerivation, base, bytestring, conduit, conduit-combinators
, conduit-extra, containers, criterion, deepseq, directory
, filepath, hspec, QuickCheck, safe-exceptions, text, unix, weigh
@@ -200782,26 +200854,6 @@ self: {
}) {};
"tasty-golden" = callPackage
- ({ mkDerivation, async, base, bytestring, containers, deepseq
- , directory, filepath, mtl, optparse-applicative, process, tagged
- , tasty, tasty-hunit, temporary, temporary-rc
- }:
- mkDerivation {
- pname = "tasty-golden";
- version = "2.3.1.3";
- sha256 = "1xri8bnj22gzxkxz4hi2vqx0aaz51ww3zz9ac0ig0lw653kbj61p";
- libraryHaskellDepends = [
- async base bytestring containers deepseq directory filepath mtl
- optparse-applicative process tagged tasty temporary
- ];
- testHaskellDepends = [
- base directory filepath process tasty tasty-hunit temporary-rc
- ];
- description = "Golden tests support for tasty";
- license = stdenv.lib.licenses.mit;
- }) {};
-
- "tasty-golden_2_3_2" = callPackage
({ mkDerivation, async, base, bytestring, containers, deepseq
, directory, filepath, mtl, optparse-applicative, process, tagged
, tasty, tasty-hunit, temporary, temporary-rc
@@ -200819,7 +200871,6 @@ self: {
];
description = "Golden tests support for tasty";
license = stdenv.lib.licenses.mit;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"tasty-groundhog-converters" = callPackage
@@ -200878,6 +200929,26 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
+ "tasty-hedgehog-coverage" = callPackage
+ ({ mkDerivation, base, containers, hedgehog, mtl, tagged, tasty
+ , tasty-expected-failure, tasty-hedgehog, text, transformers
+ , wl-pprint-annotated
+ }:
+ mkDerivation {
+ pname = "tasty-hedgehog-coverage";
+ version = "0.1.0.0";
+ sha256 = "1d2hnhkpk71k0xjw63jsn6fa4ih01xqn4dgdbflp6yrs0zw6p95c";
+ libraryHaskellDepends = [
+ base containers hedgehog mtl tagged tasty tasty-hedgehog text
+ transformers wl-pprint-annotated
+ ];
+ testHaskellDepends = [
+ base hedgehog tasty tasty-expected-failure
+ ];
+ description = "Coverage tracking for Hedgehog Property-Based Testing via Tasty";
+ license = stdenv.lib.licenses.bsd3;
+ }) {};
+
"tasty-hspec" = callPackage
({ mkDerivation, base, hspec, hspec-core, QuickCheck, tasty
, tasty-quickcheck, tasty-smallcheck
@@ -200896,6 +200967,25 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
+ "tasty-hspec_1_1_5" = callPackage
+ ({ mkDerivation, base, hspec, hspec-core, QuickCheck, tasty
+ , tasty-quickcheck, tasty-smallcheck
+ }:
+ mkDerivation {
+ pname = "tasty-hspec";
+ version = "1.1.5";
+ sha256 = "0m0ip2l4rg4pnrvk3mjxkbq2l683psv1x3v9l4rglk2k3pvxq36v";
+ revision = "1";
+ editedCabalFile = "0zgbcrahzfg37bnni6fj0qb0fpbk5rdha589mh960d5sbq58pljf";
+ libraryHaskellDepends = [
+ base hspec hspec-core QuickCheck tasty tasty-quickcheck
+ tasty-smallcheck
+ ];
+ description = "Hspec support for the Tasty test framework";
+ license = stdenv.lib.licenses.bsd3;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {};
+
"tasty-html" = callPackage
({ mkDerivation, base, blaze-html, bytestring, containers, filepath
, generic-deriving, mtl, stm, tagged, tasty, text, transformers
@@ -200913,6 +201003,25 @@ self: {
license = stdenv.lib.licenses.mit;
}) {};
+ "tasty-html_0_4_1_2" = callPackage
+ ({ mkDerivation, base, blaze-html, bytestring, containers, filepath
+ , generic-deriving, mtl, semigroups, stm, tagged, tasty, text
+ , transformers
+ }:
+ mkDerivation {
+ pname = "tasty-html";
+ version = "0.4.1.2";
+ sha256 = "1bffbp8qwyad85s9bl3ck3gxay3hphka527j09hn2sz1bfqzcihb";
+ enableSeparateDataOutput = true;
+ libraryHaskellDepends = [
+ base blaze-html bytestring containers filepath generic-deriving mtl
+ semigroups stm tagged tasty text transformers
+ ];
+ description = "Render tasty output to HTML";
+ license = stdenv.lib.licenses.mit;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {};
+
"tasty-hunit" = callPackage
({ mkDerivation, base, call-stack, tasty }:
mkDerivation {
@@ -203662,22 +203771,6 @@ self: {
}) {};
"text-postgresql" = callPackage
- ({ mkDerivation, base, dlist, QuickCheck, quickcheck-simple
- , transformers, transformers-compat
- }:
- mkDerivation {
- pname = "text-postgresql";
- version = "0.0.3.0";
- sha256 = "0db08ri1zixxm8vhcnijv2wpmcyv3bali30a1fx4vmb8d6c1fh35";
- libraryHaskellDepends = [
- base dlist transformers transformers-compat
- ];
- testHaskellDepends = [ base QuickCheck quickcheck-simple ];
- description = "Parser and Printer of PostgreSQL extended types";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "text-postgresql_0_0_3_1" = callPackage
({ mkDerivation, base, dlist, QuickCheck, quickcheck-simple
, transformers, transformers-compat
}:
@@ -203691,7 +203784,6 @@ self: {
testHaskellDepends = [ base QuickCheck quickcheck-simple ];
description = "Parser and Printer of PostgreSQL extended types";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"text-printer" = callPackage
@@ -204269,10 +204361,10 @@ self: {
({ mkDerivation, base, containers, ghc-prim, template-haskell }:
mkDerivation {
pname = "th-abstraction";
- version = "0.2.6.0";
- sha256 = "0g42h6wnj2awc5ryhbvx009wd8w75pn66bjzsq1z4s3xajd2hbp5";
+ version = "0.2.7.0";
+ sha256 = "1233x853gcc18xm0d8ysf7rlkg9aphy2j6hn78yxchalglfwjixf";
revision = "1";
- editedCabalFile = "0k4s4nbg9jlgaza38842jnzs8s01ig85fzmjgd10k9hl02gc3r44";
+ editedCabalFile = "1fafzr80vbnamqq72rwnhk1ih3iyxzb8j2xfdgn691irv4fv6839";
libraryHaskellDepends = [
base containers ghc-prim template-haskell
];
@@ -204281,14 +204373,12 @@ self: {
license = stdenv.lib.licenses.isc;
}) {};
- "th-abstraction_0_2_7_0" = callPackage
+ "th-abstraction_0_2_8_0" = callPackage
({ mkDerivation, base, containers, ghc-prim, template-haskell }:
mkDerivation {
pname = "th-abstraction";
- version = "0.2.7.0";
- sha256 = "1233x853gcc18xm0d8ysf7rlkg9aphy2j6hn78yxchalglfwjixf";
- revision = "1";
- editedCabalFile = "1fafzr80vbnamqq72rwnhk1ih3iyxzb8j2xfdgn691irv4fv6839";
+ version = "0.2.8.0";
+ sha256 = "0n17w4q2ykd0nica4sck2wng6md56rfad8x0icl0l8vnzb9nn4ya";
libraryHaskellDepends = [
base containers ghc-prim template-haskell
];
@@ -204966,6 +205056,17 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
+ "these-skinny" = callPackage
+ ({ mkDerivation, base, deepseq }:
+ mkDerivation {
+ pname = "these-skinny";
+ version = "0.7.4";
+ sha256 = "0hlxf94ir99y0yzm9pq8cvs7vbar4bpj1w1ibs96hrx2biwfbnkr";
+ libraryHaskellDepends = [ base deepseq ];
+ description = "A fork of the 'these' package without the dependency bloat";
+ license = stdenv.lib.licenses.bsd3;
+ }) {};
+
"thespian" = callPackage
({ mkDerivation, base, containers, mtl }:
mkDerivation {
@@ -207279,14 +207380,14 @@ self: {
}) {};
"tomland" = callPackage
- ({ mkDerivation, base, hashable, hedgehog, megaparsec, mtl
- , parser-combinators, tasty, tasty-hedgehog, tasty-hspec, text
- , time, unordered-containers
+ ({ mkDerivation, base, hashable, hedgehog, hspec-megaparsec
+ , megaparsec, mtl, parser-combinators, tasty, tasty-discover
+ , tasty-hedgehog, tasty-hspec, text, time, unordered-containers
}:
mkDerivation {
pname = "tomland";
- version = "0.2.1";
- sha256 = "09d0i1sys7nljbcky53qz4w2ibjyhcysa8ik0drb1pcyqyzppj8x";
+ version = "0.3";
+ sha256 = "0crwapvykd26b50bmh22vxpcv44f1jv88r0ifvr3hjmvv0v43lwh";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
@@ -207295,9 +207396,10 @@ self: {
];
executableHaskellDepends = [ base text time unordered-containers ];
testHaskellDepends = [
- base hedgehog tasty tasty-hedgehog tasty-hspec text
- unordered-containers
+ base hedgehog hspec-megaparsec megaparsec tasty tasty-hedgehog
+ tasty-hspec text time unordered-containers
];
+ testToolDepends = [ tasty-discover ];
description = "TOML parser";
license = stdenv.lib.licenses.mpl20;
}) {};
@@ -209580,29 +209682,6 @@ self: {
}) {};
"turtle" = callPackage
- ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
- , containers, criterion, directory, doctest, exceptions, foldl
- , hostname, managed, optional-args, optparse-applicative, process
- , semigroups, stm, system-fileio, system-filepath, temporary, text
- , time, transformers, unix, unix-compat
- }:
- mkDerivation {
- pname = "turtle";
- version = "1.5.8";
- sha256 = "0vp442byylqki6pabhg8bs27msqsdcwcnql40z003jx1hidccnq4";
- libraryHaskellDepends = [
- ansi-wl-pprint async base bytestring clock containers directory
- exceptions foldl hostname managed optional-args
- optparse-applicative process semigroups stm system-fileio
- system-filepath temporary text time transformers unix unix-compat
- ];
- testHaskellDepends = [ base doctest system-filepath temporary ];
- benchmarkHaskellDepends = [ base criterion text ];
- description = "Shell programming, Haskell-style";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "turtle_1_5_9" = callPackage
({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
, containers, criterion, directory, doctest, exceptions, foldl
, hostname, managed, optional-args, optparse-applicative, process
@@ -209613,6 +209692,8 @@ self: {
pname = "turtle";
version = "1.5.9";
sha256 = "13x2qk8j2qxqqk60y17h7g1p76gj3xxyc4g78mb4d4ajq6smk91x";
+ revision = "1";
+ editedCabalFile = "19mbp8rz9mrc10k5s2n2ihsvk7i7sm19y3xvdy320aajxv7k69hh";
libraryHaskellDepends = [
ansi-wl-pprint async base bytestring clock containers directory
exceptions foldl hostname managed optional-args
@@ -209623,7 +209704,6 @@ self: {
benchmarkHaskellDepends = [ base criterion text ];
description = "Shell programming, Haskell-style";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"turtle-options" = callPackage
@@ -211122,8 +211202,8 @@ self: {
}:
mkDerivation {
pname = "typedquery";
- version = "0.1.0.3";
- sha256 = "0d90zzd1xk8llviknm21ck45gkaawyg7qj4mnf3f5csw66x2isbk";
+ version = "0.1.1.1";
+ sha256 = "1p6hlx2hsp7sjhspw3c95b1px6r2hylr31f4hcjq505z3i33gm7m";
libraryHaskellDepends = [
aeson base bytestring haskell-src-meta parsec template-haskell text
transformers
@@ -211437,31 +211517,6 @@ self: {
}) {};
"ua-parser" = callPackage
- ({ mkDerivation, aeson, base, bytestring, criterion, data-default
- , deepseq, file-embed, filepath, HUnit, pcre-light, tasty
- , tasty-hunit, tasty-quickcheck, text, yaml
- }:
- mkDerivation {
- pname = "ua-parser";
- version = "0.7.4.1";
- sha256 = "1pwls2qbhd3ig2lm4ix3kh08yw20k0iajigbxqd0vmpkx459pmrf";
- enableSeparateDataOutput = true;
- libraryHaskellDepends = [
- aeson base bytestring data-default file-embed pcre-light text yaml
- ];
- testHaskellDepends = [
- aeson base bytestring data-default file-embed filepath HUnit
- pcre-light tasty tasty-hunit tasty-quickcheck text yaml
- ];
- benchmarkHaskellDepends = [
- aeson base bytestring criterion data-default deepseq file-embed
- filepath pcre-light text yaml
- ];
- description = "A library for parsing User-Agent strings, official Haskell port of ua-parser";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "ua-parser_0_7_5_0" = callPackage
({ mkDerivation, aeson, base, bytestring, criterion, data-default
, deepseq, file-embed, filepath, HUnit, pcre-light, tasty
, tasty-hunit, tasty-quickcheck, text, yaml
@@ -211484,7 +211539,6 @@ self: {
];
description = "A library for parsing User-Agent strings, official Haskell port of ua-parser";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"uacpid" = callPackage
@@ -215230,17 +215284,13 @@ self: {
}) {};
"valor" = callPackage
- ({ mkDerivation, base, checkers, hspec, hspec-checkers, QuickCheck
- , text, transformers
- }:
+ ({ mkDerivation, base, hspec, text, transformers }:
mkDerivation {
pname = "valor";
- version = "0.0.0.1";
- sha256 = "1cjkfalsrpw579bg12ldmzjmmkj9l7b35j2vp37qqgd39m1dm29a";
- libraryHaskellDepends = [ base text transformers ];
- testHaskellDepends = [
- base checkers hspec hspec-checkers QuickCheck text transformers
- ];
+ version = "0.1.0.0";
+ sha256 = "1rmsss4zffyzf6vf1p2zj07a6a32pyrbdb259gflr5gg817m3kh4";
+ libraryHaskellDepends = [ base transformers ];
+ testHaskellDepends = [ base hspec text transformers ];
description = "Simple general structured validation library";
license = stdenv.lib.licenses.mit;
}) {};
@@ -220886,24 +220936,6 @@ self: {
}) {};
"wild-bind" = callPackage
- ({ mkDerivation, base, containers, hspec, microlens, QuickCheck
- , semigroups, stm, text, transformers
- }:
- mkDerivation {
- pname = "wild-bind";
- version = "0.1.2.0";
- sha256 = "0c1nb713p11pd89ykwz76i60sk437q9cy48bingiiig1g9dfg3p6";
- libraryHaskellDepends = [
- base containers semigroups text transformers
- ];
- testHaskellDepends = [
- base hspec microlens QuickCheck stm transformers
- ];
- description = "Dynamic key binding framework";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "wild-bind_0_1_2_1" = callPackage
({ mkDerivation, base, containers, hspec, microlens, QuickCheck
, semigroups, stm, text, transformers
}:
@@ -220919,7 +220951,6 @@ self: {
];
description = "Dynamic key binding framework";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"wild-bind-indicator" = callPackage
@@ -220956,25 +220987,6 @@ self: {
}) {};
"wild-bind-x11" = callPackage
- ({ mkDerivation, async, base, containers, fold-debounce, hspec, mtl
- , semigroups, stm, text, time, transformers, wild-bind, X11
- }:
- mkDerivation {
- pname = "wild-bind-x11";
- version = "0.2.0.3";
- sha256 = "0naqmgkqqq83mnrp4ic97i6f6ak3h862jk6pa77c83qmz4ahh4ld";
- libraryHaskellDepends = [
- base containers fold-debounce mtl semigroups stm text transformers
- wild-bind X11
- ];
- testHaskellDepends = [
- async base hspec text time transformers wild-bind X11
- ];
- description = "X11-specific implementation for WildBind";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- "wild-bind-x11_0_2_0_4" = callPackage
({ mkDerivation, async, base, containers, fold-debounce, hspec, mtl
, semigroups, stm, text, time, transformers, wild-bind, X11
}:
@@ -220991,7 +221003,6 @@ self: {
];
description = "X11-specific implementation for WildBind";
license = stdenv.lib.licenses.bsd3;
- hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"wilton-ffi" = callPackage
@@ -225196,6 +225207,35 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {inherit (pkgs) libyaml;};
+ "yaml_0_8_31" = callPackage
+ ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
+ , conduit, containers, directory, filepath, hspec, HUnit, libyaml
+ , mockery, resourcet, scientific, semigroups, template-haskell
+ , temporary, text, transformers, unordered-containers, vector
+ }:
+ mkDerivation {
+ pname = "yaml";
+ version = "0.8.31";
+ sha256 = "1a9b24czyrls3d7lgamm0cmrwkndr8ip3h6d338q79alhdz8ziqm";
+ configureFlags = [ "-fsystem-libyaml" ];
+ isLibrary = true;
+ isExecutable = true;
+ libraryHaskellDepends = [
+ aeson attoparsec base bytestring conduit containers directory
+ filepath resourcet scientific semigroups template-haskell text
+ transformers unordered-containers vector
+ ];
+ libraryPkgconfigDepends = [ libyaml ];
+ testHaskellDepends = [
+ aeson base base-compat bytestring conduit directory hspec HUnit
+ mockery resourcet temporary text transformers unordered-containers
+ vector
+ ];
+ description = "Support for parsing and rendering YAML documents";
+ license = stdenv.lib.licenses.bsd3;
+ hydraPlatforms = stdenv.lib.platforms.none;
+ }) {inherit (pkgs) libyaml;};
+
"yaml-combinators" = callPackage
({ mkDerivation, aeson, base, bytestring, doctest, generics-sop
, scientific, tasty, tasty-hunit, text, transformers
@@ -225266,10 +225306,10 @@ self: {
({ mkDerivation, base, hspec, microlens-platform, rio, yaml }:
mkDerivation {
pname = "yaml-pretty-extras";
- version = "0.0.2.1";
- sha256 = "1xjkfrqip9dfsc964759h11jz8kpza20lcqbvwcw2li93fn5p8y7";
+ version = "0.0.2.2";
+ sha256 = "0pbpwrrbf4ibrid09ypqfz15d0b4kfgfs4ypfdn0bv5n25nn3ca2";
libraryHaskellDepends = [ base microlens-platform rio yaml ];
- testHaskellDepends = [ base hspec microlens-platform rio yaml ];
+ testHaskellDepends = [ base hspec microlens-platform rio ];
description = "Extra functionality for pretty printing Yaml documents";
license = stdenv.lib.licenses.bsd3;
hydraPlatforms = stdenv.lib.platforms.none;
diff --git a/pkgs/development/interpreters/python/cpython/3.7/default.nix b/pkgs/development/interpreters/python/cpython/3.7/default.nix
index 9cc0377f925..410d07ebc61 100644
--- a/pkgs/development/interpreters/python/cpython/3.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.7/default.nix
@@ -80,6 +80,7 @@ in stdenv.mkDerivation {
"--without-ensurepip"
"--with-system-expat"
"--with-system-ffi"
+ "--with-openssl=${openssl.dev}"
];
preConfigure = ''
diff --git a/pkgs/development/interpreters/spidermonkey/1.8.5.nix b/pkgs/development/interpreters/spidermonkey/1.8.5.nix
index 8e51b9b7d58..f333aa0b96d 100644
--- a/pkgs/development/interpreters/spidermonkey/1.8.5.nix
+++ b/pkgs/development/interpreters/spidermonkey/1.8.5.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
patches = [
(fetchpatch {
name = "gcc6.patch";
- url = "https://anonscm.debian.org/cgit/collab-maint/mozjs.git/plain/debian/patches/fix-811665.patch?id=00b15c7841968ab4f7fec409a6b93fa5e1e1d32e";
+ url = "https://sources.debian.org/data/main/m/mozjs/1.8.5-1.0.0+dfsg-6/debian/patches/fix-811665.patch";
sha256 = "1q8477xqxiy5d8376k5902l45gd0qkd4nxmhl8vr6rr1pxfcny99";
})
] ++ stdenv.lib.optionals stdenv.isAarch32 [
diff --git a/pkgs/development/libraries/arb/default.nix b/pkgs/development/libraries/arb/default.nix
index a59641e99d3..ea70e645453 100644
--- a/pkgs/development/libraries/arb/default.nix
+++ b/pkgs/development/libraries/arb/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, mpir, gmp, mpfr, flint}:
+{stdenv, fetchFromGitHub, fetchpatch, mpir, gmp, mpfr, flint}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "arb";
@@ -17,6 +17,14 @@ stdenv.mkDerivation rec {
"--with-flint=${flint}"
];
doCheck = true;
+ patches = [
+ # https://github.com/fredrik-johansson/arb/pull/210, included in next release
+ (fetchpatch {
+ url = "https://patch-diff.githubusercontent.com/raw/fredrik-johansson/arb/pull/210.patch";
+ name = "return-exact-zero-where-possible.patch";
+ sha256 = "01j9npnpmwh4dla9i05qdn606hy34gy9bz7c9bbsqm7az3n7pxjg";
+ })
+ ];
meta = {
inherit version;
description = ''A library for arbitrary-precision interval arithmetic'';
diff --git a/pkgs/development/libraries/audio/rtaudio/default.nix b/pkgs/development/libraries/audio/rtaudio/default.nix
index 1df696c0ec6..7f1e3d941a1 100644
--- a/pkgs/development/libraries/audio/rtaudio/default.nix
+++ b/pkgs/development/libraries/audio/rtaudio/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "0jkqnhc2pq31nmq4daxhmqdjgv2qi4ib27hwms2r5zhnmvvzlr67";
};
+ enableParallelBuilding = true;
+
buildInputs = [ autoconf automake libtool libjack2 alsaLib rtmidi ];
preConfigure = ''
diff --git a/pkgs/development/libraries/audio/rtmidi/default.nix b/pkgs/development/libraries/audio/rtmidi/default.nix
index 022c5504596..0f3f1fce42b 100644
--- a/pkgs/development/libraries/audio/rtmidi/default.nix
+++ b/pkgs/development/libraries/audio/rtmidi/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "11pl45lp8sq5xkpipwk622w508nw0qcxr03ibicqn1lsws0hva96";
};
+ enableParallelBuilding = true;
+
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ autoconf automake libtool libjack2 alsaLib ];
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 00c6d279c7a..34e837f7cd2 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -9,8 +9,8 @@
, enableMultiThreaded ? true
, enableShared ? !(hostPlatform.libc == "msvcrt") # problems for now
, enableStatic ? !enableShared
-, enablePython ? hostPlatform == buildPlatform
-, enableNumpy ? enablePython && stdenv.lib.versionAtLeast version "1.65"
+, enablePython ? false
+, enableNumpy ? false
, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
, patches ? []
, mpi ? null
diff --git a/pkgs/development/libraries/libgap/default.nix b/pkgs/development/libraries/libgap/default.nix
index dec9676d572..42e812ec1f5 100644
--- a/pkgs/development/libraries/libgap/default.nix
+++ b/pkgs/development/libraries/libgap/default.nix
@@ -1,10 +1,17 @@
-{stdenv, fetchurl, gmp}:
+{ stdenv
+, fetchurl
+, gmp
+}:
+# will probably be obsolte (or at leat built from the upstream gap sources) soon (gap 4.9?). See
+# - https://github.com/gap-system/gap/projects/5#card-6239828
+# - https://github.com/markuspf/gap/issues/2
+# - https://trac.sagemath.org/ticket/22626
stdenv.mkDerivation rec {
name = "libgap-${version}";
+ # Has to be the same version as "gap"
version = "4.8.6";
- # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
src = fetchurl {
- url = "http://mirrors.mit.edu/sage/spkg/upstream/libgap/libgap-${version}.tar.gz";
+ url = "mirror://sageupstream/libgap/libgap-${version}.tar.gz";
sha256 = "1h5fx5a55857w583ql7ly2jl49qyx9mvs7j5abys00ra9gzrpn5v";
};
buildInputs = [gmp];
diff --git a/pkgs/development/libraries/libguestfs/default.nix b/pkgs/development/libraries/libguestfs/default.nix
index 106de68d367..7569f2613bb 100644
--- a/pkgs/development/libraries/libguestfs/default.nix
+++ b/pkgs/development/libraries/libguestfs/default.nix
@@ -11,11 +11,11 @@ assert javaSupport -> jdk != null;
stdenv.mkDerivation rec {
name = "libguestfs-${version}";
- version = "1.38.0";
+ version = "1.38.2";
src = fetchurl {
url = "http://libguestfs.org/download/1.38-stable/libguestfs-${version}.tar.gz";
- sha256 = "0cgapiad3x5ggwm097mq62hng3bv91p5gmrikrb6adfaasr1l6m3";
+ sha256 = "16v2lpi9c0vnic2x0vpszmckh0x39bmf6x7y00vvzbwhszshxx3w";
};
nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libsidplayfp/default.nix b/pkgs/development/libraries/libsidplayfp/default.nix
index 78e7036bdcc..82caacf93e6 100644
--- a/pkgs/development/libraries/libsidplayfp/default.nix
+++ b/pkgs/development/libraries/libsidplayfp/default.nix
@@ -7,13 +7,13 @@ stdenv.mkDerivation rec {
pname = "libsidplayfp";
major = "1";
minor = "8";
- level = "6";
+ level = "7";
version = "${major}.${minor}.${level}";
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://sourceforge/sidplay-residfp/${pname}/${major}.${minor}/${name}.tar.gz";
- sha256 = "0lzivfdq0crmfr01c6f5h883yr7wvagq198xkk3srdmvshhxmwnw";
+ sha256 = "14k1sbdcbhykwfcadq5lbpnm9xp2r7vs7fyi84h72g89y8pjg0da";
};
nativeBuildInputs = [ pkgconfig ]
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index d0b2d79e9fa..1cc42613859 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -4,6 +4,9 @@
let
version = "1.1.7";
formattedVersion = lib.replaceChars ["."] ["_"] version;
+
+ boostPython = boost.override { enablePython = true; };
+
in stdenv.mkDerivation {
name = "libtorrent-rasterbar-${version}";
@@ -27,15 +30,15 @@ in stdenv.mkDerivation {
enableParallelBuilding = true;
nativeBuildInputs = [ automake autoconf libtool pkgconfig ];
- buildInputs = [ boost openssl zlib python libiconv geoip ];
+ buildInputs = [ boostPython openssl zlib python libiconv geoip ];
preConfigure = "./autotool.sh";
configureFlags = [
"--enable-python-binding"
"--with-libgeoip=system"
"--with-libiconv=yes"
- "--with-boost=${boost.dev}"
- "--with-boost-libdir=${boost.out}/lib"
+ "--with-boost=${boostPython.dev}"
+ "--with-boost-libdir=${boostPython.out}/lib"
"--with-libiconv=yes"
];
diff --git a/pkgs/development/libraries/linbox/default.nix b/pkgs/development/libraries/linbox/default.nix
index 0f5442bd63b..c4ff0e892a8 100644
--- a/pkgs/development/libraries/linbox/default.nix
+++ b/pkgs/development/libraries/linbox/default.nix
@@ -5,7 +5,6 @@
, givaro
, pkgconfig
, openblas
-, liblapack
, fflas-ffpack
, gmpxx
, optimize ? false # impure
@@ -30,7 +29,6 @@ stdenv.mkDerivation rec {
buildInputs = [
givaro
- (liblapack.override {shared = true;})
openblas
gmpxx
fflas-ffpack
@@ -38,7 +36,6 @@ stdenv.mkDerivation rec {
configureFlags = [
"--with-blas-libs=-lopenblas"
- "--with-lapack-libs=-llapack"
"--disable-optimization"
] ++ stdenv.lib.optionals (!optimize) [
# disable SIMD instructions (which are enabled *when available* by default)
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index bfc94e1fac8..f8a17c9f5c3 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -8,7 +8,7 @@
}:
let # beware: updates often break cups-filters build
- version = "0.65.0";
+ version = "0.66.0";
mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
in
stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "${meta.homepage}/poppler-${version}.tar.xz";
- sha256 = "01wgvpi1l7nqkvixnmhmlpld0fjryhl7rlwvba6agz9yz1rwzj49";
+ sha256 = "1rzar5f27xzkjih07yi8kxcinvk4ny4nhimyacpvqx7vmlqn829c";
};
outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/science/math/lcalc/default.nix b/pkgs/development/libraries/science/math/lcalc/default.nix
index 90393cff001..6bbd43b0c84 100644
--- a/pkgs/development/libraries/science/math/lcalc/default.nix
+++ b/pkgs/development/libraries/science/math/lcalc/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
# original at http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/CODE/L-${version}.tar.gz, no longer available
# "newer" version at google code https://code.google.com/archive/p/l-calc/source/default/source
- url = "http://mirrors.mit.edu/sage/spkg/upstream/lcalc/lcalc-${version}.tar.bz2";
+ url = "mirror://sageupstream/lcalc/lcalc-${version}.tar.bz2";
sha256 = "1c6dsdshgxhqppjxvxhp8yhpxaqvnz3d1mlh26r571gkq8z2bm43";
};
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index bd095a11f08..fc8f11f2f11 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -76,14 +76,13 @@ let
if blas64_ != null
then blas64_
else hasPrefix "x86_64" stdenv.system;
-
- version = "0.3.0";
in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
name = "openblas-${version}";
+ version = "0.3.1";
src = fetchurl {
url = "https://github.com/xianyi/OpenBLAS/archive/v${version}.tar.gz";
- sha256 = "18giv3lsh8cva01z4rhsx8jvgliknni0jp7vxkc69qxb14vm8lfg";
+ sha256 = "0czbs2afmcxxij1ivqrm04p0qcksg5fravjifhydvb7k6mpraphz";
name = "openblas-${version}.tar.gz";
};
diff --git a/pkgs/development/libraries/science/math/rankwidth/default.nix b/pkgs/development/libraries/science/math/rankwidth/default.nix
index f38fce5831e..fda54fe44ab 100644
--- a/pkgs/development/libraries/science/math/rankwidth/default.nix
+++ b/pkgs/development/libraries/science/math/rankwidth/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
- url = "http://mirrors.mit.edu/sage/spkg/upstream/rw/rw-${version}.tar.gz";
+ url = "mirror://sageupstream/rw/rw-${version}.tar.gz";
sha256 = "1rv2v42x2506x7f10349m1wpmmfxrv9l032bkminni2gbip9cjg0";
};
diff --git a/pkgs/development/libraries/science/math/rubiks/default.nix b/pkgs/development/libraries/science/math/rubiks/default.nix
index fe448106b15..624885c501a 100644
--- a/pkgs/development/libraries/science/math/rubiks/default.nix
+++ b/pkgs/development/libraries/science/math/rubiks/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
- url = "http://mirrors.mit.edu/sage/spkg/upstream/rubiks/rubiks-${version}.tar.bz2";
+ url = "mirror://sageupstream/rubiks/rubiks-${version}.tar.bz2";
sha256 = "0zdmkb0j1kyspdpsszzb2k3279xij79jkx0dxd9f3ix1yyyg3yfq";
};
diff --git a/pkgs/development/libraries/science/math/sympow/default.nix b/pkgs/development/libraries/science/math/sympow/default.nix
index c83b3d1737c..c34701e3f91 100644
--- a/pkgs/development/libraries/science/math/sympow/default.nix
+++ b/pkgs/development/libraries/science/math/sympow/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
# Original website no longer reachable
- url = "http://mirrors.mit.edu/sage/spkg/upstream/sympow/sympow-${version}.tar.bz2";
+ url = "mirror://sageupstream/sympow/sympow-${version}.tar.bz2";
sha256 = "0hphs7ia1wr5mydf288zvwj4svrymfpadcg3pi6w80km2yg5bm3c";
};
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
- install -d datafiles "$out/share/sympow/datafiles"
+ install -D datafiles/* --target-directory "$out/share/sympow/datafiles/"
install *.gp "$out/share/sympow/"
install -Dm755 sympow "$out/share/sympow/sympow"
install -D new_data "$out/bin/new_data"
diff --git a/pkgs/development/libraries/tachyon/default.nix b/pkgs/development/libraries/tachyon/default.nix
index 53e48eb8931..0185bd2733b 100644
--- a/pkgs/development/libraries/tachyon/default.nix
+++ b/pkgs/development/libraries/tachyon/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
arch = if stdenv.system == "x86_64-linux" then "linux-64-thr" else
if stdenv.system == "i686-linux" then "linux-thr" else
if stdenv.system == "aarch64-linux" then "linux-arm-thr" else
+ if stdenv.system == "armv7l-linux" then "linux-arm-thr" else
if stdenv.system == "x86_64-darwin" then "macosx-thr" else
if stdenv.system == "i686-darwin" then "macosx-64-thr" else
if stdenv.system == "i686-cygwin" then "win32" else
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index 47686451eee..2b69f6283d6 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "wolfssl-${version}";
- version = "3.15.0";
+ version = "3.15.3";
src = fetchFromGitHub {
owner = "wolfSSL";
repo = "wolfssl";
rev = "v${version}-stable";
- sha256 = "1jqhq0dl2zxks7dm6g3dm1zvrl646ab073kgg8ypv19nkd5cvbdv";
+ sha256 = "00mpq1z8j37a873dbk9knb835m3qlwqnd1rslirqkc44hpz1i64j";
};
outputs = [ "out" "dev" "doc" "lib" ];
diff --git a/pkgs/development/node-packages/composition-v10.nix b/pkgs/development/node-packages/composition-v10.nix
new file mode 100644
index 00000000000..9f723a6da47
--- /dev/null
+++ b/pkgs/development/node-packages/composition-v10.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.6.0. Do not edit!
+
+{pkgs ? import {
+ inherit system;
+ }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
+
+let
+ nodeEnv = import ./node-env.nix {
+ inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+ inherit nodejs;
+ libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+ };
+in
+import ./node-packages-v10.nix {
+ inherit (pkgs) fetchurl fetchgit;
+ inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/pkgs/development/node-packages/default-v10.nix b/pkgs/development/node-packages/default-v10.nix
new file mode 100644
index 00000000000..9bdba59b535
--- /dev/null
+++ b/pkgs/development/node-packages/default-v10.nix
@@ -0,0 +1,8 @@
+{pkgs, system, nodejs, stdenv}:
+
+let
+ nodePackages = import ./composition-v10.nix {
+ inherit pkgs system nodejs;
+ };
+in
+nodePackages
diff --git a/pkgs/development/node-packages/generate.sh b/pkgs/development/node-packages/generate.sh
index c3aa741ef80..b34b024f6a2 100755
--- a/pkgs/development/node-packages/generate.sh
+++ b/pkgs/development/node-packages/generate.sh
@@ -4,3 +4,4 @@
rm -f node-env.nix
node2nix -6 -i node-packages-v6.json -o node-packages-v6.nix -c composition-v6.nix
node2nix -8 -i node-packages-v8.json -o node-packages-v8.nix -c composition-v8.nix
+node2nix --nodejs-10 -i node-packages-v10.json -o node-packages-v10.nix -c composition-v10.nix
diff --git a/pkgs/development/node-packages/node-packages-v10.json b/pkgs/development/node-packages/node-packages-v10.json
new file mode 100644
index 00000000000..a298a6b9522
--- /dev/null
+++ b/pkgs/development/node-packages/node-packages-v10.json
@@ -0,0 +1,5 @@
+[
+ "bower"
+, "coffee-script"
+, "grunt-cli"
+]
diff --git a/pkgs/development/node-packages/node-packages-v10.nix b/pkgs/development/node-packages/node-packages-v10.nix
new file mode 100644
index 00000000000..45b69832043
--- /dev/null
+++ b/pkgs/development/node-packages/node-packages-v10.nix
@@ -0,0 +1,213 @@
+# This file has been generated by node2nix 1.6.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+ sources = {
+ "abbrev-1.1.1" = {
+ name = "abbrev";
+ packageName = "abbrev";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
+ sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
+ };
+ };
+ "balanced-match-1.0.0" = {
+ name = "balanced-match";
+ packageName = "balanced-match";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+ sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+ };
+ };
+ "brace-expansion-1.1.11" = {
+ name = "brace-expansion";
+ packageName = "brace-expansion";
+ version = "1.1.11";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
+ sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
+ };
+ };
+ "concat-map-0.0.1" = {
+ name = "concat-map";
+ packageName = "concat-map";
+ version = "0.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+ sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+ };
+ };
+ "findup-sync-0.3.0" = {
+ name = "findup-sync";
+ packageName = "findup-sync";
+ version = "0.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz";
+ sha1 = "37930aa5d816b777c03445e1966cc6790a4c0b16";
+ };
+ };
+ "glob-5.0.15" = {
+ name = "glob";
+ packageName = "glob";
+ version = "5.0.15";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz";
+ sha1 = "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1";
+ };
+ };
+ "grunt-known-options-1.1.0" = {
+ name = "grunt-known-options";
+ packageName = "grunt-known-options";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz";
+ sha1 = "a4274eeb32fa765da5a7a3b1712617ce3b144149";
+ };
+ };
+ "inflight-1.0.6" = {
+ name = "inflight";
+ packageName = "inflight";
+ version = "1.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+ sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+ };
+ };
+ "inherits-2.0.3" = {
+ name = "inherits";
+ packageName = "inherits";
+ version = "2.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+ sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+ };
+ };
+ "minimatch-3.0.4" = {
+ name = "minimatch";
+ packageName = "minimatch";
+ version = "3.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+ sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+ };
+ };
+ "nopt-3.0.6" = {
+ name = "nopt";
+ packageName = "nopt";
+ version = "3.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
+ sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+ };
+ };
+ "once-1.4.0" = {
+ name = "once";
+ packageName = "once";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+ sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+ };
+ };
+ "path-is-absolute-1.0.1" = {
+ name = "path-is-absolute";
+ packageName = "path-is-absolute";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+ sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+ };
+ };
+ "resolve-1.1.7" = {
+ name = "resolve";
+ packageName = "resolve";
+ version = "1.1.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";
+ sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+ };
+ };
+ "wrappy-1.0.2" = {
+ name = "wrappy";
+ packageName = "wrappy";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+ sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+ };
+ };
+ };
+in
+{
+ bower = nodeEnv.buildNodePackage {
+ name = "bower";
+ packageName = "bower";
+ version = "1.8.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz";
+ sha1 = "e7876a076deb8137f7d06525dc5e8c66db82f28a";
+ };
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "The browser package manager";
+ homepage = http://bower.io/;
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ };
+ coffee-script = nodeEnv.buildNodePackage {
+ name = "coffee-script";
+ packageName = "coffee-script";
+ version = "1.12.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz";
+ sha512 = "fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==";
+ };
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Unfancy JavaScript";
+ homepage = http://coffeescript.org/;
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ };
+ grunt-cli = nodeEnv.buildNodePackage {
+ name = "grunt-cli";
+ packageName = "grunt-cli";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz";
+ sha1 = "562b119ebb069ddb464ace2845501be97b35b6a8";
+ };
+ dependencies = [
+ sources."abbrev-1.1.1"
+ sources."balanced-match-1.0.0"
+ sources."brace-expansion-1.1.11"
+ sources."concat-map-0.0.1"
+ sources."findup-sync-0.3.0"
+ sources."glob-5.0.15"
+ sources."grunt-known-options-1.1.0"
+ sources."inflight-1.0.6"
+ sources."inherits-2.0.3"
+ sources."minimatch-3.0.4"
+ sources."nopt-3.0.6"
+ sources."once-1.4.0"
+ sources."path-is-absolute-1.0.1"
+ sources."resolve-1.1.7"
+ sources."wrappy-1.0.2"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "The grunt command line interface";
+ homepage = "https://github.com/gruntjs/grunt-cli#readme";
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/aioimaplib/default.nix b/pkgs/development/python-modules/aioimaplib/default.nix
index d335cbc556c..59401269393 100644
--- a/pkgs/development/python-modules/aioimaplib/default.nix
+++ b/pkgs/development/python-modules/aioimaplib/default.nix
@@ -1,21 +1,24 @@
{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
-, nose, asynctest, mock, pytz, tzlocal, imaplib2, docutils }:
+, nose, asynctest, mock, pytz, tzlocal, imaplib2, docutils, pyopenssl }:
buildPythonPackage rec {
pname = "aioimaplib";
- version = "0.7.13";
+ version = "0.7.14";
# PyPI tarball doesn't ship tests
src = fetchFromGitHub {
owner = "bamthomas";
repo = pname;
rev = version;
- sha256 = "19yhk4ixfw46d0bvx6a40r23nvia5a83dzn5rzwaq1wdjr186bbn";
+ sha256 = "150v3czh53sqakfqgjyj1w39mdfcxmpnrk2pbmq63jkq7r6njl0l";
};
- disbaled = pythonOlder "3.4";
+ disabled = pythonOlder "3.4";
- checkInputs = [ nose asynctest mock pytz tzlocal imaplib2 docutils ];
+ checkInputs = [ nose asynctest mock pytz tzlocal imaplib2 docutils pyopenssl ];
+
+ # https://github.com/bamthomas/aioimaplib/issues/35
+ doCheck = false;
meta = with lib; {
description = "Python asyncio IMAP4rev1 client library";
diff --git a/pkgs/development/python-modules/asynctest/default.nix b/pkgs/development/python-modules/asynctest/default.nix
index a0f408764a0..0004badd6f4 100644
--- a/pkgs/development/python-modules/asynctest/default.nix
+++ b/pkgs/development/python-modules/asynctest/default.nix
@@ -2,16 +2,13 @@
buildPythonPackage rec {
pname = "asynctest";
- version = "0.12.0";
+ version = "0.12.2";
disabled = pythonOlder "3.4";
- # PyPI tarball doesn't ship test/__init__.py
- src = fetchFromGitHub {
- owner = "Martiusweb";
- repo = pname;
- rev = "v${version}";
- sha256 = "0rcb3kz2m0iwvgxpx2avfz9cqsd9xbaq93zykr2fki3ikmnp3vyg";
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "77520850ae21620ec31738f4a7b467acaa44de6d3752d8ac7a9f4dcf55d77853";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/cysignals/default.nix b/pkgs/development/python-modules/cysignals/default.nix
index 56d997c6b32..dc88c4d94f7 100644
--- a/pkgs/development/python-modules/cysignals/default.nix
+++ b/pkgs/development/python-modules/cysignals/default.nix
@@ -2,9 +2,11 @@
, fetchPypi
, buildPythonPackage
, cython
-, sphinx
+, pariSupport ? true, pari # for interfacing with the PARI/GP signal handler
}:
+assert pariSupport -> pari != null;
+
buildPythonPackage rec {
pname = "cysignals";
version = "1.7.1";
@@ -14,6 +16,8 @@ buildPythonPackage rec {
sha256 = "15nky8siwlc7s8v23vv4m0mnxa1z6jcs2qfr26m2mkw9j9g2na2j";
};
+ # explicit check:
+ # build/src/cysignals/implementation.c:27:2: error: #error "cysignals must be compiled without _FORTIFY_SOURCE"
hardeningDisable = [
"fortify"
];
@@ -26,6 +30,10 @@ buildPythonPackage rec {
export PATH="$out/bin:$PATH"
'';
+ buildInputs = lib.optionals pariSupport [
+ pari
+ ];
+
propagatedBuildInputs = [
cython
];
diff --git a/pkgs/development/python-modules/django-allauth/default.nix b/pkgs/development/python-modules/django-allauth/default.nix
index e49d8c6ff84..775660b8304 100644
--- a/pkgs/development/python-modules/django-allauth/default.nix
+++ b/pkgs/development/python-modules/django-allauth/default.nix
@@ -1,5 +1,5 @@
{ stdenv, buildPythonPackage, fetchFromGitHub, requests, requests_oauthlib
-, django, python-openid, mock, coverage }:
+, django, python3-openid, mock, coverage }:
buildPythonPackage rec {
pname = "django-allauth";
@@ -13,7 +13,7 @@ buildPythonPackage rec {
sha256 = "1c863cmd521j6cwpyd50jxz5y62fdschrhm15jfqihicyr9imjan";
};
- propagatedBuildInputs = [ requests requests_oauthlib django python-openid ];
+ propagatedBuildInputs = [ requests requests_oauthlib django python3-openid ];
checkInputs = [ coverage mock ];
diff --git a/pkgs/development/python-modules/fido2/default.nix b/pkgs/development/python-modules/fido2/default.nix
new file mode 100644
index 00000000000..3642d4e55b9
--- /dev/null
+++ b/pkgs/development/python-modules/fido2/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, six, cryptography }:
+
+buildPythonPackage rec {
+ pname = "fido2";
+ version = "0.3.0";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "0ddbhg4nsabi9w66l8vkr0i5r80jqihlic5yrdl3v1aqahvxph1j";
+ };
+
+ # The pypi package does not include tests
+ # Check https://github.com/Yubico/python-fido2/pull/8
+ doCheck = false;
+
+ propagatedBuildInputs = [ six cryptography ];
+
+ meta = with lib; {
+ description = "Provides library functionality for FIDO 2.0, including communication with a device over USB.";
+ homepage = https://github.com/Yubico/python-fido2;
+ license = licenses.mpl20;
+ };
+}
diff --git a/pkgs/development/python-modules/flask-autoindex/default.nix b/pkgs/development/python-modules/flask-autoindex/default.nix
index 95e457de81d..f36d7fbca1c 100644
--- a/pkgs/development/python-modules/flask-autoindex/default.nix
+++ b/pkgs/development/python-modules/flask-autoindex/default.nix
@@ -1,7 +1,6 @@
{ stdenv
, buildPythonPackage
-, fetchpatch
-, fetchPypi
+, fetchFromGitHub
, flask
, flask-silk
, future
@@ -9,11 +8,16 @@
buildPythonPackage rec {
pname = "Flask-AutoIndex";
- version = "0.6";
+ version = "2018-06-28";
- src = fetchPypi {
- inherit pname version;
- sha256 = "19b10mb1nrqfjyafki6wnrbn8mqi30bbyyiyvp5xssc74pciyfqs";
+ # master fixes various issues (binary generation, flask syntax) and has no
+ # major changes
+ # new release requested: https://github.com/sublee/flask-autoindex/issues/38
+ src = fetchFromGitHub {
+ owner = "sublee";
+ repo = "flask-autoindex";
+ rev = "e3d449a89d56bf4c171c7c8d90af028e579782cf";
+ sha256 = "0bwq2nid4h8vrxspggk064vra4wd804cl2ryyx4j2d1dyywmgjgy";
};
propagatedBuildInputs = [
@@ -22,15 +26,6 @@ buildPythonPackage rec {
future
];
- patches = [
- # fix generated binary, see https://github.com/sublee/flask-autoindex/pull/32
- (fetchpatch {
- name = "fix_binary.patch";
- url = "https://github.com/sublee/flask-autoindex/pull/32.patch";
- sha256 = "1v2r0wvi7prhipjq89774svv6aqj0a13mdfj07pdlkpzfbf029dn";
- })
- ];
-
meta = with stdenv.lib; {
description = "The mod_autoindex for Flask";
longDescription = ''
diff --git a/pkgs/development/python-modules/flask-silk/default.nix b/pkgs/development/python-modules/flask-silk/default.nix
index e494f22a476..edc873458a1 100644
--- a/pkgs/development/python-modules/flask-silk/default.nix
+++ b/pkgs/development/python-modules/flask-silk/default.nix
@@ -1,16 +1,20 @@
{ stdenv
, buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
, flask
}:
buildPythonPackage rec {
pname = "Flask-Silk";
- version = "0.2";
+ version = "2018-06-28";
- src = fetchPypi {
- inherit pname version;
- sha256 = "1gjzighx4f0w39sq9xvzr1kwb4y7yv9qrgzvli1p89gy16piz8l0";
+ # master fixes flask import syntax and has no major changes
+ # new release requested: https://github.com/sublee/flask-silk/pull/6
+ src = fetchFromGitHub {
+ owner = "sublee";
+ repo = "flask-silk";
+ rev = "3a8166550f9a0ec52edae7bf31d9818c4c15c531";
+ sha256 = "0mplziqw52jfspas6vsm210lmxqqzgj0dxm8y0i3gpbyyykwcmh0";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/langcodes/default.nix b/pkgs/development/python-modules/langcodes/default.nix
index d1d25f5407c..d73940e56a6 100644
--- a/pkgs/development/python-modules/langcodes/default.nix
+++ b/pkgs/development/python-modules/langcodes/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "A toolkit for working with and comparing the standardized codes for languages, such as ‘en’ for English or ‘es’ for Spanish";
- homepage = http://github.com/LuminosoInsight/langcodes;
+ homepage = https://github.com/LuminosoInsight/langcodes;
license = licenses.mit;
maintainers = with maintainers; [ ixxie ];
};
diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix
index 9fd050ac35e..8b321b911cc 100644
--- a/pkgs/development/python-modules/lxml/default.nix
+++ b/pkgs/development/python-modules/lxml/default.nix
@@ -20,8 +20,8 @@ buildPythonPackage rec {
meta = {
description = "Pythonic binding for the libxml2 and libxslt libraries";
- homepage = http://lxml.de;
+ homepage = https://lxml.de;
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ sjourdois ];
};
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/pendulum/default.nix b/pkgs/development/python-modules/pendulum/default.nix
index 58193590308..5368a4f878e 100644
--- a/pkgs/development/python-modules/pendulum/default.nix
+++ b/pkgs/development/python-modules/pendulum/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchPypi, buildPythonPackage, dateutil, pytzdata, tzlocal }:
+{ lib, fetchPypi, buildPythonPackage, pythonOlder
+, dateutil, pytzdata, typing }:
buildPythonPackage rec {
pname = "pendulum";
@@ -9,12 +10,12 @@ buildPythonPackage rec {
sha256 = "544e44d8a92954e5ef4db4fa8b662d3282f2ac7b7c2cbf4227dc193ba78b9e1e";
};
- propagatedBuildInputs = [ dateutil pytzdata tzlocal ];
+ propagatedBuildInputs = [ dateutil pytzdata ] ++ lib.optional (pythonOlder "3.5") typing;
# No tests
doCheck = false;
- meta = with stdenv.lib; {
+ meta = with lib; {
description = "Python datetimes made easy";
homepage = https://github.com/sdispater/pendulum;
license = licenses.mit;
diff --git a/pkgs/development/python-modules/pybrowserid/default.nix b/pkgs/development/python-modules/pybrowserid/default.nix
new file mode 100644
index 00000000000..946fb1a054f
--- /dev/null
+++ b/pkgs/development/python-modules/pybrowserid/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, requests, mock }:
+
+buildPythonPackage rec {
+ pname = "PyBrowserID";
+ version = "0.14.0";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "1qvi79kfb8x9kxkm5lw2mp42hm82cpps1xknmsb5ghkwx1lpc8kc";
+ };
+
+ propagatedBuildInputs = [ requests ];
+
+ checkInputs = [ mock ];
+
+ meta = with stdenv.lib; {
+ description = "Python library for the BrowserID Protocol";
+ homepage = https://github.com/mozilla/PyBrowserID;
+ license = licenses.mpl20;
+ maintainers = with maintainers; [ worldofpeace ];
+ };
+}
+
diff --git a/pkgs/development/python-modules/pymc3/default.nix b/pkgs/development/python-modules/pymc3/default.nix
index 015233fba8e..a0dd6113b75 100644
--- a/pkgs/development/python-modules/pymc3/default.nix
+++ b/pkgs/development/python-modules/pymc3/default.nix
@@ -57,7 +57,7 @@ buildPythonPackage rec {
meta = {
description = "Bayesian estimation, particularly using Markov chain Monte Carlo (MCMC)";
- homepage = http://github.com/pymc-devs/pymc3;
+ homepage = https://github.com/pymc-devs/pymc3;
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ilya-kolpakov ];
};
diff --git a/pkgs/development/python-modules/pytest-httpbin/default.nix b/pkgs/development/python-modules/pytest-httpbin/default.nix
index cfa24fdfe52..e0be487e86d 100644
--- a/pkgs/development/python-modules/pytest-httpbin/default.nix
+++ b/pkgs/development/python-modules/pytest-httpbin/default.nix
@@ -28,6 +28,9 @@ buildPythonPackage rec {
py.test
'';
+ # https://github.com/kevin1024/pytest-httpbin/pull/51
+ doCheck = false;
+
meta = {
description = "Easily test your HTTP library against a local copy of httpbin.org";
homepage = https://github.com/kevin1024/pytest-httpbin;
diff --git a/pkgs/development/python-modules/python-openid/default.nix b/pkgs/development/python-modules/python-openid/default.nix
deleted file mode 100644
index b70d9a1f082..00000000000
--- a/pkgs/development/python-modules/python-openid/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
-
-buildPythonPackage rec {
- pname = "python-openid";
- version = "2.2.5";
-
- src = fetchPypi {
- inherit pname version;
- sha256 = "1vvhxlghjan01snfdc4k7ykd80vkyjgizwgg9bncnin8rqz1ricj";
- };
-
- doCheck = false;
-
- meta = with stdenv.lib; {
- description = "OpenID support for modern servers and consumers";
- homepage = https://github.com/openid/python-openid;
- license = licenses.asl20;
- };
-}
diff --git a/pkgs/development/python-modules/python3-openid/default.nix b/pkgs/development/python-modules/python3-openid/default.nix
index 77181fa4ae5..d0b10c42d01 100644
--- a/pkgs/development/python-modules/python3-openid/default.nix
+++ b/pkgs/development/python-modules/python3-openid/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, defusedxml }:
+{ stdenv, isPy3k, buildPythonPackage, fetchPypi, defusedxml }:
buildPythonPackage rec {
pname = "python3-openid";
@@ -13,9 +13,11 @@ buildPythonPackage rec {
doCheck = false;
+ disabled = !isPy3k;
+
meta = with stdenv.lib; {
description = "OpenID support for modern servers and consumers";
- homepage = http://github.com/necaris/python3-openid;
+ homepage = https://github.com/necaris/python3-openid;
license = licenses.asl20;
};
}
diff --git a/pkgs/development/python-modules/soco/default.nix b/pkgs/development/python-modules/soco/default.nix
new file mode 100644
index 00000000000..152a61bbf1d
--- /dev/null
+++ b/pkgs/development/python-modules/soco/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, fetchPypi, xmltodict, requests
+
+# Test dependencies
+, pytest, pytestcov, coveralls, pylint, flake8, graphviz, mock, sphinx
+, sphinx_rtd_theme
+}:
+
+buildPythonPackage rec {
+ pname = "soco";
+ version = "0.15";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "18bxpbd7l9gns0jpvx09z023kbbz7b6i4f99i8silsb1jv682kg0";
+ };
+
+ propagatedBuildInputs = [ xmltodict requests ];
+ checkInputs = [
+ pytest pytestcov coveralls pylint flake8 graphviz mock sphinx
+ sphinx_rtd_theme
+ ];
+
+ meta = {
+ homepage = http://python-soco.com/;
+ description = "A CLI and library to control Sonos speakers";
+ license = lib.licenses.mit;
+ };
+}
diff --git a/pkgs/development/python-modules/sympy/default.nix b/pkgs/development/python-modules/sympy/default.nix
index 67c799e554e..f41f2e7b4fa 100644
--- a/pkgs/development/python-modules/sympy/default.nix
+++ b/pkgs/development/python-modules/sympy/default.nix
@@ -1,6 +1,7 @@
{ lib
, buildPythonPackage
, fetchPypi
+, fetchpatch
, glibcLocales
, mpmath
}:
@@ -25,10 +26,26 @@ buildPythonPackage rec {
export LANG="en_US.UTF-8"
'';
+ patches = [
+ # see https://trac.sagemath.org/ticket/20204 and https://github.com/sympy/sympy/issues/12825
+ # There is also an upstream patch for this, included in the next release (PR #128826).
+ # However that doesn't quite fix the issue yet. Apparently some changes by sage are required.
+ # TODO re-evaluate the change once a new sympy version is released (open a sage trac ticket about
+ # it).
+ (fetchpatch {
+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympy/patches/03_undeffun_sage.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+ sha256 = "1mh2va1rlgizgvx8yzqwgvbf5wvswarn511002b361mc8yy0bnhr";
+ })
+ (fetchpatch {
+ url = "https://github.com/sympy/sympy/pull/13276.patch";
+ sha256 = "1rz74b5c74vwh3pj9axxgh610i02l3555vvsvr4a15ya7siw7zxh";
+ })
+ ];
+
meta = {
description = "A Python library for symbolic mathematics";
homepage = http://www.sympy.org/;
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ lovek323 ];
};
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/twisted/default.nix b/pkgs/development/python-modules/twisted/default.nix
index 6d72e234ddc..14ccac5690b 100644
--- a/pkgs/development/python-modules/twisted/default.nix
+++ b/pkgs/development/python-modules/twisted/default.nix
@@ -17,6 +17,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
+ extension = "tar.bz2";
sha256 = "a4cc164a781859c74de47f17f0e85f4bce8a3321a9d0892c015c8f80c4158ad9";
};
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index da60b77934b..34b9e53f6e4 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,17 +1,19 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
- version = "8.10.1";
+ version = "8.11";
name = "checkstyle-${version}";
src = fetchurl {
- url = "mirror://sourceforge/checkstyle/${name}-bin.tar.gz";
- sha256 = "18i1a6v9dg08in68g584y7bhf76g59pp8lyixqc3v6wgj3ksv8q9";
+ url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
+ sha256 = "13x4m4rn7rix64baclcm2jqbizkj38njif2ba0ycmvyjm62smfwv";
};
+ phases = [ "installPhase" ];
+
installPhase = ''
mkdir -p $out/checkstyle
- cp -R * $out/checkstyle
+ cp $src $out/checkstyle/checkstyle-all.jar
'';
meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index e738d30543e..78dd5778962 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "pmd-${version}";
- version = "6.4.0";
+ version = "6.5.0";
buildInputs = [ unzip ];
src = fetchurl {
url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
- sha256 = "17yjjmqcn1fy3bj73nh5i84yc7wappza612a0iwg0lqqn4yl7lyn";
+ sha256 = "10jdgps1ikx75ljp2gi76ff7payg28pmiy5y3vp17gg47mv991aw";
};
installPhase = ''
diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix
index 2f4daa2edc8..c5ab3fafc5e 100644
--- a/pkgs/development/tools/build-managers/icmake/default.nix
+++ b/pkgs/development/tools/build-managers/icmake/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchFromGitHub, makeWrapper, gcc, ncurses }:
+{ stdenv, fetchFromGitLab, makeWrapper, gcc, ncurses }:
stdenv.mkDerivation rec {
name = "icmake-${version}";
- version = "9.02.07";
+ version = "9.02.08";
- src = fetchFromGitHub {
- sha256 = "1q3rwri5s1sqm4h75bahkjnlym4bk2ygg4fb75yrniwnj8rhdp12";
+ src = fetchFromGitLab {
+ sha256 = "1pr5lagmdls3clzwa2xwcfa3k5750rf7i0j3zld0xirb41zx07q2";
rev = version;
repo = "icmake";
owner = "fbb-git";
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "A program maintenance (make) utility using a C-like grammar";
- homepage = https://fbb-git.github.io/icmake/;
+ homepage = https://fbb-git.gitlab.io/icmake/;
license = licenses.gpl3;
maintainers = with maintainers; [ pSub ];
platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/dialog/default.nix b/pkgs/development/tools/misc/dialog/default.nix
index 8c236597484..82b224b37f4 100644
--- a/pkgs/development/tools/misc/dialog/default.nix
+++ b/pkgs/development/tools/misc/dialog/default.nix
@@ -13,14 +13,14 @@ assert unicodeSupport -> ncurses.unicode && ncurses != null;
stdenv.mkDerivation rec {
name = "dialog-${version}";
- version = "1.3-20171209";
+ version = "1.3-20180621";
src = fetchurl {
urls = [
"ftp://ftp.invisible-island.net/dialog/${name}.tgz"
"https://invisible-mirror.net/archives/dialog/${name}.tgz"
];
- sha256 = "1rk72as52f5br3wcr74d00wib41w65g8wvi36mfgybly251984r0";
+ sha256 = "0yjqczlf64yppgvk4i6s0jm06mdr0mb5m6sj39nf891dnbi5jj2a";
};
buildInputs = [ ncurses ];
diff --git a/pkgs/development/tools/misc/epm/default.nix b/pkgs/development/tools/misc/epm/default.nix
index 8d2e6785900..f58d0659965 100644
--- a/pkgs/development/tools/misc/epm/default.nix
+++ b/pkgs/development/tools/misc/epm/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "The ESP Package Manager generates distribution archives for a variety of platforms";
- homepage = http://www.msweet.org/projects.php?Z2;
+ homepage = https://www.msweet.org/projects.php?Z2;
license = licenses.gpl2;
maintainers = with maintainers; [ pSub ];
platforms = platforms.unix;
diff --git a/pkgs/development/tools/misc/fswatch/default.nix b/pkgs/development/tools/misc/fswatch/default.nix
index 9c0c357e186..4d8a9b05847 100644
--- a/pkgs/development/tools/misc/fswatch/default.nix
+++ b/pkgs/development/tools/misc/fswatch/default.nix
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
name = "fswatch-${version}";
- version = "1.11.3";
+ version = "1.12.0";
src = fetchFromGitHub {
owner = "emcrisostomo";
repo = "fswatch";
rev = version;
- sha256 = "1w83bpgx0wsgn70jyxwrvh9dsivrq41ifcignjzdxdwz9j0rwhh1";
+ sha256 = "16f3g6s79gs1sp2ra3cka4c5mf5b557cx697bwcdfgj6r19ni5j7";
};
nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/tools/misc/yodl/default.nix b/pkgs/development/tools/misc/yodl/default.nix
index 1f5ead84677..76130f255fd 100644
--- a/pkgs/development/tools/misc/yodl/default.nix
+++ b/pkgs/development/tools/misc/yodl/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchFromGitHub, perl, icmake, utillinux }:
+{ stdenv, fetchFromGitLab, perl, icmake, utillinux }:
stdenv.mkDerivation rec {
name = "yodl-${version}";
- version = "4.02.00";
+ version = "4.02.01";
nativeBuildInputs = [ icmake ];
buildInputs = [ perl ];
- src = fetchFromGitHub {
- sha256 = "08i3q3h581kxr5v7wi114bng66pwwsjs5qj3ywnnrr7ra1h5rzwa";
+ src = fetchFromGitLab {
+ sha256 = "0m8idd8m3z27rix55avchm21sd2spcxgrdf63w65zpvnywq0ydax";
rev = version;
repo = "yodl";
owner = "fbb-git";
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "A package that implements a pre-document language and tools to process it";
- homepage = https://fbb-git.github.io/yodl/;
+ homepage = https://fbb-git.gitlab.io/yodl/;
license = licenses.gpl3;
maintainers = with maintainers; [ pSub ];
platforms = platforms.linux;
diff --git a/pkgs/games/nethack/default.nix b/pkgs/games/nethack/default.nix
index 1ad7565f450..eed38592236 100644
--- a/pkgs/games/nethack/default.nix
+++ b/pkgs/games/nethack/default.nix
@@ -1,11 +1,14 @@
-{ stdenv, lib, fetchurl, writeScript, coreutils, ncurses, gzip, flex, bison, less }:
+{ stdenv, lib, fetchurl, writeScript, coreutils, ncurses, gzip, flex, bison, less
+, x11Mode ? false, libXaw, libXext, mkfontdir
+}:
let
platform =
if stdenv.hostPlatform.isUnix then "unix"
else throw "Unknown platform for NetHack: ${stdenv.system}";
unixHint =
- /**/ if stdenv.hostPlatform.isLinux then "linux"
+ if x11Mode then "linux-x11"
+ else if stdenv.hostPlatform.isLinux then "linux"
else if stdenv.hostPlatform.isDarwin then "macosx10.10"
# We probably want something different for Darwin
else "unix";
@@ -13,16 +16,16 @@ let
binPath = lib.makeBinPath [ coreutils less ];
in stdenv.mkDerivation {
- name = "nethack-3.6.1";
+ name = "nethack${lib.optionalString x11Mode "-x11"}-3.6.1";
src = fetchurl {
url = "https://nethack.org/download/3.6.1/nethack-361-src.tgz";
sha256 = "1dha0ijvxhx7c9hr0452h93x81iiqsll8bc9msdnp7xdqcfbz32b";
};
- buildInputs = [ ncurses ];
+ buildInputs = [ ncurses ] ++ lib.optionals x11Mode [ libXaw libXext ];
- nativeBuildInputs = [ flex bison ];
+ nativeBuildInputs = [ flex bison ] ++ lib.optionals x11Mode [ mkfontdir ];
makeFlags = [ "PREFIX=$(out)" ];
@@ -86,13 +89,14 @@ in stdenv.mkDerivation {
$out/games/nethack
EOF
chmod +x $out/bin/nethack
+ ${lib.optionalString x11Mode "mv $out/bin/nethack $out/bin/nethack-x11"}
'';
meta = with stdenv.lib; {
description = "Rogue-like game";
homepage = http://nethack.org/;
license = "nethack";
- platforms = platforms.unix;
+ platforms = if x11Mode then platforms.linux else platforms.unix;
maintainers = with maintainers; [ abbradar ];
};
}
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index 792c7bcb084..de9787a0fa7 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -3,17 +3,17 @@
let
ell = fetchgit {
url = https://git.kernel.org/pub/scm/libs/ell/ell.git;
- rev = "0.5";
- sha256 = "0xw53bigh99nhacjb67qs1g145fwls7065l8vsrziwzpkyd5s6a8";
+ rev = "0.6";
+ sha256 = "0cs0a7rjg9gl9gn9sc3b1y8mv2zbjg7rb87mla6kcrknjci76pgm";
};
in stdenv.mkDerivation rec {
name = "iwd-${version}";
- version = "0.2";
+ version = "0.3";
src = fetchgit {
url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
rev = version;
- sha256 = "0khc017s27n6y6c6wbqhmcghzggnagxbi8j36hl5g73y6s44vx42";
+ sha256 = "151bqc85vchl1arhl9pyvfashxq886cjrbi6js4csx4vzscbhzzm";
};
nativeBuildInputs = [
@@ -35,6 +35,7 @@ in stdenv.mkDerivation rec {
configureFlags = [
"--with-dbus-datadir=$(out)/etc/"
+ "--localstatedir=/var"
"--disable-systemd-service"
];
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 93732f1c6f8..100ac73d881 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -1,726 +1,682 @@
-/*
+# WARNING/NOTE: whenever you want to add an option here you need to either
+# * mark it as an optional one with `option`,
+# * or make sure it works for all the versions in nixpkgs,
+# * or check for which kernel versions it will work (using kernel
+# changelog, google or whatever) and mark it with `whenOlder` or
+# `whenAtLeast`.
+# Then do test your change by building all the kernels (or at least
+# their configs) in Nixpkgs or else you will guarantee lots and lots
+# of pain to users trying to switch to an older kernel because of some
+# hardware problems with a new one.
- WARNING/NOTE: whenever you want to add an option here you need to
- either
+# Configuration
+{ stdenv, version
- * mark it as an optional one with `?` suffix,
- * or make sure it works for all the versions in nixpkgs,
- * or check for which kernel versions it will work (using kernel
- changelog, google or whatever) and mark it with `versionOlder` or
- `versionAtLeast`.
+# to let user override values, aka converting modules to included and vice-versa
+, mkValueOverride ? null
- Then do test your change by building all the kernels (or at least
- their configs) in Nixpkgs or else you will guarantee lots and lots
- of pain to users trying to switch to an older kernel because of some
- hardware problems with a new one.
+# new extraConfig as a flattened set
+, structuredExtraConfig ? {}
-*/
+# legacy extraConfig as string
+, extraConfig ? ""
-{ stdenv, version, extraConfig, features }:
+, features ? { grsecurity = false; xen_dom0 = false; }
+}:
+
+assert (mkValueOverride == null) || (builtins.isFunction mkValueOverride);
with stdenv.lib;
-''
- # Compress kernel modules for a sizable disk space savings.
- ${optionalString (versionAtLeast version "3.18") ''
- MODULE_COMPRESS y
- MODULE_COMPRESS_XZ y
- ''}
+with import ../../../../lib/kernel.nix { inherit (stdenv) lib; inherit version; };
- KERNEL_XZ y
+let
- # Debugging.
- DEBUG_KERNEL y
- DYNAMIC_DEBUG y
- DEBUG_DEVRES n
- DEBUG_STACK_USAGE n
- DEBUG_STACKOVERFLOW n
- SCHEDSTATS n
- DETECT_HUNG_TASK y
+ # configuration items have to be part of a subattrs
+ flattenKConf = nested: mapAttrs (_: head) (zipAttrs (attrValues nested));
- ${if (features.debug or false) then ''
- DEBUG_INFO y
- '' else ''
- DEBUG_INFO n
- ''}
+ options = {
- ${optionalString (versionOlder version "4.4") ''
- CPU_NOTIFIER_ERROR_INJECT? n
- ''}
+ debug = {
+ DEBUG_INFO = if (features.debug or false) then yes else no;
+ DEBUG_KERNEL = yes;
+ DEBUG_DEVRES = no;
+ DYNAMIC_DEBUG = yes;
+ TIMER_STATS = whenOlder "4.11" yes;
+ DEBUG_NX_TEST = whenOlder "4.11" no;
+ CPU_NOTIFIER_ERROR_INJECT = whenOlder "4.4" (option no);
+ DEBUG_STACK_USAGE = no;
+ DEBUG_STACKOVERFLOW = when (!features.grsecurity) no;
+ RCU_TORTURE_TEST = no;
+ SCHEDSTATS = no;
+ DETECT_HUNG_TASK = yes;
+ CRASH_DUMP = option no;
+ # Easier debugging of NFS issues.
+ SUNRPC_DEBUG = yes;
+ };
- ${optionalString (versionOlder version "4.11") ''
- TIMER_STATS y
- DEBUG_NX_TEST n
- ''}
+ power-management = {
+ PM_ADVANCED_DEBUG = yes;
+ X86_INTEL_LPSS = yes;
+ X86_INTEL_PSTATE = yes;
+ INTEL_IDLE = yes;
+ CPU_FREQ_DEFAULT_GOV_PERFORMANCE = yes;
+ PM_WAKELOCKS = yes;
+ };
- # Bump the maximum number of CPUs to support systems like EC2 x1.*
- # instances and Xeon Phi.
- ${optionalString (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") ''
- NR_CPUS 384
- ''}
+ external-firmware = {
+ # Support drivers that need external firmware.
+ STANDALONE = no;
+ };
- # Unix domain sockets.
- UNIX y
+ proc-config-gz = {
+ # Make /proc/config.gz available
+ IKCONFIG = yes;
+ IKCONFIG_PROC = yes;
+ };
- # Power management.
- ${optionalString (versionOlder version "3.19") ''
- PM_RUNTIME y
- ''}
- PM_ADVANCED_DEBUG y
- ${optionalString (versionAtLeast version "3.11") ''
- X86_INTEL_LPSS y
- ''}
- ${optionalString (versionAtLeast version "3.10") ''
- X86_INTEL_PSTATE y
- ''}
- INTEL_IDLE y
- CPU_FREQ_DEFAULT_GOV_PERFORMANCE y
- ${optionalString (versionOlder version "3.10") ''
- USB_SUSPEND y
- ''}
- PM_WAKELOCKS y
+ optimization = {
+ # Optimize with -O2, not -Os
+ CC_OPTIMIZE_FOR_SIZE = no;
+ };
- # Support drivers that need external firmware.
- STANDALONE n
+ memtest = {
+ MEMTEST = yes;
+ };
- # Make /proc/config.gz available.
- IKCONFIG y
- IKCONFIG_PROC y
+ # Include the CFQ I/O scheduler in the kernel, rather than as a
+ # module, so that the initrd gets a good I/O scheduler.
+ scheduler = {
+ IOSCHED_CFQ = yes;
+ BLK_CGROUP = yes; # required by CFQ"
+ IOSCHED_DEADLINE = yes;
+ MQ_IOSCHED_DEADLINE = whenAtLeast "4.11" yes;
+ BFQ_GROUP_IOSCHED = whenAtLeast "4.12" yes;
+ MQ_IOSCHED_KYBER = whenAtLeast "4.12" yes;
+ IOSCHED_BFQ = whenAtLeast "4.12" module;
+ };
- # Optimize with -O2, not -Os.
- CC_OPTIMIZE_FOR_SIZE n
+ # Enable NUMA.
+ numa = {
+ NUMA = option yes;
+ };
- # Enable the kernel's built-in memory tester.
- MEMTEST y
+ networking = {
+ NET = yes;
+ IP_PNP = no;
+ NETFILTER = yes;
+ NETFILTER_ADVANCED = yes;
+ IP_VS_PROTO_TCP = yes;
+ IP_VS_PROTO_UDP = yes;
+ IP_VS_PROTO_ESP = yes;
+ IP_VS_PROTO_AH = yes;
+ IP_DCCP_CCID3 = no; # experimental
+ CLS_U32_PERF = yes;
+ CLS_U32_MARK = yes;
+ BPF_JIT = when (stdenv.system == "x86_64-linux") yes;
+ WAN = yes;
+ # Required by systemd per-cgroup firewalling
+ CGROUP_BPF = option yes;
+ CGROUP_NET_PRIO = yes; # Required by systemd
+ IP_ROUTE_VERBOSE = yes;
+ IP_MROUTE_MULTIPLE_TABLES = yes;
+ IP_MULTICAST = yes;
+ IPV6_ROUTER_PREF = yes;
+ IPV6_ROUTE_INFO = yes;
+ IPV6_OPTIMISTIC_DAD = yes;
+ IPV6_MULTIPLE_TABLES = yes;
+ IPV6_SUBTREES = yes;
+ IPV6_MROUTE = yes;
+ IPV6_MROUTE_MULTIPLE_TABLES = yes;
+ IPV6_PIMSM_V2 = yes;
+ IPV6_FOU_TUNNEL = whenAtLeast "4.7" module;
+ NET_CLS_BPF = whenAtLeast "4.4" module;
+ NET_ACT_BPF = whenAtLeast "4.4" module;
+ L2TP_V3 = yes;
+ L2TP_IP = module;
+ L2TP_ETH = module;
+ BRIDGE_VLAN_FILTERING = yes;
+ BONDING = module;
+ NET_L3_MASTER_DEV = option yes;
+ NET_FOU_IP_TUNNELS = option yes;
+ IP_NF_TARGET_REDIRECT = module;
- # Include the CFQ I/O scheduler in the kernel, rather than as a
- # module, so that the initrd gets a good I/O scheduler.
- IOSCHED_CFQ y
- BLK_CGROUP y # required by CFQ
- IOSCHED_DEADLINE y
- ${optionalString (versionAtLeast version "4.11") ''
- MQ_IOSCHED_DEADLINE y
- ''}
- ${optionalString (versionAtLeast version "4.12") ''
- BFQ_GROUP_IOSCHED y
- MQ_IOSCHED_KYBER y
- IOSCHED_BFQ m
- ''}
+ PPP_MULTILINK = yes; # PPP multilink support
+ PPP_FILTER = yes;
- # Enable NUMA.
- NUMA? y
+ # needed for iwd WPS support (wpa_supplicant replacement)
+ KEY_DH_OPERATIONS = whenAtLeast "4.7" yes;
+ };
- # Disable some expensive (?) features.
- PM_TRACE_RTC n
+ wireless = {
+ CFG80211_WEXT = option yes; # Without it, ipw2200 drivers don't build
+ IPW2100_MONITOR = option yes; # support promiscuous mode
+ IPW2200_MONITOR = option yes; # support promiscuous mode
+ HOSTAP_FIRMWARE = option yes; # Support downloading firmware images with Host AP driver
+ HOSTAP_FIRMWARE_NVRAM = option yes;
+ ATH9K_PCI = option yes; # Detect Atheros AR9xxx cards on PCI(e) bus
+ ATH9K_AHB = option yes; # Ditto, AHB bus
+ B43_PHY_HT = option yes;
+ BCMA_HOST_PCI = option yes;
+ };
- # Enable initrd support.
- BLK_DEV_RAM y
- BLK_DEV_INITRD y
+ fb = {
+ FB = yes;
+ FB_EFI = yes;
+ FB_NVIDIA_I2C = yes; # Enable DDC Support
+ FB_RIVA_I2C = yes;
+ FB_ATY_CT = yes; # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
+ FB_ATY_GX = yes; # Mach64 GX support
+ FB_SAVAGE_I2C = yes;
+ FB_SAVAGE_ACCEL = yes;
+ FB_SIS_300 = yes;
+ FB_SIS_315 = yes;
+ FB_3DFX_ACCEL = yes;
+ FB_VESA = yes;
+ FRAMEBUFFER_CONSOLE = yes;
+ FRAMEBUFFER_CONSOLE_ROTATION = yes;
+ FB_GEODE = when (stdenv.system == "i686-linux") yes;
+ };
- # Enable various subsystems.
- ACCESSIBILITY y # Accessibility support
- AUXDISPLAY y # Auxiliary Display support
- HIPPI y
- MTD_COMPLEX_MAPPINGS y # needed for many devices
- SCSI_LOWLEVEL y # enable lots of SCSI devices
- SCSI_LOWLEVEL_PCMCIA y
- SCSI_SAS_ATA y # added to enable detection of hard drive
- SPI y # needed for many devices
- SPI_MASTER y
- WAN y
- ${optionalString (versionOlder version "4.17") ''
- DONGLE y # Serial dongle support
- ''}
+ video = {
+ # Enable KMS for devices whose X.org driver supports it
+ DRM_I915_KMS = whenOlder "4.3" yes;
+ # Allow specifying custom EDID on the kernel command line
+ DRM_LOAD_EDID_FIRMWARE = yes;
+ VGA_SWITCHEROO = yes; # Hybrid graphics support
+ DRM_GMA600 = yes;
+ DRM_GMA3600 = yes;
+ # necessary for amdgpu polaris support
+ DRM_AMD_POWERPLAY = whenBetween "4.5" "4.9" yes;
+ # (experimental) amdgpu support for verde and newer chipsets
+ DRM_AMDGPU_SI = whenAtLeast "4.9" yes;
+ # (stable) amdgpu support for bonaire and newer chipsets
+ DRM_AMDGPU_CIK = whenAtLeast "4.9" yes;
+ } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") {
+ # Intel GVT-g graphics virtualization supports 64-bit only
+ DRM_I915_GVT = whenAtLeast "4.16" yes;
+ DRM_I915_GVT_KVMGT = whenAtLeast "4.16" module;
+ };
- # Networking options.
- NET y
- IP_PNP n
- ${optionalString (versionOlder version "3.13") ''
- IPV6_PRIVACY y
- ''}
- NETFILTER y
- NETFILTER_ADVANCED y
- CGROUP_BPF? y # Required by systemd per-cgroup firewalling
- CGROUP_NET_PRIO y # Required by systemd
- IP_ROUTE_VERBOSE y
- IP_MROUTE_MULTIPLE_TABLES y
- IP_VS_PROTO_TCP y
- IP_VS_PROTO_UDP y
- IP_VS_PROTO_ESP y
- IP_VS_PROTO_AH y
- IP_DCCP_CCID3 n # experimental
- IP_MULTICAST y
- IPV6_ROUTER_PREF y
- IPV6_ROUTE_INFO y
- IPV6_OPTIMISTIC_DAD y
- IPV6_MULTIPLE_TABLES y
- IPV6_SUBTREES y
- IPV6_MROUTE y
- IPV6_MROUTE_MULTIPLE_TABLES y
- IPV6_PIMSM_V2 y
- ${optionalString (versionAtLeast version "4.7") ''
- IPV6_FOU_TUNNEL m
- ''}
- CLS_U32_PERF y
- CLS_U32_MARK y
- ${optionalString (stdenv.system == "x86_64-linux") ''
- BPF_JIT y
- ''}
- ${optionalString (versionAtLeast version "4.4") ''
- NET_CLS_BPF m
- NET_ACT_BPF m
- ''}
- L2TP_V3 y
- L2TP_IP m
- L2TP_ETH m
- BRIDGE_VLAN_FILTERING y
- BONDING m
- NET_L3_MASTER_DEV? y
- NET_FOU_IP_TUNNELS? y
- IP_NF_TARGET_REDIRECT m
+ sound = {
+ SND_DYNAMIC_MINORS = yes;
+ SND_AC97_POWER_SAVE = yes; # AC97 Power-Saving Mode
+ SND_HDA_INPUT_BEEP = yes; # Support digital beep via input layer
+ SND_HDA_RECONFIG = yes; # Support reconfiguration of jack functions
+ # Support configuring jack functions via fw mechanism at boot
+ SND_HDA_PATCH_LOADER = yes;
+ SND_USB_CAIAQ_INPUT = yes;
+ # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
+ PSS_MIXER = whenOlder "4.12" yes;
+ };
- # Wireless networking.
- CFG80211_WEXT? y # Without it, ipw2200 drivers don't build
- IPW2100_MONITOR? y # support promiscuous mode
- IPW2200_MONITOR? y # support promiscuous mode
- HOSTAP_FIRMWARE? y # Support downloading firmware images with Host AP driver
- HOSTAP_FIRMWARE_NVRAM? y
- ATH9K_PCI? y # Detect Atheros AR9xxx cards on PCI(e) bus
- ATH9K_AHB? y # Ditto, AHB bus
- B43_PHY_HT? y
- BCMA_HOST_PCI? y
+ usb-serial = {
+ USB_SERIAL_GENERIC = yes; # USB Generic Serial Driver
+ } // optionalAttrs (versionOlder version "4.16") {
+ # Include firmware for various USB serial devices.
+ # Only applicable for kernels below 4.16, after that no firmware is shipped in the kernel tree.
+ USB_SERIAL_KEYSPAN_MPR = yes;
+ USB_SERIAL_KEYSPAN_USA28 = yes;
+ USB_SERIAL_KEYSPAN_USA28X = yes;
+ USB_SERIAL_KEYSPAN_USA28XA = yes;
+ USB_SERIAL_KEYSPAN_USA28XB = yes;
+ USB_SERIAL_KEYSPAN_USA19 = yes;
+ USB_SERIAL_KEYSPAN_USA18X = yes;
+ USB_SERIAL_KEYSPAN_USA19W = yes;
+ USB_SERIAL_KEYSPAN_USA19QW = yes;
+ USB_SERIAL_KEYSPAN_USA19QI = yes;
+ USB_SERIAL_KEYSPAN_USA49W = yes;
+ USB_SERIAL_KEYSPAN_USA49WLC = yes;
+ };
- # Enable various FB devices.
- FB y
- FB_EFI y
- FB_NVIDIA_I2C y # Enable DDC Support
- FB_RIVA_I2C y
- FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
- FB_ATY_GX y # Mach64 GX support
- FB_SAVAGE_I2C y
- FB_SAVAGE_ACCEL y
- FB_SIS_300 y
- FB_SIS_315 y
- FB_3DFX_ACCEL y
- FB_VESA y
- FRAMEBUFFER_CONSOLE y
- FRAMEBUFFER_CONSOLE_ROTATION y
- ${optionalString (stdenv.system == "i686-linux") ''
- FB_GEODE y
- ''}
+ usb = {
+ USB_DEBUG = option no;
+ USB_EHCI_ROOT_HUB_TT = yes; # Root Hub Transaction Translators
+ USB_EHCI_TT_NEWSCHED = yes; # Improved transaction translator scheduling
+ };
- # Video configuration.
- # Enable KMS for devices whose X.org driver supports it.
- ${optionalString (versionOlder version "4.3") ''
- DRM_I915_KMS y
- ''}
- # iGVT-g support
- ${optionalString (versionAtLeast version "4.16") ''
- DRM_I915_GVT y
- DRM_I915_GVT_KVMGT m
- ''}
- # Allow specifying custom EDID on the kernel command line
- DRM_LOAD_EDID_FIRMWARE y
- VGA_SWITCHEROO y # Hybrid graphics support
- DRM_GMA600 y
- DRM_GMA3600 y
- ${optionalString (versionAtLeast version "4.5" && (versionOlder version "4.9")) ''
- DRM_AMD_POWERPLAY y # necessary for amdgpu polaris support
- ''}
- ${optionalString (versionAtLeast version "4.9") ''
- DRM_AMDGPU_SI y # (experimental) amdgpu support for verde and newer chipsets
- DRM_AMDGPU_CIK y # (stable) amdgpu support for bonaire and newer chipsets
- ''}
+ # Filesystem options - in particular, enable extended attributes and
+ # ACLs for all filesystems that support them.
+ filesystem = {
+ FANOTIFY = yes;
+ TMPFS = yes;
+ TMPFS_POSIX_ACL = yes;
+ FS_ENCRYPTION = option (whenAtLeast "4.9" module);
- # Sound.
- SND_DYNAMIC_MINORS y
- SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
- SND_HDA_INPUT_BEEP y # Support digital beep via input layer
- SND_HDA_RECONFIG y # Support reconfiguration of jack functions
- SND_HDA_PATCH_LOADER y # Support configuring jack functions via fw mechanism at boot
- SND_USB_CAIAQ_INPUT y
- ${optionalString (versionOlder version "4.12") ''
- PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
- ''}
+ EXT2_FS_XATTR = yes;
+ EXT2_FS_POSIX_ACL = yes;
+ EXT2_FS_SECURITY = yes;
+ EXT2_FS_XIP = whenOlder "4.0" yes; # Ext2 execute in place support
- # USB serial devices.
- USB_SERIAL_GENERIC y # USB Generic Serial Driver
+ EXT3_FS_POSIX_ACL = yes;
+ EXT3_FS_SECURITY = yes;
- # Include firmware for various USB serial devices.
- # Only applicable for kernels below 4.16, after that no firmware is shipped in the kernel tree.
- ${optionalString (versionOlder version "4.16") ''
- USB_SERIAL_KEYSPAN_MPR y
- USB_SERIAL_KEYSPAN_USA28 y
- USB_SERIAL_KEYSPAN_USA28X y
- USB_SERIAL_KEYSPAN_USA28XA y
- USB_SERIAL_KEYSPAN_USA28XB y
- USB_SERIAL_KEYSPAN_USA19 y
- USB_SERIAL_KEYSPAN_USA18X y
- USB_SERIAL_KEYSPAN_USA19W y
- USB_SERIAL_KEYSPAN_USA19QW y
- USB_SERIAL_KEYSPAN_USA19QI y
- USB_SERIAL_KEYSPAN_USA49W y
- USB_SERIAL_KEYSPAN_USA49WLC y
- ''}
+ EXT4_FS_POSIX_ACL = yes;
+ EXT4_FS_SECURITY = yes;
+ EXT4_ENCRYPTION = option ((if (versionOlder version "4.8") then module else yes));
- # Device mapper (RAID, LVM, etc.)
- MD y
+ REISERFS_FS_XATTR = option yes;
+ REISERFS_FS_POSIX_ACL = option yes;
+ REISERFS_FS_SECURITY = option yes;
- # Filesystem options - in particular, enable extended attributes and
- # ACLs for all filesystems that support them.
- FANOTIFY y
- TMPFS y
- TMPFS_POSIX_ACL y
- ${optionalString (versionAtLeast version "4.9") ''
- FS_ENCRYPTION? m
- ''}
- EXT2_FS_XATTR y
- EXT2_FS_POSIX_ACL y
- EXT2_FS_SECURITY y
- ${optionalString (versionOlder version "4.0") ''
- EXT2_FS_XIP y # Ext2 execute in place support
- ''}
- EXT3_FS_POSIX_ACL y
- EXT3_FS_SECURITY y
- EXT4_FS_POSIX_ACL y
- EXT4_ENCRYPTION? ${if versionOlder version "4.8" then "m" else "y"}
- EXT4_FS_SECURITY y
- REISERFS_FS_XATTR? y
- REISERFS_FS_POSIX_ACL? y
- REISERFS_FS_SECURITY? y
- JFS_POSIX_ACL? y
- JFS_SECURITY? y
- XFS_QUOTA? y
- XFS_POSIX_ACL? y
- XFS_RT? y # XFS Realtime subvolume support
- OCFS2_DEBUG_MASKLOG? n
- BTRFS_FS_POSIX_ACL y
- UBIFS_FS_ADVANCED_COMPR? y
- F2FS_FS m
- F2FS_FS_SECURITY? y
- F2FS_FS_ENCRYPTION? y
- UDF_FS m
- ${optionalString (versionAtLeast version "4.0" && versionOlder version "4.6") ''
- NFSD_PNFS y
- ''}
- NFSD_V2_ACL y
- NFSD_V3 y
- NFSD_V3_ACL y
- NFSD_V4 y
- ${optionalString (versionAtLeast version "3.11") ''
- NFSD_V4_SECURITY_LABEL y
- ''}
- NFS_FSCACHE y
- NFS_SWAP y
- NFS_V3_ACL y
- ${optionalString (versionAtLeast version "3.11") ''
- NFS_V4_1 y # NFSv4.1 client support
- NFS_V4_2 y
- NFS_V4_SECURITY_LABEL y
- ''}
- CIFS_XATTR y
- CIFS_POSIX y
- CIFS_FSCACHE y
- CIFS_STATS y
- CIFS_WEAK_PW_HASH y
- CIFS_UPCALL y
- CIFS_ACL y
- CIFS_DFS_UPCALL y
- ${optionalString (versionOlder version "4.13") ''
- CIFS_SMB2 y
- ''}
- ${optionalString (versionAtLeast version "3.12") ''
- CEPH_FSCACHE y
- ''}
- ${optionalString (versionAtLeast version "3.14") ''
- CEPH_FS_POSIX_ACL y
- ''}
- ${optionalString (versionAtLeast version "3.13") ''
- SQUASHFS_FILE_DIRECT y
- SQUASHFS_DECOMP_MULTI_PERCPU y
- ''}
- SQUASHFS_XATTR y
- SQUASHFS_ZLIB y
- SQUASHFS_LZO y
- SQUASHFS_XZ y
- ${optionalString (versionAtLeast version "3.19") ''
- SQUASHFS_LZ4 y
- ''}
+ JFS_POSIX_ACL = option yes;
+ JFS_SECURITY = option yes;
- # Native Language Support modules, needed by some filesystems
- NLS y
- NLS_DEFAULT utf8
- NLS_UTF8 m
- NLS_CODEPAGE_437 m # VFAT default for the codepage= mount option
- NLS_ISO8859_1 m # VFAT default for the iocharset= mount option
+ XFS_QUOTA = option yes;
+ XFS_POSIX_ACL = option yes;
+ XFS_RT = option yes; # XFS Realtime subvolume support
- # Runtime security tests
- ${optionalString (versionOlder version "4.11") ''
- DEBUG_SET_MODULE_RONX? y # Detect writes to read-only module pages
- ''}
+ OCFS2_DEBUG_MASKLOG = option no;
- # Security related features.
- RANDOMIZE_BASE? y
- STRICT_DEVMEM? y # Filter access to /dev/mem
- SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default
- SECURITY_YAMA? y # Prevent processes from ptracing non-children processes
- DEVKMEM n # Disable /dev/kmem
- ${optionalString (! stdenv.hostPlatform.isAarch32)
- (if versionOlder version "3.14" then ''
- CC_STACKPROTECTOR? y # Detect buffer overflows on the stack
- '' else optionalString (versionOlder version "4.18") ''
- CC_STACKPROTECTOR_REGULAR? y
- '')}
- ${optionalString (versionAtLeast version "3.12") ''
- USER_NS y # Support for user namespaces
- ''}
+ BTRFS_FS_POSIX_ACL = yes;
- # AppArmor support
- SECURITY_APPARMOR y
- DEFAULT_SECURITY_APPARMOR y
+ UBIFS_FS_ADVANCED_COMPR = option yes;
- # Microcode loading support
- MICROCODE y
- MICROCODE_INTEL y
- MICROCODE_AMD y
- ${optionalString (versionAtLeast version "3.11" && versionOlder version "4.4") ''
- MICROCODE_EARLY y
- MICROCODE_INTEL_EARLY y
- MICROCODE_AMD_EARLY y
- ''}
+ F2FS_FS = module;
+ F2FS_FS_SECURITY = option yes;
+ F2FS_FS_ENCRYPTION = option yes;
+ UDF_FS = module;
- ${optionalString (versionAtLeast version "4.10") ''
- # Write Back Throttling
- # https://lwn.net/Articles/682582/
- # https://bugzilla.kernel.org/show_bug.cgi?id=12309#c655
- BLK_WBT y
- BLK_WBT_SQ y
- BLK_WBT_MQ y
- ''}
+ NFSD_PNFS = whenBetween "4.0" "4.6" yes;
+ NFSD_V2_ACL = yes;
+ NFSD_V3 = yes;
+ NFSD_V3_ACL = yes;
+ NFSD_V4 = yes;
+ NFSD_V4_SECURITY_LABEL = yes;
- # Misc. options.
- 8139TOO_8129 y
- 8139TOO_PIO n # PIO is slower
- AIC79XX_DEBUG_ENABLE n
- AIC7XXX_DEBUG_ENABLE n
- AIC94XX_DEBUG n
- ${optionalString (versionAtLeast version "3.3" && versionOlder version "3.13") ''
- AUDIT_LOGINUID_IMMUTABLE y
- ''}
- ${optionalString (versionOlder version "4.4") ''
- B43_PCMCIA? y
- ''}
- BLK_DEV_INITRD y
- BLK_DEV_INTEGRITY y
- BSD_PROCESS_ACCT_V3 y
- BT_HCIUART_BCSP? y
- BT_HCIUART_H4? y # UART (H4) protocol support
- BT_HCIUART_LL? y
- BT_RFCOMM_TTY? y # RFCOMM TTY support
- CLEANCACHE? y
- CRASH_DUMP? n
- DVB_DYNAMIC_MINORS? y # we use udev
- EFI_STUB y # EFI bootloader in the bzImage itself
- CGROUPS y # used by systemd
- FHANDLE y # used by systemd
- SECCOMP y # used by systemd >= 231
- SECCOMP_FILTER y # ditto
- POSIX_MQUEUE y
- FRONTSWAP y
- FUSION y # Fusion MPT device support
- IDE n # deprecated IDE support
- ${optionalString (versionAtLeast version "4.3") ''
- IDLE_PAGE_TRACKING y
- ''}
- ${optionalString (versionOlder version "4.17") ''
- IRDA_ULTRA y # Ultra (connectionless) protocol
- ''}
- JOYSTICK_IFORCE_232? y # I-Force Serial joysticks and wheels
- JOYSTICK_IFORCE_USB? y # I-Force USB joysticks and wheels
- JOYSTICK_XPAD_FF? y # X-Box gamepad rumble support
- JOYSTICK_XPAD_LEDS? y # LED Support for Xbox360 controller 'BigX' LED
- KEXEC_FILE? y
- KEXEC_JUMP? y
- LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
- LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
- LOGO n # not needed
- MEDIA_ATTACH y
- MEGARAID_NEWGEN y
- ${optionalString (versionAtLeast version "3.15" && versionOlder version "4.8") ''
- MLX4_EN_VXLAN y
- ''}
- ${optionalString (versionOlder version "4.9") ''
- MODVERSIONS y
- ''}
- MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
- MTRR_SANITIZER y
- NET_FC y # Fibre Channel driver support
- ${optionalString (versionAtLeast version "3.11") ''
- PINCTRL_BAYTRAIL y # GPIO on Intel Bay Trail, for some Chromebook internal eMMC disks
- ''}
- MMC_BLOCK_MINORS 32 # 8 is default. Modern gpt tables on eMMC may go far beyond 8.
- PPP_MULTILINK y # PPP multilink support
- PPP_FILTER y
- REGULATOR y # Voltage and Current Regulator Support
- RC_DEVICES? y # Enable IR devices
- RT2800USB_RT53XX y
- RT2800USB_RT55XX y
- SCHED_AUTOGROUP y
- CFS_BANDWIDTH y
- SCSI_LOGGING y # SCSI logging facility
- SERIAL_8250 y # 8250/16550 and compatible serial support
- SLIP_COMPRESSED y # CSLIP compressed headers
- SLIP_SMART y
- HWMON y
- THERMAL_HWMON y # Hardware monitoring support
- ${optionalString (versionAtLeast version "3.15") ''
- UEVENT_HELPER n
- ''}
- ${optionalString (versionOlder version "3.15") ''
- USB_DEBUG? n
- ''}
- USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
- USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling
- ${optionalString (versionAtLeast version "4.3") ''
- USERFAULTFD y
- ''}
- X86_CHECK_BIOS_CORRUPTION y
- X86_MCE y
+ NFS_FSCACHE = yes;
+ NFS_SWAP = yes;
+ NFS_V3_ACL = yes;
+ NFS_V4_1 = yes; # NFSv4.1 client support
+ NFS_V4_2 = yes;
+ NFS_V4_SECURITY_LABEL = yes;
- ${optionalString (versionAtLeast version "3.12") ''
- HOTPLUG_PCI_ACPI y # PCI hotplug using ACPI
- HOTPLUG_PCI_PCIE y # PCI-Expresscard hotplug support
- ''}
+ CIFS_XATTR = yes;
+ CIFS_POSIX = yes;
+ CIFS_FSCACHE = yes;
+ CIFS_STATS = yes;
+ CIFS_WEAK_PW_HASH = yes;
+ CIFS_UPCALL = yes;
+ CIFS_ACL = yes;
+ CIFS_DFS_UPCALL = yes;
+ CIFS_SMB2 = whenOlder "4.13" yes;
+ CEPH_FSCACHE = yes;
+ CEPH_FS_POSIX_ACL = yes;
- # Linux containers.
- NAMESPACES? y # Required by 'unshare' used by 'nixos-install'
- RT_GROUP_SCHED n
- CGROUP_DEVICE? y
- MEMCG y
- MEMCG_SWAP y
- ${optionalString (versionOlder version "4.7") "DEVPTS_MULTIPLE_INSTANCES y"}
- BLK_DEV_THROTTLING y
- CFQ_GROUP_IOSCHED y
- ${optionalString (versionAtLeast version "4.3") ''
- CGROUP_PIDS y
- ''}
+ SQUASHFS_FILE_DIRECT = yes;
+ SQUASHFS_DECOMP_MULTI_PERCPU = yes;
+ SQUASHFS_XATTR = yes;
+ SQUASHFS_ZLIB = yes;
+ SQUASHFS_LZO = yes;
+ SQUASHFS_XZ = yes;
+ SQUASHFS_LZ4 = yes;
- # Enable staging drivers. These are somewhat experimental, but
- # they generally don't hurt.
- STAGING y
+ # Native Language Support modules, needed by some filesystems
+ NLS = yes;
+ NLS_DEFAULT = "utf8";
+ NLS_UTF8 = module;
+ NLS_CODEPAGE_437 = module; # VFAT default for the codepage= mount option
+ NLS_ISO8859_1 = module; # VFAT default for the iocharset= mount option
- # PROC_EVENTS requires that the netlink connector is not built
- # as a module. This is required by libcgroup's cgrulesengd.
- CONNECTOR y
- PROC_EVENTS y
+ DEVTMPFS = yes;
+ };
- # Tracing.
- FTRACE y
- KPROBES y
- FUNCTION_TRACER y
- FTRACE_SYSCALLS y
- SCHED_TRACER y
- STACK_TRACER y
+ security = {
+ # Detect writes to read-only module pages
+ DEBUG_SET_MODULE_RONX = option (whenOlder "4.11" yes);
+ RANDOMIZE_BASE = option yes;
+ STRICT_DEVMEM = option yes; # Filter access to /dev/mem
+ SECURITY_SELINUX_BOOTPARAM_VALUE = "0"; # Disable SELinux by default
+ # Prevent processes from ptracing non-children processes
+ SECURITY_YAMA = option yes;
+ DEVKMEM = when (!features.grsecurity) no; # Disable /dev/kmem
- ${if versionOlder version "4.11" then ''
- UPROBE_EVENT? y
- '' else ''
- UPROBE_EVENTS? y
- ''}
+ USER_NS = yes; # Support for user namespaces
- ${optionalString (versionAtLeast version "4.4") ''
- BPF_SYSCALL y
- BPF_EVENTS y
- ''}
- FUNCTION_PROFILER y
- RING_BUFFER_BENCHMARK n
+ SECURITY_APPARMOR = yes;
+ DEFAULT_SECURITY_APPARMOR = yes;
- # Devtmpfs support.
- DEVTMPFS y
+ } // optionalAttrs (!stdenv.hostPlatform.isAarch32) {
- # Easier debugging of NFS issues.
- SUNRPC_DEBUG y
+ # Detect buffer overflows on the stack
+ CC_STACKPROTECTOR_REGULAR = option (whenOlder "4.18" yes);
+ };
- # Virtualisation.
- PARAVIRT? y
- HYPERVISOR_GUEST y
- PARAVIRT_SPINLOCKS? y
- ${optionalString (versionOlder version "4.8") ''
- KVM_APIC_ARCHITECTURE y
- ''}
- KVM_ASYNC_PF y
- ${optionalString ((versionAtLeast version "4.0") && (versionOlder version "4.12")) ''
- KVM_COMPAT? y
- ''}
- ${optionalString (versionOlder version "4.12") ''
- KVM_DEVICE_ASSIGNMENT? y
- ''}
- ${optionalString (versionAtLeast version "4.0") ''
- KVM_GENERIC_DIRTYLOG_READ_PROTECT y
- ''}
- KVM_GUEST y
- KVM_MMIO y
- ${optionalString (versionAtLeast version "3.13") ''
- KVM_VFIO y
- ''}
- ${optionalString (stdenv.isx86_64 || stdenv.isi686) ''
- XEN? y
- XEN_DOM0? y
- ${optionalString ((versionAtLeast version "3.18") && (features.xen_dom0 or false)) ''
- PCI_XEN? y
- HVC_XEN? y
- HVC_XEN_FRONTEND? y
- XEN_SYS_HYPERVISOR? y
- SWIOTLB_XEN? y
- XEN_BACKEND? y
- XEN_BALLOON? y
- XEN_BALLOON_MEMORY_HOTPLUG? y
- XEN_EFI? y
- XEN_HAVE_PVMMU? y
- XEN_MCE_LOG? y
- XEN_PVH? y
- XEN_PVHVM? y
- XEN_SAVE_RESTORE? y
- XEN_SCRUB_PAGES? y
- XEN_SELFBALLOONING? y
- XEN_STUB? y
- XEN_TMEM? y
- ''}
- ''}
- KSM y
- ${optionalString (!stdenv.is64bit) ''
- HIGHMEM64G? y # We need 64 GB (PAE) support for Xen guest support.
- ''}
- ${optionalString (stdenv.is64bit) ''
- VFIO_PCI_VGA y
- ''}
- VIRT_DRIVERS y
+ microcode = {
+ MICROCODE = yes;
+ MICROCODE_INTEL = yes;
+ MICROCODE_AMD = yes;
- # Media support.
- MEDIA_DIGITAL_TV_SUPPORT y
- MEDIA_CAMERA_SUPPORT y
- ${optionalString (versionOlder version "4.14") ''
- MEDIA_RC_SUPPORT y
- ''}
- MEDIA_CONTROLLER y
- MEDIA_USB_SUPPORT y
- MEDIA_PCI_SUPPORT y
- MEDIA_ANALOG_TV_SUPPORT y
- VIDEO_STK1160_COMMON m
- ${optionalString (versionOlder version "4.11") ''
- VIDEO_STK1160_AC97 y
- ''}
+ MICROCODE_EARLY = whenOlder "4.4" yes;
+ MICROCODE_INTEL_EARLY = whenOlder "4.4" yes;
+ MICROCODE_AMD_EARLY = whenOlder "4.4" yes;
+ } // optionalAttrs (versionAtLeast version "4.10") {
+ # Write Back Throttling
+ # https://lwn.net/Articles/682582/
+ # https://bugzilla.kernel.org/show_bug.cgi?id=12309#c655
+ BLK_WBT = yes;
+ BLK_WBT_SQ = yes;
+ BLK_WBT_MQ = yes;
+ };
- # Our initrd init uses shebang scripts, so can't be modular.
- BINFMT_SCRIPT y
+ container = {
+ NAMESPACES = option yes; # Required by 'unshare' used by 'nixos-install'
+ RT_GROUP_SCHED = no;
+ CGROUP_DEVICE = option yes;
- # For systemd-binfmt
- BINFMT_MISC? y
+ MEMCG = yes;
+ MEMCG_SWAP = yes;
- # Enable the 9P cache to speed up NixOS VM tests.
- 9P_FSCACHE? y
- 9P_FS_POSIX_ACL? y
+ DEVPTS_MULTIPLE_INSTANCES = whenOlder "4.7" yes;
+ BLK_DEV_THROTTLING = yes;
+ CFQ_GROUP_IOSCHED = yes;
+ CGROUP_PIDS = whenAtLeast "4.3" yes;
+ };
- # Enable transparent support for huge pages.
- TRANSPARENT_HUGEPAGE? y
- TRANSPARENT_HUGEPAGE_ALWAYS? n
- TRANSPARENT_HUGEPAGE_MADVISE? y
+ staging = {
+ # Enable staging drivers. These are somewhat experimental, but
+ # they generally don't hurt.
+ STAGING = yes;
+ };
- # zram support (e.g for in-memory compressed swap).
- ZRAM m
- ZSWAP? y
- ZBUD? y
- ${optionalString (versionOlder version "3.18") ''
- ZSMALLOC y
- ''}
- ${optionalString (versionAtLeast version "3.18") ''
- ZSMALLOC m
- ''}
+ proc-events = {
+ # PROC_EVENTS requires that the netlink connector is not built
+ # as a module. This is required by libcgroup's cgrulesengd.
+ CONNECTOR = yes;
+ PROC_EVENTS = yes;
+ };
- # Enable PCIe and USB for the brcmfmac driver
- BRCMFMAC_USB? y
- BRCMFMAC_PCIE? y
+ tracing = {
+ FTRACE = yes;
+ KPROBES = yes;
+ FUNCTION_TRACER = yes;
+ FTRACE_SYSCALLS = yes;
+ SCHED_TRACER = yes;
+ STACK_TRACER = yes;
+ UPROBE_EVENT = option (whenOlder "4.11" yes);
+ UPROBE_EVENTS = option (whenAtLeast "4.11" yes);
+ BPF_SYSCALL = whenAtLeast "4.4" yes;
+ BPF_EVENTS = whenAtLeast "4.4" yes;
+ FUNCTION_PROFILER = yes;
+ RING_BUFFER_BENCHMARK = no;
+ };
- # Support x2APIC (which requires IRQ remapping).
- ${optionalString (stdenv.system == "x86_64-linux") ''
- X86_X2APIC y
- IRQ_REMAP y
- ''}
+ virtualisation = {
+ PARAVIRT = option yes;
- # needed for iwd WPS support (wpa_supplicant replacement)
- ${optionalString (versionAtLeast version "4.7") ''
- KEY_DH_OPERATIONS y
- ''}
+ HYPERVISOR_GUEST = when (!features.grsecurity) yes;
+ PARAVIRT_SPINLOCKS = option yes;
- # Disable the firmware helper fallback, udev doesn't implement it any more
- FW_LOADER_USER_HELPER_FALLBACK? n
+ KVM_APIC_ARCHITECTURE = whenOlder "4.8" yes;
+ KVM_ASYNC_PF = yes;
+ KVM_COMPAT = option (whenBetween "4.0" "4.12" yes);
+ KVM_DEVICE_ASSIGNMENT = option (whenBetween "3.10" "4.12" yes);
+ KVM_GENERIC_DIRTYLOG_READ_PROTECT = whenAtLeast "4.0" yes;
+ KVM_GUEST = when (!features.grsecurity) yes;
+ KVM_MMIO = yes;
+ KVM_VFIO = yes;
+ KSM = yes;
+ VIRT_DRIVERS = yes;
+ # We nneed 64 GB (PAE) support for Xen guest support
+ HIGHMEM64G = option (when (!stdenv.is64bit) yes);
- # Disable various self-test modules that have no use in a production system
- # This menu disables all/most of them on >= 4.16
- RUNTIME_TESTING_MENU? n
- # For older kernels, painstakingly disable each symbol.
- ${optionalString (versionOlder version "4.16") ''
- ARM_KPROBES_TEST? n
- ASYNC_RAID6_TEST? n
- ATOMIC64_SELFTEST? n
- BACKTRACE_SELF_TEST? n
- INTERVAL_TREE_TEST? n
- PERCPU_TEST? n
- RBTREE_TEST? n
- TEST_BITMAP? n
- TEST_BPF? n
- TEST_FIRMWARE? n
- TEST_HASH? n
- TEST_HEXDUMP? n
- TEST_KMOD? n
- TEST_KSTRTOX? n
- TEST_LIST_SORT? n
- TEST_LKM? n
- TEST_PARMAN? n
- TEST_PRINTF? n
- TEST_RHASHTABLE? n
- TEST_SORT? n
- TEST_STATIC_KEYS? n
- TEST_STRING_HELPERS? n
- TEST_UDELAY? n
- TEST_USER_COPY? n
- TEST_UUID? n
- ''}
+ VFIO_PCI_VGA = when stdenv.is64bit yes;
- CRC32_SELFTEST? n
- CRYPTO_TEST? n
- ${optionalString (versionOlder version "4.18") ''
- DRM_DEBUG_MM_SELFTEST? n
- LNET_SELFTEST? n
- ''}
- EFI_TEST? n
- GLOB_SELFTEST? n
- LOCK_TORTURE_TEST? n
- MTD_TESTS? n
- NOTIFIER_ERROR_INJECTION? n
- RCU_PERF_TEST? n
- RCU_TORTURE_TEST? n
- TEST_ASYNC_DRIVER_PROBE? n
- WW_MUTEX_SELFTEST? n
- XZ_DEC_TEST? n
+ } // optionalAttrs (stdenv.isx86_64 || stdenv.isi686) ({
+ XEN = option yes;
- ${optionalString (features.criu or false) ''
- EXPERT y
- CHECKPOINT_RESTORE y
- ''}
+ # XXX: why isn't this in the xen-dom0 conditional section below?
+ XEN_DOM0 = option yes;
- ${optionalString ((features.criu or false) && (features.criu_revert_expert or true))
- # Revert some changes, introduced by EXPERT, when necessary for criu
- ''
- RFKILL_INPUT? y
- HID_PICOLCD_FB? y
- HID_PICOLCD_BACKLIGHT? y
- HID_PICOLCD_LCD? y
- HID_PICOLCD_LEDS? y
- HID_PICOLCD_CIR? y
- DEBUG_MEMORY_INIT? y
- ''}
+ } // optionalAttrs features.xen_dom0 {
+ PCI_XEN = option yes;
+ HVC_XEN = option yes;
+ HVC_XEN_FRONTEND = option yes;
+ XEN_SYS_HYPERVISOR = option yes;
+ SWIOTLB_XEN = option yes;
+ XEN_BACKEND = option yes;
+ XEN_BALLOON = option yes;
+ XEN_BALLOON_MEMORY_HOTPLUG = option yes;
+ XEN_EFI = option yes;
+ XEN_HAVE_PVMMU = option yes;
+ XEN_MCE_LOG = option yes;
+ XEN_PVH = option yes;
+ XEN_PVHVM = option yes;
+ XEN_SAVE_RESTORE = option yes;
+ XEN_SCRUB_PAGES = option yes;
+ XEN_SELFBALLOONING = option yes;
+ XEN_STUB = option yes;
+ XEN_TMEM = option yes;
+ });
- ${extraConfig}
-''
+ media = {
+ MEDIA_DIGITAL_TV_SUPPORT = yes;
+ MEDIA_CAMERA_SUPPORT = yes;
+ MEDIA_RC_SUPPORT = whenOlder "4.14" yes;
+ MEDIA_CONTROLLER = yes;
+ MEDIA_PCI_SUPPORT = yes;
+ MEDIA_USB_SUPPORT = yes;
+ MEDIA_ANALOG_TV_SUPPORT = yes;
+ VIDEO_STK1160_COMMON = module;
+ VIDEO_STK1160_AC97 = whenOlder "4.11" yes;
+ };
+
+ "9p" = {
+ # Enable the 9P cache to speed up NixOS VM tests.
+ "9P_FSCACHE" = option yes;
+ "9P_FS_POSIX_ACL" = option yes;
+ };
+
+ huge-page = {
+ TRANSPARENT_HUGEPAGE = option yes;
+ TRANSPARENT_HUGEPAGE_ALWAYS = option no;
+ TRANSPARENT_HUGEPAGE_MADVISE = option yes;
+ };
+
+ zram = {
+ ZRAM = module;
+ ZSWAP = option yes;
+ ZBUD = option yes;
+ ZSMALLOC = module;
+ };
+
+ brcmfmac = {
+ # Enable PCIe and USB for the brcmfmac driver
+ BRCMFMAC_USB = option yes;
+ BRCMFMAC_PCIE = option yes;
+ };
+
+ # Support x2APIC (which requires IRQ remapping)
+ x2apic = optionalAttrs (stdenv.system == "x86_64-linux") {
+ X86_X2APIC = yes;
+ IRQ_REMAP = yes;
+ };
+
+ # Disable various self-test modules that have no use in a production system
+ tests = {
+ # This menu disables all/most of them on >= 4.16
+ RUNTIME_TESTING_MENU = option no;
+ } // optionalAttrs (versionOlder version "4.16") {
+ # For older kernels, painstakingly disable each symbol.
+ ARM_KPROBES_TEST = option no;
+ ASYNC_RAID6_TEST = option no;
+ ATOMIC64_SELFTEST = option no;
+ BACKTRACE_SELF_TEST = option no;
+ INTERVAL_TREE_TEST = option no;
+ PERCPU_TEST = option no;
+ RBTREE_TEST = option no;
+ TEST_BITMAP = option no;
+ TEST_BPF = option no;
+ TEST_FIRMWARE = option no;
+ TEST_HASH = option no;
+ TEST_HEXDUMP = option no;
+ TEST_KMOD = option no;
+ TEST_KSTRTOX = option no;
+ TEST_LIST_SORT = option no;
+ TEST_LKM = option no;
+ TEST_PARMAN = option no;
+ TEST_PRINTF = option no;
+ TEST_RHASHTABLE = option no;
+ TEST_SORT = option no;
+ TEST_STATIC_KEYS = option no;
+ TEST_STRING_HELPERS = option no;
+ TEST_UDELAY = option no;
+ TEST_USER_COPY = option no;
+ TEST_UUID = option no;
+ } // {
+ CRC32_SELFTEST = option no;
+ CRYPTO_TEST = option no;
+ EFI_TEST = option no;
+ GLOB_SELFTEST = option no;
+ DRM_DEBUG_MM_SELFTEST = option (whenOlder "4.18" no);
+ LNET_SELFTEST = option (whenOlder "4.18" no);
+ LOCK_TORTURE_TEST = option no;
+ MTD_TESTS = option no;
+ NOTIFIER_ERROR_INJECTION = option no;
+ RCU_PERF_TEST = option no;
+ RCU_TORTURE_TEST = option no;
+ TEST_ASYNC_DRIVER_PROBE = option no;
+ WW_MUTEX_SELFTEST = option no;
+ XZ_DEC_TEST = option no;
+ } // optionalAttrs (features.criu or false) ({
+ EXPERT = yes;
+ CHECKPOINT_RESTORE = yes;
+ } // optionalAttrs (features.criu_revert_expert or true) {
+ RFKILL_INPUT = option yes;
+ HID_PICOLCD_FB = option yes;
+ HID_PICOLCD_BACKLIGHT = option yes;
+ HID_PICOLCD_LCD = option yes;
+ HID_PICOLCD_LEDS = option yes;
+ HID_PICOLCD_CIR = option yes;
+ DEBUG_MEMORY_INIT = option yes;
+ });
+
+ misc = {
+ MODULE_COMPRESS = yes;
+ MODULE_COMPRESS_XZ = yes;
+ KERNEL_XZ = yes;
+
+ UNIX = yes; # Unix domain sockets.
+
+ MD = yes; # Device mapper (RAID, LVM, etc.)
+
+ # Enable initrd support.
+ BLK_DEV_RAM = yes;
+ BLK_DEV_INITRD = yes;
+
+ PM_TRACE_RTC = no; # Disable some expensive (?) features.
+ ACCESSIBILITY = yes; # Accessibility support
+ AUXDISPLAY = yes; # Auxiliary Display support
+ DONGLE = whenOlder "4.17" yes; # Serial dongle support
+ HIPPI = yes;
+ MTD_COMPLEX_MAPPINGS = yes; # needed for many devices
+
+ SCSI_LOWLEVEL = yes; # enable lots of SCSI devices
+ SCSI_LOWLEVEL_PCMCIA = yes;
+ SCSI_SAS_ATA = yes; # added to enable detection of hard drive
+
+ SPI = yes; # needed for many devices
+ SPI_MASTER = yes;
+
+ "8139TOO_8129" = yes;
+ "8139TOO_PIO" = no; # PIO is slower
+
+ AIC79XX_DEBUG_ENABLE = no;
+ AIC7XXX_DEBUG_ENABLE = no;
+ AIC94XX_DEBUG = no;
+ B43_PCMCIA = option (whenOlder "4.4" yes);
+
+ BLK_DEV_INTEGRITY = yes;
+
+ BSD_PROCESS_ACCT_V3 = yes;
+
+ BT_HCIUART_BCSP = option yes;
+ BT_HCIUART_H4 = option yes; # UART (H4) protocol support
+ BT_HCIUART_LL = option yes;
+ BT_RFCOMM_TTY = option yes; # RFCOMM TTY support
+
+ CLEANCACHE = option yes;
+ CRASH_DUMP = option no;
+
+ DVB_DYNAMIC_MINORS = option yes; # we use udev
+
+ EFI_STUB = yes; # EFI bootloader in the bzImage itself
+ CGROUPS = yes; # used by systemd
+ FHANDLE = yes; # used by systemd
+ SECCOMP = yes; # used by systemd >= 231
+ SECCOMP_FILTER = yes; # ditto
+ POSIX_MQUEUE = yes;
+ FRONTSWAP = yes;
+ FUSION = yes; # Fusion MPT device support
+ IDE = no; # deprecated IDE support
+ IDLE_PAGE_TRACKING = yes;
+ IRDA_ULTRA = whenOlder "4.17" yes; # Ultra (connectionless) protocol
+
+ JOYSTICK_IFORCE_232 = option yes; # I-Force Serial joysticks and wheels
+ JOYSTICK_IFORCE_USB = option yes; # I-Force USB joysticks and wheels
+ JOYSTICK_XPAD_FF = option yes; # X-Box gamepad rumble support
+ JOYSTICK_XPAD_LEDS = option yes; # LED Support for Xbox360 controller 'BigX' LED
+
+ KEXEC_FILE = option yes;
+ KEXEC_JUMP = option yes;
+
+ # Windows Logical Disk Manager (Dynamic Disk) support
+ LDM_PARTITION = yes;
+ LOGIRUMBLEPAD2_FF = yes; # Logitech Rumblepad 2 force feedback
+ LOGO = no; # not needed
+ MEDIA_ATTACH = yes;
+ MEGARAID_NEWGEN = yes;
+
+ MLX4_EN_VXLAN = whenOlder "4.8" yes;
+
+ MODVERSIONS = whenOlder "4.9" yes;
+ MOUSE_PS2_ELANTECH = yes; # Elantech PS/2 protocol extension
+ MTRR_SANITIZER = yes;
+ NET_FC = yes; # Fibre Channel driver support
+ # GPIO on Intel Bay Trail, for some Chromebook internal eMMC disks
+ PINCTRL_BAYTRAIL = yes;
+ # 8 is default. Modern gpt tables on eMMC may go far beyond 8.
+ MMC_BLOCK_MINORS = "32";
+
+ REGULATOR = yes; # Voltage and Current Regulator Support
+ RC_DEVICES = option yes; # Enable IR devices
+
+ RT2800USB_RT53XX = yes;
+ RT2800USB_RT55XX = yes;
+
+ SCHED_AUTOGROUP = yes;
+ CFS_BANDWIDTH = yes;
+
+ SCSI_LOGGING = yes; # SCSI logging facility
+ SERIAL_8250 = yes; # 8250/16550 and compatible serial support
+
+ SLIP_COMPRESSED = yes; # CSLIP compressed headers
+ SLIP_SMART = yes;
+
+ HWMON = yes;
+ THERMAL_HWMON = yes; # Hardware monitoring support
+ UEVENT_HELPER = no;
+
+ USERFAULTFD = yes;
+ X86_CHECK_BIOS_CORRUPTION = yes;
+ X86_MCE = yes;
+
+ # Our initrd init uses shebang scripts, so can't be modular.
+ BINFMT_SCRIPT = yes;
+ # For systemd-binfmt
+ BINFMT_MISC = option yes;
+
+ # Disable the firmware helper fallback, udev doesn't implement it any more
+ FW_LOADER_USER_HELPER_FALLBACK = option no;
+
+ HOTPLUG_PCI_ACPI = yes; # PCI hotplug using ACPI
+ HOTPLUG_PCI_PCIE = yes; # PCI-Expresscard hotplug support
+
+ } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") {
+ # Bump the maximum number of CPUs to support systems like EC2 x1.*
+ # instances and Xeon Phi.
+ NR_CPUS = "384";
+ };
+ };
+in (generateNixKConf ((flattenKConf options) // structuredExtraConfig) mkValueOverride) + extraConfig
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 249a1ea5cef..684955b9067 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -15,9 +15,12 @@
, # Allows overriding the default defconfig
defconfig ? null
-, # Overrides to the kernel config.
+, # Legacy overrides to the intermediate kernel config, as string
extraConfig ? ""
+, # kernel intermediate config overrides, as a set
+ structuredExtraConfig ? {}
+
, # The version number used for the module directory
modDirVersion ? version
@@ -42,6 +45,7 @@
, preferBuiltin ? hostPlatform.platform.kernelPreferBuiltin or false
, kernelArch ? hostPlatform.platform.kernelArch
+, mkValueOverride ? null
, ...
} @ args:
@@ -57,10 +61,13 @@ let
efiBootStub = true;
needsCifsUtils = true;
netfilterRPFilter = true;
+ grsecurity = false;
+ xen_dom0 = false;
} // features) kernelPatches;
- config = import ./common-config.nix {
- inherit stdenv version ;
+ intermediateNixConfig = import ./common-config.nix {
+ inherit stdenv version structuredExtraConfig mkValueOverride;
+
# append extraConfig for backwards compatibility but also means the user can't override the kernelExtraConfig part
extraConfig = extraConfig + lib.optionalString (hostPlatform.platform ? kernelExtraConfig) hostPlatform.platform.kernelExtraConfig;
@@ -79,7 +86,7 @@ let
generateConfig = ./generate-config.pl;
- kernelConfig = kernelConfigFun config;
+ kernelConfig = kernelConfigFun intermediateNixConfig;
passAsFile = [ "kernelConfig" ];
depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 9833bb57baf..fe46b9eab40 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -24,7 +24,7 @@ in {
modDirVersion ? version,
# The kernel source (tarball, git checkout, etc.)
src,
- # Any patches
+ # a list of { name=..., patch=..., extraConfig=...} patches
kernelPatches ? [],
# The kernel .config file
configfile,
diff --git a/pkgs/os-specific/linux/thunderbolt/default.nix b/pkgs/os-specific/linux/thunderbolt/default.nix
index 3189872ca3b..9d919aaaa93 100644
--- a/pkgs/os-specific/linux/thunderbolt/default.nix
+++ b/pkgs/os-specific/linux/thunderbolt/default.nix
@@ -4,16 +4,17 @@
, fetchFromGitHub
, pkgconfig
, txt2tags
+, udev
}:
stdenv.mkDerivation rec {
name = "thunderbolt-${version}";
- version = "0.9.2";
+ version = "0.9.3";
src = fetchFromGitHub {
owner = "01org";
repo = "thunderbolt-software-user-space";
- rev = "1ae06410180320a5d0e7408a8d1a6ae2aa443c23";
- sha256 = "03yk419gj0767lpk6zvla4jx3nx56zsg4x4adl4nd50xhn409rcc";
+ rev = "v${version}";
+ sha256 = "02w1bfm7xvq0dzkhwqiq0camkzz9kvciyhnsis61c8vzp39cwx0x";
};
buildInputs = [
@@ -23,11 +24,15 @@ stdenv.mkDerivation rec {
txt2tags
];
- cmakeFlags = [
- "-DCMAKE_BUILD_TYPE='Release'"
- "-DUDEV_BIN_DIR=$out/bin"
- "-DUDEV_RULES_DIR=$out/udev"
- ];
+ # These can't go in the normal nix cmakeFlags because $out needs to be
+ # expanded by the shell, not by cmake or nix. $ENV{out} doesn't work right
+ # either; it results in /build/source/build//nix/store/blahblahblahblah/bin/
+ # TODO: use ${placeholder "out"} when possible.
+ # See https://github.com/NixOS/nixpkgs/pull/37693
+ preConfigure = ''
+ cmakeFlags+=" -DUDEV_BIN_DIR=$out/bin"
+ cmakeFlags+=" -DUDEV_RULES_DIR=$out/etc/udev/rules.d"
+ '';
meta = {
description = "Thunderbolt(TM) user-space components";
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 55070a48b7d..70f2bf9d61e 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -8,7 +8,7 @@
}:
stdenv.mkDerivation rec {
- name = "dovecot-2.3.1";
+ name = "dovecot-2.3.2";
nativeBuildInputs = [ perl pkgconfig ];
buildInputs =
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://dovecot.org/releases/2.3/${name}.tar.gz";
- sha256 = "14zva4f8k64x86sm9n21cp2yvrpph6k6k52bm22a00pxjwdq50q8";
+ sha256 = "14z3vbva1inck2lrrgdj5fbrpqhs7pls7c1m63q2g13nc3xg0j3f";
};
preConfigure = ''
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index a393df3d8bd..1b744181096 100644
--- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "dovecot-pigeonhole-${version}";
- version = "0.5.1";
+ version = "0.5.2";
src = fetchurl {
url = "https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz";
- sha256 = "0ivmaxic6cygfphvlrvy0xgggydm7j7kjv1ssfqbr08q4rcsmc73";
+ sha256 = "0d95q2yj2f750jwg599jlizlglldcz9hs52y4mhrflwfqlaqw3lm";
};
buildInputs = [ dovecot openssl ];
diff --git a/pkgs/servers/openafs/default.nix b/pkgs/servers/openafs/1.6/default.nix
similarity index 100%
rename from pkgs/servers/openafs/default.nix
rename to pkgs/servers/openafs/1.6/default.nix
diff --git a/pkgs/servers/openafs/module.nix b/pkgs/servers/openafs/1.6/module.nix
similarity index 100%
rename from pkgs/servers/openafs/module.nix
rename to pkgs/servers/openafs/1.6/module.nix
diff --git a/pkgs/servers/openafs/srcs.nix b/pkgs/servers/openafs/1.6/srcs.nix
similarity index 100%
rename from pkgs/servers/openafs/srcs.nix
rename to pkgs/servers/openafs/1.6/srcs.nix
diff --git a/pkgs/servers/openafs/tsmbac.patch b/pkgs/servers/openafs/1.6/tsmbac.patch
similarity index 100%
rename from pkgs/servers/openafs/tsmbac.patch
rename to pkgs/servers/openafs/1.6/tsmbac.patch
diff --git a/pkgs/servers/openafs/1.8/bosserver.patch b/pkgs/servers/openafs/1.8/bosserver.patch
new file mode 100644
index 00000000000..094d9871f64
--- /dev/null
+++ b/pkgs/servers/openafs/1.8/bosserver.patch
@@ -0,0 +1,30 @@
+diff -u openafs-1.8.0/src/bozo/bosserver.c /tmp/buffer-content-13110-gd
+--- openafs-1.8.0/src/bozo/bosserver.c
++++ #
+@@ -244,24 +244,6 @@
+ static int
+ CreateDirs(const char *coredir)
+ {
+- if ((!strncmp
+- (AFSDIR_USR_DIRPATH, AFSDIR_CLIENT_ETC_DIRPATH,
+- strlen(AFSDIR_USR_DIRPATH)))
+- ||
+- (!strncmp
+- (AFSDIR_USR_DIRPATH, AFSDIR_SERVER_BIN_DIRPATH,
+- strlen(AFSDIR_USR_DIRPATH)))) {
+- if (MakeDir(AFSDIR_USR_DIRPATH))
+- return errno;
+- }
+- if (!strncmp
+- (AFSDIR_SERVER_AFS_DIRPATH, AFSDIR_SERVER_BIN_DIRPATH,
+- strlen(AFSDIR_SERVER_AFS_DIRPATH))) {
+- if (MakeDir(AFSDIR_SERVER_AFS_DIRPATH))
+- return errno;
+- }
+- if (MakeDir(AFSDIR_SERVER_BIN_DIRPATH))
+- return errno;
+ if (MakeDir(AFSDIR_SERVER_ETC_DIRPATH))
+ return errno;
+ if (MakeDir(AFSDIR_SERVER_LOCAL_DIRPATH))
+
+Diff finished. Fri Jun 29 15:45:46 2018
diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix
new file mode 100644
index 00000000000..59c15839b39
--- /dev/null
+++ b/pkgs/servers/openafs/1.8/default.nix
@@ -0,0 +1,97 @@
+{ stdenv, fetchurl, fetchgit, which, autoconf, automake, flex, yacc
+, glibc, perl, kerberos, libxslt, docbook_xsl, docbook_xml_dtd_43
+, libtool_2, removeReferencesTo
+, ncurses # Extra ncurses utilities. Only needed for debugging.
+, tsmbac ? null # Tivoli Storage Manager Backup Client from IBM
+}:
+
+with (import ./srcs.nix { inherit fetchurl; });
+
+stdenv.mkDerivation rec {
+ name = "openafs-${version}";
+ inherit version srcs;
+
+ nativeBuildInputs = [ autoconf automake flex libxslt libtool_2 perl
+ removeReferencesTo which yacc ];
+
+ buildInputs = [ kerberos ncurses ];
+
+ patches = [ ./bosserver.patch ] ++ stdenv.lib.optional (tsmbac != null) ./tsmbac.patch;
+
+ outputs = [ "out" "dev" "man" "doc" "server" ];
+
+ enableParallelBuilding = true;
+
+ setOutputFlags = false;
+
+ # Makefiles don't include install targets for all new shared libs, yet.
+ dontDisableStatic = true;
+
+ preConfigure = ''
+ patchShebangs .
+ for i in `grep -l -R '/usr/\(include\|src\)' .`; do
+ echo "Patch /usr/include and /usr/src in $i"
+ substituteInPlace $i \
+ --replace "/usr/include" "${glibc.dev}/include" \
+ --replace "/usr/src" "$TMP"
+ done
+
+ for i in ./doc/xml/{AdminGuide,QuickStartUnix,UserGuide}/*.xml; do
+ substituteInPlace "''${i}" --replace "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" \
+ "${docbook_xml_dtd_43}/xml/dtd/docbook/docbookx.dtd"
+ done
+
+ ./regen.sh
+
+ configureFlagsArray=(
+ "--with-gssapi"
+ "--sysconfdir=/etc"
+ "--localstatedir=/var"
+ "--disable-kernel-module"
+ "--disable-fuse-client"
+ "--with-html-xsl=${docbook_xsl}/share/xml/docbook-xsl/html/chunk.xsl"
+ ${stdenv.lib.optionalString (tsmbac != null) "--enable-tivoli-tsm"}
+ ${stdenv.lib.optionalString (ncurses == null) "--disable-gtx"}
+ "--disable-linux-d_splice-alias-extra-iput"
+ "--libexecdir=$server/libexec"
+ )
+ '' + stdenv.lib.optionalString (tsmbac != null) ''
+ export XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I${tsmbac}/lib64/sample -DXBSA_TSMLIB=\\\"${tsmbac}/lib64/libApiTSM64.so\\\""
+ export XBSA_XLIBS="-ldl"
+ '';
+
+ buildFlags = [ "all_nolibafs" ];
+
+ postBuild = ''
+ for d in doc/xml/{AdminGuide,QuickStartUnix,UserGuide}; do
+ make -C "''${d}" index.html
+ done
+ '';
+
+ postInstall = ''
+ mkdir -p $doc/share/doc/openafs/{AdminGuide,QuickStartUnix,UserGuide}
+ cp -r doc/{pdf,protocol,txt} README LICENSE $doc/share/doc/openafs
+ for d in AdminGuide QuickStartUnix UserGuide ; do
+ cp "doc/xml/''${d}"/*.html "$doc/share/doc/openafs/''${d}"
+ done
+
+ rm -r $out/lib/openafs
+ '';
+
+ # Avoid references to $TMPDIR by removing it and let patchelf cleanup the
+ # binaries.
+ preFixup = ''
+ rm -rf "$(pwd)" && mkdir "$(pwd)"
+
+ find $out -type f -exec remove-references-to -t $server '{}' '+'
+ '';
+
+ meta = with stdenv.lib; {
+ outputsToInstall = [ "out" "doc" "man" ];
+ description = "Open AFS client";
+ homepage = https://www.openafs.org;
+ license = licenses.ipl10;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+ };
+}
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
new file mode 100644
index 00000000000..356d3cf37c3
--- /dev/null
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchurl, which, autoconf, automake, flex, yacc
+, kernel, glibc, perl, libtool_2, kerberos }:
+
+with (import ./srcs.nix { inherit fetchurl; });
+
+let
+ modDestDir = "$out/lib/modules/${kernel.modDirVersion}/extra/openafs";
+ kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+
+in stdenv.mkDerivation rec {
+ name = "openafs-${version}-${kernel.version}";
+ inherit version src;
+
+ nativeBuildInputs = [ autoconf automake flex libtool_2 perl which yacc ]
+ ++ kernel.moduleBuildDependencies;
+
+ buildInputs = [ kerberos ];
+
+ hardeningDisable = [ "pic" ];
+
+ configureFlags = [
+ "--with-linux-kernel-build=${kernelBuildDir}"
+ "--sysconfdir=/etc"
+ "--localstatedir=/var"
+ "--with-gssapi"
+ "--disable-linux-d_splice-alias-extra-iput"
+ ];
+
+ preConfigure = ''
+ patchShebangs .
+ for i in `grep -l -R '/usr/\(include\|src\)' .`; do
+ echo "Patch /usr/include and /usr/src in $i"
+ substituteInPlace $i \
+ --replace "/usr/include" "${glibc.dev}/include" \
+ --replace "/usr/src" "${kernelBuildDir}"
+ done
+
+ ./regen.sh -q
+ '';
+
+ buildPhase = ''
+ make V=1 only_libafs
+ '';
+
+ installPhase = ''
+ mkdir -p ${modDestDir}
+ cp src/libafs/MODLOAD-*/libafs-${kernel.version}.* ${modDestDir}/libafs.ko
+ xz -f ${modDestDir}/libafs.ko
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Open AFS client kernel module";
+ homepage = https://www.openafs.org;
+ license = licenses.ipl10;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+ broken = (versionOlder kernel.version "3.18") || stdenv.targetPlatform.isAarch64;
+ };
+
+}
diff --git a/pkgs/servers/openafs/1.8/srcs.nix b/pkgs/servers/openafs/1.8/srcs.nix
new file mode 100644
index 00000000000..e5150452899
--- /dev/null
+++ b/pkgs/servers/openafs/1.8/srcs.nix
@@ -0,0 +1,14 @@
+{ fetchurl }:
+rec {
+ version = "1.8.0";
+ src = fetchurl {
+ url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
+ sha256 = "63fae6b3a4339e4a40945fae1afb9b99a5e7f8e8dbde668938ab8c4ff569fd7d";
+ };
+
+ srcs = [ src
+ (fetchurl {
+ url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
+ sha256 = "e26f3bb399f524b4978543eb3ec169fd58f2d409cf4bc22c75c65fb9b09f12e8";
+ })];
+}
diff --git a/pkgs/servers/openafs/1.8/tsmbac.patch b/pkgs/servers/openafs/1.8/tsmbac.patch
new file mode 100644
index 00000000000..f68c777b6f0
--- /dev/null
+++ b/pkgs/servers/openafs/1.8/tsmbac.patch
@@ -0,0 +1,62 @@
+diff -ru openafs-1.8.0/src/butc/afsxbsa.c openafs-1.8.0.new/src/butc/afsxbsa.c
+--- openafs-1.8.0/src/butc/afsxbsa.c 2018-04-06 03:21:12.000000000 +0200
++++ openafs-1.8.0.new/src/butc/afsxbsa.c 2018-06-12 16:26:26.272522305 +0200
+@@ -651,7 +651,7 @@
+ #if defined(AFS_AIX_ENV)
+ dynlib = dlopen("/usr/lib/libApiDS.a(dsmapish.o)", RTLD_NOW | RTLD_LOCAL | RTLD_MEMBER);
+ #elif defined (AFS_AMD64_LINUX26_ENV)
+- dynlib = dlopen("/usr/lib64/libApiTSM64.so", RTLD_NOW | RTLD_LOCAL);
++ dynlib = dlopen(XBSA_TSMLIB, RTLD_NOW | RTLD_LOCAL);
+ #elif defined(AFS_SUN5_ENV) || defined(AFS_LINUX26_ENV)
+ dynlib = dlopen("/usr/lib/libApiDS.so", RTLD_NOW | RTLD_LOCAL);
+ #else
+diff -ru openafs-1.8.0/src/cf/tivoli.m4 openafs-1.8.0.new/src/cf/tivoli.m4
+--- openafs-1.8.0/src/cf/tivoli.m4 2018-04-06 03:21:12.000000000 +0200
++++ openafs-1.8.0.new/src/cf/tivoli.m4 2018-06-12 16:26:26.072522485 +0200
+@@ -1,45 +1,7 @@
+ AC_DEFUN([OPENAFS_TIVOLI_TESTS],[
+ dnl check for tivoli
+ AC_MSG_CHECKING(for tivoli tsm butc support)
+-XBSA_CFLAGS=""
+-if test "$enable_tivoli_tsm" = "yes"; then
+- XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
+- XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
+- XBSADIR3=/usr/tivoli/tsm/client/api/bin/sample
+- XBSADIR4=/opt/tivoli/tsm/client/api/bin/sample
+- XBSADIR5=/usr/tivoli/tsm/client/api/bin64/sample
+- XBSADIR6=/opt/tivoli/tsm/client/api/bin64/sample
+-
+- if test -r "$XBSADIR3/dsmapifp.h"; then
+- XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR3"
+- XBSA_XLIBS="-ldl"
+- AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+- elif test -r "$XBSADIR4/dsmapifp.h"; then
+- XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR4"
+- XBSA_XLIBS="-ldl"
+- AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+- elif test -r "$XBSADIR5/dsmapifp.h"; then
+- XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR5"
+- XBSA_XLIBS="-ldl"
+- AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+- elif test -r "$XBSADIR6/dsmapifp.h"; then
+- XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR6"
+- XBSA_XLIBS="-ldl"
+- AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+- elif test -r "$XBSADIR1/xbsa.h"; then
+- XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
+- XBSA_XLIBS=""
+- AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+- elif test -r "$XBSADIR2/xbsa.h"; then
+- XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
+- XBSA_XLIBS=""
+- AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+- else
+- AC_MSG_RESULT([no, missing xbsa.h and dsmapifp.h header files])
+- fi
+-else
+- AC_MSG_RESULT([no])
+-fi
++AC_MSG_RESULT([yes])
+ AC_SUBST(XBSA_CFLAGS)
+ AC_SUBST(XBSA_XLIBS)
+ XLIBS="$XBSA_XLIBS $XLIBS"
diff --git a/pkgs/servers/radicale/default.nix b/pkgs/servers/radicale/default.nix
index 171fcc887d2..077192fbef0 100644
--- a/pkgs/servers/radicale/default.nix
+++ b/pkgs/servers/radicale/default.nix
@@ -1,11 +1,26 @@
-{ stdenv, fetchFromGitHub, python3Packages }:
+{ stdenv, fetchFromGitHub, python3 }:
let
version = "2.1.9";
sha256 = "1sywxn7j9bq39qwq74h327crc44j9049cykai1alv44agx8s1nhz";
+
+ python = python3.override {
+ packageOverrides = self: super: {
+
+ # https://github.com/eventable/vobject/issues/112
+ python-dateutil = super.python-dateutil.overridePythonAttrs (oldAttrs: rec {
+ version = "2.6.1";
+ src = oldAttrs.src.override {
+ inherit version;
+ sha256 = "891c38b2a02f5bb1be3e4793866c8df49c7d19baabf9c1bad62547e0b4866aca";
+ };
+ });
+
+ };
+ };
in
-python3Packages.buildPythonApplication {
+python.pkgs.buildPythonApplication {
name = "radicale-${version}";
inherit version;
@@ -18,7 +33,7 @@ python3Packages.buildPythonApplication {
doCheck = false;
- propagatedBuildInputs = with python3Packages; [
+ propagatedBuildInputs = with python.pkgs; [
vobject
passlib
pytz
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 1b5a8c24424..b7fddeb854d 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -28,7 +28,7 @@ in stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Usenet NZB downloader, par2 repairer and auto extracting server";
- homepage = http://sabnzbd.org;
+ homepage = https://sabnzbd.org;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with stdenv.lib.maintainers; [ fridh ];
diff --git a/pkgs/shells/zsh/antibody/default.nix b/pkgs/shells/zsh/antibody/default.nix
index 6d428b69e63..665f403047f 100644
--- a/pkgs/shells/zsh/antibody/default.nix
+++ b/pkgs/shells/zsh/antibody/default.nix
@@ -2,7 +2,7 @@
buildGoPackage rec {
name = "antibody-${version}";
- version = "3.5.0";
+ version = "3.5.1";
rev = "v${version}";
goPackagePath = "github.com/getantibody/antibody";
@@ -11,7 +11,7 @@ buildGoPackage rec {
inherit rev;
owner = "getantibody";
repo = "antibody";
- sha256 = "0x9wfki7cl3cm9h21zj37196gwdzgllfgqmgy9n86m82wbla6slb";
+ sha256 = "0bqq59vnnm80jiqlhn7wfyzj96nkv8k9zp8i4sgcj8gvk1zq2lbc";
};
goDeps = ./deps.nix;
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 1ff9455adec..a11a530bcdb 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
$ cp -v $(nix-env -q --out-path oh-my-zsh | cut -d' ' -f3)/share/oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
'';
- homepage = "http://ohmyz.sh/";
+ homepage = https://ohmyz.sh/;
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [ scolobb nequissimus ];
diff --git a/pkgs/tools/admin/lego/default.nix b/pkgs/tools/admin/lego/default.nix
index fe165b1e66e..07311c2c64a 100644
--- a/pkgs/tools/admin/lego/default.nix
+++ b/pkgs/tools/admin/lego/default.nix
@@ -1,15 +1,15 @@
{ lib, fetchFromGitHub, buildGoPackage }:
buildGoPackage rec {
- name = "lego-unstable-${version}";
- version = "2018-02-02";
- rev = "06a8e7c475c03ef8d4773284ac63357d2810601b";
+ name = "lego-${version}";
+ version = "1.0.1";
+ rev = "v${version}";
src = fetchFromGitHub {
inherit rev;
owner = "xenolf";
repo = "lego";
- sha256 = "11a9gcgi3317z4lb1apkf6dnbjhf7xni0670nric3fbf5diqfwh2";
+ sha256 = "1l9winhqwid8ac8il303qkhsn0v5h7zhlklviszfi1rjal38ipiz";
};
goPackagePath = "github.com/xenolf/lego";
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index b53a9b7eb0f..b6ff7e5c967 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -17,6 +17,7 @@
, enableLastfm ? true
, enableMpd ? true
, enableReplaygain ? true, bs1770gain ? null
+, enableSonosUpdate ? true
, enableThumbnails ? true
, enableWeb ? true
@@ -37,6 +38,7 @@ assert enableKeyfinder -> keyfinder-cli != null;
assert enableLastfm -> pythonPackages.pylast != null;
assert enableMpd -> pythonPackages.mpd2 != null;
assert enableReplaygain -> bs1770gain != null;
+assert enableSonosUpdate -> pythonPackages.soco != null;
assert enableThumbnails -> pythonPackages.pyxdg != null;
assert enableWeb -> pythonPackages.flask != null;
@@ -59,6 +61,7 @@ let
mpdstats = enableMpd;
mpdupdate = enableMpd;
replaygain = enableReplaygain;
+ sonosupdate = enableSonosUpdate;
thumbnails = enableThumbnails;
web = enableWeb;
};
@@ -95,13 +98,13 @@ let
in pythonPackages.buildPythonApplication rec {
name = "beets-${version}";
- version = "1.4.6";
+ version = "1.4.7";
src = fetchFromGitHub {
owner = "beetbox";
repo = "beets";
rev = "v${version}";
- sha256 = "0m8macydkn1fp4ymig0rg7bzw77rrm454q763gxdpq2kg08yl5py";
+ sha256 = "17gfz0g7pqm6wha8zf63zpw07zgi787w1bjwdcxdh1l3z4m7jc9l";
};
propagatedBuildInputs = [
@@ -129,6 +132,7 @@ in pythonPackages.buildPythonApplication rec {
++ optional enableKeyfinder keyfinder-cli
++ optional enableLastfm pythonPackages.pylast
++ optional enableMpd pythonPackages.mpd2
+ ++ optional enableSonosUpdate pythonPackages.soco
++ optional enableThumbnails pythonPackages.pyxdg
++ optional enableWeb pythonPackages.flask
++ optional enableAlternatives plugins.alternatives
diff --git a/pkgs/tools/filesystems/f2fs-tools/default.nix b/pkgs/tools/filesystems/f2fs-tools/default.nix
index 53b17f45f9f..321259292ef 100644
--- a/pkgs/tools/filesystems/f2fs-tools/default.nix
+++ b/pkgs/tools/filesystems/f2fs-tools/default.nix
@@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "f2fs-tools-${version}";
- version = "1.9.0";
+ version = "1.10.0";
src = fetchgit {
url = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git";
rev = "refs/tags/v${version}";
- sha256 = "0aj9dbhv7vv19pyb2rhcg99v5v0s66sb9yzrdmi46bmvzz124pal";
+ sha256 = "1254pd254l1hxkzkkzqmzc0j9vywj2wddg9apqaixjninj21jrbc";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/papis/default.nix b/pkgs/tools/misc/papis/default.nix
index 49c57ab8dc9..20fafff587c 100644
--- a/pkgs/tools/misc/papis/default.nix
+++ b/pkgs/tools/misc/papis/default.nix
@@ -1,12 +1,24 @@
{ buildPythonApplication, lib, fetchFromGitHub, bashInteractive
-, argcomplete, arxiv2bib, beautifulsoup4, bibtexparser
-, configparser, dmenu-python, habanero, papis-python-rofi
-, pylibgen, prompt_toolkit, pyparser, pytest, python_magic
-, pyyaml, requests, unidecode, urwid, vobject, tkinter
-, vim
+, python3, vim
}:
-buildPythonApplication rec {
+let
+ python = python3.override {
+ packageOverrides = self: super: {
+
+ # https://github.com/eventable/vobject/issues/112
+ python-dateutil = super.python-dateutil.overridePythonAttrs (oldAttrs: rec {
+ version = "2.6.1";
+ src = oldAttrs.src.override {
+ inherit version;
+ sha256 = "891c38b2a02f5bb1be3e4793866c8df49c7d19baabf9c1bad62547e0b4866aca";
+ };
+ });
+
+ };
+ };
+
+in python.pkgs.buildPythonApplication rec {
pname = "papis";
version = "0.5.3";
@@ -23,7 +35,7 @@ buildPythonApplication rec {
patchShebangs tests
'';
- propagatedBuildInputs = [
+ propagatedBuildInputs = with python.pkgs; [
argcomplete arxiv2bib beautifulsoup4 bibtexparser
configparser dmenu-python habanero papis-python-rofi
pylibgen prompt_toolkit pyparser python_magic pyyaml
@@ -31,7 +43,7 @@ buildPythonApplication rec {
vim
];
- checkInputs = [ pytest ];
+ checkInputs = with python.pkgs; [ pytest ];
# Papis tries to create the config folder under $HOME during the tests
checkPhase = ''
diff --git a/pkgs/tools/misc/progress/default.nix b/pkgs/tools/misc/progress/default.nix
index 0b48a5a66c6..b29d0eafcc9 100644
--- a/pkgs/tools/misc/progress/default.nix
+++ b/pkgs/tools/misc/progress/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "progress-${version}";
- version = "0.13.1";
+ version = "0.14";
src = fetchFromGitHub {
owner = "Xfennec";
repo = "progress";
rev = "v${version}";
- sha256 = "13nhczzb0zqg5zfpf5vcfi6aahyb8lrr52pvpjgi1zfkh2m9vnig";
+ sha256 = "1lk2v4b767klib93an4g3f7z5qrv9kdk9jf7545vw1immc4kamrl";
};
nativeBuildInputs = [ pkgconfig which ];
diff --git a/pkgs/tools/misc/yubikey-manager/default.nix b/pkgs/tools/misc/yubikey-manager/default.nix
index c7fbeddd13a..c8c0ba706c3 100644
--- a/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/pkgs/tools/misc/yubikey-manager/default.nix
@@ -2,11 +2,11 @@
yubikey-personalization, libu2f-host, libusb1 }:
pythonPackages.buildPythonPackage rec {
- name = "yubikey-manager-0.4.0";
+ name = "yubikey-manager-0.7.0";
srcs = fetchurl {
url = "https://developers.yubico.com/yubikey-manager/Releases/${name}.tar.gz";
- sha256 = "0dc0mqg8r6kjh0s2rmrggfxbx9imslajjrj80rffcvg64a2vgsgb";
+ sha256 = "13vvl3jc5wg6d4h5cpaf969apsbf72dxad560d02ly061ss856zr";
};
propagatedBuildInputs =
@@ -18,6 +18,7 @@ pythonPackages.buildPythonPackage rec {
pyusb
pyopenssl
six
+ fido2
] ++ [
libu2f-host
libusb1
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 4a476a6ba13..2ebae0b0c17 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
configureFlags = [
( if sslSupport then "--with-ssl=${openssl.crossDrv}" else "--without-ssl" )
( if gnutlsSupport then "--with-gnutls=${gnutls.crossDrv}" else "--without-gnutls" )
- "--with-random /dev/urandom"
+ "--with-random=/dev/urandom"
];
};
diff --git a/pkgs/tools/networking/dnsperf/default.nix b/pkgs/tools/networking/dnsperf/default.nix
index b978925c62b..015046f2bda 100644
--- a/pkgs/tools/networking/dnsperf/default.nix
+++ b/pkgs/tools/networking/dnsperf/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
outputs = [ "out" "man" "doc" ];
buildInputs = [ bind zlib openssl ]
- ++ stdenv.lib.optional stdenv.isLinux [ libcap libseccomp ];
+ ++ stdenv.lib.optional stdenv.isLinux [ libcap libcap.lib libseccomp ];
postInstall = ''
mkdir -p "$out/share/doc/"
diff --git a/pkgs/tools/security/lynis/default.nix b/pkgs/tools/security/lynis/default.nix
index 56a47ea3874..f241d581607 100644
--- a/pkgs/tools/security/lynis/default.nix
+++ b/pkgs/tools/security/lynis/default.nix
@@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
pname = "lynis";
- version = "2.6.4";
+ version = "2.6.5";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "CISOfy";
repo = "${pname}";
rev = "${version}";
- sha256 = "1p449gsackcavw5h9yn0ckk1fkakx9d55izi22gh8wfvijdfhw10";
+ sha256 = "0q8irq7hmb0nalmc8xn13d08j0qf6sxfiq2c9s7z1c0gd357gmh9";
};
nativeBuildInputs = [ makeWrapper perl ];
diff --git a/pkgs/tools/security/volatility/default.nix b/pkgs/tools/security/volatility/default.nix
index 086c82faa4c..e3b7fb643a2 100644
--- a/pkgs/tools/security/volatility/default.nix
+++ b/pkgs/tools/security/volatility/default.nix
@@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec {
propagatedBuildInputs = [ pythonPackages.pycrypto pythonPackages.distorm3 ];
meta = with stdenv.lib; {
- homepage = http://www.volatilityfoundation.org/;
+ homepage = https://www.volatilityfoundation.org/;
description = "Advanced memory forensics framework";
maintainers = with maintainers; [ bosu ];
license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/tools/text/mpage/default.nix b/pkgs/tools/text/mpage/default.nix
index 4ebe62ef9a5..6665b377ccf 100644
--- a/pkgs/tools/text/mpage/default.nix
+++ b/pkgs/tools/text/mpage/default.nix
@@ -1,10 +1,10 @@
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
- name = "mpage-2.5.6";
+ name = "mpage-2.5.7";
src = fetchurl {
url = "http://www.mesa.nl/pub/mpage/${name}.tgz";
- sha256 = "016w9sm06sn1d2lim4p8fzl6wbmad3wigxhflsybzi7p4zy6vrjg";
+ sha256 = "1zn37r5xrvjgjbw2bdkc0r7s6q8b1krmcryzj0yf0dyxbx79rasi";
};
patchPhase = ''
diff --git a/pkgs/tools/virtualization/distrobuilder/default.nix b/pkgs/tools/virtualization/distrobuilder/default.nix
index 55a8352fe77..83a340348c8 100644
--- a/pkgs/tools/virtualization/distrobuilder/default.nix
+++ b/pkgs/tools/virtualization/distrobuilder/default.nix
@@ -1,10 +1,15 @@
{ stdenv, lib, pkgconfig, buildGoPackage, fetchFromGitHub
-, makeWrapper, coreutils, gnupg, gnutar, squashfsTools}:
+, makeWrapper, coreutils, gnupg, gnutar, squashfsTools, debootstrap
+}:
+let binPath = stdenv.lib.makeBinPath [
+ coreutils gnupg gnutar squashfsTools debootstrap
+];
+in
buildGoPackage rec {
name = "distrobuilder-${version}";
- version = "2018_04_28";
- rev = "406fd5fe7dec4a969ec08bdf799c8ae483d37489";
+ version = "2018_06_29";
+ rev = "e5acd73f81ad37151f3a2088fde650cea9b6a7e6";
goPackagePath = "github.com/lxc/distrobuilder";
@@ -12,17 +17,14 @@ buildGoPackage rec {
inherit rev;
owner = "lxc";
repo = "distrobuilder";
- sha256 = "11bd600g36pf89vza9jl7fp7cjy5h67nfvhxlnwghb3z40pq9lnc";
+ sha256 = "19rc11s0paqga72jr8bziixihfv7dlkszmfk6xkg0349hzdg0gac";
};
goDeps = ./deps.nix;
postInstall = ''
- wrapProgram $bin/bin/distrobuilder --prefix PATH ":" ${stdenv.lib.makeBinPath [
- coreutils gnupg gnutar squashfsTools
- ]}
+ wrapProgram $bin/bin/distrobuilder --prefix PATH ":" ${binPath}
'';
-
nativeBuildInputs = [ pkgconfig makeWrapper ];
meta = with stdenv.lib; {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c477767d707..6b1219690d7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1693,13 +1693,14 @@ with pkgs;
ciopfs = callPackage ../tools/filesystems/ciopfs { };
citrix_receiver = callPackage ../applications/networking/remote/citrix-receiver { };
- citrix_receiver_13_9_1 = citrix_receiver.override { version = "13.9.1"; };
- citrix_receiver_13_9_0 = citrix_receiver.override { version = "13.9.0"; };
- citrix_receiver_13_8_0 = citrix_receiver.override { version = "13.8.0"; };
- citrix_receiver_13_7_0 = citrix_receiver.override { version = "13.7.0"; };
- citrix_receiver_13_6_0 = citrix_receiver.override { version = "13.6.0"; };
- citrix_receiver_13_5_0 = citrix_receiver.override { version = "13.5.0"; };
- citrix_receiver_13_4_0 = citrix_receiver.override { version = "13.4.0"; };
+ citrix_receiver_13_10_0 = citrix_receiver.override { version = "13.10.0"; };
+ citrix_receiver_13_9_1 = citrix_receiver.override { version = "13.9.1"; };
+ citrix_receiver_13_9_0 = citrix_receiver.override { version = "13.9.0"; };
+ citrix_receiver_13_8_0 = citrix_receiver.override { version = "13.8.0"; };
+ citrix_receiver_13_7_0 = citrix_receiver.override { version = "13.7.0"; };
+ citrix_receiver_13_6_0 = citrix_receiver.override { version = "13.6.0"; };
+ citrix_receiver_13_5_0 = citrix_receiver.override { version = "13.5.0"; };
+ citrix_receiver_13_4_0 = citrix_receiver.override { version = "13.4.0"; };
citra = libsForQt5.callPackage ../misc/emulators/citra { };
@@ -3535,6 +3536,10 @@ with pkgs;
openssl = openssl_1_1_0;
};
+ nodePackages_10_x = callPackage ../development/node-packages/default-v10.nix {
+ nodejs = pkgs.nodejs-10_x;
+ };
+
nodePackages_8_x = callPackage ../development/node-packages/default-v8.nix {
nodejs = pkgs.nodejs-8_x;
};
@@ -10094,6 +10099,24 @@ with pkgs;
libgadu = callPackage ../development/libraries/libgadu { };
+ gap-libgap-compatible = let
+ version = "4r8p6";
+ pkgVer = "2016_11_12-14_25";
+ in
+ (gap.override { keepAllPackages = false; }).overrideAttrs (oldAttrs: {
+ name = "libgap-${oldAttrs.pname}-${version}";
+ src = fetchurl {
+ url = "https://www.gap-system.org/pub/gap/gap48/tar.bz2/gap${version}_${pkgVer}.tar.bz2";
+ sha256 = "19n2p1mdg33s2x9rs51iak7rgndc1cwr56jyqnah0g1ydgg1yh6b";
+ };
+ patches = (oldAttrs.patches or []) ++ [
+ # don't install any packages by default (needed for interop with libgap, probably obsolete with 4r10
+ (fetchpatch {
+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/nodefaultpackages.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+ sha256 = "1xwj766m3axrxbkyx13hy3q8s2wkqxy3m6mgpwq3c3n4vk3v416v";
+ })
+ ];
+ });
libgap = callPackage ../development/libraries/libgap { };
libgdata = gnome3.libgdata;
@@ -12818,7 +12841,8 @@ with pkgs;
oauth2_proxy = callPackage ../servers/oauth2_proxy { };
- openafs = callPackage ../servers/openafs { tsmbac = null; ncurses = null; };
+ openafs = callPackage ../servers/openafs/1.6 { tsmbac = null; ncurses = null; };
+ openafs_1_8 = callPackage ../servers/openafs/1.8 { tsmbac = null; ncurses = null; };
openresty = callPackage ../servers/http/openresty { };
@@ -13832,7 +13856,8 @@ with pkgs;
rtlwifi_new = callPackage ../os-specific/linux/rtlwifi_new { };
- openafs = callPackage ../servers/openafs/module.nix { };
+ openafs = callPackage ../servers/openafs/1.6/module.nix { };
+ openafs_1_8 = callPackage ../servers/openafs/1.8/module.nix { };
facetimehd = callPackage ../os-specific/linux/facetimehd { };
@@ -14579,18 +14604,26 @@ with pkgs;
camingo-code = callPackage ../data/fonts/camingo-code { };
+ combinatorial_designs = callPackage ../data/misc/combinatorial_designs { };
+
+ conway_polynomials = callPackage ../data/misc/conway_polynomials { };
+
dosis = callPackage ../data/fonts/dosis { };
dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { };
eb-garamond = callPackage ../data/fonts/eb-garamond { };
+ elliptic_curves = callPackage ../data/misc/elliptic_curves { };
+
faba-icon-theme = callPackage ../data/icons/faba-icon-theme { };
faba-mono-icons = callPackage ../data/icons/faba-mono-icons { };
fixedsys-excelsior = callPackage ../data/fonts/fixedsys-excelsior { };
+ graphs = callPackage ../data/misc/graphs { };
+
emacs-all-the-icons-fonts = callPackage ../data/fonts/emacs-all-the-icons-fonts { };
emojione = callPackage ../data/fonts/emojione {
@@ -14795,8 +14828,14 @@ with pkgs;
paratype-pt-sans = callPackage ../data/fonts/paratype-pt/sans.nix {};
paratype-pt-serif = callPackage ../data/fonts/paratype-pt/serif.nix {};
+ pari-galdata = callPackage ../data/misc/pari-galdata {};
+
+ pari-seadata-small = callPackage ../data/misc/pari-seadata-small {};
+
poly = callPackage ../data/fonts/poly { };
+ polytopes_db = callPackage ../data/misc/polytopes_db { };
+
posix_man_pages = callPackage ../data/documentation/man-pages-posix { };
powerline-fonts = callPackage ../data/fonts/powerline-fonts { };
@@ -17385,6 +17424,8 @@ with pkgs;
sawfish = callPackage ../applications/window-managers/sawfish { };
+ sidplayfp = callPackage ../applications/audio/sidplayfp { };
+
sxhkd = callPackage ../applications/window-managers/sxhkd { };
sxhkd-unstable = callPackage ../applications/window-managers/sxhkd/unstable.nix { };
@@ -19204,7 +19245,7 @@ with pkgs;
zim = callPackage ../applications/office/zim { };
- zoom-us = callPackage ../applications/networking/instant-messengers/zoom-us { };
+ zoom-us = libsForQt5.callPackage ../applications/networking/instant-messengers/zoom-us { };
zotero = callPackage ../applications/office/zotero { };
@@ -19570,6 +19611,8 @@ with pkgs;
nethack = callPackage ../games/nethack { };
+ nethack-x11 = callPackage ../games/nethack { x11Mode = true; };
+
neverball = callPackage ../games/neverball { };
nexuiz = callPackage ../games/nexuiz { };
@@ -20342,7 +20385,10 @@ with pkgs;
petsc = callPackage ../development/libraries/science/math/petsc { };
- sage = callPackage ../applications/science/math/sage { };
+ sage = callPackage ../applications/science/math/sage {
+ nixpkgs = pkgs;
+ };
+ sageWithDoc = sage.override { withDoc = true; };
suitesparse_4_2 = callPackage ../development/libraries/science/math/suitesparse/4.2.nix { };
suitesparse_4_4 = callPackage ../development/libraries/science/math/suitesparse {};
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 2bc5671e987..de9b6d38b74 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -74,7 +74,7 @@ in rec {
version = "8.7.2";
};
coq_8_8 = callPackage ../applications/science/logic/coq {
- version = "8.8.0";
+ version = "8.8.1";
};
coqPackages_8_5 = mkCoqPackages coq_8_5;
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index ec471538095..a6044c7d6c4 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -72,6 +72,12 @@ in rec {
buildLlvmPackages = buildPackages.llvmPackages_5;
llvmPackages = pkgs.llvmPackages_5;
};
+ ghc861 = callPackage ../development/compilers/ghc/8.6.1.nix rec {
+ bootPkgs = packages.ghc822;
+ inherit (bootPkgs) alex happy hscolour;
+ buildLlvmPackages = buildPackages.llvmPackages_5;
+ llvmPackages = pkgs.llvmPackages_5;
+ };
ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec {
bootPkgs = packages.ghc821Binary;
inherit (bootPkgs) alex happy hscolour;
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index d69fc010e27..c34ba8762f0 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -7927,11 +7927,11 @@ let self = _self // overrides; _self = with self; {
ImageExifTool = buildPerlPackage rec {
name = "Image-ExifTool-${version}";
- version = "10.80";
+ version = "11.01";
src = fetchurl {
url = "https://www.sno.phy.queensu.ca/~phil/exiftool/${name}.tar.gz";
- sha256 = "14rwr5wk2snqv4yva6fax1gfsdv88941n237m0wyzn3n0xh9dy5w";
+ sha256 = "175w34n73mypdpbaqj2vgqsfp59yvfrn8k7zmx4cawnp895bypvh";
};
meta = with stdenv.lib; {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 8f88fb48101..c31c3543dc3 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -264,6 +264,8 @@ in {
diff-match-patch = callPackage ../development/python-modules/diff-match-patch { };
+ fido2 = callPackage ../development/python-modules/fido2 { };
+
globus-sdk = callPackage ../development/python-modules/globus-sdk { };
goocalendar = callPackage ../development/python-modules/goocalendar { };
@@ -433,9 +435,7 @@ in {
python-hosts = callPackage ../development/python-modules/python-hosts { };
- python-openid = callPackage (if isPy3k
- then ../development/python-modules/python3-openid
- else ../development/python-modules/python-openid) { };
+ python3-openid = callPackage ../development/python-modules/python3-openid { };
python-periphery = callPackage ../development/python-modules/python-periphery { };
@@ -12847,6 +12847,8 @@ in {
shapely = callPackage ../development/python-modules/shapely { };
+ soco = callPackage ../development/python-modules/soco { };
+
sopel = buildPythonPackage rec {
name = "sopel-6.3.1";
@@ -15489,28 +15491,7 @@ EOF
libarcus = callPackage ../development/python-modules/libarcus { };
- pybrowserid = buildPythonPackage rec {
- name = "PyBrowserID-${version}";
- version = "0.9.2";
- disabled = isPy3k; # Errors in the test suite.
-
- src = pkgs.fetchgit {
- url = https://github.com/mozilla/PyBrowserID.git;
- rev = "refs/tags/${version}";
- sha256 = "0zsljr45gm8a4c0lxh6mgfc60a5fijhs4pwijb9fdkq16zw0pmf0";
- };
-
- doCheck = false; # some tests use networking
-
- buildInputs = with self; [ mock unittest2 ];
- propagatedBuildInputs = with self; [ requests ];
-
- meta = {
- description = "Python library for the BrowserID Protocol";
- homepage = "https://github.com/mozilla/PyBrowserID";
- license = licenses.mpl20;
- };
- };
+ pybrowserid = callPackage ../development/python-modules/pybrowserid { };
pyzmq = callPackage ../development/python-modules/pyzmq { };