From d18abcb3f61eb6e95558f9fc73b1d06ef52e2029 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 7 Jan 2019 23:38:07 -0600 Subject: [PATCH 01/46] readline80: init https://lists.gnu.org/archive/html/info-gnu/2019-01/msg00011.html --- pkgs/development/libraries/readline/8.0.nix | 66 +++++++++++++++++++ .../readline/readline-8.0-patches.nix | 4 ++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 72 insertions(+) create mode 100644 pkgs/development/libraries/readline/8.0.nix create mode 100644 pkgs/development/libraries/readline/readline-8.0-patches.nix diff --git a/pkgs/development/libraries/readline/8.0.nix b/pkgs/development/libraries/readline/8.0.nix new file mode 100644 index 000000000000..8eb2fb8969b9 --- /dev/null +++ b/pkgs/development/libraries/readline/8.0.nix @@ -0,0 +1,66 @@ +{ fetchurl, stdenv, ncurses +}: + +stdenv.mkDerivation rec { + name = "readline-${version}"; + version = "8.0p${toString (builtins.length upstreamPatches)}"; + + src = fetchurl { + url = "mirror://gnu/readline/readline-${meta.branch}.tar.gz"; + sha256 = "0qg4924hf4hg0r0wbx2chswsr08734536fh5iagkd3a7f4czafg3"; + }; + + outputs = [ "out" "dev" "man" "doc" "info" ]; + + propagatedBuildInputs = [ncurses]; + + patchFlags = "-p0"; + + upstreamPatches = + (let + patch = nr: sha256: + fetchurl { + url = "mirror://gnu/readline/readline-${meta.branch}-patches/readline80-${nr}"; + inherit sha256; + }; + in + import ./readline-8.0-patches.nix patch); + + patches = + [ ./link-against-ncurses.patch + ./no-arch_only-6.3.patch + ] + ++ upstreamPatches; + + # Don't run the native `strip' when cross-compiling. + dontStrip = stdenv.hostPlatform != stdenv.buildPlatform; + bash_cv_func_sigsetjmp = if stdenv.isCygwin then "missing" else null; + + meta = with stdenv.lib; { + description = "Library for interactive line editing"; + + longDescription = '' + The GNU Readline library provides a set of functions for use by + applications that allow users to edit command lines as they are + typed in. Both Emacs and vi editing modes are available. The + Readline library includes additional functions to maintain a + list of previously-entered command lines, to recall and perhaps + reedit those lines, and perform csh-like history expansion on + previous commands. + + The history facilities are also placed into a separate library, + the History library, as part of the build process. The History + library may be used without Readline in applications which + desire its capabilities. + ''; + + homepage = https://savannah.gnu.org/projects/readline/; + + license = licenses.gpl3Plus; + + maintainers = [ maintainers.vanschelven ]; + + platforms = platforms.unix; + branch = "8.0"; + }; +} diff --git a/pkgs/development/libraries/readline/readline-8.0-patches.nix b/pkgs/development/libraries/readline/readline-8.0-patches.nix new file mode 100644 index 000000000000..b8019fb33502 --- /dev/null +++ b/pkgs/development/libraries/readline/readline-8.0-patches.nix @@ -0,0 +1,4 @@ +# Automatically generated by `update-patch-set.sh'; do not edit. + +patch: [ +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7961a049a9a0..4e6c18356880 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12364,6 +12364,8 @@ in readline70 = callPackage ../development/libraries/readline/7.0.nix { }; + readline80 = callPackage ../development/libraries/readline/8.0.nix { }; + readosm = callPackage ../development/libraries/readosm { }; lambdabot = callPackage ../development/tools/haskell/lambdabot { From 86a1a3950b7cf714357d6a9c99566a2ca1b5b6b4 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 7 Jan 2019 23:54:31 -0600 Subject: [PATCH 02/46] bash5: init bash 5.0 https://lists.gnu.org/archive/html/info-gnu/2019-01/msg00010.html --- pkgs/shells/bash/5.0.nix | 135 ++++++++++++++++++++++++++ pkgs/shells/bash/bash-5.0-patches.nix | 4 + pkgs/top-level/all-packages.nix | 5 + 3 files changed, 144 insertions(+) create mode 100644 pkgs/shells/bash/5.0.nix create mode 100644 pkgs/shells/bash/bash-5.0-patches.nix diff --git a/pkgs/shells/bash/5.0.nix b/pkgs/shells/bash/5.0.nix new file mode 100644 index 000000000000..e747511be59e --- /dev/null +++ b/pkgs/shells/bash/5.0.nix @@ -0,0 +1,135 @@ +{ stdenv, buildPackages +, fetchurl, binutils ? null, bison, autoconf, utillinux + +# patch for cygwin requires readline support +, interactive ? stdenv.isCygwin, readline80 ? null +, withDocs ? false, texinfo ? null +}: + +with stdenv.lib; + +assert interactive -> readline80 != null; +assert withDocs -> texinfo != null; +assert stdenv.hostPlatform.isDarwin -> binutils != null; + +let + upstreamPatches = import ./bash-5.0-patches.nix (nr: sha256: fetchurl { + url = "mirror://gnu/bash/bash-5.0-patches/bash50-${nr}"; + inherit sha256; + }); +in + +stdenv.mkDerivation rec { + name = "bash-${optionalString interactive "interactive-"}${version}-p${toString (builtins.length upstreamPatches)}"; + version = "5.0"; + + src = fetchurl { + url = "mirror://gnu/bash/bash-${version}.tar.gz"; + sha256 = "0kgvfwqdcd90waczf4gx39xnrxzijhjrzyzv7s8v4w31qqm0za5l"; + }; + + hardeningDisable = [ "format" ]; + + outputs = [ "out" "dev" "man" "doc" "info" ]; + + NIX_CFLAGS_COMPILE = '' + -DSYS_BASHRC="/etc/bashrc" + -DSYS_BASH_LOGOUT="/etc/bash_logout" + -DDEFAULT_PATH_VALUE="/no-such-path" + -DSTANDARD_UTILS_PATH="/no-such-path" + -DNON_INTERACTIVE_LOGIN_SHELLS + -DSSH_SOURCE_BASHRC + ''; + + patchFlags = "-p0"; + + patches = upstreamPatches + ++ optional stdenv.hostPlatform.isCygwin ./cygwin-bash-4.4.11-2.src.patch + # https://lists.gnu.org/archive/html/bug-bash/2016-10/msg00006.html + ++ optional stdenv.hostPlatform.isMusl (fetchurl { + url = "https://lists.gnu.org/archive/html/bug-bash/2016-10/patchJxugOXrY2y.patch"; + sha256 = "1m4v9imidb1cc1h91f2na0b8y9kc5c5fgmpvy9apcyv2kbdcghg1"; + }); + + configureFlags = [ + (if interactive then "--with-installed-readline" else "--disable-readline") + ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "bash_cv_job_control_missing=nomissing" + "bash_cv_sys_named_pipes=nomissing" + "bash_cv_getcwd_malloc=yes" + ] ++ optionals stdenv.hostPlatform.isCygwin [ + "--without-libintl-prefix" + "--without-libiconv-prefix" + "--with-installed-readline" + "bash_cv_dev_stdin=present" + "bash_cv_dev_fd=standard" + "bash_cv_termcap_lib=libncurses" + ] ++ optionals (stdenv.hostPlatform.libc == "musl") [ + "--without-bash-malloc" + "--disable-nls" + ]; + + # Note: Bison is needed because the patches above modify parse.y. + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ bison ] + ++ optional withDocs texinfo + ++ optional stdenv.hostPlatform.isDarwin binutils + ++ optional (stdenv.hostPlatform.libc == "musl") autoconf; + + buildInputs = optional interactive readline80; + + # Bash randomly fails to build because of a recursive invocation to + # build `version.h'. + enableParallelBuilding = false; + + makeFlags = optional stdenv.hostPlatform.isCygwin [ + "LOCAL_LDFLAGS=-Wl,--export-all,--out-implib,libbash.dll.a" + "SHOBJ_LIBS=-lbash" + ]; + + checkInputs = [ utillinux ]; + doCheck = false; # dependency cycle, needs to be interactive + + postInstall = '' + ln -s bash "$out/bin/sh" + rm -f $out/lib/bash/Makefile.inc + ''; + + postFixup = if interactive + then '' + substituteInPlace "$out/bin/bashbug" \ + --replace '${stdenv.shell}' "$out/bin/bash" + '' + # most space is taken by locale data + else '' + rm -rf "$out/share" "$out/bin/bashbug" + ''; + + meta = with stdenv.lib; { + homepage = https://www.gnu.org/software/bash/; + description = + "GNU Bourne-Again Shell, the de facto standard shell on Linux" + + (if interactive then " (for interactive use)" else ""); + + longDescription = '' + Bash is the shell, or command language interpreter, that will + appear in the GNU operating system. Bash is an sh-compatible + shell that incorporates useful features from the Korn shell + (ksh) and C shell (csh). It is intended to conform to the IEEE + POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers + functional improvements over sh for both programming and + interactive use. In addition, most sh scripts can be run by + Bash without modification. + ''; + + license = licenses.gpl3Plus; + + platforms = platforms.all; + + maintainers = [ maintainers.peti ]; + }; + + passthru = { + shellPath = "/bin/bash"; + }; +} diff --git a/pkgs/shells/bash/bash-5.0-patches.nix b/pkgs/shells/bash/bash-5.0-patches.nix new file mode 100644 index 000000000000..b8019fb33502 --- /dev/null +++ b/pkgs/shells/bash/bash-5.0-patches.nix @@ -0,0 +1,4 @@ +# Automatically generated by `update-patch-set.sh'; do not edit. + +patch: [ +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4e6c18356880..4c0736572db3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6499,6 +6499,11 @@ in any-nix-shell = callPackage ../shells/any-nix-shell { }; bash = lowPrio (callPackage ../shells/bash/4.4.nix { }); + bash5 = lowPrio (callPackage ../shells/bash/5.0.nix { }); + bash5Interactive = lowPrio (callPackage ../shells/bash/5.0.nix { + interactive = true; + withDocs = true; + }); # WARNING: this attribute is used by nix-shell so it shouldn't be removed/renamed bashInteractive = callPackage ../shells/bash/4.4.nix { From 844bd5374057404ecea6cfbf3b92b89507240432 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 8 Jan 2019 00:16:45 -0600 Subject: [PATCH 03/46] bash5: enable parallel building optimistically Works for me and they've had quite some time to fix it ;). --- pkgs/shells/bash/5.0.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/shells/bash/5.0.nix b/pkgs/shells/bash/5.0.nix index e747511be59e..e36259c24967 100644 --- a/pkgs/shells/bash/5.0.nix +++ b/pkgs/shells/bash/5.0.nix @@ -78,9 +78,7 @@ stdenv.mkDerivation rec { buildInputs = optional interactive readline80; - # Bash randomly fails to build because of a recursive invocation to - # build `version.h'. - enableParallelBuilding = false; + enableParallelBuilding = true; makeFlags = optional stdenv.hostPlatform.isCygwin [ "LOCAL_LDFLAGS=-Wl,--export-all,--out-implib,libbash.dll.a" From fa00f7fb705449f51e44776a1e79597caa1e799b Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 8 Jan 2019 00:18:48 -0600 Subject: [PATCH 04/46] bash5: remove patch w/musl Leave the configureFlags, esp disabling bash malloc. --- pkgs/shells/bash/5.0.nix | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/pkgs/shells/bash/5.0.nix b/pkgs/shells/bash/5.0.nix index e36259c24967..7aee7745ec78 100644 --- a/pkgs/shells/bash/5.0.nix +++ b/pkgs/shells/bash/5.0.nix @@ -1,5 +1,5 @@ { stdenv, buildPackages -, fetchurl, binutils ? null, bison, autoconf, utillinux +, fetchurl, binutils ? null, bison, utillinux # patch for cygwin requires readline support , interactive ? stdenv.isCygwin, readline80 ? null @@ -44,12 +44,7 @@ stdenv.mkDerivation rec { patchFlags = "-p0"; patches = upstreamPatches - ++ optional stdenv.hostPlatform.isCygwin ./cygwin-bash-4.4.11-2.src.patch - # https://lists.gnu.org/archive/html/bug-bash/2016-10/msg00006.html - ++ optional stdenv.hostPlatform.isMusl (fetchurl { - url = "https://lists.gnu.org/archive/html/bug-bash/2016-10/patchJxugOXrY2y.patch"; - sha256 = "1m4v9imidb1cc1h91f2na0b8y9kc5c5fgmpvy9apcyv2kbdcghg1"; - }); + ++ optional stdenv.hostPlatform.isCygwin ./cygwin-bash-4.4.11-2.src.patch; configureFlags = [ (if interactive then "--with-installed-readline" else "--disable-readline") @@ -73,8 +68,7 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ bison ] ++ optional withDocs texinfo - ++ optional stdenv.hostPlatform.isDarwin binutils - ++ optional (stdenv.hostPlatform.libc == "musl") autoconf; + ++ optional stdenv.hostPlatform.isDarwin binutils; buildInputs = optional interactive readline80; From c9b95f54bcb481abd100b1bf6ef3525585ba88b5 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 8 Jan 2019 17:34:05 -0600 Subject: [PATCH 05/46] bash5: add myself to maintainer list --- pkgs/shells/bash/5.0.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/shells/bash/5.0.nix b/pkgs/shells/bash/5.0.nix index 7aee7745ec78..ab997eb6985b 100644 --- a/pkgs/shells/bash/5.0.nix +++ b/pkgs/shells/bash/5.0.nix @@ -118,7 +118,7 @@ stdenv.mkDerivation rec { platforms = platforms.all; - maintainers = [ maintainers.peti ]; + maintainers = with maintainers; [ peti dtzWill ]; }; passthru = { From 4d24a84d8248138cc9403fafffeeeec1330c48f6 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 8 Jan 2019 17:34:48 -0600 Subject: [PATCH 06/46] readline80: add myself to maintainers list --- pkgs/development/libraries/readline/8.0.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/readline/8.0.nix b/pkgs/development/libraries/readline/8.0.nix index 8eb2fb8969b9..eefef9727663 100644 --- a/pkgs/development/libraries/readline/8.0.nix +++ b/pkgs/development/libraries/readline/8.0.nix @@ -58,7 +58,7 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; - maintainers = [ maintainers.vanschelven ]; + maintainers = with maintainers; [ vanschelven dtzWill ]; platforms = platforms.unix; branch = "8.0"; From b28752f2554bedd66cc0a924fac8f97d13a54b57 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 8 Jan 2019 20:51:02 -0600 Subject: [PATCH 07/46] mercurial: 4.8.1 -> 4.8.2 https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.8.2_.282018-01-07.29 --- pkgs/applications/version-management/mercurial/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index f5127094bc9d..67baa98d21ec 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -4,7 +4,7 @@ let # if you bump version, update pkgs.tortoisehg too or ping maintainer - version = "4.8.1"; + version = "4.8.2"; name = "mercurial-${version}"; inherit (python2Packages) docutils hg-git dulwich python; in python2Packages.buildPythonApplication { @@ -13,7 +13,7 @@ in python2Packages.buildPythonApplication { src = fetchurl { url = "https://mercurial-scm.org/release/${name}.tar.gz"; - sha256 = "08gsn0s5802bs8ks77xqg7c8dwpbsh8df47kvb1gn14ivrf5z928"; + sha256 = "1cpx8nf6vcqz92kx6b5c4900pcay8zb89gvy8y33prh5rywjq83c"; }; inherit python; # pass it so that the same version can be used in hg2git From 26c7c59c0d4cb5c129623c1f7b8a5b42abf5f4a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 9 Jan 2019 08:28:29 +0000 Subject: [PATCH 08/46] bash: cygwin patch no longer applies --- pkgs/shells/bash/5.0.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/shells/bash/5.0.nix b/pkgs/shells/bash/5.0.nix index ab997eb6985b..b78282ab6e4c 100644 --- a/pkgs/shells/bash/5.0.nix +++ b/pkgs/shells/bash/5.0.nix @@ -43,8 +43,7 @@ stdenv.mkDerivation rec { patchFlags = "-p0"; - patches = upstreamPatches - ++ optional stdenv.hostPlatform.isCygwin ./cygwin-bash-4.4.11-2.src.patch; + patches = upstreamPatches; configureFlags = [ (if interactive then "--with-installed-readline" else "--disable-readline") From d74d2e8ed3ca6f5321a39d88ba508bbe5d4e4ab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 9 Jan 2019 08:30:17 +0000 Subject: [PATCH 09/46] bash_5: change attribute name to fit conventions for different versions we use underscore --- pkgs/top-level/all-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c0736572db3..6a0c90b23280 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6499,8 +6499,8 @@ in any-nix-shell = callPackage ../shells/any-nix-shell { }; bash = lowPrio (callPackage ../shells/bash/4.4.nix { }); - bash5 = lowPrio (callPackage ../shells/bash/5.0.nix { }); - bash5Interactive = lowPrio (callPackage ../shells/bash/5.0.nix { + bash_5 = lowPrio (callPackage ../shells/bash/5.0.nix { }); + bashInteractive_5 = lowPrio (callPackage ../shells/bash/5.0.nix { interactive = true; withDocs = true; }); From 663b8cc9298c87940dde596e292006fad02393c1 Mon Sep 17 00:00:00 2001 From: danbst Date: Thu, 10 Jan 2019 23:15:23 +0200 Subject: [PATCH 10/46] manual: document ways of obtaining source hashes ... and security nuances --- doc/Makefile | 6 ++- doc/coding-conventions.xml | 101 +++++++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+), 2 deletions(-) diff --git a/doc/Makefile b/doc/Makefile index c6aed62a9396..91b62fe138bc 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -9,8 +9,10 @@ debug: .PHONY: format format: - find . -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \ - xmlformat --config-file "$$XMLFORMAT_CONFIG" -i {} + find . -iname '*.xml' -type f | while read f; do \ + echo $$f ;\ + xmlformat --config-file "$$XMLFORMAT_CONFIG" -i $$f ;\ + done .PHONY: fix-misc-xml fix-misc-xml: diff --git a/doc/coding-conventions.xml b/doc/coding-conventions.xml index a8a4557b461c..88ce6281a253 100644 --- a/doc/coding-conventions.xml +++ b/doc/coding-conventions.xml @@ -876,6 +876,107 @@ src = fetchFromGitHub { +
+ Obtaining source hash + + + Preferred source hash type is sha256. There are several ways to get it. + + + + + + Prefetch URL (with nix-prefetch-XXX + URL, where + XXX is one of url, + git, hg, cvs, + bzr, svn). Hash is printed to + stdout. + + + + + Prefetch by package source (with nix-prefetch-url + '<nixpkgs>' -A PACKAGE.src, + where PACKAGE is package attribute name). Hash + is printed to stdout. + + + This works well when you've upgraded existing package version and want to + find out new hash, but is useless if package doesn't have top-level + attribute or package has multiple sources (.srcs, + architecture-dependent sources, etc). + + + + + Upstream provided hash: use it when upstream provides + sha256 or sha512 (when upstream + provides md5, don't use it, compute + sha256 instead). + + + A little nuance is that nix-prefetch-* tools produce + hash encoded with base32, but upstream usually provides + hexadecimal (base16) encoding. Fetchers understand both + formats. Nixpkgs doesn't stadartize on any one format. + + + You can convert between formats with nix-hash, for example: + +$ nix-hash --type sha256 --to-base32 HASH + + + + + + Extracting hash from local source tarball can be done with + sha256sum. Use nix-prefetch-url + file:///path/to/tarball if you want base32 hash. + + + + + Fake hash: set fake hash in package expression, perform build and extract + correct hash from error Nix prints. + + + You can use lib.fakeSha256, + lib.fakeSha512 or any other fake hash for this purpose. + This is last resort method when reconstructing source URL is non-trivial + and nix-prefetch-url -A isn't applicable (for example, + + one of kodi dependencies). The easiest way then + would be replace hash with a fake one and rebuild. Nix build will fail and + error message will contain wanted hash. + + + + +
+ Obtaining hashes securely + + + From security point of view first four methods are most secure. + nix-prefetch-url does verify TLS certificates for + https:// URLs. TLS certificates aren't + verified in fake hash method even when there is https:// + URL. Obviously, getting hashes for http:// + URLs isn't secure, so recheck using some other network that hash is same. + + + + Upstream provided hashes are not secure if obtained over + http://. + + + + Nixpkgs build farm can act as an additional verification step. When + compromised hash was obtained, package may be rejected on Hydra due to hash + mismatch. + +
+
Patches From db5ee28843826452fb92ff2934cff5920e782a4d Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 16 Jan 2019 11:38:19 -0800 Subject: [PATCH 11/46] neovim-remote: 2.1.3 -> 2.1.4 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-neovim-remote/versions --- pkgs/applications/editors/neovim/neovim-remote.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/neovim/neovim-remote.nix b/pkgs/applications/editors/neovim/neovim-remote.nix index d9b928f111ae..1444d53da077 100644 --- a/pkgs/applications/editors/neovim/neovim-remote.nix +++ b/pkgs/applications/editors/neovim/neovim-remote.nix @@ -4,14 +4,14 @@ with stdenv.lib; pythonPackages.buildPythonPackage rec { pname = "neovim-remote"; - version = "2.1.3"; + version = "2.1.4"; disabled = !pythonPackages.isPy3k; src = fetchFromGitHub { owner = "mhinz"; repo = "neovim-remote"; rev = "v${version}"; - sha256 = "0nx987af29ajlpwnwfc3z8gplxv69gj53s4bzm6pwwsfbhfakdah"; + sha256 = "1s438cbyyzgg96b6639wk1ny6d6p2ywcba41l3r027wzyl7wrn8v"; }; propagatedBuildInputs = with pythonPackages; [ pynvim psutil ]; From 9f142c0ae5c8e7bec2d4842f02bf5ea708d50687 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 16 Jan 2019 14:22:25 -0800 Subject: [PATCH 12/46] python37Packages.perf: 1.5.1 -> 1.6.0 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-perf/versions --- pkgs/development/python-modules/perf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/perf/default.nix b/pkgs/development/python-modules/perf/default.nix index 558886ce6228..6c209ba8da02 100644 --- a/pkgs/development/python-modules/perf/default.nix +++ b/pkgs/development/python-modules/perf/default.nix @@ -15,11 +15,11 @@ buildPythonPackage rec { pname = "perf"; - version = "1.5.1"; + version = "1.6.0"; src = fetchPypi { inherit pname version; - sha256 = "5aae76e58bd3edd0c50adcc7c16926ebb9ed8c0e5058b435a30d58c6bb0394a8"; + sha256 = "1vrv83v8rhyl51yaxlqzw567vz5a9qwkymk3vqvcl5sa2yd3mzgp"; }; checkInputs = [ nose psutil ] ++ From 6bbd0596dd25fd7c0285a051fb5a931f48610e8e Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Wed, 16 Jan 2019 23:41:31 +0100 Subject: [PATCH 13/46] gap: add timokau as maintainer So that I'll be notified on changes which likely impact sage. --- pkgs/applications/science/math/gap/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix index f6a9f58b1762..a7105705f380 100644 --- a/pkgs/applications/science/math/gap/default.nix +++ b/pkgs/applications/science/math/gap/default.nix @@ -129,6 +129,7 @@ stdenv.mkDerivation rec { [ raskin chrisjefferson + timokau ]; platforms = platforms.all; # keeping all packages increases the package size considerably, wchich From c9b3404d57d4c229f330dba762ef72ad215529ff Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Mon, 14 Jan 2019 14:13:25 +0800 Subject: [PATCH 14/46] xdg-desktop-portal-kde: fix missing dependencies --- pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix index 5fdd6bea4640..fc77e163e8f9 100644 --- a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix +++ b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix @@ -1,13 +1,15 @@ { mkDerivation, extra-cmake-modules, gettext, kdoctools, python, - kcoreaddons, knotifications, kwayland, kwidgetsaddons + kcoreaddons, knotifications, kwayland, kwidgetsaddons, + cups, pcre, pipewire }: mkDerivation { name = "xdg-desktop-portal-kde"; nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ]; buildInputs = [ + cups pcre pipewire kcoreaddons knotifications kwayland kwidgetsaddons ]; } From 1d274ad6841c46d7dd15f8df838bef469485a463 Mon Sep 17 00:00:00 2001 From: "Scott W. Dunlop" Date: Wed, 16 Jan 2019 16:56:05 -0800 Subject: [PATCH 15/46] nats-streaming-server: 0.11.0 -> 0.11.2 --- pkgs/servers/nats-streaming-server/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/nats-streaming-server/default.nix b/pkgs/servers/nats-streaming-server/default.nix index 8270fa398214..cc73b2e1f6f2 100644 --- a/pkgs/servers/nats-streaming-server/default.nix +++ b/pkgs/servers/nats-streaming-server/default.nix @@ -4,7 +4,7 @@ with lib; buildGoPackage rec { name = "nats-streaming-server-${version}"; - version = "0.11.0"; + version = "0.11.2"; rev = "v${version}"; goPackagePath = "github.com/nats-io/nats-streaming-server"; @@ -13,7 +13,7 @@ buildGoPackage rec { inherit rev; owner = "nats-io"; repo = "nats-streaming-server"; - sha256 = "0skkx3f7dpbf6nqpsbsk8ssn8hl55s9k76a5y5ksyqar5bdxvds5"; + sha256 = "1jd9c5yw3xxp5hln1g8w48l4cslhxbv0k2af47g6pya09kwknqkq"; }; meta = { From e78eae37cb92c837bcd2b889102bdbbfb9d47879 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 16 Jan 2019 19:12:53 -0800 Subject: [PATCH 16/46] python37Packages.aniso8601: 4.0.1 -> 4.1.0 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-aniso8601/versions --- pkgs/development/python-modules/aniso8601/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aniso8601/default.nix b/pkgs/development/python-modules/aniso8601/default.nix index 163e2c9b2099..b637f60696de 100644 --- a/pkgs/development/python-modules/aniso8601/default.nix +++ b/pkgs/development/python-modules/aniso8601/default.nix @@ -3,7 +3,7 @@ buildPythonPackage rec { pname = "aniso8601"; - version = "4.0.1"; + version = "4.1.0"; meta = with stdenv.lib; { description = "Parses ISO 8601 strings."; @@ -15,6 +15,6 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "15cwnadw2xdczdi13k9grrgqq67hxgys4l155dqsl2zh3glhsmp7"; + sha256 = "1x49k287ky1spv3msc9fwmc7ydyw6rlcr14nslgcmpjfn3pgzh03"; }; } From c306450233c5d014d331b2b23f3134b936a25d43 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 16 Jan 2019 19:50:56 -0800 Subject: [PATCH 17/46] python37Packages.ConfigArgParse: 0.13.0 -> 0.14.0 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-configargparse/versions --- pkgs/development/python-modules/configargparse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/configargparse/default.nix b/pkgs/development/python-modules/configargparse/default.nix index 62e63a8e5b31..7d53f56a5a0a 100644 --- a/pkgs/development/python-modules/configargparse/default.nix +++ b/pkgs/development/python-modules/configargparse/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "ConfigArgParse"; - version = "0.13.0"; + version = "0.14.0"; src = fetchPypi { inherit pname version; - sha256 = "e6441aa58e23d3d122055808e5e2220fd742dff6e1e51082d2a4e4ed145dd788"; + sha256 = "149fy4zya0rsnlkvxbbq43cyr8lscb5k4pj1m6n7f1grwcmzwbif"; }; # no tests in tarball From d17316fab65bb743b3f1515b2dc4dd4f9a049b9d Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 16 Jan 2019 21:15:29 -0800 Subject: [PATCH 18/46] python37Packages.jaraco_classes: 1.5 -> 2.0 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-jaraco.classes/versions --- pkgs/development/python-modules/jaraco_classes/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/jaraco_classes/default.nix b/pkgs/development/python-modules/jaraco_classes/default.nix index 35c70c3c0330..dadbb8104659 100644 --- a/pkgs/development/python-modules/jaraco_classes/default.nix +++ b/pkgs/development/python-modules/jaraco_classes/default.nix @@ -2,10 +2,10 @@ buildPythonPackage rec { pname = "jaraco.classes"; - version = "1.5"; + version = "2.0"; src = fetchPypi { inherit pname version; - sha256 = "002zsifikv6qwigkjlij7jhyvbwv6793m8h9ckbkx2jizmgc80fi"; + sha256 = "1xfal9085bjh4fv57d6v9ibr5wf4llj73gp1ybdlqd2bralc9hnw"; }; doCheck = false; buildInputs = [ setuptools_scm ]; From bedc81fcb6b67b4a280d03c95f7c5af248aa670c Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 17 Jan 2019 00:03:55 +0100 Subject: [PATCH 19/46] nixos/desktops: deduplicate removePackagesByName MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GNOME, MATE and LxQt all use removePackagesByName. Let’s move it to a single place, rename the attributes to meaningful name and add docs. --- .../services/x11/desktop-managers/gnome3.nix | 10 +--------- .../services/x11/desktop-managers/lxqt.nix | 11 +---------- .../services/x11/desktop-managers/mate.nix | 10 +--------- pkgs/desktops/gnome-3/default.nix | 16 ++++++++++++++++ 4 files changed, 19 insertions(+), 28 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index ba6d333b534e..695a309e1358 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -5,14 +5,6 @@ with lib; let cfg = config.services.xserver.desktopManager.gnome3; - # Remove packages of ys from xs, based on their names - removePackagesByName = xs: ys: - let - pkgName = drv: (builtins.parseDrvName drv.name).name; - ysNames = map pkgName ys; - in - filter (x: !(builtins.elem (pkgName x) ysNames)) xs; - # Prioritize nautilus by default when opening directories mimeAppsList = pkgs.writeTextFile { name = "gnome-mimeapps"; @@ -167,7 +159,7 @@ in { "${pkgs.gnome3.glib-networking.out}/lib/gio/modules" "${pkgs.gnome3.gvfs}/lib/gio/modules" ]; environment.systemPackages = pkgs.gnome3.corePackages ++ cfg.sessionPath - ++ (removePackagesByName pkgs.gnome3.optionalPackages config.environment.gnome3.excludePackages) ++ [ + ++ (pkgs.gnome3.removePackagesByName pkgs.gnome3.optionalPackages config.environment.gnome3.excludePackages) ++ [ pkgs.xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ ]; diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix index 896f70c86ebb..686bbd0dcf98 100644 --- a/nixos/modules/services/x11/desktop-managers/lxqt.nix +++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix @@ -3,15 +3,6 @@ with lib; let - - # Remove packages of ys from xs, based on their names - removePackagesByName = xs: ys: - let - pkgName = drv: (builtins.parseDrvName drv.name).name; - ysNames = map pkgName ys; - in - filter (x: !(builtins.elem (pkgName x) ysNames)) xs; - xcfg = config.services.xserver; cfg = xcfg.desktopManager.lxqt; @@ -60,7 +51,7 @@ in environment.systemPackages = pkgs.lxqt.preRequisitePackages ++ pkgs.lxqt.corePackages ++ - (removePackagesByName + (pkgs.gnome3.removePackagesByName pkgs.lxqt.optionalPackages config.environment.lxqt.excludePackages); diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix index db83aaf3c19f..4d2fafd14961 100644 --- a/nixos/modules/services/x11/desktop-managers/mate.nix +++ b/nixos/modules/services/x11/desktop-managers/mate.nix @@ -4,14 +4,6 @@ with lib; let - # Remove packages of ys from xs, based on their names - removePackagesByName = xs: ys: - let - pkgName = drv: (builtins.parseDrvName drv.name).name; - ysNames = map pkgName ys; - in - filter (x: !(builtins.elem (pkgName x) ysNames)) xs; - addToXDGDirs = p: '' if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name} @@ -96,7 +88,7 @@ in environment.systemPackages = pkgs.mate.basePackages ++ - (removePackagesByName + (pkgs.gnome3.removePackagesByName pkgs.mate.extraPackages config.environment.mate.excludePackages); diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 75c474faea0d..f1f4d4738726 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -3,6 +3,22 @@ lib.makeScope pkgs.newScope (self: with self; { updateScript = callPackage ./update.nix { }; + /* Remove packages of packagesToRemove from packages, based on their names + + Type: + removePackagesByName :: [package] -> [package] -> [package] + + Example: + removePackagesByName [ nautilus file-roller ] [ file-roller totem ] + => [ nautilus ] + */ + removePackagesByName = packages: packagesToRemove: + let + pkgName = drv: (builtins.parseDrvName drv.name).name; + namesToRemove = map pkgName packagesToRemove; + in + filter (x: !(builtins.elem (pkgName x) namesToRemove)) packages; + maintainers = with pkgs.lib.maintainers; [ lethalman jtojnar hedning ]; corePackages = with gnome3; [ From db446564671a41887f6301afdf5719c281e578c1 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 17 Jan 2019 00:13:16 -0800 Subject: [PATCH 20/46] neovim-unwrapped: 0.3.3 -> 0.3.4 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/neovim-unwrapped/versions --- pkgs/applications/editors/neovim/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index 1bc7f1688ea8..a3580b1afa7a 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -11,13 +11,13 @@ let neovim = stdenv.mkDerivation rec { name = "neovim-unwrapped-${version}"; - version = "0.3.3"; + version = "0.3.4"; src = fetchFromGitHub { owner = "neovim"; repo = "neovim"; rev = "v${version}"; - sha256 = "0jf39br0c7kkvmc8b5n9b3lgy9cmf5sv1gghzafc8qk54bqymy2f"; + sha256 = "07ncvgp6xfhiwc6hd7qf7zk28n3yj47p26qj1ji29vqkwnk28y3s"; }; enableParallelBuilding = true; From 3de6effe70a790eaa642b67dc19bf8c1e43cb287 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 17 Jan 2019 08:47:09 +0000 Subject: [PATCH 21/46] coursera-dl: relax version constraints --- pkgs/applications/misc/coursera-dl/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/applications/misc/coursera-dl/default.nix b/pkgs/applications/misc/coursera-dl/default.nix index a6afee13e47b..0601514546f2 100644 --- a/pkgs/applications/misc/coursera-dl/default.nix +++ b/pkgs/applications/misc/coursera-dl/default.nix @@ -22,6 +22,11 @@ in pythonPackages.buildPythonApplication rec { checkInputs = with pythonPackages; [ pytest mock ]; + postPatch = '' + substituteInPlace requirements.txt \ + --replace '==' '>=' + ''; + preConfigure = '' export LC_ALL=en_US.utf-8 ''; From bb173ec8e3e0b02a156fd4a405582312bf41a410 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Wed, 16 Jan 2019 23:42:15 +0100 Subject: [PATCH 22/46] gap: install libgap There are some starts of a `make install`, but nothing complete yet. Upstream now ships a `libgap` as a replacement of the custom one used by sagemath. --- pkgs/applications/science/math/gap/default.nix | 11 ++++++++++- pkgs/top-level/all-packages.nix | 16 +++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix index a7105705f380..4b4a7035e867 100644 --- a/pkgs/applications/science/math/gap/default.nix +++ b/pkgs/applications/science/math/gap/default.nix @@ -107,7 +107,16 @@ stdenv.mkDerivation rec { popd ''; - installPhase = '' + installTargets = [ + "install-libgap" + "install-headers" + ]; + + # full `make install` is not yet implemented, just for libgap and headers + postInstall = '' + # Install config.h, which is not currently handled by `make install-headers` + cp gen/config.h "$out/include/gap" + mkdir -p "$out/bin" "$out/share/gap/" mkdir -p "$out/share/gap" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 90ea01bd6c8b..e6f44d9ab53f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10806,17 +10806,31 @@ in libgadu = callPackage ../development/libraries/libgadu { }; + # Deprecated since gap itself now ships with a library component. This is + # still necessary for sage 8.5 but will be removed once we switch to sage + # 8.6. gap-libgap-compatible = let version = "4r8p6"; pkgVer = "2016_11_12-14_25"; in - (gap.override { keepAllPackages = false; }).overrideAttrs (oldAttrs: { + (gap.override { packageSet = "minimal"; }).overrideAttrs (oldAttrs: { name = "libgap-${oldAttrs.pname}-${version}"; inherit version; src = fetchurl { url = "https://www.gap-system.org/pub/gap/gap48/tar.bz2/gap${version}_${pkgVer}.tar.bz2"; sha256 = "19n2p1mdg33s2x9rs51iak7rgndc1cwr56jyqnah0g1ydgg1yh6b"; }; + # libgap targets not yet available for 4r8p6 + installPhase = '' + mkdir -p "$out/bin" "$out/share/gap/" + + mkdir -p "$out/share/gap" + echo "Copying files to target directory" + cp -ar . "$out/share/gap/build-dir" + + makeWrapper "$out/share/gap/build-dir/bin/gap.sh" "$out/bin/gap" \ + --set GAP_DIR $out/share/gap/build-dir + ''; patches = [ # don't install any packages by default (needed for interop with libgap, probably obsolete with 4r10 (fetchpatch { From cf63a8c94c5fcc6af1e1aefb4d7d69d00b45dee1 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Thu, 17 Jan 2019 00:17:27 +0100 Subject: [PATCH 23/46] gap: add packageSet option Two reasons for this: - more fine-grained space/functionality tradeoff - preparation for the sage 8.6 update, which finally doesn't need a downgraded gap anymore but does break when unexpected (non-standard) packages are installed. Details: https://trac.sagemath.org/ticket/26983 The proper way to deal with gap packages would be to create a package set, package each one individually and have something like gap equivalent of `python.withPackages`. I am not willing to do that however. --- .../applications/science/math/gap/default.nix | 63 ++++++++++++++++--- pkgs/top-level/all-packages.nix | 4 +- 2 files changed, 56 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix index 4b4a7035e867..e12353878149 100644 --- a/pkgs/applications/science/math/gap/default.nix +++ b/pkgs/applications/science/math/gap/default.nix @@ -5,11 +5,60 @@ , makeWrapper , m4 , gmp -# don't remove any packages -- results in a ~1.3G size increase -# see https://github.com/NixOS/nixpkgs/pull/38754 for a discussion -, keepAllPackages ? true +# one of +# - "minimal" (~400M): +# Install the bare minimum of packages required by gap to start. +# This is likely to break a lot of stuff. Do not expect upstream support with +# this configuration. +# - "standard" (~700M): +# Install the "standard packages" which gap autoloads by default. These +# packages are effectively considered a part of gap. +# - "full" (~1.7G): +# Install all available packages. This takes a lot of space. +, packageSet ? "standard" +# Kept for backwards compatibility. Overrides packageSet to "full". +, keepAllPackages ? false }: +let + # packages absolutely required for gap to start + # `*` represents the version where applicable + requiredPackages = [ + "GAPDoc-*" + "primgrp-*" + "SmallGrp-*" + "transgrp" + ]; + # packages autoloaded by default if available + autoloadedPackages = [ + "atlasrep" + "autpgrp-*" + "alnuth-*" + "crisp-*" + "ctbllib" + "FactInt-*" + "fga" + "irredsol-*" + "laguna-*" + "polenta-*" + "polycyclic-*" + "resclasses-*" + "sophus-*" + "tomlib-*" + ]; + standardPackages = requiredPackages ++ autoloadedPackages; + keepAll = keepAllPackages || (packageSet == "full"); + packagesToKeep = requiredPackages ++ lib.optionals (packageSet == "standard") autoloadedPackages; + # Generate bash script that removes all packages from the `pkg` subdirectory + # that are not on the whitelist. The whitelist consists of strings expected by + # `find`'s `-name`. + removeNonWhitelistedPkgs = whitelist: '' + find pkg -type d -maxdepth 1 -mindepth 1 \ + '' + (lib.concatStringsSep "\n" (map (str: "-not -name '${str}' \\") whitelist)) + '' + -exec echo "Removing package {}" \; \ + -exec rm -r '{}' \; + ''; +in stdenv.mkDerivation rec { pname = "gap"; # https://www.gap-system.org/Releases/ @@ -21,14 +70,8 @@ stdenv.mkDerivation rec { }; # remove all non-essential packages (which take up a lot of space) - preConfigure = '' + preConfigure = lib.optionalString (!keepAll) (removeNonWhitelistedPkgs packagesToKeep) + '' patchShebangs . - '' + lib.optionalString (!keepAllPackages) '' - find pkg -type d -maxdepth 1 -mindepth 1 \ - -not -name 'GAPDoc-*' \ - -not -name 'autpgrp*' \ - -exec echo "Removing package {}" \; \ - -exec rm -r {} \; ''; configureFlags = [ "--with-gmp=system" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e6f44d9ab53f..9f203706e9d6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22003,7 +22003,9 @@ in gap = callPackage ../applications/science/math/gap { }; - gap-minimal = lowPrio (gap.override { keepAllPackages = false; }); + gap-minimal = lowPrio (gap.override { packageSet = "minimal"; }); + + gap-full = lowPrio (gap.override { packageSet = "full"; }); geogebra = callPackage ../applications/science/math/geogebra { }; From d941974d80c2fa5567a4013895b41c2e4b9bfd38 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 17 Jan 2019 01:17:34 -0800 Subject: [PATCH 24/46] mpop: 1.4.1 -> 1.4.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/mpop/versions --- pkgs/applications/networking/mpop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/mpop/default.nix b/pkgs/applications/networking/mpop/default.nix index 912c23f107d9..4a54fcf427ef 100644 --- a/pkgs/applications/networking/mpop/default.nix +++ b/pkgs/applications/networking/mpop/default.nix @@ -3,12 +3,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "1.4.1"; + version = "1.4.2"; name = "mpop-${version}"; src = fetchurl { url = "https://marlam.de/mpop/releases/${name}.tar.xz"; - sha256 = "1b9mj6yfa8vg5flxw1xb8xalifjg87dghbg523i6fbr7679zl9iy"; + sha256 = "1rx5mhgqkm7swbynrhbsz32v85h0rydb4kqfgfs9jrznd9d14m2d"; }; nativeBuildInputs = [ pkgconfig ]; From d3ab656d8764533d6ef8aa6fe719396296985276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 17 Jan 2019 09:44:56 +0000 Subject: [PATCH 25/46] python2.pkgs.aniso8601: add optional mock dependency --- pkgs/development/python-modules/aniso8601/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/aniso8601/default.nix b/pkgs/development/python-modules/aniso8601/default.nix index b637f60696de..4f6602395300 100644 --- a/pkgs/development/python-modules/aniso8601/default.nix +++ b/pkgs/development/python-modules/aniso8601/default.nix @@ -1,5 +1,5 @@ { stdenv, buildPythonPackage, fetchPypi -, dateutil }: +, dateutil, mock, isPy3k }: buildPythonPackage rec { pname = "aniso8601"; @@ -13,6 +13,8 @@ buildPythonPackage rec { propagatedBuildInputs = [ dateutil ]; + checkInputs = stdenv.lib.optional (!isPy3k) mock; + src = fetchPypi { inherit pname version; sha256 = "1x49k287ky1spv3msc9fwmc7ydyw6rlcr14nslgcmpjfn3pgzh03"; From 6750dd66f91ec7307fc6e7afe5144cc0b2df7946 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Cugnet Date: Thu, 17 Jan 2019 10:50:41 +0100 Subject: [PATCH 26/46] erlangR21: 21.2 -> 21.2.3 --- pkgs/development/interpreters/erlang/R21.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/erlang/R21.nix b/pkgs/development/interpreters/erlang/R21.nix index b787f3f44f54..28166dfc0b0a 100644 --- a/pkgs/development/interpreters/erlang/R21.nix +++ b/pkgs/development/interpreters/erlang/R21.nix @@ -1,8 +1,8 @@ { mkDerivation }: mkDerivation rec { - version = "21.2"; - sha256 = "0v9smdp2vxkpsz65a6ypwzl12fqdfrsi7k29f5i7af0v27r308cm"; + version = "21.2.3"; + sha256 = "1v47c7bddbp31y6f8yzdjyvgcx9sskxql33k7cs0p5fmr05hhxws"; prePatch = '' substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10' From f87dd8926ffbbf6d6174eaa8a9783208c21f6e7e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 17 Jan 2019 02:06:12 -0800 Subject: [PATCH 27/46] ocserv: 0.12.1 -> 0.12.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/ocserv/versions --- pkgs/tools/networking/ocserv/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/ocserv/default.nix b/pkgs/tools/networking/ocserv/default.nix index d6458128b04f..63a74c3ddb61 100644 --- a/pkgs/tools/networking/ocserv/default.nix +++ b/pkgs/tools/networking/ocserv/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { name = "ocserv-${version}"; - version = "0.12.1"; + version = "0.12.2"; src = fetchFromGitLab { owner = "openconnect"; repo = "ocserv"; rev = "ocserv_${stdenv.lib.replaceStrings [ "." ] [ "_" ] version}"; - sha256 = "0jn91a50r3ryj1ph9fzxwy2va877b0b37ahargxzn7biccd8nh0y"; + sha256 = "13lijg5qkkpn35laaimpw9l5g2dnnbmqn74lpcknmp6nm6j2wvci"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; From 2898377cd9f83405d8b87fbc0f96627a4324ca5c Mon Sep 17 00:00:00 2001 From: danbst Date: Thu, 17 Jan 2019 12:32:08 +0200 Subject: [PATCH 28/46] rephrase and apply suggestions --- doc/coding-conventions.xml | 68 +++++++++++++++++++++++--------------- 1 file changed, 42 insertions(+), 26 deletions(-) diff --git a/doc/coding-conventions.xml b/doc/coding-conventions.xml index 88ce6281a253..d2c7a1baae9c 100644 --- a/doc/coding-conventions.xml +++ b/doc/coding-conventions.xml @@ -814,7 +814,7 @@ args.stdenv.mkDerivation (args // { There are multiple ways to fetch a package source in nixpkgs. The general - guideline is that you should package sources with a high degree of + guideline is that you should package reproducible sources with a high degree of availability. Right now there is only one fetcher which has mirroring support and that is fetchurl. Note that you should also prefer protocols which have a corresponding proxy environment variable. @@ -883,7 +883,7 @@ src = fetchFromGitHub { Preferred source hash type is sha256. There are several ways to get it. - + Prefetch URL (with nix-prefetch-XXX @@ -903,7 +903,7 @@ src = fetchFromGitHub { This works well when you've upgraded existing package version and want to - find out new hash, but is useless if package doesn't have top-level + find out new hash, but is useless if package can't be accessed by attribute or package has multiple sources (.srcs, architecture-dependent sources, etc). @@ -919,7 +919,7 @@ src = fetchFromGitHub { A little nuance is that nix-prefetch-* tools produce hash encoded with base32, but upstream usually provides hexadecimal (base16) encoding. Fetchers understand both - formats. Nixpkgs doesn't stadartize on any one format. + formats. Nixpkgs does not standardize on any one format. You can convert between formats with nix-hash, for example: @@ -941,40 +941,56 @@ $ nix-hash --type sha256 --to-base32 HASH correct hash from error Nix prints. - You can use lib.fakeSha256, - lib.fakeSha512 or any other fake hash for this purpose. + For package updates it is enough to change one symbol to make hash fake. + For new packages, you can use lib.fakeSha256, + lib.fakeSha512 or any other fake hash. + + This is last resort method when reconstructing source URL is non-trivial and nix-prefetch-url -A isn't applicable (for example, one of kodi dependencies). The easiest way then would be replace hash with a fake one and rebuild. Nix build will fail and - error message will contain wanted hash. + error message will contain desired hash. + This method has security problems. Check below for details. - +
Obtaining hashes securely - - From security point of view first four methods are most secure. - nix-prefetch-url does verify TLS certificates for - https:// URLs. TLS certificates aren't - verified in fake hash method even when there is https:// - URL. Obviously, getting hashes for http:// - URLs isn't secure, so recheck using some other network that hash is same. - - - - Upstream provided hashes are not secure if obtained over - http://. - - - - Nixpkgs build farm can act as an additional verification step. When - compromised hash was obtained, package may be rejected on Hydra due to hash - mismatch. + Let's say Man-in-the-Middle (MITM) sits close to your network. Then instead of fetching + source you can fetch malware, and instead of source hash you get hash of malware. Here are + security considerations for this scenario: + + + + http:// URLs are not secure to prefetch hash from; + + + + + hashes from upstream (in method 3) should be obtained via secure protocol; + + + + + https:// URLs are secure in methods 1, 2, 3; + + + + + https:// URLs are not secure in method 5. When obtaining hashes + with fake hash method, TLS checks are disabled. So + refetch source hash from several different networks to exclude MITM scenario. + Alternatively, use fake hash method to make Nix error, but instead of extracting + hash from error, extract https:// URL and prefetch it + with method 1. + + +
From 09dae062b6eaefd5691d6eb6b2a096131e5400d0 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 17 Jan 2019 02:36:22 -0800 Subject: [PATCH 29/46] mutt: 1.11.1 -> 1.11.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/mutt/versions --- pkgs/applications/networking/mailreaders/mutt/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix index 6d03f2276d0e..3afabb8bafb1 100644 --- a/pkgs/applications/networking/mailreaders/mutt/default.nix +++ b/pkgs/applications/networking/mailreaders/mutt/default.nix @@ -27,15 +27,15 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "mutt-${version}"; - version = "1.11.1"; + version = "1.11.2"; src = fetchurl { url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz"; - sha256 = "01fvn5h7l9rkwx6qz46svl4hmww108v4bmcywiw3prb26q0l2lbh"; + sha256 = "08w7lbhj5ba2zkjcd0cxkgfiy9y82yhg731xjg9i9292kz1x8p6s"; }; patches = optional smimeSupport (fetchpatch { - url = "https://salsa.debian.org/mutt-team/mutt/raw/debian/1.11.1-2/debian/patches/misc/smime.rc.patch"; + url = "https://salsa.debian.org/mutt-team/mutt/raw/debian/1.11.2-2/debian/patches/misc/smime.rc.patch"; sha256 = "1rl27qqwl4nw321ll5jcvfmkmz4fkvcsh5vihjcrhzzyf6vz8wmj"; }); From c7c6c357687c9415f6bf24be29215e9a38807111 Mon Sep 17 00:00:00 2001 From: ngerstle-cognite <39549455+ngerstle-cognite@users.noreply.github.com> Date: Thu, 17 Jan 2019 12:09:49 +0100 Subject: [PATCH 30/46] postman: 6.3.0 -> 6.7.1 (#54101) A simple update from 6.3.0 to 6.7.1 fixes a breaking bug - something about requested version 30 being less than version 80 during startup? Either way, 6.7.1 seems to solve the issue. --- pkgs/development/web/postman/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix index bf18ce5d75cf..79524b64d703 100644 --- a/pkgs/development/web/postman/default.nix +++ b/pkgs/development/web/postman/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "postman-${version}"; - version = "6.3.0"; + version = "6.7.1"; src = fetchurl { url = "https://dl.pstmn.io/download/version/${version}/linux64"; - sha256 = "09m511y977478567lc28mhy68b99ssajzhirc1c4anxnvvs7s6fa"; + sha256 = "1x8jj0xs67wi0qj6x22h54crndml6fl8a128s57v058fyxji6brx"; name = "${name}.tar.gz"; }; From 2833865206a8009faa6b108cb2f1b602d4f121bf Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 17 Jan 2019 06:55:31 -0500 Subject: [PATCH 31/46] linux: 4.4.170 -> 4.4.171 --- pkgs/os-specific/linux/kernel/linux-4.4.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index 7f5be8957aff..58cbd8fe4f22 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.4.170"; + version = "4.4.171"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "04fia71k7hi9kmxmrqsdsi4nl6jw7vn1wkmdyh63hm89yz8dmy64"; + sha256 = "187g9x2zd738s1ric8zl205b7xipvr0l5i045clnhqwl5bd78h7x"; }; } // (args.argsOverride or {})) From 1e625884214fac2b4b4cbe331ed348579ef34018 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 17 Jan 2019 06:55:42 -0500 Subject: [PATCH 32/46] linux: 4.9.150 -> 4.9.151 --- pkgs/os-specific/linux/kernel/linux-4.9.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index 5001b063e334..09f6ccc1325a 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.9.150"; + version = "4.9.151"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1r0pf44j523a142skgcy97ia32r46gg3ivzg1ziy8cxll9xigk4l"; + sha256 = "0p22xla6yq1zwhypfh1zkp0n12wjz5m806lmv8scwkbyh2amb5hm"; }; } // (args.argsOverride or {})) From 6ad56550e41811069713c63bd33360558ccfcee9 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 17 Jan 2019 06:55:59 -0500 Subject: [PATCH 33/46] linux: 4.14.93 -> 4.14.94 --- pkgs/os-specific/linux/kernel/linux-4.14.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index 6b314195bf88..efcf6c0d5bf2 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.93"; + version = "4.14.94"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1b8v4962b0j9fkipqldp0agss2hgvlhn24krw619f27p0jr5y4mv"; + sha256 = "1w933hd1ffd62znsha5z9qgjpsnh03f3r01f4b69l814n25m2a77"; }; } // (args.argsOverride or {})) From b4ab6ffb7f6c663690e3f84ee5f300c470e132b3 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 17 Jan 2019 06:56:08 -0500 Subject: [PATCH 34/46] linux: 4.19.15 -> 4.19.16 --- pkgs/os-specific/linux/kernel/linux-4.19.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index bb3850e5a6d0..fc51cb2bf698 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.15"; + version = "4.19.16"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0v9nbkxc017ydcah5q0yhrlq1f7awc33m6w4gpif2f0wvxfimxkq"; + sha256 = "1pqvn6dsh0xhdpawz4ag27vkw1abvb6sn3869i4fbrz33ww8i86q"; }; } // (args.argsOverride or {})) From bae1a0f825008970583dbb06d132b80b14716832 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 17 Jan 2019 06:56:20 -0500 Subject: [PATCH 35/46] linux: 4.20.2 -> 4.20.3 --- pkgs/os-specific/linux/kernel/linux-4.20.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.20.nix b/pkgs/os-specific/linux/kernel/linux-4.20.nix index d21f5ed4c8c5..f7636ae02d56 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.20.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.20.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.20.2"; + version = "4.20.3"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0sc60xj10r4pmlxisc57fy4f5pr7wgkgc96qc46cyj656fcbhjgb"; + sha256 = "0ibz33xgmvyvaql2jbl9kagv13nar9pjar7pawxyga04hh9bvhdr"; }; } // (args.argsOverride or {})) From d580b66fd11ffd4747971c2183823fc53693f852 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 17 Jan 2019 13:04:10 +0100 Subject: [PATCH 36/46] phpPackages.phpstan: init at 0.11 PHP Static Analysis Tool --- pkgs/top-level/php-packages.nix | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index cb425b14e1d4..3cfa8f6e6d66 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -409,6 +409,40 @@ let }; }; + phpstan = pkgs.stdenv.mkDerivation rec { + name = "phpstan-${version}"; + version = "0.11"; + + src = pkgs.fetchurl { + url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar"; + sha256 = "09p3cg5ii862p2l44fcv7hh400nsmxvwn1jjr929y21p01wsjhkp"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/phpstan/phpstan.phar + makeWrapper ${php}/bin/php $out/bin/phpstan \ + --add-flags "$out/libexec/phpstan/phpstan.phar" + ''; + + meta = with pkgs.lib; { + description = "PHP Static Analysis Tool"; + longDescription = '' + PHPStan focuses on finding errors in your code without actually running + it. It catches whole classes of bugs even before you write tests for the + code. It moves PHP closer to compiled languages in the sense that the + correctness of each line of the code can be checked before you run the + actual line. + ''; + license = licenses.mit; + homepage = https://github.com/phpstan/phpstan; + maintainers = with maintainers; [ etu ]; + }; + }; + psysh = pkgs.stdenv.mkDerivation rec { name = "psysh-${version}"; version = "0.9.8"; From 3a6cd12a476ae9d9989e04fd2078fecd088eba16 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Thu, 17 Jan 2019 13:25:52 +0100 Subject: [PATCH 37/46] tengine: 2.2.2 -> 2.2.3 (security) Fixes CVE-2018-16843, CVE-2018-16844 and CVE-2018-16845. --- pkgs/servers/http/tengine/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/http/tengine/default.nix b/pkgs/servers/http/tengine/default.nix index 36f326d5590b..fb343d1a05c4 100644 --- a/pkgs/servers/http/tengine/default.nix +++ b/pkgs/servers/http/tengine/default.nix @@ -10,12 +10,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "2.2.2"; + version = "2.2.3"; name = "tengine-${version}"; src = fetchurl { - url = "https://github.com/alibaba/tengine/archive/${name}.tar.gz"; - sha256 = "1vq73wsldvj7rc61ag85pvnaacrrq9rs0pfqv71z5iyvb5r3bxc2"; + url = "https://github.com/alibaba/tengine/archive/${version}.tar.gz"; + sha256 = "0x12mfs0q7lihpl335ad222a1a2sdkqzj5q8zbybzr20frixjs42"; }; buildInputs = From 83963ba209397c424a8ed0660afe063f47fabd83 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 17 Jan 2019 08:12:34 -0500 Subject: [PATCH 38/46] slack: 3.3.3 -> 3.3.7 --- .../networking/instant-messengers/slack/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index 51b6fb1d69c9..ece9c1089fad 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -1,14 +1,15 @@ { darkMode ? false, stdenv, fetchurl, dpkg, makeWrapper , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib , gnome2, gtk3, gdk_pixbuf, libnotify, libxcb, nspr, nss, pango -, systemd, xorg }: +, systemd, xorg, at-spi2-atk }: let - version = "3.3.3"; + version = "3.3.7"; rpath = stdenv.lib.makeLibraryPath [ alsaLib + at-spi2-atk atk cairo cups @@ -47,7 +48,7 @@ let if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb"; - sha256 = "01x4anbm62y49zfkyfvxih5rk8g2qi32ppb8j2a5pwssyw4wqbfi"; + sha256 = "1q3866iaby8rqim8h2m398wzi0isnnlsxirlq63fzz7a4g1hnc8p"; } else throw "Slack is not supported on ${stdenv.hostPlatform.system}"; From 23a13b562cb7f1dd8a13aba1863a16aee329019b Mon Sep 17 00:00:00 2001 From: Danylo Hlynskyi Date: Thu, 17 Jan 2019 15:24:44 +0200 Subject: [PATCH 39/46] kernel config: add support for CONFIG_SQUASHFS_ZSTD (#52967) Also, allow override `make-squashfs.nix` compression parameters. --- nixos/lib/make-squashfs.nix | 5 ++++- pkgs/os-specific/linux/kernel/common-config.nix | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/nixos/lib/make-squashfs.nix b/nixos/lib/make-squashfs.nix index 7ab84e47f53b..ee76c9c5bf24 100644 --- a/nixos/lib/make-squashfs.nix +++ b/nixos/lib/make-squashfs.nix @@ -3,6 +3,9 @@ , # The root directory of the squashfs filesystem is filled with the # closures of the Nix store paths listed here. storeContents ? [] +, # Compression parameters. + # For zstd compression you can use "zstd -Xcompression-level 6". + comp ? "xz -Xdict-size 100%" }: stdenv.mkDerivation { @@ -20,6 +23,6 @@ stdenv.mkDerivation { # Generate the squashfs image. mksquashfs nix-path-registration $(cat $closureInfo/store-paths) $out \ - -keep-as-directory -all-root -b 1048576 -comp xz -Xdict-size 100% + -keep-as-directory -all-root -b 1048576 -comp ${comp} ''; } diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index ab4b1cc2fc96..1466b51b2616 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -320,6 +320,7 @@ let SQUASHFS_LZO = yes; SQUASHFS_XZ = yes; SQUASHFS_LZ4 = yes; + SQUASHFS_ZSTD = whenAtLeast "4.14" yes; # Native Language Support modules, needed by some filesystems NLS = yes; From d428e37ceea439addf7a7f5f13d8050373c514a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 17 Jan 2019 15:27:40 +0100 Subject: [PATCH 40/46] python.pkgs.base58: 1.0.0 -> 1.0.3 --- pkgs/development/python-modules/base58/default.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/base58/default.nix b/pkgs/development/python-modules/base58/default.nix index 43b2761f6bca..aafd73b8d8d5 100644 --- a/pkgs/development/python-modules/base58/default.nix +++ b/pkgs/development/python-modules/base58/default.nix @@ -1,17 +1,15 @@ -{ stdenv, fetchFromGitHub, buildPythonPackage, pytest, pyhamcrest }: +{ stdenv, fetchPypi, buildPythonPackage, pytest, pyhamcrest }: buildPythonPackage rec { pname = "base58"; - version = "1.0.0"; + version = "1.0.3"; - src = fetchFromGitHub { - owner = "keis"; - repo = "base58"; - rev = "v${version}"; - sha256 = "0f8isdpvbgw0sqn9bj7hk47y8akpvdl8sn6rkszla0xb92ywj0f6"; + src = fetchPypi { + inherit pname version; + sha256 = "9a793c599979c497800eb414c852b80866f28daaed5494703fc129592cc83e60"; }; - buildInputs = [ pytest pyhamcrest ]; + checkInputs = [ pytest pyhamcrest ]; checkPhase = '' pytest ''; From 2dbaab7afe1cd796fc4dbe3383207f2be5060b75 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 17 Jan 2019 04:48:49 -0800 Subject: [PATCH 41/46] liburcu: 0.10.1 -> 0.10.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/liburcu/versions --- pkgs/development/libraries/liburcu/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix index 58da13044523..0cc18d82720b 100644 --- a/pkgs/development/libraries/liburcu/default.nix +++ b/pkgs/development/libraries/liburcu/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl }: stdenv.mkDerivation rec { - version = "0.10.1"; + version = "0.10.2"; name = "liburcu-${version}"; src = fetchurl { url = "https://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2"; - sha256 = "01pbg67qy5hcssy2yi0ckqapzfclgdq93li2rmzw4pa3wh5j42cw"; + sha256 = "1k31faqz9plx5dwxq8g1fnczxda1is4s1x4ph0gjrq3gmy6qixmk"; }; checkInputs = [ perl ]; From f7a3a5ad941602e918c9ed2e94c37968c647b0d9 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 17 Jan 2019 18:41:37 +0100 Subject: [PATCH 42/46] androidStudioPackages.beta: Rename the binary according to the channel The old name "android-studio-preview" was a bit misleading while "android-studio-beta" should clearly reflect that this is from the beta channel. I hope that this does not break any workflows but since "android-studio-preview" was most likely not called from any scripts the risk should be low (also: most people probably use the stable version anyway). --- pkgs/applications/editors/android-studio/common.nix | 2 +- pkgs/applications/editors/android-studio/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix index 23e0584cb7f0..a1465766f8bf 100644 --- a/pkgs/applications/editors/android-studio/common.nix +++ b/pkgs/applications/editors/android-studio/common.nix @@ -158,9 +158,9 @@ in runCommand '' mkdir -p $out/{bin,share/pixmaps} - # TODO: Rename preview -> beta (and add -stable suffix?): echo -n "$startScript" > $out/bin/${pname} chmod +x $out/bin/${pname} + ln -s ${androidStudio}/bin/studio.png $out/share/pixmaps/${drvName}.png ln -s ${desktopItem}/share/applications $out/share/applications '' diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 745e36892fc4..c7dc08821624 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -35,7 +35,7 @@ in rec { beta = mkStudio (betaVersion // { channel = "beta"; - pname = "android-studio-preview"; + pname = "android-studio-beta"; }); dev = mkStudio (latestVersion // { From 9aa46aedfeb02b5aad7c91365a993c11776ef398 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 17 Jan 2019 19:02:51 +0100 Subject: [PATCH 43/46] android-studio-preview: Deprecate the attribute This also covers "androidStudioPackages.preview". I believe that the name is confusing (is it from the beta or dev/canary channel?) and with this error message it should be obvious how to update ones configuration. --- pkgs/applications/editors/android-studio/default.nix | 11 +++++++++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index c7dc08821624..125538e54cfc 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -23,8 +23,15 @@ let sha256Hash = "1f7lllj85fia02hgy4ksbqh80sdcml16fv1g892jc6lwykjrdw5y"; }; in rec { - # Old alias - preview = beta; + # Old alias (TODO @primeos: Remove after 19.03 is branched off): + preview = throw '' + The attributes "android-studio-preview" and "androidStudioPackages.preview" + are now deprecated and will be removed soon, please use + "androidStudioPackages.beta" instead. This attribute corresponds to the + beta channel, if you want the latest release you can use + "androidStudioPackages.dev" or "androidStudioPackages.canary" instead + (currently, there is no difference between both channels). + ''; # Attributes are named by their corresponding release channels diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 590281de11a3..0452841d99ef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16053,7 +16053,7 @@ in androidStudioPackages = recurseIntoAttrs (callPackage ../applications/editors/android-studio { }); android-studio = androidStudioPackages.stable; - android-studio-preview = androidStudioPackages.beta; + android-studio-preview = androidStudioPackages.preview; animbar = callPackage ../applications/graphics/animbar { }; From e379ee67c3562a32bc8a13f774502a97a6f7b5b9 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Thu, 17 Jan 2019 00:28:37 +0100 Subject: [PATCH 44/46] sage: 8.5 -> 8.6 --- .../science/math/sage/env-locations.nix | 4 +-- .../patches/dont-test-guess-gaproot.patch | 13 --------- .../science/math/sage/sage-env.nix | 12 ++++---- .../science/math/sage/sage-src.nix | 28 ++++--------------- .../science/math/sage/sage-with-env.nix | 6 ++-- .../science/math/sage/sagelib.nix | 4 +-- 6 files changed, 17 insertions(+), 50 deletions(-) delete mode 100644 pkgs/applications/science/math/sage/patches/dont-test-guess-gaproot.patch diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix index 9ec8d5cd83e5..8354629cab55 100644 --- a/pkgs/applications/science/math/sage/env-locations.nix +++ b/pkgs/applications/science/math/sage/env-locations.nix @@ -7,7 +7,7 @@ , graphs , elliptic_curves , polytopes_db -, gap-libgap-compatible +, gap , ecl , combinatorial_designs , jmol @@ -35,7 +35,7 @@ writeTextFile rec { 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 GAP_ROOT_DIR='${gap}/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" diff --git a/pkgs/applications/science/math/sage/patches/dont-test-guess-gaproot.patch b/pkgs/applications/science/math/sage/patches/dont-test-guess-gaproot.patch deleted file mode 100644 index 32b877428d51..000000000000 --- a/pkgs/applications/science/math/sage/patches/dont-test-guess-gaproot.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/sage/libs/gap/util.pyx b/src/sage/libs/gap/util.pyx -index 5ff67107c1..1318df86fd 100644 ---- a/src/sage/libs/gap/util.pyx -+++ b/src/sage/libs/gap/util.pyx -@@ -165,7 +165,7 @@ def _guess_gap_root(): - EXAMPLES:: - - sage: from sage.libs.gap.util import _guess_gap_root -- sage: _guess_gap_root() -+ sage: _guess_gap_root() # not tested (not necessary on nixos) - The gap-4.5.5.spkg (or later) seems to be not installed! - ... - """ diff --git a/pkgs/applications/science/math/sage/sage-env.nix b/pkgs/applications/science/math/sage/sage-env.nix index d5e057d53357..8fd69f62171a 100644 --- a/pkgs/applications/science/math/sage/sage-env.nix +++ b/pkgs/applications/science/math/sage/sage-env.nix @@ -14,8 +14,7 @@ , python3 , pkg-config , pari -, gap-libgap-compatible -, libgap +, gap , ecl , maxima-ecl , singular @@ -70,8 +69,7 @@ let binutils.bintools pkg-config pari - gap-libgap-compatible - libgap + gap ecl maxima-ecl singular @@ -118,7 +116,7 @@ writeTextFile rec { # set dependent vars, like JUPYTER_CONFIG_DIR source "${sagelib.src}/src/bin/sage-env" - export PATH="${runtimepath}:$orig_path" # sage-env messes with PATH + export PATH="$RUNTIMEPATH_PREFIX:${runtimepath}:$orig_path" # sage-env messes with PATH export SAGE_LOGS="$TMPDIR/sage-logs" export SAGE_DOC="''${SAGE_DOC_OVERRIDE:-doc-placeholder}" @@ -133,7 +131,7 @@ writeTextFile rec { export LDFLAGS='${ lib.concatStringsSep " " (map (pkg: "-L${pkg}/lib") [ flint - libgap + gap glpk gmp mpfr @@ -153,7 +151,7 @@ writeTextFile rec { gmp.dev glpk flint - libgap + gap pynac mpfr.dev ]) diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 43ab175ce143..c4760764a437 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -9,14 +9,14 @@ # all get the same sources with the same patches applied. stdenv.mkDerivation rec { - version = "8.5"; + version = "8.6"; name = "sage-src-${version}"; src = fetchFromGitHub { owner = "sagemath"; repo = "sage"; rev = version; - sha256 = "08mb9626phsls2phdzqxsnp2df5pn5qr72m0mm4nncby26pwn19c"; + sha256 = "1vs3pbgbqpg0qnwr018bqsdmm7crgjp310cx8zwh7za3mv1cw5j3"; }; # Patches needed because of particularities of nix or the way this is packaged. @@ -46,8 +46,6 @@ stdenv.mkDerivation rec { # tests) are also run. That is necessary to test dochtml individually. See # https://trac.sagemath.org/ticket/26110 for an upstream discussion. ./patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch - - ./patches/dont-test-guess-gaproot.patch ]; # Patches needed because of package updates. We could just pin the versions of @@ -60,12 +58,13 @@ stdenv.mkDerivation rec { # Fetch a diff between `base` and `rev` on sage's git server. # Used to fetch trac tickets by setting the `base` to the last release and the # `rev` to the last commit of the ticket. - fetchSageDiff = { base, rev, ...}@args: ( + fetchSageDiff = { base, rev, name ? "sage-diff-${base}-${rev}.patch", ...}@args: ( fetchpatch ({ - url = "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}"; + inherit name; + url = "https://git.sagemath.org/sage.git/rawdiff?id2=${base}&id=${rev}"; # We don't care about sage's own build system (which builds all its dependencies). # Exclude build system changes to avoid conflicts. - excludes = [ "build/*" ]; + excludes = [ "/build/*" ]; } // builtins.removeAttrs args [ "rev" "base" ]) ); in [ @@ -82,21 +81,6 @@ stdenv.mkDerivation rec { # https://trac.sagemath.org/ticket/26315 ./patches/giac-1.5.0.patch - # https://trac.sagemath.org/ticket/26326 - # needs to be split because there is a merge commit in between - (fetchSageDiff { - name = "networkx-2.2-1.patch"; - base = "8.4"; - rev = "68f5ad068184745b38ba6716bf967c8c956c52c5"; - sha256 = "112b5ywdqgyzgvql2jj5ss8la9i8rgnrzs8vigsfzg4shrcgh9p6"; - }) - (fetchSageDiff { - name = "networkx-2.2-2.patch"; - base = "626485bbe5f33bf143d6dfba4de9c242f757f59b~1"; - rev = "db10d327ade93711da735a599a67580524e6f7b4"; - sha256 = "09v87id25fa5r9snfn4mv79syhc77jxfawj5aizmdpwdmpgxjk1f"; - }) - # https://trac.sagemath.org/ticket/26442 (fetchSageDiff { name = "cypari2-2.0.3.patch"; diff --git a/pkgs/applications/science/math/sage/sage-with-env.nix b/pkgs/applications/science/math/sage/sage-with-env.nix index c5db392f1036..18060f342a92 100644 --- a/pkgs/applications/science/math/sage/sage-with-env.nix +++ b/pkgs/applications/science/math/sage/sage-with-env.nix @@ -6,8 +6,7 @@ , pkg-config , three , singular -, libgap -, gap-libgap-compatible +, gap , giac , maxima-ecl , pari @@ -35,8 +34,7 @@ let three pynac giac - libgap - gap-libgap-compatible + gap pari gmp gfan diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix index 03b1ecd2c0b7..a754a2745098 100644 --- a/pkgs/applications/science/math/sage/sagelib.nix +++ b/pkgs/applications/science/math/sage/sagelib.nix @@ -20,7 +20,7 @@ , jinja2 , lcalc , lrcalc -, libgap +, gap , linbox , m4ri , m4rie @@ -88,7 +88,7 @@ buildPythonPackage rec { glpk gsl lcalc - libgap + gap libmpc linbox lrcalc From 471ba670137780c9eb0a58abd99bfaa8b007cfe1 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Thu, 17 Jan 2019 18:05:28 +0100 Subject: [PATCH 45/46] libgap, gap-libgap-compatible: remove They were only used by sage, which now (since version 8.6) uses gaps own (new) libgap. --- pkgs/top-level/all-packages.nix | 41 --------------------------------- 1 file changed, 41 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ff48c333d5ca..e1f9ec2461cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10822,47 +10822,6 @@ in libgadu = callPackage ../development/libraries/libgadu { }; - # Deprecated since gap itself now ships with a library component. This is - # still necessary for sage 8.5 but will be removed once we switch to sage - # 8.6. - gap-libgap-compatible = let - version = "4r8p6"; - pkgVer = "2016_11_12-14_25"; - in - (gap.override { packageSet = "minimal"; }).overrideAttrs (oldAttrs: { - name = "libgap-${oldAttrs.pname}-${version}"; - inherit version; - src = fetchurl { - url = "https://www.gap-system.org/pub/gap/gap48/tar.bz2/gap${version}_${pkgVer}.tar.bz2"; - sha256 = "19n2p1mdg33s2x9rs51iak7rgndc1cwr56jyqnah0g1ydgg1yh6b"; - }; - # libgap targets not yet available for 4r8p6 - installPhase = '' - mkdir -p "$out/bin" "$out/share/gap/" - - mkdir -p "$out/share/gap" - echo "Copying files to target directory" - cp -ar . "$out/share/gap/build-dir" - - makeWrapper "$out/share/gap/build-dir/bin/gap.sh" "$out/bin/gap" \ - --set GAP_DIR $out/share/gap/build-dir - ''; - patches = [ - # 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"; - }) - - # fix infinite loop in writeandcheck() when writing an error message fails. - (fetchpatch { - url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/writeandcheck.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba"; - sha256 = "1r1511x4kc2i2mbdq1b61rb6p3misvkf1v5qy3z6fmn6vqwziaz1"; - }) - ]; - }); - libgap = callPackage ../development/libraries/libgap { }; - libgda = callPackage ../development/libraries/libgda { }; libgdamm = callPackage ../development/libraries/libgdamm { }; From 2195c59234264e621b60c446750d74db92201ed2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Thu, 17 Jan 2019 21:06:31 +0100 Subject: [PATCH 46/46] gnome3.removePackagesByName: fix filter reference (#54204) --- pkgs/desktops/gnome-3/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 8905b95a562e..8d75797516d3 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -17,7 +17,7 @@ lib.makeScope pkgs.newScope (self: with self; { pkgName = drv: (builtins.parseDrvName drv.name).name; namesToRemove = map pkgName packagesToRemove; in - filter (x: !(builtins.elem (pkgName x) namesToRemove)) packages; + lib.filter (x: !(builtins.elem (pkgName x) namesToRemove)) packages; maintainers = with pkgs.lib.maintainers; [ lethalman jtojnar hedning ];