Merge branch 'master' into staging
This commit is contained in:
commit
af3758e0b5
47 changed files with 546 additions and 181 deletions
|
@ -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:
|
||||
|
|
|
@ -814,7 +814,7 @@ args.stdenv.mkDerivation (args // {
|
|||
|
||||
<para>
|
||||
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 <literal>fetchurl</literal>. Note that you should also
|
||||
prefer protocols which have a corresponding proxy environment variable.
|
||||
|
@ -876,6 +876,123 @@ src = fetchFromGitHub {
|
|||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
<section xml:id="sec-source-hashes">
|
||||
<title>Obtaining source hash</title>
|
||||
|
||||
<para>
|
||||
Preferred source hash type is sha256. There are several ways to get it.
|
||||
</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Prefetch URL (with <literal>nix-prefetch-<replaceable>XXX</replaceable>
|
||||
<replaceable>URL</replaceable></literal>, where
|
||||
<replaceable>XXX</replaceable> is one of <literal>url</literal>,
|
||||
<literal>git</literal>, <literal>hg</literal>, <literal>cvs</literal>,
|
||||
<literal>bzr</literal>, <literal>svn</literal>). Hash is printed to
|
||||
stdout.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Prefetch by package source (with <literal>nix-prefetch-url
|
||||
'<nixpkgs>' -A <replaceable>PACKAGE</replaceable>.src</literal>,
|
||||
where <replaceable>PACKAGE</replaceable> is package attribute name). Hash
|
||||
is printed to stdout.
|
||||
</para>
|
||||
<para>
|
||||
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 (<literal>.srcs</literal>,
|
||||
architecture-dependent sources, etc).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Upstream provided hash: use it when upstream provides
|
||||
<literal>sha256</literal> or <literal>sha512</literal> (when upstream
|
||||
provides <literal>md5</literal>, don't use it, compute
|
||||
<literal>sha256</literal> instead).
|
||||
</para>
|
||||
<para>
|
||||
A little nuance is that <literal>nix-prefetch-*</literal> tools produce
|
||||
hash encoded with <literal>base32</literal>, but upstream usually provides
|
||||
hexadecimal (<literal>base16</literal>) encoding. Fetchers understand both
|
||||
formats. Nixpkgs does not standardize on any one format.
|
||||
</para>
|
||||
<para>
|
||||
You can convert between formats with nix-hash, for example:
|
||||
<screen>
|
||||
$ nix-hash --type sha256 --to-base32 <replaceable>HASH</replaceable>
|
||||
</screen>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Extracting hash from local source tarball can be done with
|
||||
<literal>sha256sum</literal>. Use <literal>nix-prefetch-url
|
||||
file:///path/to/tarball </literal> if you want base32 hash.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Fake hash: set fake hash in package expression, perform build and extract
|
||||
correct hash from error Nix prints.
|
||||
</para>
|
||||
<para>
|
||||
For package updates it is enough to change one symbol to make hash fake.
|
||||
For new packages, you can use <literal>lib.fakeSha256</literal>,
|
||||
<literal>lib.fakeSha512</literal> or any other fake hash.
|
||||
</para>
|
||||
<para>
|
||||
This is last resort method when reconstructing source URL is non-trivial
|
||||
and <literal>nix-prefetch-url -A</literal> isn't applicable (for example,
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/d2ab091dd308b99e4912b805a5eb088dd536adb9/pkgs/applications/video/kodi/default.nix#L73">
|
||||
one of <literal>kodi</literal> dependencies</link>). 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.
|
||||
</para>
|
||||
<warning><para>This method has security problems. Check below for details.</para></warning>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
|
||||
<section xml:id="sec-source-hashes-security">
|
||||
<title>Obtaining hashes securely</title>
|
||||
<para>
|
||||
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:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>http://</literal> URLs are not secure to prefetch hash from;
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
hashes from upstream (in method 3) should be obtained via secure protocol;
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>https://</literal> URLs are secure in methods 1, 2, 3;
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>https://</literal> 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 <literal>https://</literal> URL and prefetch it
|
||||
with method 1.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
</section>
|
||||
<section xml:id="sec-patches">
|
||||
<title>Patches</title>
|
||||
|
||||
|
|
|
@ -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}
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -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/
|
||||
];
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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
|
||||
''
|
||||
|
|
|
@ -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 // {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
|
|
@ -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}";
|
||||
|
|
|
@ -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";
|
||||
});
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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!
|
||||
...
|
||||
"""
|
|
@ -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
|
||||
])
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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; [
|
||||
|
|
|
@ -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
|
||||
];
|
||||
}
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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 ];
|
||||
|
|
66
pkgs/development/libraries/readline/8.0.nix
Normal file
66
pkgs/development/libraries/readline/8.0.nix
Normal file
|
@ -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";
|
||||
};
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
# Automatically generated by `update-patch-set.sh'; do not edit.
|
||||
|
||||
patch: [
|
||||
]
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ] ++
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {}))
|
||||
|
|
|
@ -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 {}))
|
||||
|
|
|
@ -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 {}))
|
||||
|
|
|
@ -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 {}))
|
||||
|
|
|
@ -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 {}))
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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 = {
|
||||
|
|
126
pkgs/shells/bash/5.0.nix
Normal file
126
pkgs/shells/bash/5.0.nix
Normal file
|
@ -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";
|
||||
};
|
||||
}
|
4
pkgs/shells/bash/bash-5.0-patches.nix
Normal file
4
pkgs/shells/bash/bash-5.0-patches.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
# Automatically generated by `update-patch-set.sh'; do not edit.
|
||||
|
||||
patch: [
|
||||
]
|
|
@ -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 ];
|
||||
|
|
|
@ -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 { };
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
Loading…
Reference in a new issue