From 2371f85fac9822d666b0f2d5db0ee5f5f33a4e79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9-Patrick=20Bubel?= Date: Wed, 27 Jun 2018 23:53:55 +0200 Subject: [PATCH 001/116] rtaudio: Enable parallel building --- pkgs/development/libraries/audio/rtaudio/default.nix | 2 ++ 1 file changed, 2 insertions(+) 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 = '' From 9e61c281f7b5d3d974c878b3c0209240f516101d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9-Patrick=20Bubel?= Date: Wed, 27 Jun 2018 23:54:37 +0200 Subject: [PATCH 002/116] rtmidi: Enable parallel building --- pkgs/development/libraries/audio/rtmidi/default.nix | 2 ++ 1 file changed, 2 insertions(+) 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 ]; From 22087672bc697365f75cb23c592bf167e4dede83 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 27 Jun 2018 18:03:45 -0700 Subject: [PATCH 003/116] lynis: 2.6.4 -> 2.6.5 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/lynis/versions. These checks were done: - built on NixOS - /nix/store/nbrk6fjsbanqgx89v0mwgq9x6cqkwx6p-lynis-2.6.5/bin/lynis passed the binary check. - /nix/store/nbrk6fjsbanqgx89v0mwgq9x6cqkwx6p-lynis-2.6.5/bin/.lynis-wrapped passed the binary check. - 2 of 2 passed binary check by having a zero exit code. - 2 of 2 passed binary check by having the new version present in output. - found 2.6.5 with grep in /nix/store/nbrk6fjsbanqgx89v0mwgq9x6cqkwx6p-lynis-2.6.5 - directory tree listing: https://gist.github.com/4ec2eae2a408cbec08c7f34ea3d85e66 - du listing: https://gist.github.com/f8d9c962be7ba2b02df3ad9111a622ae --- pkgs/tools/security/lynis/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ]; From 690b66e1ebb18db96c200160a73651dfd4f14e24 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 27 Jun 2018 21:57:54 -0700 Subject: [PATCH 004/116] gnucash: 3.1-1 -> 3.2 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/gnucash/versions. These checks were done: - built on NixOS - /nix/store/29l8ziil4znyr07dm7f8ki893bqfzqm5-gnucash-3.2/bin/gnc-fq-check passed the binary check. - /nix/store/29l8ziil4znyr07dm7f8ki893bqfzqm5-gnucash-3.2/bin/gnc-fq-helper passed the binary check. - /nix/store/29l8ziil4znyr07dm7f8ki893bqfzqm5-gnucash-3.2/bin/gnc-fq-dump passed the binary check. - /nix/store/29l8ziil4znyr07dm7f8ki893bqfzqm5-gnucash-3.2/bin/gnucash passed the binary check. - /nix/store/29l8ziil4znyr07dm7f8ki893bqfzqm5-gnucash-3.2/bin/.gnucash-wrapped passed the binary check. - 5 of 5 passed binary check by having a zero exit code. - 0 of 5 passed binary check by having the new version present in output. - found 3.2 with grep in /nix/store/29l8ziil4znyr07dm7f8ki893bqfzqm5-gnucash-3.2 - directory tree listing: https://gist.github.com/c6f09b837c81684d4febbc1c369ae53d - du listing: https://gist.github.com/f9960cc6c0b43d70986bb1b51c109a68 --- pkgs/applications/office/gnucash/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ]; From 6cabce9abd916f219c1c003719f2e8ba547654c3 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Thu, 28 Jun 2018 23:48:38 +0200 Subject: [PATCH 005/116] manual: rename users.extraUsers to users.users Is called like this since 14321ae2431e33f5ed81f1ee43eddd29c7e9d01d, but docs were still using the old option in some cases. Reported-By: Cedric Shahabi --- nixos/doc/manual/administration/imperative-containers.xml | 2 +- nixos/doc/manual/configuration/network-manager.xml | 2 +- nixos/doc/manual/configuration/ssh.xml | 2 +- nixos/doc/manual/installation/changing-config.xml | 2 +- nixos/doc/manual/installation/installing-from-other-distro.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) 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..c4ba63d801f 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.youruser.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 = ""; From 329983f6c72bf5acf68cdfd29bf1a9dac7050968 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Thu, 28 Jun 2018 23:51:06 +0200 Subject: [PATCH 006/116] manual: rename user added to networkmanager from "youruser" to "alice" to be consistent with the rest of the manual Reported-By: Cedric Shahabi --- nixos/doc/manual/configuration/network-manager.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/doc/manual/configuration/network-manager.xml b/nixos/doc/manual/configuration/network-manager.xml index c4ba63d801f..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.users.youruser.extraGroups = [ "networkmanager" ]; +users.users.alice.extraGroups = [ "networkmanager" ]; From 314eb884ecd22803db4149936a2c95b48ad2f60b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Zimmermann?= Date: Fri, 29 Jun 2018 11:10:31 +0200 Subject: [PATCH 007/116] coq_8_8: 8.8.0 -> 8.8.1 --- pkgs/applications/science/logic/coq/default.nix | 1 + pkgs/top-level/coq-packages.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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/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; From 6aa82d647d8596760a51e8e21f848b7d9c5a1adc Mon Sep 17 00:00:00 2001 From: Alexander Krupenkin Date: Fri, 29 Jun 2018 12:53:56 +0300 Subject: [PATCH 008/116] parity: 1.10.7 -> 1.10.8 --- pkgs/applications/altcoins/parity/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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; } From 12cf9f7edad3e110900de037f4aa8cb046ec9029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 29 Jun 2018 18:57:30 +0200 Subject: [PATCH 009/116] khal: pin python-dateutil==2.6.1 --- pkgs/applications/misc/khal/default.nix | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) 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; { From 184f8cc054ca1244aa26819f44543b97c4e44faa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 29 Jun 2018 19:01:56 +0200 Subject: [PATCH 010/116] radicale: pin python-dateutil==2.6.1 --- pkgs/servers/radicale/default.nix | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) 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 From 27d17b1bac5c83e186ce59f567ca4faf1caac610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 29 Jun 2018 19:13:33 +0200 Subject: [PATCH 011/116] papis: pin python-dateutil==2.6.1 --- pkgs/tools/misc/papis/default.nix | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) 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 = '' From 9ebfa7bede2d1c4b2b19bd8f9016e60d12cf30e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 29 Jun 2018 19:41:08 +0200 Subject: [PATCH 012/116] python.pkgs.pytest-httpbin: disable tests Tests are not included in the PyPI tarball. --- pkgs/development/python-modules/pytest-httpbin/default.nix | 3 +++ 1 file changed, 3 insertions(+) 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; From aa11e10977fafbcd1a1cbaa75e0aea33f8cba7c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 29 Jun 2018 19:50:14 +0200 Subject: [PATCH 013/116] python.pkgs.pendulum: fix propagatedBuildInputs --- pkgs/development/python-modules/pendulum/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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; From d15ba6a7ee5b8cd0859de8bb574cda2a4319fe20 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 29 Jun 2018 21:04:42 +0200 Subject: [PATCH 014/116] python/soco: init at 0.15 This is required for one of the plugins (sonosupdate) of Beets version 1.4.7. I do not have a Sonos speaker, so I can't really test whether the library works nor properly maintain this package (so I didn't add myself as a maintainer). I ran the build (including tests) against Python 2.x and Python 3.x. Signed-off-by: aszlig --- .../python-modules/soco/default.nix | 28 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/development/python-modules/soco/default.nix 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/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6b4cd429a00..57289008c60 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12860,6 +12860,8 @@ in { shapely = callPackage ../development/python-modules/shapely { }; + soco = callPackage ../development/python-modules/soco { }; + sopel = buildPythonPackage rec { name = "sopel-6.3.1"; From 9037f608ae6cee590cb6a1eeda612ce43c36f7f8 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 29 Jun 2018 21:11:13 +0200 Subject: [PATCH 015/116] beets: 1.4.6 -> 1.4.7 The upstream release notes are a bit bigger, so I'm not including it here. You can find it at: https://github.com/beetbox/beets/releases/tag/v1.4.7 Originally I wanted to just fix the build, which is currently broken because a few tests have failed, but the fix for the tests is already included in the 1.4.7 upstream release[1], so I opted to update instead. Other than running the tests included in beets (in addition to building/running tests of the "alternatives" and "copyartifacts" external plugins) I have made some small queries on my local music collection, but haven't tested import or any write operation. [1]: https://github.com/beetbox/beets/commit/8eb50fee33044dea008408423ee Signed-off-by: aszlig Cc: @domenkozar, @pjones --- pkgs/tools/audio/beets/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 From 95cb828b2797ab06437d07fabd827128e87199e7 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Fri, 29 Jun 2018 21:37:45 +0200 Subject: [PATCH 016/116] python-openid: remove, only keep python3-openid see discussion on https://github.com/NixOS/nixpkgs/commit/2e41891e6d595b9acf484d7d349b17a7b35b6923 --- .../python-modules/django-allauth/default.nix | 4 ++-- .../python-modules/python-openid/default.nix | 19 ------------------- .../python-modules/python3-openid/default.nix | 4 +++- pkgs/top-level/python-packages.nix | 4 +--- 4 files changed, 6 insertions(+), 25 deletions(-) delete mode 100644 pkgs/development/python-modules/python-openid/default.nix 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/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..238c416bc98 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,6 +13,8 @@ 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; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 57289008c60..fe12c039676 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -434,9 +434,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 { }; From 701ddacfb17e9c2f1c0577ef83059c34f81683ad Mon Sep 17 00:00:00 2001 From: Johannes Frankenau Date: Fri, 29 Jun 2018 20:26:52 +0000 Subject: [PATCH 017/116] streamlink: 0.13.0 -> 0.14.2 (#42625) --- pkgs/applications/video/streamlink/default.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) 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 ]; From a046d8c873e1f792364a4a9e4e5600613b224003 Mon Sep 17 00:00:00 2001 From: obadz Date: Fri, 29 Jun 2018 21:24:04 +0100 Subject: [PATCH 018/116] citrix-receiver: override libidn 1.35 back to 1.34 just for this binary pkg --- .../networking/remote/citrix-receiver/default.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix index 9190deb990e..26cc0cb6e70 100644 --- a/pkgs/applications/networking/remote/citrix-receiver/default.nix +++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix @@ -1,5 +1,6 @@ { stdenv , lib +, fetchurl , requireFile , makeWrapper , libredirect @@ -27,6 +28,16 @@ }: let + # In 56e1bdc7f9c (libidn: 1.34 -> 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"; @@ -160,7 +171,7 @@ let xorg.libXinerama xorg.libXfixes libpng12 - libidn + libidn_134 zlib gtk_engines freetype From 79b33a2c0074e35460c3fffb8e2378e033a9a70b Mon Sep 17 00:00:00 2001 From: obadz Date: Fri, 29 Jun 2018 21:26:24 +0100 Subject: [PATCH 019/116] citrix-receiver: 13.9.1 -> 13.10.0 --- .../networking/remote/citrix-receiver/default.nix | 13 ++++++++++++- pkgs/top-level/all-packages.nix | 15 ++++++++------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix index 26cc0cb6e70..489de974aaa 100644 --- a/pkgs/applications/networking/remote/citrix-receiver/default.nix +++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix @@ -24,7 +24,7 @@ , alsaLib , libidn , zlib -, version ? "13.9.1" +, version ? "13.10.0" }: let @@ -113,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; }; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c477767d707..55d9dc9f2d1 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 { }; From b70ccf8a7b9571cc7a6daeb46daee460ada04057 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 29 Jun 2018 22:22:57 +0200 Subject: [PATCH 020/116] cbatticon: Fix build by removing -Wno-format This conflicts with -Werror=format-security and the build doesn't have any format security problems, so -Wno-format IMHO shouldn't be there in the first place. Signed-off-by: aszlig Cc: @domenkozar --- pkgs/applications/misc/cbatticon/default.nix | 4 ++++ 1 file changed, 4 insertions(+) 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 ]; From 05474564b29e8fea5acff814dd841359e537fcba Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Fri, 29 Jun 2018 22:43:54 +0200 Subject: [PATCH 021/116] Add minimal package set for Node.js 10.x --- .../node-packages/composition-v10.nix | 17 ++ .../development/node-packages/default-v10.nix | 8 + pkgs/development/node-packages/generate.sh | 1 + .../node-packages/node-packages-v10.json | 5 + .../node-packages/node-packages-v10.nix | 213 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 + 6 files changed, 248 insertions(+) create mode 100644 pkgs/development/node-packages/composition-v10.nix create mode 100644 pkgs/development/node-packages/default-v10.nix create mode 100644 pkgs/development/node-packages/node-packages-v10.json create mode 100644 pkgs/development/node-packages/node-packages-v10.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 55d9dc9f2d1..2dfa2da9480 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3536,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; }; From 8e3415eb86d095a63ae3f4dcc100fda68603b28d Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 29 Jun 2018 13:58:58 -0700 Subject: [PATCH 022/116] dialog: 1.3-20171209 -> 1.3-20180621 (#42512) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/dialog/versions. These checks were done: - built on NixOS - /nix/store/m0hxh556s4yrr5m1sdbj1hr4kghms99x-dialog-1.3-20180621/bin/dialog passed the binary check. - 1 of 1 passed binary check by having a zero exit code. - 1 of 1 passed binary check by having the new version present in output. - found 1.3-20180621 with grep in /nix/store/m0hxh556s4yrr5m1sdbj1hr4kghms99x-dialog-1.3-20180621 - directory tree listing: https://gist.github.com/a0a4bc59b6cd5033a62a99d509b6903e - du listing: https://gist.github.com/fd4c8d60fa9ed0c6f0fb56fdaf3f8b2b --- pkgs/development/tools/misc/dialog/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ]; From e4d7172377b855bcc541871dddae01d442778be8 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 29 Jun 2018 14:00:20 -0700 Subject: [PATCH 023/116] lxqt.compton-conf: 0.3.0 -> 0.4.0 (#42513) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/compton-conf/versions. These checks were done: - built on NixOS - Warning: no invocation of /nix/store/j1vd9mci1qp5r9fy89q6c2g5kyb3kqbw-compton-conf-0.4.0/bin/compton-conf had a zero exit code or showed the expected version - 0 of 1 passed binary check by having a zero exit code. - 0 of 1 passed binary check by having the new version present in output. - found 0.4.0 with grep in /nix/store/j1vd9mci1qp5r9fy89q6c2g5kyb3kqbw-compton-conf-0.4.0 - directory tree listing: https://gist.github.com/43e23d6682f82d552941a48813aa5a63 - du listing: https://gist.github.com/d7be6d6901ffe37ae24eab147225104f --- pkgs/desktops/lxqt/optional/compton-conf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 = [ From 0e37c770bfd3cddad7b7559a98fe3416afaee855 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 29 Jun 2018 14:21:18 -0700 Subject: [PATCH 024/116] libguestfs: 1.38.0 -> 1.38.2 (#42697) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/libguestfs/versions. These checks were done: - built on NixOS - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/guestfish passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/guestmount passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/guestunmount passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/libguestfs-test-tool passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-alignment-scan passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-builder passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-builder-repository passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-cat passed the binary check. - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-copy-in-wrapped had a zero exit code or showed the expected version - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-copy-in passed the binary check. - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-copy-out-wrapped had a zero exit code or showed the expected version - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-copy-out passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-customize passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-df passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-dib passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-diff passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-edit passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-filesystems passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-format passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-get-kernel passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-index-validate passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-inspector passed the binary check. - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-list-filesystems-wrapped had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-list-filesystems had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-list-partitions-wrapped had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-list-partitions had a zero exit code or showed the expected version - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-log passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-ls passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-make-fs passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-rescue passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-resize passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-sparsify passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-sysprep passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-tail passed the binary check. - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-tar-wrapped had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-tar had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-tar-in-wrapped had a zero exit code or showed the expected version - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-tar-in passed the binary check. - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-tar-out-wrapped had a zero exit code or showed the expected version - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-tar-out passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-v2v passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-v2v-copy-to-local passed the binary check. - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-win-reg-wrapped had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/virt-win-reg had a zero exit code or showed the expected version - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.guestfish-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.guestmount-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.guestunmount-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.libguestfs-test-tool-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-alignment-scan-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-builder-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-builder-repository-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-cat-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-customize-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-df-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-dib-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-diff-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-edit-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-filesystems-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-format-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-get-kernel-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-index-validate-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-inspector-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-log-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-ls-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-make-fs-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-rescue-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-resize-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-sparsify-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-sysprep-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-tail-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-v2v-wrapped passed the binary check. - /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2/bin/.virt-v2v-copy-to-local-wrapped passed the binary check. - 60 of 72 passed binary check by having a zero exit code. - 24 of 72 passed binary check by having the new version present in output. - found 1.38.2 with grep in /nix/store/pmf2ffgaiicm4a6svl96iqxwsbym1hxj-libguestfs-1.38.2 - directory tree listing: https://gist.github.com/6015d8610a76dff5d1c8f06d6434423d - du listing: https://gist.github.com/432a66e455c5c90bc295e87f22d1104a --- pkgs/development/libraries/libguestfs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ]; From f0090503c78a08a830128a4fa97201240b129765 Mon Sep 17 00:00:00 2001 From: Vladyslav M Date: Sat, 30 Jun 2018 00:23:06 +0300 Subject: [PATCH 025/116] exiftool: 10.80 -> 11.01 (#42757) --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e5fa5cbd6a1..c910c2852f0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7972,11 +7972,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; { From c15e6fd3fd9f3222f4a8c300bd997671f5a77bed Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 29 Jun 2018 23:20:08 +0200 Subject: [PATCH 026/116] python/twisted: Fix fetching source In ced21f5e1a1479e3b6ae5c218818790596f5a16f, fetchurl has changed into fetchPypi, but the upstream tarball is actually a tar.bz2 archive but by default fetchPypi uses "tar.gz" as its extension. The sha256 however is still the same. Signed-off-by: aszlig Cc: @FRidh --- pkgs/development/python-modules/twisted/default.nix | 1 + 1 file changed, 1 insertion(+) 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"; }; From cf8da73b4231a9befcb52f2eb1b7d53342cbf92a Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 29 Jun 2018 15:03:04 -0700 Subject: [PATCH 027/116] poppler_utils: 0.65.0 -> 0.66.0 (#42460) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/poppler-utils/versions. These checks were done: - built on NixOS - /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdftoppm passed the binary check. - /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdftocairo passed the binary check. - Warning: no invocation of /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdfdetach had a zero exit code or showed the expected version - /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdffonts passed the binary check. - /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdfimages passed the binary check. - /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdfinfo passed the binary check. - /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdfsig passed the binary check. - /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdftops passed the binary check. - /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdftotext passed the binary check. - /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdftohtml passed the binary check. - /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdfseparate passed the binary check. - /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0/bin/pdfunite passed the binary check. - 11 of 12 passed binary check by having a zero exit code. - 0 of 12 passed binary check by having the new version present in output. - found 0.66.0 with grep in /nix/store/cgsca7brl8gxnlc1xaxdsyizbdlmha2q-poppler-utils-0.66.0 - directory tree listing: https://gist.github.com/af4034ac452cfd8a440300c9bfc12e28 - du listing: https://gist.github.com/776d2f71e00585d9b456fd950c335614 --- pkgs/development/libraries/poppler/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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" ]; From c9362d595e623ca2733a6a06ada807edb8be6a20 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 29 Jun 2018 15:07:05 -0700 Subject: [PATCH 028/116] wolfssl: 3.15.0 -> 3.15.3 (#42670) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/wolfssl/versions. These checks were done: - built on NixOS - 0 of 0 passed binary check by having a zero exit code. - 0 of 0 passed binary check by having the new version present in output. - found 3.15.3 in filename of file in /nix/store/64hjsmi2gzinf6qn0dfs16c3zzi4rfpx-wolfssl-3.15.3 - directory tree listing: https://gist.github.com/f48303498f02ef2dc587368e1b17a323 - du listing: https://gist.github.com/db2ab599e28e35132df0568d69c7f4c8 --- pkgs/development/libraries/wolfssl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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" ]; From 37c999228b0fbb611b123bb65d758eae303a02f3 Mon Sep 17 00:00:00 2001 From: spacefrogg Date: Sat, 30 Jun 2018 00:34:35 +0200 Subject: [PATCH 029/116] openafs_1_8: init at 1.8.0 (#41889) - Introduce new "server" output holding the server binaries - Adapt tsmbac.patch to new build environment - Adapt openafs nixos server module accordingly - Update upstream CellServDB: 2017-03-14 -> 2018-05-14 - Introduce package attributes to refer to the openafs packages to use for server, programs and kernel module --- .../network-filesystems/openafs/client.nix | 26 +++-- .../network-filesystems/openafs/lib.nix | 11 ++- .../network-filesystems/openafs/server.nix | 34 ++++--- pkgs/servers/openafs/{ => 1.6}/default.nix | 0 pkgs/servers/openafs/{ => 1.6}/module.nix | 0 pkgs/servers/openafs/{ => 1.6}/srcs.nix | 0 pkgs/servers/openafs/{ => 1.6}/tsmbac.patch | 0 pkgs/servers/openafs/1.8/bosserver.patch | 30 ++++++ pkgs/servers/openafs/1.8/default.nix | 97 +++++++++++++++++++ pkgs/servers/openafs/1.8/module.nix | 60 ++++++++++++ pkgs/servers/openafs/1.8/srcs.nix | 14 +++ pkgs/servers/openafs/1.8/tsmbac.patch | 62 ++++++++++++ pkgs/top-level/all-packages.nix | 6 +- 13 files changed, 315 insertions(+), 25 deletions(-) rename pkgs/servers/openafs/{ => 1.6}/default.nix (100%) rename pkgs/servers/openafs/{ => 1.6}/module.nix (100%) rename pkgs/servers/openafs/{ => 1.6}/srcs.nix (100%) rename pkgs/servers/openafs/{ => 1.6}/tsmbac.patch (100%) create mode 100644 pkgs/servers/openafs/1.8/bosserver.patch create mode 100644 pkgs/servers/openafs/1.8/default.nix create mode 100644 pkgs/servers/openafs/1.8/module.nix create mode 100644 pkgs/servers/openafs/1.8/srcs.nix create mode 100644 pkgs/servers/openafs/1.8/tsmbac.patch 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/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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2dfa2da9480..e682d268f37 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12823,7 +12823,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 { }; @@ -13837,7 +13838,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 { }; From 1ebc85bf606c7a21188b4c389566b5e1317b3be0 Mon Sep 17 00:00:00 2001 From: Tad Fisher Date: Fri, 29 Jun 2018 15:40:55 -0700 Subject: [PATCH 030/116] f2fs-tools: 1.9.0 -> 1.10.0 (#42751) --- pkgs/tools/filesystems/f2fs-tools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ]; From 85497a3b06ee7e333aaabcf6cdbcb163ae5dda99 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Sat, 30 Jun 2018 01:56:15 +0300 Subject: [PATCH 031/116] lego: unstable 2018.02.02 -> stable v1.0.1 (#42756) --- pkgs/tools/admin/lego/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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"; From 827d3d37962bfb4f607bf0be11e691a2c00a33b8 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 29 Jun 2018 16:12:42 -0700 Subject: [PATCH 032/116] chirp: 20180611 -> 20180614 (#42525) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/chirp-daily/versions. These checks were done: - built on NixOS - Warning: no invocation of /nix/store/gfgi7c2ps023ga27vx6s38y4gkgx1c54-chirp-daily-20180614/bin/.chirpw-wrapped had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/gfgi7c2ps023ga27vx6s38y4gkgx1c54-chirp-daily-20180614/bin/chirpw had a zero exit code or showed the expected version - 0 of 2 passed binary check by having a zero exit code. - 0 of 2 passed binary check by having the new version present in output. - found 20180614 with grep in /nix/store/gfgi7c2ps023ga27vx6s38y4gkgx1c54-chirp-daily-20180614 - directory tree listing: https://gist.github.com/5a739e8fa0584360afb3f692d19e3771 - du listing: https://gist.github.com/e530a387cd61ae6e0b944b372041bd3d --- pkgs/applications/misc/chirp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ]; From 892a0e8ff40e8282fb09ee6c8a132979c5539191 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Mon, 12 Mar 2018 18:40:49 +0100 Subject: [PATCH 033/116] openblas: expose version attribute --- pkgs/development/libraries/science/math/openblas/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index bd095a11f08..91162ba5465 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -76,11 +76,10 @@ 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.0"; src = fetchurl { url = "https://github.com/xianyi/OpenBLAS/archive/v${version}.tar.gz"; sha256 = "18giv3lsh8cva01z4rhsx8jvgliknni0jp7vxkc69qxb14vm8lfg"; From 082169ab029b4a111309f7d9a795b88e6429222c Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 24 Apr 2018 15:49:08 +0200 Subject: [PATCH 034/116] fetchurl: add sageupstream mirror --- pkgs/build-support/fetchurl/mirrors.nix | 65 +++++++++---------- .../libraries/science/math/lcalc/default.nix | 2 +- .../science/math/rankwidth/default.nix | 2 +- .../libraries/science/math/rubiks/default.nix | 2 +- .../libraries/science/math/sympow/default.nix | 2 +- 5 files changed, 35 insertions(+), 38 deletions(-) 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/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/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..40e139ff5b5 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"; }; From 68394a737ecfe74846ce53f655fd3381246e85ee Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Sun, 22 Apr 2018 23:17:00 +0200 Subject: [PATCH 035/116] libgap: switch to upstream url --- pkgs/development/libraries/libgap/default.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) 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]; From 83a839c4d46f1489f8c4f0fce9004314503e5262 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 24 Apr 2018 16:07:51 +0200 Subject: [PATCH 036/116] combinatorial_designs: init at 20140630 --- .../misc/combinatorial_designs/default.nix | 31 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/data/misc/combinatorial_designs/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e682d268f37..e6b63ed9053 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14586,6 +14586,8 @@ with pkgs; camingo-code = callPackage ../data/fonts/camingo-code { }; + combinatorial_designs = callPackage ../data/misc/combinatorial_designs { }; + dosis = callPackage ../data/fonts/dosis { }; dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { }; From 2f76f66998d1be2e438b32efc05ad3e8a724466c Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 24 Apr 2018 16:10:46 +0200 Subject: [PATCH 037/116] graphs: init at 20161026 --- pkgs/data/misc/graphs/default.nix | 26 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/data/misc/graphs/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e6b63ed9053..1d15dafdf1f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14600,6 +14600,8 @@ with pkgs; 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 { From 7c92c26b23e56ba05e717e7cef10769f1b500b95 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 24 Apr 2018 16:11:57 +0200 Subject: [PATCH 038/116] pari-galdata: init at 20080411 --- pkgs/data/misc/pari-galdata/default.nix | 26 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/data/misc/pari-galdata/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1d15dafdf1f..7cc7938bdcf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14806,6 +14806,8 @@ 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 {}; + poly = callPackage ../data/fonts/poly { }; posix_man_pages = callPackage ../data/documentation/man-pages-posix { }; From 60fe33bbe57a82930a0a8aa1f295e74440c8a884 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 24 Apr 2018 16:12:50 +0200 Subject: [PATCH 039/116] pari-seadata-small: init at 20090618 --- pkgs/data/misc/pari-seadata-small/default.nix | 26 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/data/misc/pari-seadata-small/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7cc7938bdcf..0ed54ec4d53 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14808,6 +14808,8 @@ with pkgs; pari-galdata = callPackage ../data/misc/pari-galdata {}; + pari-seadata-small = callPackage ../data/misc/pari-seadata-small {}; + poly = callPackage ../data/fonts/poly { }; posix_man_pages = callPackage ../data/documentation/man-pages-posix { }; From 6fc8b0d69a739d3b886522ac99df662ff5ecf898 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 24 Apr 2018 16:15:12 +0200 Subject: [PATCH 040/116] polytopes_db: init at 20170220 --- pkgs/data/misc/polytopes_db/default.nix | 26 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/data/misc/polytopes_db/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ed54ec4d53..43b7c971d07 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14812,6 +14812,8 @@ with pkgs; 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 { }; From c7d4528a89971105e54aa58a86f39e6895e66942 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 24 Apr 2018 23:29:32 +0200 Subject: [PATCH 041/116] conway_polynomials: init at 0.5 --- pkgs/data/misc/conway_polynomials/default.nix | 43 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 45 insertions(+) create mode 100644 pkgs/data/misc/conway_polynomials/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 43b7c971d07..17d81613f20 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14588,6 +14588,8 @@ with pkgs; 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 { }; From b6f07b1d9e8c8866b222af5f6d3d8a43e34451e7 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 24 Apr 2018 23:30:08 +0200 Subject: [PATCH 042/116] elliptic_curves: init at 0.8 --- pkgs/data/misc/elliptic_curves/default.nix | 51 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/data/misc/elliptic_curves/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 17d81613f20..877f2f11cba 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14596,6 +14596,8 @@ with pkgs; 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 { }; From b7a6689d6f6e5a56398d6eb53a29dec4f6551526 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 24 Apr 2018 23:32:24 +0200 Subject: [PATCH 043/116] gap-libgap-compatible: init at 4r8p6 --- pkgs/top-level/all-packages.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 877f2f11cba..ab740cbfec6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10099,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; From 4655b8776d351456ffc343ebc84575e58803a539 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Thu, 26 Apr 2018 16:35:11 +0200 Subject: [PATCH 044/116] tachyon: add armv7l support --- pkgs/development/libraries/tachyon/default.nix | 1 + 1 file changed, 1 insertion(+) 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 From f49f133513f233e5313ffb8d5d3e5fc2e47c64f5 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Thu, 28 Jun 2018 13:44:22 +0200 Subject: [PATCH 045/116] cysignals: add pari support --- pkgs/development/python-modules/cysignals/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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 ]; From fca3ea07377e7bd1428e6b612a8cf26f1c44ebb3 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 1 May 2018 01:49:12 +0200 Subject: [PATCH 046/116] ecl_16_1_2: backport getcwd fix --- pkgs/development/compilers/ecl/16.1.2.nix | 8 ++++++++ 1 file changed, 8 insertions(+) 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" ]; From 5d78baa37ad578ca989ffafcd19cde5e15d1a421 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Fri, 4 May 2018 16:48:24 +0200 Subject: [PATCH 047/116] sympow: actually install datafiles --- pkgs/development/libraries/science/math/sympow/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/science/math/sympow/default.nix b/pkgs/development/libraries/science/math/sympow/default.nix index 40e139ff5b5..c34701e3f91 100644 --- a/pkgs/development/libraries/science/math/sympow/default.nix +++ b/pkgs/development/libraries/science/math/sympow/default.nix @@ -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" From 424835acc87112d114944a529bdea27f2fb24843 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Mon, 7 May 2018 23:11:31 +0200 Subject: [PATCH 048/116] symmetrica: add patches --- .../science/math/symmetrica/default.nix | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) 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''; From a0eace3be6a182f11305ab00c0feca8c385c6d0c Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Mon, 7 May 2018 23:45:02 +0200 Subject: [PATCH 049/116] sympy: backport upstream fixes --- .../python-modules/sympy/default.nix | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) 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 +} From 224f73b75a10a658d5d4f9beecd475c53e7692c7 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Thu, 10 May 2018 11:43:43 +0200 Subject: [PATCH 050/116] linbox: remove liblapack dependency Not actually needed by any package and adds and indirect dependency to atlas. --- pkgs/development/libraries/linbox/default.nix | 3 --- 1 file changed, 3 deletions(-) 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) From 7df80c4e021b7f7b743fe2b6d0c609b9e7dd47c5 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Thu, 28 Jun 2018 12:48:19 +0200 Subject: [PATCH 051/116] pythonPackages.flask-autoindex: 0.6 -> 2018-06-28 Fixes the build with current flask, which deprecated the old import syntax. --- .../flask-autoindex/default.nix | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) 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 = '' From 84d89a1ec600de59447ed2a914ce167f51c21089 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Thu, 28 Jun 2018 12:48:48 +0200 Subject: [PATCH 052/116] pythonPackages.flask-silk: 0.2 -> 2018-06-28 Fixes the build with current flask, which deprecated the old import syntax. --- .../python-modules/flask-silk/default.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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 = [ From 17e6b391eb6b524331bce29c01467dc055c8543b Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 24 Apr 2018 23:53:36 +0200 Subject: [PATCH 053/116] sage: 8.1 -> 8.2, use system packages --- pkgs/applications/science/math/sage/README.md | 117 +++ .../science/math/sage/default.nix | 447 +++++----- .../science/math/sage/env-locations.nix | 46 + pkgs/applications/science/math/sage/env.patch | 22 - .../science/math/sage/fetch-mirrors.sh | 11 - .../science/math/sage/flask-oldsessions.nix | 36 + .../science/math/sage/flask-openid.nix | 28 + .../science/math/sage/openblas-pc.nix | 18 + .../science/math/sage/patchSageShebangs.sh | 51 -- .../math/sage/patches/dochtml-optional.patch | 127 +++ .../patches/eclib-regulator-precision.patch | 98 +++ .../matplotlib-normed-deprecated.patch | 12 + .../sage/patches/maxima-5.41.0-doctests.patch | 48 ++ .../math/sage/patches/numpy-1.14.3.patch | 812 ++++++++++++++++++ .../math/sage/patches/pari-stackwarn.patch | 20 + .../sage/patches/python-5755-hotpatch.patch | 28 + .../python3-syntax-without-write.patch | 40 + .../sage/patches/revert-269c1e1551285.patch | 14 + .../math/sage/patches/sagenb-sphinx-1.7.patch | 31 + .../math/sage/patches/sphinx-1.7.patch | 62 ++ .../math/sage/patches/zn_poly_version.patch | 13 + .../science/math/sage/pybrial.nix | 29 + .../science/math/sage/python-openid.nix | 42 + .../science/math/sage/sage-env.nix | 162 ++++ .../science/math/sage/sage-src.nix | 197 +++++ .../science/math/sage/sage-with-env.nix | 129 +++ .../science/math/sage/sage-wrapper.nix | 41 + pkgs/applications/science/math/sage/sage.nix | 32 + .../science/math/sage/sagedoc.nix | 97 +++ .../science/math/sage/sagelib.nix | 139 +++ .../applications/science/math/sage/sagenb.nix | 49 ++ .../science/math/sage/shebangs.patch | 36 - .../science/math/sage/spkg-giac.patch | 20 - .../science/math/sage/spkg-git.patch | 18 - .../science/math/sage/spkg-python.patch | 13 - .../science/math/sage/spkg-singular.patch | 18 - pkgs/top-level/all-packages.nix | 5 +- 37 files changed, 2695 insertions(+), 413 deletions(-) create mode 100644 pkgs/applications/science/math/sage/README.md create mode 100644 pkgs/applications/science/math/sage/env-locations.nix delete mode 100644 pkgs/applications/science/math/sage/env.patch delete mode 100755 pkgs/applications/science/math/sage/fetch-mirrors.sh create mode 100644 pkgs/applications/science/math/sage/flask-oldsessions.nix create mode 100644 pkgs/applications/science/math/sage/flask-openid.nix create mode 100644 pkgs/applications/science/math/sage/openblas-pc.nix delete mode 100644 pkgs/applications/science/math/sage/patchSageShebangs.sh create mode 100644 pkgs/applications/science/math/sage/patches/dochtml-optional.patch create mode 100644 pkgs/applications/science/math/sage/patches/eclib-regulator-precision.patch create mode 100644 pkgs/applications/science/math/sage/patches/matplotlib-normed-deprecated.patch create mode 100644 pkgs/applications/science/math/sage/patches/maxima-5.41.0-doctests.patch create mode 100644 pkgs/applications/science/math/sage/patches/numpy-1.14.3.patch create mode 100644 pkgs/applications/science/math/sage/patches/pari-stackwarn.patch create mode 100644 pkgs/applications/science/math/sage/patches/python-5755-hotpatch.patch create mode 100644 pkgs/applications/science/math/sage/patches/python3-syntax-without-write.patch create mode 100644 pkgs/applications/science/math/sage/patches/revert-269c1e1551285.patch create mode 100644 pkgs/applications/science/math/sage/patches/sagenb-sphinx-1.7.patch create mode 100644 pkgs/applications/science/math/sage/patches/sphinx-1.7.patch create mode 100644 pkgs/applications/science/math/sage/patches/zn_poly_version.patch create mode 100644 pkgs/applications/science/math/sage/pybrial.nix create mode 100644 pkgs/applications/science/math/sage/python-openid.nix create mode 100644 pkgs/applications/science/math/sage/sage-env.nix create mode 100644 pkgs/applications/science/math/sage/sage-src.nix create mode 100644 pkgs/applications/science/math/sage/sage-with-env.nix create mode 100644 pkgs/applications/science/math/sage/sage-wrapper.nix create mode 100644 pkgs/applications/science/math/sage/sage.nix create mode 100644 pkgs/applications/science/math/sage/sagedoc.nix create mode 100644 pkgs/applications/science/math/sage/sagelib.nix create mode 100644 pkgs/applications/science/math/sage/sagenb.nix delete mode 100644 pkgs/applications/science/math/sage/shebangs.patch delete mode 100644 pkgs/applications/science/math/sage/spkg-giac.patch delete mode 100644 pkgs/applications/science/math/sage/spkg-git.patch delete mode 100644 pkgs/applications/science/math/sage/spkg-python.patch delete mode 100644 pkgs/applications/science/math/sage/spkg-singular.patch 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..4e84a18f4f2 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -1,230 +1,231 @@ -# 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; }; + # tracking: https://trac.sagemath.org/ticket/24927 + arb = nixpkgs.arb.overrideAttrs (attrs: rec { + name = "arb-${version}"; + version = "2.12.0"; + doCheck = false; # https://github.com/fredrik-johansson/arb/issues/194 + src = fetchFromGitHub { + owner = "fredrik-johansson"; + repo = attrs.pname; + rev = version; + sha256 = "18bwxlcbqb70cj7l9x6w1h4yghrqfhmbhdby373q8vdrdfx58niq"; + }; + }); + }; + + 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; }).overrideAttrs (oldAttrs: rec { + name = "pynac-0.7.16"; + src = fetchFromGitHub { + owner = "pynac"; + repo = "pynac"; + rev = name; + sha256 = "106an189sg4rpgzfrmy3699271vg4ddazw9wvh51wx7qnm1v86ik"; + }; + }); + + 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/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/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') +- '...
    \n \n

    A test

    \n\n\n
    ' ++ '
    \n \n

    A test

    \n\n\n
    ' + sage: sphinxify('**Testing**\n`monospace`') +- '...
    Testing\n\n\n\n
    ' ++ '
    Testing\n\n\n\n
    ' + sage: sphinxify('`x=y`') +- '...
    \n \n

    x=y

    \n\n\n
    ' ++ '
    \n \n

    x=y

    \n\n\n
    ' + 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') +- '...
    \n \n

    A test

    \n\n\n
    ' ++ '
    \n \n

    A test

    \n\n\n
    ' + sage: sphinxify('**Testing**\n`monospace`') +- '...
    Testing\n\n\n\n
    ' ++ '
    Testing\n\n \n

    x=y

    \n\n\n
    ' ++ '
    \n \n

    x=y

    \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/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..44b81794467 --- /dev/null +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -0,0 +1,197 @@ +{ 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 + (fetchpatch { + name = "respect-jupyter-path.patch"; + url = "https://git.sagemath.org/sage.git/patch?id2=8bdc326ba57d1bb9664f63cf165a9e9920cc1afc&id=029123097d79f2c67bca2d725c470ef667a88ca2"; + sha256 = "0qw9p541ip0kn2gfvn4i05a06p50f3q46847gqfjjgzxhn62znfw"; + }) + + # 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; + }) + + ]; + + 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ab740cbfec6..a13b06c91bf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20381,7 +20381,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 {}; From 1d54dc684116a847cea89d8cc1d6620d06b66f6b Mon Sep 17 00:00:00 2001 From: Ryan Mulligan Date: Fri, 29 Jun 2018 17:18:27 -0700 Subject: [PATCH 054/116] treewide: http -> https --- doc/languages-frameworks/python.section.md | 2 +- pkgs/applications/science/astronomy/gravit/default.nix | 2 +- pkgs/development/compilers/polyml/5.6.nix | 2 +- pkgs/development/compilers/polyml/default.nix | 2 +- pkgs/development/compilers/scala/2.11.nix | 2 +- pkgs/development/python-modules/langcodes/default.nix | 2 +- pkgs/development/python-modules/lxml/default.nix | 4 ++-- pkgs/development/python-modules/pymc3/default.nix | 2 +- pkgs/development/python-modules/python3-openid/default.nix | 2 +- pkgs/development/tools/misc/epm/default.nix | 2 +- pkgs/servers/sabnzbd/default.nix | 2 +- pkgs/shells/zsh/oh-my-zsh/default.nix | 2 +- pkgs/tools/security/volatility/default.nix | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) 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/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/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/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/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/python3-openid/default.nix b/pkgs/development/python-modules/python3-openid/default.nix index 238c416bc98..d0b10c42d01 100644 --- a/pkgs/development/python-modules/python3-openid/default.nix +++ b/pkgs/development/python-modules/python3-openid/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { 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/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/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/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/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; From 236d92af1147cf73543c60af2d2ceed2231afec9 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sat, 30 Jun 2018 02:23:25 +0200 Subject: [PATCH 055/116] =?UTF-8?q?gnome3.tracker:=202.0.3=20=E2=86=92=202?= =?UTF-8?q?.0.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/desktops/gnome-3/core/tracker/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; From 6589358664ff47d6dab0f1c3ee47ef4839185a8c Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sat, 30 Jun 2018 02:31:10 +0200 Subject: [PATCH 056/116] =?UTF-8?q?gnome3.tracker-miners:=202.0.4=20?= =?UTF-8?q?=E2=86=92=202.0.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gnome-3/core/tracker-miners/default.nix | 29 ++----------------- 1 file changed, 3 insertions(+), 26 deletions(-) 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 From c328738a06211e3098084ab852eea45a07e1c1e5 Mon Sep 17 00:00:00 2001 From: Luke Adams Date: Fri, 29 Jun 2018 19:55:24 -0500 Subject: [PATCH 057/116] gnuradio: fix hash for 3.7.13.3 --- pkgs/applications/misc/gnuradio/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix index 2710850759b..2ab704ec98c 100644 --- a/pkgs/applications/misc/gnuradio/default.nix +++ b/pkgs/applications/misc/gnuradio/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { owner = "gnuradio"; repo = "gnuradio"; rev = "v${version}"; - sha256 = "0fqxn1k41xqd52i5z528zdhkn52i9z5hl6cc75ggdx9iqxhvb3jj"; + sha256 = "1qpa53axqavdv2ykby7rwh7xmhvv964xq1d7rcvbwkry7dngrbib"; fetchSubmodules = true; }; From 99d7805a6f0fe8920af412e750e249256a5d68ce Mon Sep 17 00:00:00 2001 From: aszlig Date: Sat, 30 Jun 2018 02:43:37 +0200 Subject: [PATCH 058/116] kmymoney: Fix build with Qt 5.11 It's a really small fix that even could have been done via sed, but I'm using the upstream patch instead so that once a new upstream release comes along we don't forget to drop the patch. The patch is from the upstream commit at: https://cgit.kde.org/kmymoney.git/commit/?id=e5198a902996b27bf9abde0ad24af82d55ab5dc1 Signed-off-by: aszlig --- pkgs/applications/office/kmymoney/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) 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"; From 408bc4bf96128b15e5e28c9437ab1400997c614a Mon Sep 17 00:00:00 2001 From: Luke Adams Date: Fri, 29 Jun 2018 20:21:06 -0500 Subject: [PATCH 059/116] gnuradio: undo ninja (revert to unix make) * ninja generator fails to create response file See https://gitlab.kitware.com/cmake/cmake/issues/17877 --- pkgs/applications/misc/gnuradio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix index 2ab704ec98c..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 @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - cmake pkgconfig git makeWrapper cppunit orc ninja + cmake pkgconfig git makeWrapper cppunit orc ]; buildInputs = [ From 0c10b2baa6bf61c8ddaed7cdb6c2f2dbaab42662 Mon Sep 17 00:00:00 2001 From: Allan Espinosa Date: Sun, 20 May 2018 21:09:31 -0400 Subject: [PATCH 060/116] nixos/hadoop: add hadoop module (hdfs, yarn) --- nixos/modules/misc/ids.nix | 8 ++ nixos/modules/module-list.nix | 1 + .../modules/services/cluster/hadoop/conf.nix | 31 ++++++++ .../services/cluster/hadoop/default.nix | 63 ++++++++++++++++ .../modules/services/cluster/hadoop/hdfs.nix | 73 ++++++++++++++++++ .../modules/services/cluster/hadoop/yarn.nix | 74 +++++++++++++++++++ nixos/release.nix | 2 + nixos/tests/hadoop/hdfs.nix | 54 ++++++++++++++ nixos/tests/hadoop/yarn.nix | 46 ++++++++++++ 9 files changed, 352 insertions(+) create mode 100644 nixos/modules/services/cluster/hadoop/conf.nix create mode 100644 nixos/modules/services/cluster/hadoop/default.nix create mode 100644 nixos/modules/services/cluster/hadoop/hdfs.nix create mode 100644 nixos/modules/services/cluster/hadoop/yarn.nix create mode 100644 nixos/tests/hadoop/hdfs.nix create mode 100644 nixos/tests/hadoop/yarn.nix 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 c425f3c6507..5ed01a8da40 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/release.nix b/nixos/release.nix index e494fa35029..93566762b3a 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/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"); + ''; +}) From e1eb55deae501bfc19b49e39f71a582f6a042603 Mon Sep 17 00:00:00 2001 From: Tim Engler Date: Sat, 30 Jun 2018 15:16:10 +0800 Subject: [PATCH 061/116] android-studio: added libGL as a dependency Without it, when starting an android emulator in some cases results in the cryptic, "KVM is required to run this AVD. Unknown Error" Fixes #41703 --- pkgs/applications/editors/android-studio/common.nix | 2 ++ 1 file changed, 2 insertions(+) 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 From bcb416a07ebd962339ef343f3aa561de24952471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 30 Jun 2018 09:57:58 +0200 Subject: [PATCH 062/116] dnsperf: fixup build I'm not sure why the libcap.dev -> libcap.lib propagation doesn't work here. --- pkgs/tools/networking/dnsperf/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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/" From 5ceca49714e354947ca4c93ffcefc46ad6be9bd8 Mon Sep 17 00:00:00 2001 From: Michishige Kaito Date: Thu, 28 Jun 2018 15:08:27 +0100 Subject: [PATCH 063/116] yubikey-manager: 0.4.0 -> 0.7.0 --- pkgs/tools/misc/yubikey-manager/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 From 2df7972ab1c0d893223c98f2e2e4c369042be2b5 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sat, 30 Jun 2018 11:16:36 +0200 Subject: [PATCH 064/116] yodl: 4.02.00 -> 4.02.01 Project moved from github to gitlab --- pkgs/development/tools/misc/yodl/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/misc/yodl/default.nix b/pkgs/development/tools/misc/yodl/default.nix index 1f5ead84677..353066e3aae 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"; From 8cad6ed33591bb15867c8054c8b4b0be86db21f3 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sat, 30 Jun 2018 11:18:50 +0200 Subject: [PATCH 065/116] progress: 0.13.1 -> 0.14 --- pkgs/tools/misc/progress/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ]; From 97e30243764f8b6acc762a89d26af9bf97bf291a Mon Sep 17 00:00:00 2001 From: Michishige Kaito Date: Thu, 28 Jun 2018 15:08:48 +0100 Subject: [PATCH 066/116] python-fido2: init at 0.3.0 --- .../python-modules/fido2/default.nix | 23 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/development/python-modules/fido2/default.nix 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/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 80ca395a026..9a12bd629d8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -266,6 +266,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 { }; From 18f45dac2c0dfd6227efa821673f63f5b431b0a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sat, 30 Jun 2018 11:55:02 +0200 Subject: [PATCH 067/116] python.pkgs.aioimaplib: 0.7.13 -> 0.7.14 --- .../python-modules/aioimaplib/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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"; From 687f5d2fa17f1dd975d6f40908b475c566612ff1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sat, 30 Jun 2018 12:21:48 +0200 Subject: [PATCH 068/116] python.pkgs.asynctest: 0.12.0 -> 0.12.2 --- pkgs/development/python-modules/asynctest/default.nix | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) 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 = '' From d8f6ca1afa36d45e1cb5496c1ba8725cb0ad14df Mon Sep 17 00:00:00 2001 From: Mikhail Klementev Date: Thu, 28 Jun 2018 09:35:50 +0400 Subject: [PATCH 069/116] hostapd: use WPA2 instead of WPA1 by default --- nixos/doc/manual/release-notes/rl-1809.xml | 5 +++++ nixos/modules/services/networking/hostapd.nix | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) 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/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 ""} From 21774be1bd9ba611becd81b20d6d756467f2fa74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sat, 30 Jun 2018 13:41:39 +0200 Subject: [PATCH 070/116] dovecot: 2.3.1 -> 2.3.2, dovecot-pigeonhole: 0.5.1 -> 0.5.2 (#42779) --- pkgs/servers/mail/dovecot/default.nix | 4 ++-- pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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 ]; From 1627b6fc09ca9796451bde019fa0ee208ca478be Mon Sep 17 00:00:00 2001 From: nonfreeblob Date: Fri, 29 Jun 2018 15:21:56 +0300 Subject: [PATCH 071/116] nethack: nethack-x11 package created If x11Mode is false, ncurses NetHack version will be built (nethack). If x11Mode is true, x11 NetHack version will be built (nethack-x11). NetHack DevTeam provide x11 version support only for Linux. --- pkgs/games/nethack/default.nix | 16 ++++++++++------ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 12 insertions(+), 6 deletions(-) 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b284bffef49..1ea025c3ab9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19568,6 +19568,8 @@ with pkgs; nethack = callPackage ../games/nethack { }; + nethack-x11 = callPackage ../games/nethack { x11Mode = true; }; + neverball = callPackage ../games/neverball { }; nexuiz = callPackage ../games/nexuiz { }; From f6a2869031e8d88a59156d3b624e219af0271b19 Mon Sep 17 00:00:00 2001 From: Luz Date: Sat, 30 Jun 2018 13:56:12 +0200 Subject: [PATCH 072/116] librepcb-unstable: 2017-12-29 -> 2018-06-28 (#42786) * Update: 2017-12-29 -> 2018-06-28 * Update libs also to qt5.9 * Add required default font file * Switch back to default Qt version --- .../science/electronics/librepcb/default.nix | 14 +++++---- .../electronics/librepcb/fix-2017-12.patch | 29 ------------------- 2 files changed, 8 insertions(+), 35 deletions(-) delete mode 100644 pkgs/applications/science/electronics/librepcb/fix-2017-12.patch 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 - ****************************************************************************************/ - From c9f9ec6f18cb74d03c13cdcca757878feeb89943 Mon Sep 17 00:00:00 2001 From: Meghea Iulian Date: Sat, 30 Jun 2018 14:56:33 +0300 Subject: [PATCH 073/116] avocode: 3.0.0 -> 3.1.1 (#42808) --- pkgs/applications/graphics/avocode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; [ From 04967f3ecf298921fea56c91b0a6e60a0efc7905 Mon Sep 17 00:00:00 2001 From: Vladyslav Mykhailichenko Date: Sat, 30 Jun 2018 15:26:06 +0300 Subject: [PATCH 074/116] iwd: 0.2 -> 0.3 --- pkgs/os-specific/linux/iwd/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix index 792c7bcb084..518a406257f 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 = [ From bae87d504224d853c5548d2aa244b596569fc7f3 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sat, 30 Jun 2018 13:01:07 +0000 Subject: [PATCH 075/116] python.pkgs.pybrowserid: move expression and 0.9.2 -> 0.14.0 (#42814) --- .../python-modules/pybrowserid/default.nix | 24 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 23 +----------------- 2 files changed, 25 insertions(+), 22 deletions(-) create mode 100644 pkgs/development/python-modules/pybrowserid/default.nix 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/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ba024c1f88e..1563176c39a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15509,28 +15509,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 { }; From ff9999ad1b19b941b275b7ec79514d04c7cdad7d Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Tue, 5 Jan 2016 09:22:43 -0500 Subject: [PATCH 076/116] linux: translate config to structured config Instead of using a string to describe kernel config, use a nix attribute set, then converted to a string. - allows to override the config, aka convert 'yes' into 'modules' or vice-versa - while for now merging different configs is still crude (last spec wins), at least there should be only one CONFIG_XYZ value compared to the current string config where the first defined would be used and others ignored. [initial idea by copumpkin in 2016, a major rebase to 2018 by teto] --- lib/kernel.nix | 57 + .../linux/kernel/common-config.nix | 1364 ++++++++--------- pkgs/os-specific/linux/kernel/generic.nix | 13 +- .../linux/kernel/manual-config.nix | 2 +- 4 files changed, 739 insertions(+), 697 deletions(-) create mode 100644 lib/kernel.nix 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/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 93732f1c6f8..3ebac03dcd7 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -1,726 +1,706 @@ -/* +# 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 ? {} +}: + +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 - - # Debugging. - DEBUG_KERNEL y - DYNAMIC_DEBUG y - DEBUG_DEVRES n - DEBUG_STACK_USAGE n - DEBUG_STACKOVERFLOW n - SCHEDSTATS n - DETECT_HUNG_TASK y - - ${if (features.debug or false) then '' - DEBUG_INFO y - '' else '' - DEBUG_INFO n - ''} - - ${optionalString (versionOlder version "4.4") '' - CPU_NOTIFIER_ERROR_INJECT? n - ''} - - ${optionalString (versionOlder version "4.11") '' - TIMER_STATS y - DEBUG_NX_TEST n - ''} - - # 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 - ''} - - # Unix domain sockets. - UNIX y - - # 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 - - # Support drivers that need external firmware. - STANDALONE n - - # Make /proc/config.gz available. - IKCONFIG y - IKCONFIG_PROC y - - # Optimize with -O2, not -Os. - CC_OPTIMIZE_FOR_SIZE n - - # Enable the kernel's built-in memory tester. - MEMTEST 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. - 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 - ''} - - # Enable NUMA. - NUMA? y - - # Disable some expensive (?) features. - PM_TRACE_RTC n - - # Enable initrd support. - BLK_DEV_RAM y - BLK_DEV_INITRD y - - # 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 - ''} - - # 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 - - # 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 - - # 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 - ''} - - # 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 - ''} - - # 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) - ''} - - # USB serial devices. - USB_SERIAL_GENERIC y # USB Generic Serial Driver - - # 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 - ''} - - # Device mapper (RAID, LVM, etc.) - MD y - - # 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 - ''} - - # 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 - - # Runtime security tests - ${optionalString (versionOlder version "4.11") '' - DEBUG_SET_MODULE_RONX? y # Detect writes to read-only module pages - ''} - - # 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 - ''} - - # AppArmor support - SECURITY_APPARMOR y - DEFAULT_SECURITY_APPARMOR y - - # 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 - ''} - - ${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 - ''} - - # 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 - - ${optionalString (versionAtLeast version "3.12") '' - HOTPLUG_PCI_ACPI y # PCI hotplug using ACPI - HOTPLUG_PCI_PCIE y # PCI-Expresscard hotplug support - ''} +let + # temporary hack + grsecurity = false; + xen_dom0 = false; - # 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 - ''} + # TODO configuration items have to be part of subattrs. Remove this constraint + flattenKConf = nested: mapAttrs (_: head) (zipAttrs (attrValues nested)); - # Enable staging drivers. These are somewhat experimental, but - # they generally don't hurt. - STAGING y + options = { - # 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 + 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 (!grsecurity) no; + RCU_TORTURE_TEST = no; + SCHEDSTATS = no; + DETECT_HUNG_TASK = yes; + CRASH_DUMP = option no; + # Easier debugging of NFS issues. + SUNRPC_DEBUG = whenAtLeast "3.4" yes; + }; - # Tracing. - FTRACE y - KPROBES y - FUNCTION_TRACER y - FTRACE_SYSCALLS y - SCHED_TRACER y - STACK_TRACER y + power-management = { + PM_RUNTIME = whenOlder "3.19" yes; + PM_ADVANCED_DEBUG = yes; + X86_INTEL_LPSS = whenAtLeast "3.11" yes; + X86_INTEL_PSTATE = whenAtLeast "3.10" yes; + INTEL_IDLE = yes; + CPU_FREQ_DEFAULT_GOV_PERFORMANCE = yes; + USB_SUSPEND = whenOlder "3.10" yes; + PM_WAKELOCKS = yes; + }; - ${if versionOlder version "4.11" then '' - UPROBE_EVENT? y - '' else '' - UPROBE_EVENTS? y - ''} + external-firmware = { + # Support drivers that need external firmware. + STANDALONE = no; + }; - ${optionalString (versionAtLeast version "4.4") '' - BPF_SYSCALL y - BPF_EVENTS y - ''} - FUNCTION_PROFILER y - RING_BUFFER_BENCHMARK n + proc-config-gz = { + # Make /proc/config.gz available + IKCONFIG = yes; + IKCONFIG_PROC = yes; + }; - # Devtmpfs support. - DEVTMPFS y + optimization = { + # Optimize with -O2, not -Os + CC_OPTIMIZE_FOR_SIZE = no; + }; - # Easier debugging of NFS issues. - SUNRPC_DEBUG y + memtest = { + MEMTEST = 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 + # 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; + }; - # 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 - ''} + # Enable NUMA. + numa = { + NUMA = option yes; + }; - # Our initrd init uses shebang scripts, so can't be modular. - BINFMT_SCRIPT y + networking = { + NET = yes; + IP_PNP = no; + IPV6_PRIVACY = whenOlder "3.13" yes; + 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; - # For systemd-binfmt - BINFMT_MISC? y + PPP_MULTILINK = yes; # PPP multilink support + PPP_FILTER = yes; - # Enable the 9P cache to speed up NixOS VM tests. - 9P_FSCACHE? y - 9P_FS_POSIX_ACL? y + # needed for iwd WPS support (wpa_supplicant replacement) + KEY_DH_OPERATIONS = whenAtLeast "4.7" yes; + }; - # Enable transparent support for huge pages. - TRANSPARENT_HUGEPAGE? y - TRANSPARENT_HUGEPAGE_ALWAYS? n - TRANSPARENT_HUGEPAGE_MADVISE? y + 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 (whenAtLeast "3.2" yes); + BCMA_HOST_PCI = option 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 - ''} + 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 (versionOlder version "3.9" || stdenv.system == "i686-linux") yes; + }; - # Enable PCIe and USB for the brcmfmac driver - BRCMFMAC_USB? y - BRCMFMAC_PCIE? y + 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; + DRM_RADEON_KMS = option (whenOlder "3.9" 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; + DRM_I915_GVT = whenAtLeast "4.16" yes; + DRM_I915_GVT_KVMGT = whenAtLeast "4.16" module; + }; - # Support x2APIC (which requires IRQ remapping). - ${optionalString (stdenv.system == "x86_64-linux") '' - X86_X2APIC y - IRQ_REMAP y - ''} + 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; + }; - # needed for iwd WPS support (wpa_supplicant replacement) - ${optionalString (versionAtLeast version "4.7") '' - KEY_DH_OPERATIONS y - ''} + # 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 = { + USB_SERIAL_GENERIC = yes; # USB Generic Serial Driver + } // optionalAttrs (versionOlder version "4.16") { + USB_SERIAL_KEYSPAN_MPR = yes; # include firmware for various USB serial devices + 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; + }; - # Disable the firmware helper fallback, udev doesn't implement it any more - FW_LOADER_USER_HELPER_FALLBACK? n + usb = { + USB_DEBUG = option (whenOlder "3.15" no); + USB_EHCI_ROOT_HUB_TT = yes; # Root Hub Transaction Translators + USB_EHCI_TT_NEWSCHED = yes; # Improved transaction translator scheduling + }; - # 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 - ''} + # 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); - 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 + 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 - ${optionalString (features.criu or false) '' - EXPERT y - CHECKPOINT_RESTORE y - ''} + EXT3_FS_POSIX_ACL = yes; + EXT3_FS_SECURITY = 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 - ''} + EXT4_FS_POSIX_ACL = yes; + EXT4_FS_SECURITY = yes; + EXT4_ENCRYPTION = option ((if (versionOlder version "4.8") then module else yes)); + + REISERFS_FS_XATTR = option yes; + REISERFS_FS_POSIX_ACL = option yes; + REISERFS_FS_SECURITY = option yes; + + JFS_POSIX_ACL = option yes; + JFS_SECURITY = option yes; + + XFS_QUOTA = option yes; + XFS_POSIX_ACL = option yes; + XFS_RT = option yes; # XFS Realtime subvolume support + + OCFS2_DEBUG_MASKLOG = option no; + + BTRFS_FS_POSIX_ACL = yes; + + UBIFS_FS_ADVANCED_COMPR = option yes; + + F2FS_FS = module; + F2FS_FS_SECURITY = option yes; + F2FS_FS_ENCRYPTION = option yes; + UDF_FS = module; + + 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 = whenAtLeast "3.11" yes; + + NFS_FSCACHE = yes; + NFS_SWAP = whenAtLeast "3.6" yes; + NFS_V3_ACL = yes; + NFS_V4_1 = whenAtLeast "3.11" yes; # NFSv4.1 client support + NFS_V4_2 = whenAtLeast "3.11" yes; + NFS_V4_SECURITY_LABEL = whenAtLeast "3.11" yes; + + 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 = whenAtLeast "3.12" yes; + CEPH_FS_POSIX_ACL = whenAtLeast "3.14" yes; + + SQUASHFS_FILE_DIRECT = whenAtLeast "3.13" yes; + SQUASHFS_DECOMP_MULTI_PERCPU = whenAtLeast "3.13" yes; + SQUASHFS_XATTR = yes; + SQUASHFS_ZLIB = yes; + SQUASHFS_LZO = yes; + SQUASHFS_XZ = yes; + SQUASHFS_LZ4 = whenAtLeast "3.19" yes; + + # 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 + + DEVTMPFS = yes; + }; + + 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 (!grsecurity) no; # Disable /dev/kmem + + USER_NS = whenAtLeast "3.12" yes; # Support for user namespaces + + SECURITY_APPARMOR = yes; + DEFAULT_SECURITY_APPARMOR = yes; + + AUDIT_LOGINUID_IMMUTABLE = whenBetween "3.3" "3.13" yes; + } // optionalAttrs (!stdenv.hostPlatform.isAarch32) { + + # Detect buffer overflows on the stack + CC_STACKPROTECTOR = option (whenOlder "3.14" yes); + CC_STACKPROTECTOR_REGULAR = option (whenOlder "4.18" yes); + }; + + microcode = { + MICROCODE = yes; + MICROCODE_INTEL = yes; + MICROCODE_AMD = yes; + + MICROCODE_EARLY = whenBetween "3.11" "4.4" yes; + MICROCODE_INTEL_EARLY = whenBetween "3.11" "4.4" yes; + MICROCODE_AMD_EARLY = whenBetween "3.11" "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; + }; + + container = { + NAMESPACES = option yes; # Required by 'unshare' used by 'nixos-install' + RT_GROUP_SCHED = no; + CGROUP_DEVICE = option yes; + + MEMCG = whenAtLeast "3.6" yes; + MEMCG_SWAP = whenAtLeast "3.6" yes; + CGROUP_MEM_RES_CTLR = whenOlder "3.6" yes; + CGROUP_MEM_RES_CTLR_SWAP = whenOlder "3.6" yes; + + DEVPTS_MULTIPLE_INSTANCES = whenOlder "4.7" yes; + BLK_DEV_THROTTLING = yes; + CFQ_GROUP_IOSCHED = yes; + CGROUP_PIDS = whenAtLeast "4.3" yes; + }; + + staging = { + # Enable staging drivers. These are somewhat experimental, but + # they generally don't hurt. + STAGING = yes; + }; + + 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; + }; + + 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; + }; + + virtualisation = { + PARAVIRT = option yes; + + HYPERVISOR_GUEST = when (!grsecurity && versionAtLeast version "3.10") yes; + PARAVIRT_GUEST = option (when (!grsecurity && versionOlder version "3.10") yes); + PARAVIRT_SPINLOCKS = option yes; + + KVM_APIC_ARCHITECTURE = whenOlder "4.8" yes; + KVM_ASYNC_PF = yes; + KVM_CLOCK = option (whenOlder "3.7" 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 (!grsecurity) yes; + KVM_MMIO = yes; + KVM_VFIO = whenAtLeast "3.13" yes; + KSM = yes; + VIRT_DRIVERS = yes; + # We nneed 64 GB (PAE) support for Xen guest support + HIGHMEM64G = option (when (!stdenv.is64bit) yes); + + VFIO_PCI_VGA = when (versionAtLeast version "3.9" && stdenv.is64bit) yes; + + } // optionalAttrs (stdenv.isx86_64 || stdenv.isi686) ({ + XEN = option yes; + + # XXX: why isn't this in the xen-dom0 conditional section below? + XEN_DOM0 = option yes; + + } // optionalAttrs (versionAtLeast version "3.18" && 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; + }); + + 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 = if (versionOlder version "3.18") then yes else 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; + }; + + + # For older kernels, painstakingly disable each symbol. + tests = { + # 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 = option no; + } // optionalAttrs (versionOlder version "4.16") { + 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 = whenAtLeast "3.18" yes; + MODULE_COMPRESS_XZ = whenAtLeast "3.18" yes; + KERNEL_XZ = yes; + + # Unix domain sockets. + UNIX = yes; + + # Device mapper (RAID, LVM, etc.) + MD = yes; + + # 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 + NET_POCKET = whenOlder "3.2" yes; # enable pocket and portable adapters + + 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; + AUDIT_LOGINUID_IMMUTABLE = whenBetween "3.3" "3.13" yes; + 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 (whenAtLeast "3.4" yes); # RFCOMM TTY support + + CLEANCACHE = option yes; + CRASH_DUMP = option no; + + DMAR = option (whenOlder "3.1" no); # experimental + + DVB_DYNAMIC_MINORS = option yes; # we use udev + + EFI_STUB = whenAtLeast "3.3" 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 = whenAtLeast "4.3" 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 = whenBetween "3.15" "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 = whenAtLeast "3.11" 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 (whenAtLeast "3.6" yes); # Enable IR devices + + RT2800USB_RT53XX = yes; + RT2800USB_RT55XX = whenAtLeast "3.10" 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 = whenAtLeast "3.15" no; + + USERFAULTFD = whenAtLeast "4.3" yes; + X86_CHECK_BIOS_CORRUPTION = yes; + X86_MCE = yes; + + # Our initrd init uses shebang scripts, so can't be modular. + BINFMT_SCRIPT = whenAtLeast "3.10" 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 = whenAtLeast "3.12" yes; # PCI hotplug using ACPI + HOTPLUG_PCI_PCIE = whenAtLeast "3.12" 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 - ${extraConfig} -'' diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 249a1ea5cef..fde6efd797d 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: @@ -59,8 +63,9 @@ let netfilterRPFilter = true; } // 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 +84,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, From dcea150a89e027389439b32e999de71c559134e1 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Sat, 23 Jun 2018 08:54:44 +0900 Subject: [PATCH 077/116] kernel: remove conditions based on 3.X kernels The oldest kernel in nixpkgs being 4.4, we get rid of checks for older kernels. --- .../linux/kernel/common-config.nix | 135 ++++++++---------- 1 file changed, 60 insertions(+), 75 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 3ebac03dcd7..3bebaab37d3 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -56,17 +56,15 @@ let DETECT_HUNG_TASK = yes; CRASH_DUMP = option no; # Easier debugging of NFS issues. - SUNRPC_DEBUG = whenAtLeast "3.4" yes; + SUNRPC_DEBUG = yes; }; power-management = { - PM_RUNTIME = whenOlder "3.19" yes; PM_ADVANCED_DEBUG = yes; - X86_INTEL_LPSS = whenAtLeast "3.11" yes; - X86_INTEL_PSTATE = whenAtLeast "3.10" yes; + X86_INTEL_LPSS = yes; + X86_INTEL_PSTATE = yes; INTEL_IDLE = yes; CPU_FREQ_DEFAULT_GOV_PERFORMANCE = yes; - USB_SUSPEND = whenOlder "3.10" yes; PM_WAKELOCKS = yes; }; @@ -110,7 +108,6 @@ let networking = { NET = yes; IP_PNP = no; - IPV6_PRIVACY = whenOlder "3.13" yes; NETFILTER = yes; NETFILTER_ADVANCED = yes; IP_VS_PROTO_TCP = yes; @@ -163,7 +160,7 @@ let 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 (whenAtLeast "3.2" yes); + B43_PHY_HT = option yes; BCMA_HOST_PCI = option yes; }; @@ -182,7 +179,7 @@ let FB_VESA = yes; FRAMEBUFFER_CONSOLE = yes; FRAMEBUFFER_CONSOLE_ROTATION = yes; - FB_GEODE = when (versionOlder version "3.9" || stdenv.system == "i686-linux") yes; + FB_GEODE = when (stdenv.system == "i686-linux") yes; }; video = { @@ -190,7 +187,6 @@ let DRM_I915_KMS = whenOlder "4.3" yes; # Allow specifying custom EDID on the kernel command line DRM_LOAD_EDID_FIRMWARE = yes; - DRM_RADEON_KMS = option (whenOlder "3.9" yes); VGA_SWITCHEROO = yes; # Hybrid graphics support DRM_GMA600 = yes; DRM_GMA3600 = yes; @@ -221,7 +217,8 @@ let usb-serial = { USB_SERIAL_GENERIC = yes; # USB Generic Serial Driver } // optionalAttrs (versionOlder version "4.16") { - USB_SERIAL_KEYSPAN_MPR = yes; # include firmware for various USB serial devices + # include firmware for various USB serial devices + USB_SERIAL_KEYSPAN_MPR = yes; USB_SERIAL_KEYSPAN_USA28 = yes; USB_SERIAL_KEYSPAN_USA28X = yes; USB_SERIAL_KEYSPAN_USA28XA = yes; @@ -236,7 +233,7 @@ let }; usb = { - USB_DEBUG = option (whenOlder "3.15" no); + USB_DEBUG = option no; USB_EHCI_ROOT_HUB_TT = yes; # Root Hub Transaction Translators USB_EHCI_TT_NEWSCHED = yes; # Improved transaction translator scheduling }; @@ -288,14 +285,14 @@ let NFSD_V3 = yes; NFSD_V3_ACL = yes; NFSD_V4 = yes; - NFSD_V4_SECURITY_LABEL = whenAtLeast "3.11" yes; + NFSD_V4_SECURITY_LABEL = yes; NFS_FSCACHE = yes; - NFS_SWAP = whenAtLeast "3.6" yes; + NFS_SWAP = yes; NFS_V3_ACL = yes; - NFS_V4_1 = whenAtLeast "3.11" yes; # NFSv4.1 client support - NFS_V4_2 = whenAtLeast "3.11" yes; - NFS_V4_SECURITY_LABEL = whenAtLeast "3.11" yes; + NFS_V4_1 = yes; # NFSv4.1 client support + NFS_V4_2 = yes; + NFS_V4_SECURITY_LABEL = yes; CIFS_XATTR = yes; CIFS_POSIX = yes; @@ -307,23 +304,23 @@ let CIFS_DFS_UPCALL = yes; CIFS_SMB2 = whenOlder "4.13" yes; - CEPH_FSCACHE = whenAtLeast "3.12" yes; - CEPH_FS_POSIX_ACL = whenAtLeast "3.14" yes; + CEPH_FSCACHE = yes; + CEPH_FS_POSIX_ACL = yes; - SQUASHFS_FILE_DIRECT = whenAtLeast "3.13" yes; - SQUASHFS_DECOMP_MULTI_PERCPU = whenAtLeast "3.13" yes; + SQUASHFS_FILE_DIRECT = yes; + SQUASHFS_DECOMP_MULTI_PERCPU = yes; SQUASHFS_XATTR = yes; SQUASHFS_ZLIB = yes; SQUASHFS_LZO = yes; SQUASHFS_XZ = yes; - SQUASHFS_LZ4 = whenAtLeast "3.19" yes; + SQUASHFS_LZ4 = yes; # 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 + 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 DEVTMPFS = yes; }; @@ -338,16 +335,14 @@ let SECURITY_YAMA = option yes; DEVKMEM = when (!grsecurity) no; # Disable /dev/kmem - USER_NS = whenAtLeast "3.12" yes; # Support for user namespaces + USER_NS = yes; # Support for user namespaces SECURITY_APPARMOR = yes; DEFAULT_SECURITY_APPARMOR = yes; - AUDIT_LOGINUID_IMMUTABLE = whenBetween "3.3" "3.13" yes; } // optionalAttrs (!stdenv.hostPlatform.isAarch32) { # Detect buffer overflows on the stack - CC_STACKPROTECTOR = option (whenOlder "3.14" yes); CC_STACKPROTECTOR_REGULAR = option (whenOlder "4.18" yes); }; @@ -356,9 +351,9 @@ let MICROCODE_INTEL = yes; MICROCODE_AMD = yes; - MICROCODE_EARLY = whenBetween "3.11" "4.4" yes; - MICROCODE_INTEL_EARLY = whenBetween "3.11" "4.4" yes; - MICROCODE_AMD_EARLY = whenBetween "3.11" "4.4" yes; + 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/ @@ -373,10 +368,8 @@ let RT_GROUP_SCHED = no; CGROUP_DEVICE = option yes; - MEMCG = whenAtLeast "3.6" yes; - MEMCG_SWAP = whenAtLeast "3.6" yes; - CGROUP_MEM_RES_CTLR = whenOlder "3.6" yes; - CGROUP_MEM_RES_CTLR_SWAP = whenOlder "3.6" yes; + MEMCG = yes; + MEMCG_SWAP = yes; DEVPTS_MULTIPLE_INSTANCES = whenOlder "4.7" yes; BLK_DEV_THROTTLING = yes; @@ -415,25 +408,23 @@ let virtualisation = { PARAVIRT = option yes; - HYPERVISOR_GUEST = when (!grsecurity && versionAtLeast version "3.10") yes; - PARAVIRT_GUEST = option (when (!grsecurity && versionOlder version "3.10") yes); + HYPERVISOR_GUEST = when (!grsecurity) yes; PARAVIRT_SPINLOCKS = option yes; KVM_APIC_ARCHITECTURE = whenOlder "4.8" yes; KVM_ASYNC_PF = yes; - KVM_CLOCK = option (whenOlder "3.7" 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 (!grsecurity) yes; KVM_MMIO = yes; - KVM_VFIO = whenAtLeast "3.13" 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); - VFIO_PCI_VGA = when (versionAtLeast version "3.9" && stdenv.is64bit) yes; + VFIO_PCI_VGA = when stdenv.is64bit yes; } // optionalAttrs (stdenv.isx86_64 || stdenv.isi686) ({ XEN = option yes; @@ -441,7 +432,7 @@ let # XXX: why isn't this in the xen-dom0 conditional section below? XEN_DOM0 = option yes; - } // optionalAttrs (versionAtLeast version "3.18" && xen_dom0) { + } // optionalAttrs xen_dom0 { PCI_XEN = option yes; HVC_XEN = option yes; HVC_XEN_FRONTEND = option yes; @@ -490,7 +481,7 @@ let ZRAM = module; ZSWAP = option yes; ZBUD = option yes; - ZSMALLOC = if (versionOlder version "3.18") then yes else module; + ZSMALLOC = module; }; brcmfmac = { @@ -567,15 +558,13 @@ let misc = { - MODULE_COMPRESS = whenAtLeast "3.18" yes; - MODULE_COMPRESS_XZ = whenAtLeast "3.18" yes; + MODULE_COMPRESS = yes; + MODULE_COMPRESS_XZ = yes; KERNEL_XZ = yes; - # Unix domain sockets. - UNIX = yes; + UNIX = yes; # Unix domain sockets. - # Device mapper (RAID, LVM, etc.) - MD = yes; + MD = yes; # Device mapper (RAID, LVM, etc.) # Enable initrd support. BLK_DEV_RAM = yes; @@ -588,7 +577,6 @@ let DONGLE = whenOlder "4.17" yes; # Serial dongle support HIPPI = yes; MTD_COMPLEX_MAPPINGS = yes; # needed for many devices - NET_POCKET = whenOlder "3.2" yes; # enable pocket and portable adapters SCSI_LOWLEVEL = yes; # enable lots of SCSI devices SCSI_LOWLEVEL_PCMCIA = yes; @@ -604,7 +592,6 @@ let AIC79XX_DEBUG_ENABLE = no; AIC7XXX_DEBUG_ENABLE = no; AIC94XX_DEBUG = no; - AUDIT_LOGINUID_IMMUTABLE = whenBetween "3.3" "3.13" yes; B43_PCMCIA = option (whenOlder "4.4" yes); BLK_DEV_INTEGRITY = yes; @@ -614,26 +601,24 @@ let BT_HCIUART_BCSP = option yes; BT_HCIUART_H4 = option yes; # UART (H4) protocol support BT_HCIUART_LL = option yes; - BT_RFCOMM_TTY = option (whenAtLeast "3.4" yes); # RFCOMM TTY support + BT_RFCOMM_TTY = option yes; # RFCOMM TTY support CLEANCACHE = option yes; - CRASH_DUMP = option no; - - DMAR = option (whenOlder "3.1" no); # experimental + CRASH_DUMP = option no; DVB_DYNAMIC_MINORS = option yes; # we use udev - EFI_STUB = whenAtLeast "3.3" 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 = whenAtLeast "4.3" yes; - IRDA_ULTRA = whenOlder "4.17" yes; # Ultra (connectionless) protocol + 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 @@ -650,23 +635,23 @@ let MEDIA_ATTACH = yes; MEGARAID_NEWGEN = yes; - MLX4_EN_VXLAN = whenBetween "3.15" "4.8" 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 = whenAtLeast "3.11" yes; + 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 (whenAtLeast "3.6" yes); # Enable IR devices + RC_DEVICES = option yes; # Enable IR devices RT2800USB_RT53XX = yes; - RT2800USB_RT55XX = whenAtLeast "3.10" yes; + RT2800USB_RT55XX = yes; SCHED_AUTOGROUP = yes; CFS_BANDWIDTH = yes; @@ -679,22 +664,22 @@ let HWMON = yes; THERMAL_HWMON = yes; # Hardware monitoring support - UEVENT_HELPER = whenAtLeast "3.15" no; + UEVENT_HELPER = no; - USERFAULTFD = whenAtLeast "4.3" yes; + USERFAULTFD = yes; X86_CHECK_BIOS_CORRUPTION = yes; X86_MCE = yes; # Our initrd init uses shebang scripts, so can't be modular. - BINFMT_SCRIPT = whenAtLeast "3.10" yes; + 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 = whenAtLeast "3.12" yes; # PCI hotplug using ACPI - HOTPLUG_PCI_PCIE = whenAtLeast "3.12" yes; # PCI-Expresscard hotplug support + 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.* From e4fe7b31beb04937b08486a89e88c30e265f7211 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Mon, 25 Jun 2018 09:12:17 +0900 Subject: [PATCH 078/116] linux: fix features system --- .../os-specific/linux/kernel/common-config.nix | 18 +++++++----------- pkgs/os-specific/linux/kernel/generic.nix | 2 ++ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 3bebaab37d3..a1ea3e12685 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -21,7 +21,7 @@ # legacy extraConfig as string , extraConfig ? "" -, features ? {} +, features ? { grsecurity = false; xen_dom0 = false; } }: assert (mkValueOverride == null) || (builtins.isFunction mkValueOverride); @@ -31,12 +31,8 @@ with stdenv.lib; with import ../../../../lib/kernel.nix { inherit (stdenv) lib; inherit version; }; let - # temporary hack - grsecurity = false; - xen_dom0 = false; - - # TODO configuration items have to be part of subattrs. Remove this constraint + # configuration items have to be part of a subattrs flattenKConf = nested: mapAttrs (_: head) (zipAttrs (attrValues nested)); options = { @@ -50,7 +46,7 @@ let DEBUG_NX_TEST = whenOlder "4.11" no; CPU_NOTIFIER_ERROR_INJECT = whenOlder "4.4" (option no); DEBUG_STACK_USAGE = no; - DEBUG_STACKOVERFLOW = when (!grsecurity) no; + DEBUG_STACKOVERFLOW = when (!features.grsecurity) no; RCU_TORTURE_TEST = no; SCHEDSTATS = no; DETECT_HUNG_TASK = yes; @@ -333,7 +329,7 @@ let SECURITY_SELINUX_BOOTPARAM_VALUE = "0"; # Disable SELinux by default # Prevent processes from ptracing non-children processes SECURITY_YAMA = option yes; - DEVKMEM = when (!grsecurity) no; # Disable /dev/kmem + DEVKMEM = when (!features.grsecurity) no; # Disable /dev/kmem USER_NS = yes; # Support for user namespaces @@ -408,7 +404,7 @@ let virtualisation = { PARAVIRT = option yes; - HYPERVISOR_GUEST = when (!grsecurity) yes; + HYPERVISOR_GUEST = when (!features.grsecurity) yes; PARAVIRT_SPINLOCKS = option yes; KVM_APIC_ARCHITECTURE = whenOlder "4.8" yes; @@ -416,7 +412,7 @@ let 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 (!grsecurity) yes; + KVM_GUEST = when (!features.grsecurity) yes; KVM_MMIO = yes; KVM_VFIO = yes; KSM = yes; @@ -432,7 +428,7 @@ let # XXX: why isn't this in the xen-dom0 conditional section below? XEN_DOM0 = option yes; - } // optionalAttrs xen_dom0 { + } // optionalAttrs features.xen_dom0 { PCI_XEN = option yes; HVC_XEN = option yes; HVC_XEN_FRONTEND = option yes; diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index fde6efd797d..684955b9067 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -61,6 +61,8 @@ let efiBootStub = true; needsCifsUtils = true; netfilterRPFilter = true; + grsecurity = false; + xen_dom0 = false; } // features) kernelPatches; intermediateNixConfig = import ./common-config.nix { From fc816e5609ba660bb56b589db2417fa247ce60d2 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sat, 30 Jun 2018 14:01:22 +0300 Subject: [PATCH 079/116] kernel config: Fix recent i686 builds --- pkgs/os-specific/linux/kernel/common-config.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index a1ea3e12685..4b0fa9d84ea 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -192,6 +192,8 @@ let 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; }; From ab340f782913195bdcabcde257a7ecde0b598d1b Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sat, 30 Jun 2018 14:05:29 +0300 Subject: [PATCH 080/116] kernel config: Minor text fixes --- .../linux/kernel/common-config.nix | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 4b0fa9d84ea..100ac73d881 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -210,12 +210,11 @@ let PSS_MIXER = whenOlder "4.12" 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. usb-serial = { USB_SERIAL_GENERIC = yes; # USB Generic Serial Driver } // optionalAttrs (versionOlder version "4.16") { - # include firmware for various USB serial devices + # 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; @@ -315,10 +314,10 @@ let # Native Language Support modules, needed by some filesystems NLS = yes; - NLS_DEFAULT = "utf8"; + 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 + NLS_CODEPAGE_437 = module; # VFAT default for the codepage= mount option + NLS_ISO8859_1 = module; # VFAT default for the iocharset= mount option DEVTMPFS = yes; }; @@ -494,13 +493,12 @@ let IRQ_REMAP = yes; }; - - # For older kernels, painstakingly disable each symbol. + # Disable various self-test modules that have no use in a production system tests = { - # 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 = 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; @@ -554,7 +552,6 @@ let DEBUG_MEMORY_INIT = option yes; }); - misc = { MODULE_COMPRESS = yes; MODULE_COMPRESS_XZ = yes; @@ -568,7 +565,6 @@ let 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 @@ -583,7 +579,6 @@ let SPI = yes; # needed for many devices SPI_MASTER = yes; - "8139TOO_8129" = yes; "8139TOO_PIO" = no; # PIO is slower @@ -644,7 +639,6 @@ let # 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 @@ -686,4 +680,3 @@ let }; }; in (generateNixKConf ((flattenKConf options) // structuredExtraConfig) mkValueOverride) + extraConfig - From a276404d44bf6b5c11dc17621bfedfa7d6e8ab9c Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sat, 30 Jun 2018 13:23:37 +0000 Subject: [PATCH 081/116] eolie: 0.9.16 -> 0.9.35 (#42813) --- ...python-path-rather-than-replacing-it.patch | 35 ---------- .../networking/browsers/eolie/default.nix | 70 ++++++++----------- 2 files changed, 28 insertions(+), 77 deletions(-) delete mode 100644 pkgs/applications/networking/browsers/eolie/0001-Extend-the-python-path-rather-than-replacing-it.patch 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; }; } From d74419ee3ef7bbc077028f89ac1aff727a37553f Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Sat, 30 Jun 2018 15:49:44 +0200 Subject: [PATCH 082/116] nixos/fwupd: Fix meta --- nixos/modules/services/hardware/fwupd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; }; } From 5974bb7c9c6a6fd4968516ebc6efa5370323fc8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 30 Jun 2018 15:49:36 +0100 Subject: [PATCH 083/116] haskell: Move version dependent overrides from to configuration-common --- pkgs/development/haskell-modules/configuration-common.nix | 5 +++++ pkgs/development/haskell-modules/configuration-nix.nix | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 6cc6945bae4..f4f91e82933 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1068,6 +1068,11 @@ self: super: { # 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-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; - }; } From 398dad270a0f23fd6e96c26b5f13805e16fbb66f Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Sat, 30 Jun 2018 17:05:56 +0200 Subject: [PATCH 084/116] sage, arb: update sage dependencies arb and pynac Removes the version pinning for arb and pynac by backporting the upstream (sage) package upgrades. This necessitates a new patch for arb, which was however already proposed and accepted upstream. --- .../science/math/sage/default.nix | 22 +- .../math/sage/patches/arb-2.13.0.patch | 427 ++++++++++++++++ .../math/sage/patches/pynac-0.7.22.patch | 479 ++++++++++++++++++ .../science/math/sage/sage-src.nix | 5 + pkgs/development/libraries/arb/default.nix | 10 +- 5 files changed, 921 insertions(+), 22 deletions(-) create mode 100644 pkgs/applications/science/math/sage/patches/arb-2.13.0.patch create mode 100644 pkgs/applications/science/math/sage/patches/pynac-0.7.22.patch diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index 4e84a18f4f2..9ad112213ff 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -39,18 +39,6 @@ let 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; }; - # tracking: https://trac.sagemath.org/ticket/24927 - arb = nixpkgs.arb.overrideAttrs (attrs: rec { - name = "arb-${version}"; - version = "2.12.0"; - doCheck = false; # https://github.com/fredrik-johansson/arb/issues/194 - src = fetchFromGitHub { - owner = "fredrik-johansson"; - repo = attrs.pname; - rev = version; - sha256 = "18bwxlcbqb70cj7l9x6w1h4yghrqfhmbhdby373q8vdrdfx58niq"; - }; - }); }; sagenb = self.callPackage ./sagenb.nix { @@ -143,15 +131,7 @@ let # *not* to confuse with the python package "pynac" # https://trac.sagemath.org/ticket/24838 (depends on arb update) - pynac = (nixpkgs.pynac.override { inherit singular; }).overrideAttrs (oldAttrs: rec { - name = "pynac-0.7.16"; - src = fetchFromGitHub { - owner = "pynac"; - repo = "pynac"; - rev = name; - sha256 = "106an189sg4rpgzfrmy3699271vg4ddazw9wvh51wx7qnm1v86ik"; - }; - }); + pynac = nixpkgs.pynac.override { inherit singular; }; eclib = nixpkgs.eclib.override { inherit pari; }; 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/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/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 44b81794467..448cdd21605 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -169,6 +169,11 @@ stdenv.mkDerivation rec { 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; 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''; From 0c7c1660f78e4f6befe0a210e1a9efae783a1733 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sat, 30 Jun 2018 18:31:38 +0200 Subject: [PATCH 085/116] nixos/tests/letsencrypt: Don't substitute certs If one of the certificates of the chain gets substituted from a binary cache and the rest is generated locally it might turn out that we get invalid certificates, which in turn cause tests using this module to fail. So let's set allowSubstitutes to false for all derivations that are involved with certificate/key generation. Signed-off-by: aszlig --- nixos/tests/common/letsencrypt.nix | 2 ++ 1 file changed, 2 insertions(+) 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 From 20dd009f6a089d90aa87c7a1d6415572a705bcd8 Mon Sep 17 00:00:00 2001 From: Jaakko Luttinen Date: Sat, 30 Jun 2018 19:43:28 +0300 Subject: [PATCH 086/116] nano-wallet: 12.1 -> 14.2 (#42803) --- pkgs/applications/altcoins/nano-wallet/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; }; From 66e18c3aab2219617de37002b5d9112ed7e0f881 Mon Sep 17 00:00:00 2001 From: Meghea Iulian Date: Sat, 30 Jun 2018 19:46:00 +0300 Subject: [PATCH 087/116] distrobuilder: 2018_04_28 -> 2018_06_29 (#42810) --- .../virtualization/distrobuilder/default.nix | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) 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; { From 81c2f270e535fbc2b7dc83c555b0d5625af004f4 Mon Sep 17 00:00:00 2001 From: Tad Fisher Date: Sat, 30 Jun 2018 10:03:17 -0700 Subject: [PATCH 088/116] zoom-us: 2.0.123200.0405 -> 2.2.128100.0627 (#42742) --- .../instant-messengers/zoom-us/default.nix | 108 +++++++----------- .../instant-messengers/zoom-us/update.sh | 7 ++ pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 48 insertions(+), 69 deletions(-) create mode 100755 pkgs/applications/networking/instant-messengers/zoom-us/update.sh 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 < Date: Sat, 30 Jun 2018 17:05:28 +0000 Subject: [PATCH 089/116] antibody: 3.5.0 -> 3.5.1 (#42818) --- pkgs/shells/zsh/antibody/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; From 9fa8a9af364e8baa70f7db430bf6b58905c74b82 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 30 Jun 2018 12:08:04 -0500 Subject: [PATCH 090/116] pmd: 6.4.0 -> 6.5.0 (#42685) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/pmd/versions. These checks were done: - built on NixOS - Warning: no invocation of /nix/store/5h7bbvnfl6iqzpj4pqzv96x6xz349gch-pmd-6.5.0/bin/bgastviewer.bat had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/5h7bbvnfl6iqzpj4pqzv96x6xz349gch-pmd-6.5.0/bin/cpdgui.bat had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/5h7bbvnfl6iqzpj4pqzv96x6xz349gch-pmd-6.5.0/bin/designer.bat had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/5h7bbvnfl6iqzpj4pqzv96x6xz349gch-pmd-6.5.0/bin/pmd.bat had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/5h7bbvnfl6iqzpj4pqzv96x6xz349gch-pmd-6.5.0/bin/cpd.bat had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/5h7bbvnfl6iqzpj4pqzv96x6xz349gch-pmd-6.5.0/bin/run.sh had a zero exit code or showed the expected version - 0 of 6 passed binary check by having a zero exit code. - 0 of 6 passed binary check by having the new version present in output. - found 6.5.0 with grep in /nix/store/5h7bbvnfl6iqzpj4pqzv96x6xz349gch-pmd-6.5.0 - directory tree listing: https://gist.github.com/1ef84c65860a67391267c809fcb5cc80 - du listing: https://gist.github.com/309d9939074e63a6c6dcaf04f94312e9 --- pkgs/development/tools/analysis/pmd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 = '' From 97ec194ab5f46bef6356c7198530bf1f314a11c8 Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Sat, 30 Jun 2018 13:18:31 -0400 Subject: [PATCH 091/116] thunderbolt: 0.9.2 -> 0.9.3 (#42743) * thunderbolt: 0.9.2 -> 0.9.3 Fixed up `cmakeFlags` so `tbtacl`, `tbtacl-write`, `tbtxdomain`, and the udev rules now show up in the derivation output. Previously there was only `tbtadm`. * Add a note about placeholder expressions --- .../os-specific/linux/thunderbolt/default.nix | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) 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"; From 99d8edbc7dc877ddf5f6088e593b8c2e9bf33c9e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 30 Jun 2018 13:49:42 -0500 Subject: [PATCH 092/116] mpage: 2.5.6 -> 2.5.7 (#42689) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mpage/versions. These checks were done: - built on NixOS - /nix/store/27fvqzw0vgbjadl2ngwggsz2gs3m4a15-mpage-2.5.7/bin/mpage passed the binary check. - 1 of 1 passed binary check by having a zero exit code. - 0 of 1 passed binary check by having the new version present in output. - found 2.5.7 with grep in /nix/store/27fvqzw0vgbjadl2ngwggsz2gs3m4a15-mpage-2.5.7 - directory tree listing: https://gist.github.com/7deed27eaf23f2578d5dfcb1005b1a0c - du listing: https://gist.github.com/e1cafa83fbe346375875854bf40a6057 --- pkgs/tools/text/mpage/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 = '' From 70ba6957773d1a6650610d4167edd200c2382879 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Sat, 30 Jun 2018 22:30:30 +0200 Subject: [PATCH 093/116] sage: replace JUPYTER_PATH patch by upstream patch The patch was replaced by a better upstream patch that doesn't mvoe the jupyter dir to the user's home. --- .../math/sage/patches/test-in-tmpdir.patch | 31 +++++++++++++++++++ .../science/math/sage/sage-src.nix | 9 ++++-- 2 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch 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/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 448cdd21605..244a6ea7267 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -27,11 +27,14 @@ stdenv.mkDerivation rec { }) # https://trac.sagemath.org/ticket/25328 + # https://trac.sagemath.org/ticket/25546 + # https://trac.sagemath.org/ticket/25722 (fetchpatch { - name = "respect-jupyter-path.patch"; - url = "https://git.sagemath.org/sage.git/patch?id2=8bdc326ba57d1bb9664f63cf165a9e9920cc1afc&id=029123097d79f2c67bca2d725c470ef667a88ca2"; - sha256 = "0qw9p541ip0kn2gfvn4i05a06p50f3q46847gqfjjgzxhn62znfw"; + 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 { From 6e54e9253a28d1fe5c507b76ce45965c31ecab70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 1 Jul 2018 10:58:19 +0100 Subject: [PATCH 094/116] iwd: set statedir to /var/lib/iwd --- nixos/modules/services/networking/iwd.nix | 4 ++++ pkgs/os-specific/linux/iwd/default.nix | 1 + 2 files changed, 5 insertions(+) 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/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix index 518a406257f..de9787a0fa7 100644 --- a/pkgs/os-specific/linux/iwd/default.nix +++ b/pkgs/os-specific/linux/iwd/default.nix @@ -35,6 +35,7 @@ in stdenv.mkDerivation rec { configureFlags = [ "--with-dbus-datadir=$(out)/etc/" + "--localstatedir=/var" "--disable-systemd-service" ]; From 693a4ce20973a0a0ff6a15b1f80240ff569ad72a Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 1 Jul 2018 11:57:58 +0200 Subject: [PATCH 095/116] goldendict: 1.5.0.rc2 -> 2018-06-13 fixes build --- pkgs/applications/misc/goldendict/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) 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 ]; }; } From ace7b252f2542f7c4537005859a7979a752335bc Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sun, 1 Jul 2018 13:11:56 +0300 Subject: [PATCH 096/116] libsidplayfp: 1.8.6 -> 1.8.7 --- pkgs/development/libraries/libsidplayfp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ] From d1b9bf92237abdcfa449075552510b5c0b4b53d9 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sun, 1 Jul 2018 13:36:57 +0300 Subject: [PATCH 097/116] sidplayfp: Init at 1.4.3 --- pkgs/applications/audio/sidplayfp/default.nix | 22 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/applications/audio/sidplayfp/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 54978fd3786..6b1219690d7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17424,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 { }; From c8ce98d9ff953fdcb8120ae3496391d126d410d0 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sun, 1 Jul 2018 13:31:30 +0200 Subject: [PATCH 098/116] icmake: 9.02.07 -> 9.02.08 Project moved from github to gitlab --- .../tools/build-managers/icmake/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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; From fbb047e8910af28185c872689ca4dd764c7f2584 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sun, 1 Jul 2018 13:32:49 +0200 Subject: [PATCH 099/116] yodl: update homepage --- pkgs/development/tools/misc/yodl/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/misc/yodl/default.nix b/pkgs/development/tools/misc/yodl/default.nix index 353066e3aae..76130f255fd 100644 --- a/pkgs/development/tools/misc/yodl/default.nix +++ b/pkgs/development/tools/misc/yodl/default.nix @@ -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; From 92a6feca0ad974be0b3915a7197849651f17d870 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sun, 1 Jul 2018 13:43:34 +0200 Subject: [PATCH 100/116] fswatch: 1.11.3 -> 1.12.0 --- pkgs/development/tools/misc/fswatch/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ]; From 14a9ca27e69e33ac8ffb708de08883f8079f954a Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sun, 1 Jul 2018 16:38:49 +0200 Subject: [PATCH 101/116] checkstyle: 8.10.1 -> 8.11 fetch artifact from github as it is no longer available on sourceforge --- pkgs/development/tools/analysis/checkstyle/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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; { From 621072a4769a5bece2141c8285951e9127f46f1c Mon Sep 17 00:00:00 2001 From: sander Date: Sun, 1 Jul 2018 16:39:51 +0200 Subject: [PATCH 102/116] anonscm.debian.org_gcc6.patch-not-found - replace anonscm.debian.org with sources.debian.org --- pkgs/development/interpreters/spidermonkey/1.8.5.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 [ From c8ed322b04bd1777c5f5ae6d06820983d6859b49 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sun, 1 Jul 2018 18:46:36 +0200 Subject: [PATCH 103/116] openblas: 0.3.0 -> 0.3.1 Since the exposure of the version attribute done in 892a0e8ff40e8282fb09ee6c8a132979c5539191, the OpenBLAS build fails for i686-linux: https://nix-cache.s3.amazonaws.com/log/wi79zyfmwdpwx7bm29dzqh4vglx3x550-openblas-0.3.0.drv According to @edolstra the build slaves of Hydra updated to a new kernel, which seems to be the real cause for this issue. The latter is already tracked upstream[1] and a fix[2] is already included in version 0.3.1. This very update cases 4795 rebuilds across all architectures we support, so it's still not significant enough to go through staging. In addition the number of rebuilds doesn't include the amount of builds that are currently failing. My original idea was to add a patch just for fixing this on i686-linux and do the real update via staging, but the amount of rebuilds still is in an acceptable range IMO and @edolstra agreed on that on IRC. [1]: https://github.com/xianyi/OpenBLAS/issues/1575 [2]: https://github.com/xianyi/OpenBLAS/pull/1583 Signed-off-by: aszlig Cc: @ttuegel --- pkgs/development/libraries/science/math/openblas/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index 91162ba5465..fc8f11f2f11 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -79,10 +79,10 @@ let in stdenv.mkDerivation rec { name = "openblas-${version}"; - version = "0.3.0"; + 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"; }; From 772eef91686974b7710081a9a77e5c0e287c25e8 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sun, 1 Jul 2018 19:13:57 +0200 Subject: [PATCH 104/116] boost: Disable Python / Numpy support by default We can't have a C++ library pulling in Numpy and its gazillion dependencies by default. --- pkgs/development/libraries/boost/generic.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From c85f23a82a6ae9a5b38a789897e455b11983e528 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 1 Jul 2018 18:00:52 +0200 Subject: [PATCH 105/116] ghc: add 8.6.1-alpha1 pre-release --- pkgs/development/compilers/ghc/8.6.1.nix | 210 +++++++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 6 + 2 files changed, 216 insertions(+) create mode 100644 pkgs/development/compilers/ghc/8.6.1.nix 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/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; From 179f9c4fd12865a2e5089ce18bd0effd1c048f3a Mon Sep 17 00:00:00 2001 From: aszlig Date: Sun, 1 Jul 2018 19:32:50 +0200 Subject: [PATCH 106/116] ledger: Use Boost Python support if applicable Since 772eef91686974b7710081a9a77e5c0e287c25e8 Boost no longer has Python support enabled by default, so depending on whether Ledger has Python support built in we also use either Boost with Python support or without. Tested building with and without Python support and both builds now succeed. Signed-off-by: aszlig Cc: @the-kenny, @jwiegley --- pkgs/applications/office/ledger/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 ]; From b916ed31f2d71ccb8a89d2fce21a96b8e4b60689 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sun, 1 Jul 2018 19:38:06 +0200 Subject: [PATCH 107/116] twister: Use boost with Python support Since 772eef91686974b7710081a9a77e5c0e287c25e8, Boost by default doesn't support Python anymore, so we need to override it with Python support. Signed-off-by: aszlig --- pkgs/applications/networking/p2p/twister/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix index d30527ca609..cce44521a62 100644 --- a/pkgs/applications/networking/p2p/twister/default.nix +++ b/pkgs/applications/networking/p2p/twister/default.nix @@ -13,6 +13,8 @@ let }; }; + boostPython = boost.override { enablePython = true; }; + in stdenv.mkDerivation rec { name = "twister-${version}"; version = "0.9.34"; @@ -29,13 +31,13 @@ in stdenv.mkDerivation rec { "--disable-deprecated-functions" "--enable-tests" "--enable-python-binding" - "--with-boost-libdir=${boost.out}/lib" + "--with-boost-libdir=${boostPython.out}/lib" ]; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ autoconf automake libtool python2 - boost db openssl geoip miniupnpc libiconv + boostPython db openssl geoip miniupnpc libiconv ]; patches = stdenv.lib.singleton (fetchpatch { From 81c9f7125f4d5fe83f99e4c99a066f72993dacfc Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 1 Jul 2018 12:47:24 -0500 Subject: [PATCH 108/116] curl: fix configure flag for random device. Fixes #42778. Thanks for reporting, @dingxiangfei2009! --- pkgs/tools/networking/curl/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 3d8cdd2653b..ab293a869d0 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -96,7 +96,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" ]; }; From f081ccccd17f93871bcde47b0c0ed11347bb8335 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sun, 1 Jul 2018 19:48:26 +0200 Subject: [PATCH 109/116] libtorrent-rasterbar: Use Boost supporting Python Since 772eef91686974b7710081a9a77e5c0e287c25e8, the Boost package doesn't support Python by default anymore, so we need to override it with Python support because --enable-python-binding is enabled by default in libtorrent-rasterbar. The build of the package now succeeds again on my x86_64-linux machine. Signed-off-by: aszlig Cc: @phreedom --- .../libraries/libtorrent-rasterbar/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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" ]; From cb2862e214dc9245a61bc4d3242f895ac969ffa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 1 Jul 2018 20:57:13 +0100 Subject: [PATCH 110/116] python37: fix openssl detection Before python37 was build without ssl support. Tested with `python -c 'import ssl'` --- pkgs/development/interpreters/python/cpython/3.7/default.nix | 1 + 1 file changed, 1 insertion(+) 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 = '' From 48300a5b6de55640bf9d64ade3bdf69e79c9a01b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Jun 2018 09:54:50 +0200 Subject: [PATCH 111/116] LTS Haskell 11.15 --- .../configuration-hackage2nix.yaml | 59 ++++++++++--------- 1 file changed, 30 insertions(+), 29 deletions(-) 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 From 1ee0f4378b8595da2299eb853eaeca45f1516c94 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Jun 2018 02:31:01 +0200 Subject: [PATCH 112/116] hackage-packages.nix: automatic Haskell package set update This update was generated by hackage2nix v2.9.2-30-g7c77e7e from Hackage revision https://github.com/commercialhaskell/all-cabal-hashes/commit/e8fa4931bce8e124f51a2345a9360937311c5ed9. --- .../haskell-modules/hackage-packages.nix | 1252 +++++++++-------- 1 file changed, 646 insertions(+), 606 deletions(-) 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; From 4f28eac9247ac9b9a6eec03bc6e34dade8bb64d2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Jun 2018 10:01:14 +0200 Subject: [PATCH 113/116] haskell-hoopl: provide an un-versioned attribute for ghc 8.4.x This used to be a core library in previous versions of GHC, but now it no longer is. --- pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix | 1 + 1 file changed, 1 insertion(+) 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..2a93b08fef1 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; From 37c20564b00d90eaea8cac2e128965c161039bb0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Jun 2018 10:00:30 +0200 Subject: [PATCH 114/116] haskell-hspec: update overrides for ghc 8.4.x --- .../development/haskell-modules/configuration-ghc-8.4.x.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 2a93b08fef1..736be056e0e 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix @@ -397,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; From be1461fc0ab29c45c69e7b2c2097c887750e4fe0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 1 Jul 2018 20:14:42 +0200 Subject: [PATCH 115/116] haskell-dhall-json: update override --- pkgs/development/haskell-modules/configuration-common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index f4f91e82933..966334f1e45 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1063,7 +1063,7 @@ 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; From a22ba5f05b3fb1acd2ad870262a3583aee471c73 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Mon, 2 Jul 2018 13:38:29 +0800 Subject: [PATCH 116/116] krename: 20170610 -> 5.0.0 --- pkgs/applications/misc/krename/default.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) 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; {