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..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.
@@ -876,6 +876,123 @@ 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 can't be accessed by
+ 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 does not standardize 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.
+
+
+ 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 desired hash.
+
+ This method has security problems. Check below for details.
+
+
+
+
+ Obtaining hashes securely
+
+ 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.
+
+
+
+
+
Patches
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/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 1f005b2cf044..dfff6c720d79 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/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..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
@@ -35,7 +42,7 @@ in rec {
beta = mkStudio (betaVersion // {
channel = "beta";
- pname = "android-studio-preview";
+ pname = "android-studio-beta";
});
dev = mkStudio (latestVersion // {
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;
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 ];
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
'';
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}";
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";
});
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 ];
diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix
index f6a9f58b1762..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" ];
@@ -107,7 +150,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"
@@ -129,6 +181,7 @@ stdenv.mkDerivation rec {
[
raskin
chrisjefferson
+ timokau
];
platforms = platforms.all;
# keeping all packages increases the package size considerably, wchich
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
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
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 71401c8ead36..8d75797516d3 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
+ lib.filter (x: !(builtins.elem (pkgName x) namesToRemove)) packages;
+
maintainers = with pkgs.lib.maintainers; [ lethalman jtojnar hedning ];
corePackages = with gnome3; [
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
];
}
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'
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 ];
diff --git a/pkgs/development/libraries/readline/8.0.nix b/pkgs/development/libraries/readline/8.0.nix
new file mode 100644
index 000000000000..eefef9727663
--- /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 = with maintainers; [ vanschelven dtzWill ];
+
+ 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/development/python-modules/aniso8601/default.nix b/pkgs/development/python-modules/aniso8601/default.nix
index 163e2c9b2099..4f6602395300 100644
--- a/pkgs/development/python-modules/aniso8601/default.nix
+++ b/pkgs/development/python-modules/aniso8601/default.nix
@@ -1,9 +1,9 @@
{ stdenv, buildPythonPackage, fetchPypi
-, dateutil }:
+, dateutil, mock, isPy3k }:
buildPythonPackage rec {
pname = "aniso8601";
- version = "4.0.1";
+ version = "4.1.0";
meta = with stdenv.lib; {
description = "Parses ISO 8601 strings.";
@@ -13,8 +13,10 @@ buildPythonPackage rec {
propagatedBuildInputs = [ dateutil ];
+ checkInputs = stdenv.lib.optional (!isPy3k) mock;
+
src = fetchPypi {
inherit pname version;
- sha256 = "15cwnadw2xdczdi13k9grrgqq67hxgys4l155dqsl2zh3glhsmp7";
+ sha256 = "1x49k287ky1spv3msc9fwmc7ydyw6rlcr14nslgcmpjfn3pgzh03";
};
}
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
'';
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
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 ];
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 ] ++
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";
};
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;
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 {}))
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 {}))
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 {}))
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 {}))
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 {}))
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 =
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 = {
diff --git a/pkgs/shells/bash/5.0.nix b/pkgs/shells/bash/5.0.nix
new file mode 100644
index 000000000000..b78282ab6e4c
--- /dev/null
+++ b/pkgs/shells/bash/5.0.nix
@@ -0,0 +1,126 @@
+{ stdenv, buildPackages
+, fetchurl, binutils ? null, bison, 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;
+
+ 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;
+
+ buildInputs = optional interactive readline80;
+
+ enableParallelBuilding = true;
+
+ 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 = with maintainers; [ peti dtzWill ];
+ };
+
+ 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/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 ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0bd15935e748..e65be0be0b2a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6524,6 +6524,11 @@ in
any-nix-shell = callPackage ../shells/any-nix-shell { };
bash = lowPrio (callPackage ../shells/bash/4.4.nix { });
+ bash_5 = lowPrio (callPackage ../shells/bash/5.0.nix { });
+ bashInteractive_5 = 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 {
@@ -10817,33 +10822,6 @@ in
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}";
- inherit version;
- src = fetchurl {
- url = "https://www.gap-system.org/pub/gap/gap48/tar.bz2/gap${version}_${pkgVer}.tar.bz2";
- sha256 = "19n2p1mdg33s2x9rs51iak7rgndc1cwr56jyqnah0g1ydgg1yh6b";
- };
- 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 { };
@@ -12397,6 +12375,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 {
@@ -16048,7 +16028,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 { };
@@ -22002,7 +21982,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 { };
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";