Merge staging-next into staging
This commit is contained in:
commit
8634c6f7d1
|
@ -9861,6 +9861,12 @@
|
||||||
githubId = 3105057;
|
githubId = 3105057;
|
||||||
name = "Jan Beinke";
|
name = "Jan Beinke";
|
||||||
};
|
};
|
||||||
|
therealansh = {
|
||||||
|
email = "tyagiansh23@gmail.com";
|
||||||
|
github = "therealansh";
|
||||||
|
githubId = 57180880;
|
||||||
|
name = "Ansh Tyagi";
|
||||||
|
};
|
||||||
thesola10 = {
|
thesola10 = {
|
||||||
email = "me@thesola.io";
|
email = "me@thesola.io";
|
||||||
github = "thesola10";
|
github = "thesola10";
|
||||||
|
|
|
@ -204,18 +204,18 @@
|
||||||
XKB
|
XKB
|
||||||
</link>
|
</link>
|
||||||
keyboard layouts using the option
|
keyboard layouts using the option
|
||||||
<option>
|
<option><link linkend="opt-services.xserver.extraLayouts">
|
||||||
<link linkend="opt-services.xserver.extraLayouts">
|
services.xserver.extraLayouts</link></option>.
|
||||||
services.xserver.extraLayouts
|
</para>
|
||||||
</link>
|
<para>
|
||||||
</option>.
|
|
||||||
As a first example, we are going to create a layout based on the basic US
|
As a first example, we are going to create a layout based on the basic US
|
||||||
layout, with an additional layer to type some greek symbols by pressing the
|
layout, with an additional layer to type some greek symbols by pressing the
|
||||||
right-alt key.
|
right-alt key.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
To do this we are going to create a <literal>us-greek</literal> file
|
Create a file called <literal>us-greek</literal> with the following
|
||||||
with a <literal>xkb_symbols</literal> section.
|
content (under a directory called <literal>symbols</literal>; it's
|
||||||
|
an XKB peculiarity that will help with testing):
|
||||||
</para>
|
</para>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
xkb_symbols "us-greek"
|
xkb_symbols "us-greek"
|
||||||
|
@ -231,14 +231,13 @@ xkb_symbols "us-greek"
|
||||||
};
|
};
|
||||||
</programlisting>
|
</programlisting>
|
||||||
<para>
|
<para>
|
||||||
To install the layout, the filepath, a description and the list of
|
A minimal layout specification must include the following:
|
||||||
languages must be given:
|
|
||||||
</para>
|
</para>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<xref linkend="opt-services.xserver.extraLayouts"/>.us-greek = {
|
<xref linkend="opt-services.xserver.extraLayouts"/>.us-greek = {
|
||||||
description = "US layout with alt-gr greek";
|
description = "US layout with alt-gr greek";
|
||||||
languages = [ "eng" ];
|
languages = [ "eng" ];
|
||||||
symbolsFile = /path/to/us-greek;
|
symbolsFile = /yourpath/symbols/us-greek;
|
||||||
}
|
}
|
||||||
</programlisting>
|
</programlisting>
|
||||||
<note>
|
<note>
|
||||||
|
@ -248,9 +247,27 @@ xkb_symbols "us-greek"
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
<para>
|
<para>
|
||||||
The layout should now be installed and ready to use: try it by
|
Applying this customization requires rebuilding several packages,
|
||||||
running <literal>setxkbmap us-greek</literal> and type
|
and a broken XKB file can lead to the X session crashing at login.
|
||||||
<literal><alt>+a</literal>. To change the default the usual
|
Therefore, you're strongly advised to <emphasis role="strong">test
|
||||||
|
your layout before applying it</emphasis>:
|
||||||
|
<screen>
|
||||||
|
<prompt>$ </prompt>nix-shell -p xorg.xkbcomp
|
||||||
|
<prompt>$ </prompt>setxkbmap -I/yourpath us-greek -print | xkbcomp -I/yourpath - $DISPLAY
|
||||||
|
</screen>
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
You can inspect the predefined XKB files for examples:
|
||||||
|
<screen>
|
||||||
|
<prompt>$ </prompt>echo "$(nix-build --no-out-link '<nixpkgs>' -A xorg.xkeyboardconfig)/etc/X11/xkb/"
|
||||||
|
</screen>
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Once the configuration is applied, and you did a logout/login
|
||||||
|
cycle, the layout should be ready to use. You can try it by e.g.
|
||||||
|
running <literal>setxkbmap us-greek</literal> and then type
|
||||||
|
<literal><alt>+a</literal> (it may not get applied in your
|
||||||
|
terminal straight away). To change the default, the usual
|
||||||
<option>
|
<option>
|
||||||
<link linkend="opt-services.xserver.layout">
|
<link linkend="opt-services.xserver.layout">
|
||||||
services.xserver.layout
|
services.xserver.layout
|
||||||
|
|
|
@ -1,33 +1,56 @@
|
||||||
{ lib, stdenv, fetchurl, pkg-config, autoconf, automake, gettext
|
{ lib
|
||||||
, fluxbox, bc, gtkmm2, glibmm, libglademm, libsigcxx }:
|
, stdenv
|
||||||
|
, fetchurl
|
||||||
|
, autoconf
|
||||||
|
, automake
|
||||||
|
, bc
|
||||||
|
, fluxbox
|
||||||
|
, gettext
|
||||||
|
, glibmm
|
||||||
|
, gtkmm2
|
||||||
|
, libglademm
|
||||||
|
, libsigcxx
|
||||||
|
, pkg-config
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
pname = "fme";
|
pname = "fme";
|
||||||
version = "1.1.3";
|
version = "1.1.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/rdehouss/fme/archive/v${version}.tar.gz";
|
url = "https://github.com/rdehouss/fme/archive/v${version}.tar.gz";
|
||||||
sha256 = "d1c81a6a38c0faad02943ad65d6d0314bd205c6de841669a2efe43e4c503e63d";
|
hash = "sha256-0cgaajjA+q0ClDrWXW0DFL0gXG3oQWaaLv5D5MUD5j0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [
|
||||||
buildInputs = [ autoconf automake gettext fluxbox bc gtkmm2 glibmm libglademm libsigcxx ];
|
autoconf
|
||||||
|
automake
|
||||||
|
gettext
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
bc
|
||||||
|
fluxbox
|
||||||
|
glibmm
|
||||||
|
gtkmm2
|
||||||
|
libglademm
|
||||||
|
libsigcxx
|
||||||
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/rdehouss/fme/";
|
||||||
description = "Editor for Fluxbox menus";
|
description = "Editor for Fluxbox menus";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Fluxbox Menu Editor is a menu editor for the Window Manager Fluxbox written in C++
|
Fluxbox Menu Editor is a menu editor for the Window Manager Fluxbox
|
||||||
with the libraries Gtkmm, Glibmm, libglademm and gettext for internationalization.
|
written in C++ with the libraries Gtkmm, Glibmm, libglademm and gettext
|
||||||
Its user-friendly interface will help you to edit, delete, move (Drag and Drop)
|
for internationalization. Its user-friendly interface will help you to
|
||||||
a row, a submenu, etc very easily.
|
edit, delete, move (Drag and Drop) a row, a submenu, etc very easily.
|
||||||
'';
|
'';
|
||||||
homepage = "https://github.com/rdehouss/fme/";
|
license = licenses.gpl2Plus;
|
||||||
license = licenses.gpl2;
|
|
||||||
maintainers = [ maintainers.AndersonTorres ];
|
maintainers = [ maintainers.AndersonTorres ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
|
|
|
@ -10,7 +10,7 @@ assert withQt -> qt5 != null;
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "3.4.4";
|
version = "3.4.5";
|
||||||
variant = if withQt then "qt" else "cli";
|
variant = if withQt then "qt" else "cli";
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
|
@ -20,7 +20,7 @@ in stdenv.mkDerivation {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
|
url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
|
||||||
sha256 = "0aad3m8nh4i75dgjs68217135bzqmhmlgjklmpjh1ihmjwgd373j";
|
sha256 = "sha256-3hqv0QCh4SB8hQ0YDpfdkauNoPXra+7FRfclzbFF0zM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, readline
|
, readline
|
||||||
, gmp
|
, gmp
|
||||||
|
, zlib
|
||||||
# one of
|
# one of
|
||||||
# - "minimal" (~400M):
|
# - "minimal" (~400M):
|
||||||
# Install the bare minimum of packages required by gap to start.
|
# Install the bare minimum of packages required by gap to start.
|
||||||
|
@ -61,11 +62,11 @@ in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gap";
|
pname = "gap";
|
||||||
# https://www.gap-system.org/Releases/
|
# https://www.gap-system.org/Releases/
|
||||||
version = "4.10.2";
|
version = "4.11.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://files.gap-system.org/gap-${lib.versions.major version}.${lib.versions.minor version}/tar.bz2/gap-${version}.tar.bz2";
|
url = "https://files.gap-system.org/gap-${lib.versions.major version}.${lib.versions.minor version}/tar.bz2/gap-${version}.tar.bz2";
|
||||||
sha256 = "0cp6ddk0469zzv1m1vair6gm27ic6c5m77ri8rn0znq3gaps6x94";
|
sha256 = "sha256-vwcKENwqxgWT/mXfD4c9ctTWdQHobrJipva9SPyGhgI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# remove all non-essential packages (which take up a lot of space)
|
# remove all non-essential packages (which take up a lot of space)
|
||||||
|
@ -76,6 +77,7 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
readline
|
readline
|
||||||
gmp
|
gmp
|
||||||
|
zlib
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -83,34 +85,22 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# https://github.com/gap-system/gap/pull/3294
|
|
||||||
(fetchpatch {
|
|
||||||
name = "add-make-install-targets.patch";
|
|
||||||
url = "https://github.com/gap-system/gap/commit/3361c172e6c5ff3bb3f01ba9d6f1dd4ad42cea80.patch";
|
|
||||||
sha256 = "1kwp9qnfvmlbpf1c3rs6j5m2jz22rj7a4hb5x1gj9vkpiyn5pdyj";
|
|
||||||
})
|
|
||||||
|
|
||||||
# Fix for locale specific tests causing issues. Already upstream.
|
# Fix for locale specific tests causing issues. Already upstream.
|
||||||
# Backport of https://github.com/gap-system/gap/pull/4022
|
# Backport of https://github.com/gap-system/gap/pull/4022
|
||||||
# WHEN REMOVING: also remove the`rm tst/testinstall/strings.tst` line in
|
|
||||||
# `postPatch` below. That line is necessary since the patch is not intended
|
|
||||||
# for gap 4.10.
|
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
name = "remove-locale-specific-tests.patch";
|
name = "remove-locale-specific-tests.patch";
|
||||||
url = "https://github.com/gap-system/gap/commit/c18b0c4215b5212a2cc4f305e2d5b94ba716bee8.patch";
|
url = "https://github.com/gap-system/gap/commit/c18b0c4215b5212a2cc4f305e2d5b94ba716bee8.patch";
|
||||||
excludes = ["tst/testinstall/stringobj.tst"];
|
sha256 = "sha256-De+T9Y7ewRT6plJrj2VR8axRvD/JCTYKOBWB7Bw0oq0=";
|
||||||
sha256 = "1mz5b4mbw2jdd1ypp5s0dy6pp0jsvwsxr2dm4kbkls20r1r192sc";
|
|
||||||
})
|
})
|
||||||
|
|
||||||
# fixes aarch64 gc crashes: https://github.com/gap-system/gap/pull/3965
|
# fixes aarch64 gc crashes: https://github.com/gap-system/gap/pull/3965
|
||||||
./mark-genstackfuncbags-as-noinline.patch
|
(fetchpatch {
|
||||||
|
name = "mark-genstackfuncbags-as-noinline.patch";
|
||||||
|
url = "https://github.com/gap-system/gap/commit/f0a8f49ff8dad0a5fa77253d45457c6f40f96778.patch";
|
||||||
|
sha256 = "sha256-GU9tOP1stX2vn8m8kXOBupEpxIYArA76ibKL8eLn0MY=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# File not covered by the remove-locale-specific-tests.patch patch above.
|
|
||||||
rm tst/testinstall/strings.tst
|
|
||||||
'';
|
|
||||||
|
|
||||||
# "teststandard" is a superset of testinstall. It takes ~1h instead of ~1min.
|
# "teststandard" is a superset of testinstall. It takes ~1h instead of ~1min.
|
||||||
# tests are run twice, once with all packages loaded and once without
|
# tests are run twice, once with all packages loaded and once without
|
||||||
# checkTarget = "teststandard";
|
# checkTarget = "teststandard";
|
||||||
|
@ -155,7 +145,6 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
mkdir -p "$out/bin" "$out/share/gap/"
|
mkdir -p "$out/bin" "$out/share/gap/"
|
||||||
|
|
||||||
mkdir -p "$out/share/gap"
|
|
||||||
echo "Copying files to target directory"
|
echo "Copying files to target directory"
|
||||||
cp -ar . "$out/share/gap/build-dir"
|
cp -ar . "$out/share/gap/build-dir"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchurl
|
, fetchpatch
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, flint
|
, flint
|
||||||
|
@ -11,16 +11,36 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.7.26";
|
version = "0.7.27";
|
||||||
pname = "pynac";
|
pname = "pynac";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pynac";
|
owner = "pynac";
|
||||||
repo = "pynac";
|
repo = "pynac";
|
||||||
rev = "pynac-${version}";
|
rev = "pynac-${version}";
|
||||||
sha256 = "09d2p74x1arkydlxy6pw4p4byi7r8q7f29w373h4d8a215kadc6d";
|
sha256 = "sha256-1HHCIeaNE2UsJNX92UlDGLJS8I4nC/8FnwX7Y4F9HpU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "handle_factor.patch";
|
||||||
|
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/handle_factor.patch?h=9.3.rc3";
|
||||||
|
sha256 = "sha256-U1lb5qwBqZZgklfDMhBX4K5u8bz5x42O4w7hyNy2YVw=";
|
||||||
|
})
|
||||||
|
|
||||||
|
(fetchpatch {
|
||||||
|
name = "power_inf_loop.patch";
|
||||||
|
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/power_inf_loop.patch?h=9.3.rc3";
|
||||||
|
sha256 = "sha256-VYeaJl8u2wl7FQ/6xnpZv1KpdNYEmJoPhuMrBADyTRs=";
|
||||||
|
})
|
||||||
|
|
||||||
|
(fetchpatch {
|
||||||
|
name = "too_much_sub.patch";
|
||||||
|
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/too_much_sub.patch?h=9.3.rc3";
|
||||||
|
sha256 = "sha256-lw7xSQ/l+rzPu+ghWF4omYF0mKksGGPuuHJTktvbdis=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
flint
|
flint
|
||||||
gmp
|
gmp
|
||||||
|
@ -34,14 +54,6 @@ stdenv.mkDerivation rec {
|
||||||
pkg-config
|
pkg-config
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
|
||||||
(fetchurl {
|
|
||||||
name = "py_ssize_t_clean.patch";
|
|
||||||
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/py_ssize_t_clean.patch?h=9.2";
|
|
||||||
sha256 = "0l3gbg9hc4v671zf4w376krnk3wh8hj3649610nlvzzxckcryzab";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Python is Not a CAS -- modified version of Ginac";
|
description = "Python is Not a CAS -- modified version of Ginac";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
|
|
@ -11,14 +11,6 @@ let
|
||||||
|
|
||||||
python3 = pkgs.python3.override {
|
python3 = pkgs.python3.override {
|
||||||
packageOverrides = self: super: {
|
packageOverrides = self: super: {
|
||||||
cypari2 = super.cypari2.overridePythonAttrs (oldAttrs: rec {
|
|
||||||
version = "2.1.1";
|
|
||||||
src = oldAttrs.src.override {
|
|
||||||
inherit version;
|
|
||||||
sha256 = "df1ef62e771ec36e5a456f5fc8b51bc6745b70f0efdd0c7a30c3f0b5f1fb93db";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
# `sagelib`, i.e. all of sage except some wrappers and runtime dependencies
|
# `sagelib`, i.e. all of sage except some wrappers and runtime dependencies
|
||||||
sagelib = self.callPackage ./sagelib.nix {
|
sagelib = self.callPackage ./sagelib.nix {
|
||||||
inherit flint arb;
|
inherit flint arb;
|
||||||
|
@ -27,6 +19,10 @@ let
|
||||||
linbox = pkgs.linbox.override { withSage = true; };
|
linbox = pkgs.linbox.override { withSage = true; };
|
||||||
pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config
|
pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sage_docbuild = self.callPackage ./sage_docbuild.nix {
|
||||||
|
inherit sage-src;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -46,14 +42,16 @@ let
|
||||||
logo64 = "${sage-src}/doc/common/themes/sage/static/sageicon.png";
|
logo64 = "${sage-src}/doc/common/themes/sage/static/sageicon.png";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
three = callPackage ./threejs-sage.nix { };
|
||||||
|
|
||||||
# A bash script setting various environment variables to tell sage where
|
# A bash script setting various environment variables to tell sage where
|
||||||
# the files its looking fore are located. Also see `sage-env`.
|
# the files its looking fore are located. Also see `sage-env`.
|
||||||
env-locations = callPackage ./env-locations.nix {
|
env-locations = callPackage ./env-locations.nix {
|
||||||
inherit pari_data;
|
inherit pari_data;
|
||||||
inherit singular maxima-ecl;
|
inherit singular maxima-ecl;
|
||||||
|
inherit three;
|
||||||
ecl = maxima-ecl.ecl;
|
ecl = maxima-ecl.ecl;
|
||||||
cysignals = python3.pkgs.cysignals;
|
cysignals = python3.pkgs.cysignals;
|
||||||
three = nodePackages.three;
|
|
||||||
mathjax = nodePackages.mathjax;
|
mathjax = nodePackages.mathjax;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -61,6 +59,7 @@ let
|
||||||
# the env-locations file.
|
# the env-locations file.
|
||||||
sage-env = callPackage ./sage-env.nix {
|
sage-env = callPackage ./sage-env.nix {
|
||||||
sagelib = python3.pkgs.sagelib;
|
sagelib = python3.pkgs.sagelib;
|
||||||
|
sage_docbuild = python3.pkgs.sage_docbuild;
|
||||||
inherit env-locations;
|
inherit env-locations;
|
||||||
inherit python3 singular palp flint pynac pythonEnv maxima-ecl;
|
inherit python3 singular palp flint pynac pythonEnv maxima-ecl;
|
||||||
ecl = maxima-ecl.ecl;
|
ecl = maxima-ecl.ecl;
|
||||||
|
@ -78,8 +77,8 @@ let
|
||||||
inherit python3 pythonEnv;
|
inherit python3 pythonEnv;
|
||||||
inherit sage-env;
|
inherit sage-env;
|
||||||
inherit pynac singular maxima-ecl;
|
inherit pynac singular maxima-ecl;
|
||||||
|
inherit three;
|
||||||
pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config
|
pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config
|
||||||
three = nodePackages.three;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Doesn't actually build anything, just runs sages testsuite. This is a
|
# Doesn't actually build anything, just runs sages testsuite. This is a
|
||||||
|
@ -94,6 +93,7 @@ let
|
||||||
|
|
||||||
pythonRuntimeDeps = with python3.pkgs; [
|
pythonRuntimeDeps = with python3.pkgs; [
|
||||||
sagelib
|
sagelib
|
||||||
|
sage_docbuild
|
||||||
cvxopt
|
cvxopt
|
||||||
networkx
|
networkx
|
||||||
service-identity
|
service-identity
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
diff --git a/src/sage/env.py b/src/sage/env.py
|
diff --git a/src/sage/env.py b/src/sage/env.py
|
||||||
index 1ddfc7cfb9..45033d6328 100644
|
index 2908f5d04f..81dfd75c0d 100644
|
||||||
--- a/src/sage/env.py
|
--- a/src/sage/env.py
|
||||||
+++ b/src/sage/env.py
|
+++ b/src/sage/env.py
|
||||||
@@ -203,97 +203,13 @@ var('ARB_LIBRARY', 'arb')
|
@@ -218,93 +218,12 @@ NTL_LIBDIR = var("NTL_LIBDIR")
|
||||||
var('SAGE_BANNER', '')
|
SAGE_BANNER = var("SAGE_BANNER", "")
|
||||||
var('SAGE_IMPORTALL', 'yes')
|
SAGE_IMPORTALL = var("SAGE_IMPORTALL", "yes")
|
||||||
|
|
||||||
-
|
-
|
||||||
-def _get_shared_lib_filename(libname, *additional_libnames):
|
-def _get_shared_lib_path(*libnames: str) -> Optional[str]:
|
||||||
- """
|
- """
|
||||||
- Return the full path to a shared library file installed in
|
- Return the full path to a shared library file installed in
|
||||||
- ``$SAGE_LOCAL/lib`` or the directories associated with the
|
- ``$SAGE_LOCAL/lib`` or the directories associated with the
|
||||||
|
@ -25,80 +25,76 @@ index 1ddfc7cfb9..45033d6328 100644
|
||||||
- For distributions like Debian that use a multiarch layout, we also try the
|
- For distributions like Debian that use a multiarch layout, we also try the
|
||||||
- multiarch lib paths (i.e. ``/usr/lib/<arch>/``).
|
- multiarch lib paths (i.e. ``/usr/lib/<arch>/``).
|
||||||
-
|
-
|
||||||
- This returns ``None`` if the file does not exist.
|
- This returns ``None`` if no matching library file could be found.
|
||||||
-
|
-
|
||||||
- EXAMPLES::
|
- EXAMPLES::
|
||||||
-
|
-
|
||||||
- sage: import sys
|
- sage: import sys
|
||||||
- sage: from fnmatch import fnmatch
|
- sage: from fnmatch import fnmatch
|
||||||
- sage: from sage.env import _get_shared_lib_filename
|
- sage: from sage.env import _get_shared_lib_path
|
||||||
- sage: lib_filename = _get_shared_lib_filename("Singular",
|
- sage: lib_filename = _get_shared_lib_path("Singular", "singular-Singular")
|
||||||
- ....: "singular-Singular")
|
|
||||||
- sage: if sys.platform == 'cygwin':
|
- sage: if sys.platform == 'cygwin':
|
||||||
- ....: pattern = "*/cygSingular-*.dll"
|
- ....: pattern = "*/cygSingular-*.dll"
|
||||||
- ....: elif sys.platform == 'darwin':
|
- ....: elif sys.platform == 'darwin':
|
||||||
- ....: pattern = "*/libSingular.dylib"
|
- ....: pattern = "*/libSingular-*.dylib"
|
||||||
- ....: else:
|
- ....: else:
|
||||||
- ....: pattern = "*/lib*Singular.so"
|
- ....: pattern = "*/lib*Singular-*.so"
|
||||||
- sage: fnmatch(lib_filename, pattern)
|
- sage: fnmatch(str(lib_filename), pattern)
|
||||||
- True
|
- True
|
||||||
- sage: _get_shared_lib_filename("an_absurd_lib") is None
|
- sage: _get_shared_lib_path("an_absurd_lib") is None
|
||||||
- True
|
- True
|
||||||
- """
|
- """
|
||||||
-
|
-
|
||||||
- for libname in (libname,) + additional_libnames:
|
- for libname in libnames:
|
||||||
|
- search_directories: List[Path] = []
|
||||||
|
- patterns: List[str] = []
|
||||||
- if sys.platform == 'cygwin':
|
- if sys.platform == 'cygwin':
|
||||||
- # Later down we take the last matching DLL found, so search
|
- # Later down we take the first matching DLL found, so search
|
||||||
- # SAGE_LOCAL second so that it takes precedence
|
- # SAGE_LOCAL first so that it takes precedence
|
||||||
- bindirs = [
|
- search_directories = [
|
||||||
- sysconfig.get_config_var('BINDIR'),
|
- Path(SAGE_LOCAL) / 'bin',
|
||||||
- os.path.join(SAGE_LOCAL, 'bin')
|
- Path(sysconfig.get_config_var('BINDIR')),
|
||||||
- ]
|
- ]
|
||||||
- pats = ['cyg{}.dll'.format(libname), 'cyg{}-*.dll'.format(libname)]
|
- # Note: The following is not very robust, since if there are multible
|
||||||
- filenames = []
|
|
||||||
- for bindir in bindirs:
|
|
||||||
- for pat in pats:
|
|
||||||
- filenames += glob.glob(os.path.join(bindir, pat))
|
|
||||||
-
|
|
||||||
- # Note: This is not very robust, since if there are multi DLL
|
|
||||||
- # versions for the same library this just selects one more or less
|
- # versions for the same library this just selects one more or less
|
||||||
- # at arbitrary. However, practically speaking, on Cygwin, there
|
- # at arbitrary. However, practically speaking, on Cygwin, there
|
||||||
- # will only ever be one version
|
- # will only ever be one version
|
||||||
- if filenames:
|
- patterns = [f'cyg{libname}.dll', f'cyg{libname}-*.dll']
|
||||||
- return filenames[-1]
|
|
||||||
- else:
|
- else:
|
||||||
- if sys.platform == 'darwin':
|
- if sys.platform == 'darwin':
|
||||||
- ext = 'dylib'
|
- ext = 'dylib'
|
||||||
- else:
|
- else:
|
||||||
- ext = 'so'
|
- ext = 'so'
|
||||||
-
|
-
|
||||||
- libdirs = [
|
- search_directories = [Path(SAGE_LOCAL) / 'lib']
|
||||||
- os.path.join(SAGE_LOCAL, 'lib'),
|
- libdir = sysconfig.get_config_var('LIBDIR')
|
||||||
- sysconfig.get_config_var('LIBDIR')
|
- if libdir is not None:
|
||||||
- ]
|
- libdir = Path(libdir)
|
||||||
- multilib = sysconfig.get_config_var('MULTILIB')
|
- search_directories.append(libdir)
|
||||||
- if multilib:
|
|
||||||
- libdirs.insert(1, os.path.join(libdirs[0], multilib))
|
|
||||||
-
|
-
|
||||||
- for libdir in libdirs:
|
- multiarchlib = sysconfig.get_config_var('MULTIARCH')
|
||||||
- basename = 'lib{}.{}'.format(libname, ext)
|
- if multiarchlib is not None:
|
||||||
- filename = os.path.join(libdir, basename)
|
- search_directories.append(libdir / multiarchlib),
|
||||||
- if os.path.exists(filename):
|
-
|
||||||
- return filename
|
- patterns = [f'lib{libname}.{ext}']
|
||||||
|
-
|
||||||
|
- for directory in search_directories:
|
||||||
|
- for pattern in patterns:
|
||||||
|
- path = next(directory.glob(pattern), None)
|
||||||
|
- if path is not None:
|
||||||
|
- return str(path.resolve())
|
||||||
-
|
-
|
||||||
- # Just return None if no files were found
|
- # Just return None if no files were found
|
||||||
- return None
|
- return None
|
||||||
-
|
|
||||||
-
|
-
|
||||||
# locate singular shared object
|
# locate singular shared object
|
||||||
# On Debian it's libsingular-Singular so try that as well
|
# On Debian it's libsingular-Singular so try that as well
|
||||||
-SINGULAR_SO = _get_shared_lib_filename('Singular', 'singular-Singular')
|
-SINGULAR_SO = var("SINGULAR_SO", _get_shared_lib_path("Singular", "singular-Singular"))
|
||||||
+SINGULAR_SO = '/default'
|
+SINGULAR_SO = var("SINGULAR_SO", '/default')
|
||||||
var('SINGULAR_SO', SINGULAR_SO)
|
|
||||||
|
|
||||||
# locate libgap shared object
|
# locate libgap shared object
|
||||||
-GAP_SO= _get_shared_lib_filename('gap','')
|
-GAP_SO = var("GAP_SO", _get_shared_lib_path("gap", ""))
|
||||||
+GAP_SO = '/default'
|
+GAP_SO = var("GAP_SO", '/default')
|
||||||
var('GAP_SO', GAP_SO)
|
|
||||||
|
|
||||||
# post process
|
# post process
|
||||||
|
if ' ' in DOT_SAGE:
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
diff --git a/src/sage/repl/rich_output/display_manager.py b/src/sage/repl/rich_output/display_manager.py
|
|
||||||
index fb21f7a9c9..f39470777d 100644
|
|
||||||
--- a/src/sage/repl/rich_output/display_manager.py
|
|
||||||
+++ b/src/sage/repl/rich_output/display_manager.py
|
|
||||||
@@ -749,9 +749,9 @@ class DisplayManager(SageObject):
|
|
||||||
import sage.env
|
|
||||||
import re
|
|
||||||
import os
|
|
||||||
- with open(os.path.join(sage.env.THREEJS_DIR, 'build', 'three.min.js')) as f:
|
|
||||||
+ with open(os.path.join(sage.env.THREEJS_DIR, 'build', 'three.js')) as f:
|
|
||||||
text = f.read().replace('\n','')
|
|
||||||
- version = re.search(r'REVISION="(\d+)"', text).group(1)
|
|
||||||
+ version = re.search(r"REVISION = '(\d+)'", text).group(1)
|
|
||||||
return """
|
|
||||||
<script src="https://cdn.jsdelivr.net/gh/mrdoob/three.js@r{0}/build/three.min.js"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/gh/mrdoob/three.js@r{0}/examples/js/controls/OrbitControls.js"></script>
|
|
|
@ -1,131 +0,0 @@
|
||||||
diff --git a/src/sage/libs/eclib/interface.py b/src/sage/libs/eclib/interface.py
|
|
||||||
index e898456720..6b98c12328 100644
|
|
||||||
--- a/src/sage/libs/eclib/interface.py
|
|
||||||
+++ b/src/sage/libs/eclib/interface.py
|
|
||||||
@@ -758,78 +758,78 @@ class mwrank_MordellWeil(SageObject):
|
|
||||||
|
|
||||||
sage: EQ = mwrank_MordellWeil(E, verbose=True)
|
|
||||||
sage: EQ.search(1)
|
|
||||||
- P1 = [0:1:0] is torsion point, order 1
|
|
||||||
- P1 = [-3:0:1] is generator number 1
|
|
||||||
- saturating up to 20...Checking 2-saturation
|
|
||||||
+ P1 = [0:1:0] is torsion point, order 1
|
|
||||||
+ P1 = [-3:0:1] is generator number 1
|
|
||||||
+ saturating up to 20...Checking 2-saturation...
|
|
||||||
Points have successfully been 2-saturated (max q used = 7)
|
|
||||||
- Checking 3-saturation
|
|
||||||
+ Checking 3-saturation...
|
|
||||||
Points have successfully been 3-saturated (max q used = 7)
|
|
||||||
- Checking 5-saturation
|
|
||||||
+ Checking 5-saturation...
|
|
||||||
Points have successfully been 5-saturated (max q used = 23)
|
|
||||||
- Checking 7-saturation
|
|
||||||
+ Checking 7-saturation...
|
|
||||||
Points have successfully been 7-saturated (max q used = 41)
|
|
||||||
- Checking 11-saturation
|
|
||||||
+ Checking 11-saturation...
|
|
||||||
Points have successfully been 11-saturated (max q used = 17)
|
|
||||||
- Checking 13-saturation
|
|
||||||
+ Checking 13-saturation...
|
|
||||||
Points have successfully been 13-saturated (max q used = 43)
|
|
||||||
- Checking 17-saturation
|
|
||||||
+ Checking 17-saturation...
|
|
||||||
Points have successfully been 17-saturated (max q used = 31)
|
|
||||||
- Checking 19-saturation
|
|
||||||
+ Checking 19-saturation...
|
|
||||||
Points have successfully been 19-saturated (max q used = 37)
|
|
||||||
done
|
|
||||||
- P2 = [-2:3:1] is generator number 2
|
|
||||||
- saturating up to 20...Checking 2-saturation
|
|
||||||
+ P2 = [-2:3:1] is generator number 2
|
|
||||||
+ saturating up to 20...Checking 2-saturation...
|
|
||||||
possible kernel vector = [1,1]
|
|
||||||
This point may be in 2E(Q): [14:-52:1]
|
|
||||||
...and it is!
|
|
||||||
Replacing old generator #1 with new generator [1:-1:1]
|
|
||||||
Points have successfully been 2-saturated (max q used = 7)
|
|
||||||
Index gain = 2^1
|
|
||||||
- Checking 3-saturation
|
|
||||||
+ Checking 3-saturation...
|
|
||||||
Points have successfully been 3-saturated (max q used = 13)
|
|
||||||
- Checking 5-saturation
|
|
||||||
+ Checking 5-saturation...
|
|
||||||
Points have successfully been 5-saturated (max q used = 67)
|
|
||||||
- Checking 7-saturation
|
|
||||||
+ Checking 7-saturation...
|
|
||||||
Points have successfully been 7-saturated (max q used = 53)
|
|
||||||
- Checking 11-saturation
|
|
||||||
+ Checking 11-saturation...
|
|
||||||
Points have successfully been 11-saturated (max q used = 73)
|
|
||||||
- Checking 13-saturation
|
|
||||||
+ Checking 13-saturation...
|
|
||||||
Points have successfully been 13-saturated (max q used = 103)
|
|
||||||
- Checking 17-saturation
|
|
||||||
+ Checking 17-saturation...
|
|
||||||
Points have successfully been 17-saturated (max q used = 113)
|
|
||||||
- Checking 19-saturation
|
|
||||||
+ Checking 19-saturation...
|
|
||||||
Points have successfully been 19-saturated (max q used = 47)
|
|
||||||
done (index = 2).
|
|
||||||
Gained index 2, new generators = [ [1:-1:1] [-2:3:1] ]
|
|
||||||
- P3 = [-14:25:8] is generator number 3
|
|
||||||
- saturating up to 20...Checking 2-saturation
|
|
||||||
+ P3 = [-14:25:8] is generator number 3
|
|
||||||
+ saturating up to 20...Checking 2-saturation...
|
|
||||||
Points have successfully been 2-saturated (max q used = 11)
|
|
||||||
- Checking 3-saturation
|
|
||||||
+ Checking 3-saturation...
|
|
||||||
Points have successfully been 3-saturated (max q used = 13)
|
|
||||||
- Checking 5-saturation
|
|
||||||
+ Checking 5-saturation...
|
|
||||||
Points have successfully been 5-saturated (max q used = 71)
|
|
||||||
- Checking 7-saturation
|
|
||||||
+ Checking 7-saturation...
|
|
||||||
Points have successfully been 7-saturated (max q used = 101)
|
|
||||||
- Checking 11-saturation
|
|
||||||
+ Checking 11-saturation...
|
|
||||||
Points have successfully been 11-saturated (max q used = 127)
|
|
||||||
- Checking 13-saturation
|
|
||||||
+ Checking 13-saturation...
|
|
||||||
Points have successfully been 13-saturated (max q used = 151)
|
|
||||||
- Checking 17-saturation
|
|
||||||
+ Checking 17-saturation...
|
|
||||||
Points have successfully been 17-saturated (max q used = 139)
|
|
||||||
- Checking 19-saturation
|
|
||||||
+ Checking 19-saturation...
|
|
||||||
Points have successfully been 19-saturated (max q used = 179)
|
|
||||||
done (index = 1).
|
|
||||||
- P4 = [-1:3:1] = -1*P1 + -1*P2 + -1*P3 (mod torsion)
|
|
||||||
- P4 = [0:2:1] = 2*P1 + 0*P2 + 1*P3 (mod torsion)
|
|
||||||
- P4 = [2:13:8] = -3*P1 + 1*P2 + -1*P3 (mod torsion)
|
|
||||||
- P4 = [1:0:1] = -1*P1 + 0*P2 + 0*P3 (mod torsion)
|
|
||||||
- P4 = [2:0:1] = -1*P1 + 1*P2 + 0*P3 (mod torsion)
|
|
||||||
- P4 = [18:7:8] = -2*P1 + -1*P2 + -1*P3 (mod torsion)
|
|
||||||
- P4 = [3:3:1] = 1*P1 + 0*P2 + 1*P3 (mod torsion)
|
|
||||||
- P4 = [4:6:1] = 0*P1 + -1*P2 + -1*P3 (mod torsion)
|
|
||||||
- P4 = [36:69:64] = 1*P1 + -2*P2 + 0*P3 (mod torsion)
|
|
||||||
- P4 = [68:-25:64] = -2*P1 + -1*P2 + -2*P3 (mod torsion)
|
|
||||||
- P4 = [12:35:27] = 1*P1 + -1*P2 + -1*P3 (mod torsion)
|
|
||||||
+ P4 = [-1:3:1] = -1*P1 + -1*P2 + -1*P3 (mod torsion)
|
|
||||||
+ P4 = [0:2:1] = 2*P1 + 0*P2 + 1*P3 (mod torsion)
|
|
||||||
+ P4 = [2:13:8] = -3*P1 + 1*P2 + -1*P3 (mod torsion)
|
|
||||||
+ P4 = [1:0:1] = -1*P1 + 0*P2 + 0*P3 (mod torsion)
|
|
||||||
+ P4 = [2:0:1] = -1*P1 + 1*P2 + 0*P3 (mod torsion)
|
|
||||||
+ P4 = [18:7:8] = -2*P1 + -1*P2 + -1*P3 (mod torsion)
|
|
||||||
+ P4 = [3:3:1] = 1*P1 + 0*P2 + 1*P3 (mod torsion)
|
|
||||||
+ P4 = [4:6:1] = 0*P1 + -1*P2 + -1*P3 (mod torsion)
|
|
||||||
+ P4 = [36:69:64] = 1*P1 + -2*P2 + 0*P3 (mod torsion)
|
|
||||||
+ P4 = [68:-25:64] = -2*P1 + -1*P2 + -2*P3 (mod torsion)
|
|
||||||
+ P4 = [12:35:27] = 1*P1 + -1*P2 + -1*P3 (mod torsion)
|
|
||||||
sage: EQ
|
|
||||||
Subgroup of Mordell-Weil group: [[1:-1:1], [-2:3:1], [-14:25:8]]
|
|
||||||
|
|
||||||
@@ -1076,7 +1076,7 @@ class mwrank_MordellWeil(SageObject):
|
|
||||||
sage: EQ.search(1)
|
|
||||||
P1 = [0:1:0] is torsion point, order 1
|
|
||||||
P1 = [-3:0:1] is generator number 1
|
|
||||||
- saturating up to 20...Checking 2-saturation
|
|
||||||
+ saturating up to 20...Checking 2-saturation...
|
|
||||||
...
|
|
||||||
P4 = [12:35:27] = 1*P1 + -1*P2 + -1*P3 (mod torsion)
|
|
||||||
sage: EQ
|
|
|
@ -1,8 +1,8 @@
|
||||||
diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py
|
diff --git a/src/sage_docbuild/__init__.py b/src/sage_docbuild/__init__.py
|
||||||
index 73a078e619..059125c59f 100644
|
index 79005b903a..fbe6fe2595 100644
|
||||||
--- a/src/sage_setup/docbuild/__init__.py
|
--- a/src/sage_docbuild/__init__.py
|
||||||
+++ b/src/sage_setup/docbuild/__init__.py
|
+++ b/src/sage_docbuild/__init__.py
|
||||||
@@ -86,27 +86,6 @@ def builder_helper(type):
|
@@ -85,27 +85,6 @@ def builder_helper(type):
|
||||||
"""
|
"""
|
||||||
Returns a function which builds the documentation for
|
Returns a function which builds the documentation for
|
||||||
output type ``type``.
|
output type ``type``.
|
||||||
|
@ -11,16 +11,16 @@ index 73a078e619..059125c59f 100644
|
||||||
-
|
-
|
||||||
- Check that :trac:`25161` has been resolved::
|
- Check that :trac:`25161` has been resolved::
|
||||||
-
|
-
|
||||||
- sage: from sage_setup.docbuild import DocBuilder, setup_parser
|
- sage: from sage_docbuild import DocBuilder, setup_parser
|
||||||
- sage: DocBuilder._options = setup_parser().parse_args([])[0] # builder_helper needs _options to be set
|
- sage: DocBuilder._options = setup_parser().parse_args([])[0] # builder_helper needs _options to be set
|
||||||
-
|
-
|
||||||
- sage: import sage_setup.docbuild.sphinxbuild
|
- sage: import sage_docbuild.sphinxbuild
|
||||||
- sage: def raiseBaseException():
|
- sage: def raiseBaseException():
|
||||||
- ....: raise BaseException("abort pool operation")
|
- ....: raise BaseException("abort pool operation")
|
||||||
- sage: original_runsphinx, sage_setup.docbuild.sphinxbuild.runsphinx = sage_setup.docbuild.sphinxbuild.runsphinx, raiseBaseException
|
- sage: original_runsphinx, sage_docbuild.sphinxbuild.runsphinx = sage_docbuild.sphinxbuild.runsphinx, raiseBaseException
|
||||||
-
|
-
|
||||||
- sage: from sage_setup.docbuild import builder_helper, build_ref_doc
|
- sage: from sage_docbuild import builder_helper, build_ref_doc
|
||||||
- sage: from sage_setup.docbuild import _build_many as build_many
|
- sage: from sage_docbuild import _build_many as build_many
|
||||||
- sage: helper = builder_helper("html")
|
- sage: helper = builder_helper("html")
|
||||||
- sage: try:
|
- sage: try:
|
||||||
- ....: build_many(build_ref_doc, [("docname", "en", "html", {})])
|
- ....: build_many(build_ref_doc, [("docname", "en", "html", {})])
|
||||||
|
@ -30,24 +30,24 @@ index 73a078e619..059125c59f 100644
|
||||||
"""
|
"""
|
||||||
def f(self, *args, **kwds):
|
def f(self, *args, **kwds):
|
||||||
output_dir = self._output_dir(type)
|
output_dir = self._output_dir(type)
|
||||||
@@ -128,10 +107,9 @@ def builder_helper(type):
|
@@ -127,10 +106,9 @@ def builder_helper(type):
|
||||||
logger.debug(build_command)
|
logger.debug(build_command)
|
||||||
|
|
||||||
# Run Sphinx with Sage's special logger
|
# Run Sphinx with Sage's special logger
|
||||||
- sys.argv = ["sphinx-build"] + build_command.split()
|
- sys.argv = ["sphinx-build"] + build_command.split()
|
||||||
- from .sphinxbuild import runsphinx
|
- from .sphinxbuild import runsphinx
|
||||||
+ args = "python3 -um sage_setup.docbuild.sphinxbuild -N".split() + build_command.split()
|
+ args = "python3 -um sage_docbuild.sphinxbuild -N".split() + build_command.split()
|
||||||
try:
|
try:
|
||||||
- runsphinx()
|
- runsphinx()
|
||||||
+ subprocess.check_call(args)
|
+ subprocess.check_call(args)
|
||||||
except Exception:
|
except Exception:
|
||||||
if ABORT_ON_ERROR:
|
if ABORT_ON_ERROR:
|
||||||
raise
|
raise
|
||||||
diff --git a/src/sage_setup/docbuild/sphinxbuild.py b/src/sage_setup/docbuild/sphinxbuild.py
|
diff --git a/src/sage_docbuild/sphinxbuild.py b/src/sage_docbuild/sphinxbuild.py
|
||||||
index fe7eba43b2..463790965c 100644
|
index f58f6c61d7..ef51a55411 100644
|
||||||
--- a/src/sage_setup/docbuild/sphinxbuild.py
|
--- a/src/sage_docbuild/sphinxbuild.py
|
||||||
+++ b/src/sage_setup/docbuild/sphinxbuild.py
|
+++ b/src/sage_docbuild/sphinxbuild.py
|
||||||
@@ -321,3 +321,8 @@ def runsphinx():
|
@@ -326,3 +326,8 @@ def runsphinx():
|
||||||
sys.stderr = saved_stderr
|
sys.stderr = saved_stderr
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
sys.stderr.flush()
|
sys.stderr.flush()
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
diff --git a/src/sage/interfaces/sympy.py b/src/sage/interfaces/sympy.py
|
|
||||||
index cc35a42a9f..6e577d5d8d 100644
|
|
||||||
--- a/src/sage/interfaces/sympy.py
|
|
||||||
+++ b/src/sage/interfaces/sympy.py
|
|
||||||
@@ -397,7 +397,7 @@ def _sympysage_rf(self):
|
|
||||||
sage: from sympy import Symbol, rf
|
|
||||||
sage: _ = var('x, y')
|
|
||||||
sage: rfxy = rf(Symbol('x'), Symbol('y'))
|
|
||||||
- sage: assert rising_factorial(x,y)._sympy_() == rfxy.rewrite('gamma')
|
|
||||||
+ sage: assert rising_factorial(x,y)._sympy_() == rfxy.rewrite('gamma', piecewise=False)
|
|
||||||
sage: assert rising_factorial(x,y) == rfxy._sage_()
|
|
||||||
"""
|
|
||||||
from sage.arith.all import rising_factorial
|
|
||||||
diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx
|
|
||||||
index 7c18ec1efa..c2619ac42d 100644
|
|
||||||
--- a/src/sage/symbolic/expression.pyx
|
|
||||||
+++ b/src/sage/symbolic/expression.pyx
|
|
||||||
@@ -955,6 +955,6 @@ cdef class Expression(CommutativeRingElement):
|
|
||||||
sage: unicode_art(13 - I)
|
|
||||||
13 - ⅈ
|
|
||||||
sage: unicode_art(1.3 - I)
|
|
||||||
- 1.3 - 1.0⋅ⅈ
|
|
||||||
+ 1.3 - ⅈ
|
|
||||||
sage: unicode_art(cos(I))
|
|
||||||
cosh(1)
|
|
|
@ -2,6 +2,7 @@
|
||||||
, lib
|
, lib
|
||||||
, writeTextFile
|
, writeTextFile
|
||||||
, sagelib
|
, sagelib
|
||||||
|
, sage_docbuild
|
||||||
, env-locations
|
, env-locations
|
||||||
, gfortran
|
, gfortran
|
||||||
, bash
|
, bash
|
||||||
|
@ -191,6 +192,7 @@ writeTextFile rec {
|
||||||
# for find_library
|
# for find_library
|
||||||
export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular]}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH"
|
export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular]}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH"
|
||||||
'';
|
'';
|
||||||
} // {
|
} // { # equivalent of `passthru`, which `writeTextFile` doesn't support
|
||||||
lib = sagelib; # equivalent of `passthru`, which `writeTextFile` doesn't support
|
lib = sagelib;
|
||||||
|
docbuild = sage_docbuild;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,14 +24,14 @@ let
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "9.2";
|
version = "9.3.rc4";
|
||||||
pname = "sage-src";
|
pname = "sage-src";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sagemath";
|
owner = "sagemath";
|
||||||
repo = "sage";
|
repo = "sage";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "103j8d5x6szl9fxaz0dvdi4y47q1af9h9y5hmjh2xayi62qmp5ql";
|
sha256 = "sha256-LDY07By2j6JagkgT9zeDJ93+m2/oXXEnDRTDzmR8ftk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Patches needed because of particularities of nix or the way this is packaged.
|
# Patches needed because of particularities of nix or the way this is packaged.
|
||||||
|
@ -53,14 +53,6 @@ stdenv.mkDerivation rec {
|
||||||
# Parallelize docubuild using subprocesses, fixing an isolation issue. See
|
# Parallelize docubuild using subprocesses, fixing an isolation issue. See
|
||||||
# https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
|
# https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
|
||||||
./patches/sphinx-docbuild-subprocesses.patch
|
./patches/sphinx-docbuild-subprocesses.patch
|
||||||
|
|
||||||
# Register sorted dict pprinter earlier (https://trac.sagemath.org/ticket/31053)
|
|
||||||
(fetchSageDiff {
|
|
||||||
base = "9.3.beta4";
|
|
||||||
name = "register-pretty-printer-earlier.patch";
|
|
||||||
rev = "d658230ce06ca19f4a3b3a4576297ee82f2d2151";
|
|
||||||
sha256 = "sha256-9mPUV7K5PoLDH2vVaYaOfvDLDpmxU0Aj7m/eaXYotDs=";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Since sage unfortunately does not release bugfix releases, packagers must
|
# Since sage unfortunately does not release bugfix releases, packagers must
|
||||||
|
@ -70,31 +62,6 @@ stdenv.mkDerivation rec {
|
||||||
# To help debug the transient error in
|
# To help debug the transient error in
|
||||||
# https://trac.sagemath.org/ticket/23087 when it next occurs.
|
# https://trac.sagemath.org/ticket/23087 when it next occurs.
|
||||||
./patches/configurationpy-error-verbose.patch
|
./patches/configurationpy-error-verbose.patch
|
||||||
|
|
||||||
# fix intermittent errors in Sage 9.2's psage.py (this patch is
|
|
||||||
# already included in Sage 9.3): https://trac.sagemath.org/ticket/30730
|
|
||||||
(fetchSageDiff {
|
|
||||||
base = "9.2.rc2";
|
|
||||||
name = "fix-psage-is-locked.patch";
|
|
||||||
rev = "75df605f216ddc7b6ca719be942d666b241520e9";
|
|
||||||
sha256 = "0g9pl1wbb3sgs26d3bvv70cpa77sfskylv4kd255y1794f1fgk4q";
|
|
||||||
})
|
|
||||||
|
|
||||||
# fix intermittent errors in sagespawn.pyx: https://trac.sagemath.org/ticket/31052
|
|
||||||
(fetchSageDiff {
|
|
||||||
base = "9.2";
|
|
||||||
name = "sagespawn-implicit-casting.patch";
|
|
||||||
rev = "2959ac792ebd6107fe87c9af1541083de5ba02d6";
|
|
||||||
sha256 = "sha256-bWIpEGir9Kawak5CJegBMNcHm/CqhWmdru+emeSsvO0=";
|
|
||||||
})
|
|
||||||
|
|
||||||
# fix intermittent errors in doctest/test.py: https://trac.sagemath.org/ticket/26912
|
|
||||||
(fetchSageDiff {
|
|
||||||
base = "9.3.beta8";
|
|
||||||
name = "set-cysignals-crash-ndebug.patch";
|
|
||||||
rev = "ca5257a5d0f32efc9f8f07e126020856270b1a18";
|
|
||||||
sha256 = "sha256-KViw63xE3O0eUiOYzoxNrr4NL+csql9GPJLDJCf/EZs=";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Patches needed because of package updates. We could just pin the versions of
|
# Patches needed because of package updates. We could just pin the versions of
|
||||||
|
@ -111,120 +78,29 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
# ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests
|
# ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests
|
||||||
./patches/ignore-cmp-deprecation.patch
|
./patches/ignore-cmp-deprecation.patch
|
||||||
|
|
||||||
# adapt sage's Image class to pillow 8.0.1 (https://trac.sagemath.org/ticket/30971)
|
|
||||||
(fetchSageDiff {
|
|
||||||
base = "9.3.beta2";
|
|
||||||
name = "pillow-8.0.1-update.patch";
|
|
||||||
rev = "f05f2d0aac9c4b5abe68105cee2cc7f2c8461847";
|
|
||||||
sha256 = "sha256-uY2UlgSd5hhOUUukB4Xc3Gjy0/e7p/qyq9jdvz10IOs=";
|
|
||||||
})
|
|
||||||
|
|
||||||
# don't use deprecated numpy type aliases (https://trac.sagemath.org/ticket/31364)
|
|
||||||
(fetchSageDiff {
|
|
||||||
base = "9.3.beta7";
|
|
||||||
name = "dont-use-deprecated-numpy-type-aliases.patch";
|
|
||||||
rev = "dfdef60515d4a4269e82d91280f76a7fdf10bf97";
|
|
||||||
sha256 = "sha256-77/3LkT5J7DQN8IPlGJKB6ZcJPaF7xwje06JNns+0AE=";
|
|
||||||
})
|
|
||||||
|
|
||||||
# fix test output with sympy 1.7 (https://trac.sagemath.org/ticket/30985)
|
|
||||||
./patches/sympy-1.7-update.patch
|
|
||||||
|
|
||||||
# workaround until we use sage's fork of threejs, which contains a "version" file
|
|
||||||
./patches/dont-grep-threejs-version-from-minified-js.patch
|
|
||||||
|
|
||||||
# updated eclib output has punctuation changes and tidier whitespace
|
|
||||||
./patches/eclib-20210223-test-formatting.patch
|
|
||||||
|
|
||||||
# upgrade arb to 2.18.1 (https://trac.sagemath.org/ticket/28623)
|
|
||||||
(fetchSageDiff {
|
|
||||||
base = "9.3.beta3";
|
|
||||||
name = "arb-2.18.1-update.patch";
|
|
||||||
rev = "0c9c4ed35c2eaf34ae0d19387c07b7f460e4abce";
|
|
||||||
sha256 = "sha256-CjOJIsyyVCziAfvE6pWSihPO35IZMcY2/taXAsqhPLY=";
|
|
||||||
})
|
|
||||||
|
|
||||||
# giac 1.6.0-47 update (https://trac.sagemath.org/ticket/30537)
|
|
||||||
(fetchSageDiff {
|
|
||||||
base = "9.3.beta7";
|
|
||||||
name = "giac-1.6.0-47-update.patch";
|
|
||||||
rev = "f05720bf63dfaf33a4e3b6d3ed2c2c0ec46b5d31";
|
|
||||||
sha256 = "sha256-gDUq+84eXd5GxLBWUSI61GMJpBF2KX4LBVOt3mS1NF8=";
|
|
||||||
})
|
|
||||||
|
|
||||||
# Make gcd/lcm interact better with pari and gmpy2 (https://trac.sagemath.org/ticket/30849)
|
|
||||||
# needed for pari 2.13.1 update, which we will do in the future
|
|
||||||
(fetchSageDiff {
|
|
||||||
base = "9.3.beta0";
|
|
||||||
name = "make-gcd-lcm-interact-better-with-pari-and-gmpy2.patch";
|
|
||||||
rev = "75c1516f0abb9e6f8c335e38e4031f6ef674ed30";
|
|
||||||
sha256 = "sha256-RukkieIZcXNrju904H2oyGKdtpdE+9vNzvyjN2IBNg0=";
|
|
||||||
})
|
|
||||||
|
|
||||||
# cypari 2.1.2 update (https://trac.sagemath.org/ticket/31029)
|
|
||||||
(fetchSageDiff {
|
|
||||||
base = "9.3.beta3";
|
|
||||||
name = "cypari-2.1.2-update.patch";
|
|
||||||
rev = "b9aadfd08e81d74ca7c229bb80eb853b592887d0";
|
|
||||||
sha256 = "sha256-eKaMy7kpu+YKdL8bPStgocxBCTfc2Z/10RrGy2LENFw=";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
|
patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# make sure shebangs etc are fixed, but sage-python23 still works
|
|
||||||
find . -type f -exec sed \
|
|
||||||
-e 's/sage-python23/python3/g' \
|
|
||||||
-i {} \;
|
|
||||||
|
|
||||||
echo '#!${runtimeShell}
|
|
||||||
python3 "$@"' > build/bin/sage-python23
|
|
||||||
|
|
||||||
# Make sure sage can at least be imported without setting any environment
|
# Make sure sage can at least be imported without setting any environment
|
||||||
# variables. It won't be close to feature complete though.
|
# variables. It won't be close to feature complete though.
|
||||||
sed -i \
|
sed -i \
|
||||||
"s|var('SAGE_ROOT'.*|var('SAGE_ROOT', '$out')|" \
|
"s|var(\"SAGE_ROOT\".*|var(\"SAGE_ROOT\", \"$out\")|" \
|
||||||
src/sage/env.py
|
src/sage/env.py
|
||||||
|
|
||||||
# Do not use sage-env-config (generated by ./configure).
|
# src/doc/en/reference/spkg/conf.py expects index.rst in its directory,
|
||||||
# Instead variables are set manually.
|
# a list of external packages in the sage distribution (build/pkgs)
|
||||||
echo '# do nothing' > src/bin/sage-env-config
|
# generated by the bootstrap script (which we don't run). this is not
|
||||||
'';
|
# relevant for other distributions, so remove it.
|
||||||
|
rm src/doc/en/reference/spkg/conf.py
|
||||||
|
sed -i "/spkg/d" src/doc/en/reference/index.rst
|
||||||
|
|
||||||
# Test src/doc/en/reference/spkg/conf.py will fail if
|
# the bootstrap script also generates installation instructions for
|
||||||
# src/doc/en/reference/spkg/index.rst is not generated. It is
|
# arch, debian, fedora, cygwin and homebrew using data from build/pkgs.
|
||||||
# generated by src/doc/bootstrap, so I've copied the relevant part
|
# we don't run the bootstrap script, so disable including the generated
|
||||||
# here. An alternative would be to create an empty
|
# files. docbuilding fails otherwise.
|
||||||
# src/doc/en/reference/spkg/index.rst file.
|
sed -i "/literalinclude/d" src/doc/en/installation/source.rst
|
||||||
configurePhase = ''
|
|
||||||
OUTPUT_DIR="src/doc/en/reference/spkg"
|
|
||||||
mkdir -p "$OUTPUT_DIR"
|
|
||||||
OUTPUT_INDEX="$OUTPUT_DIR"/index.rst
|
|
||||||
cat > "$OUTPUT_INDEX" <<EOF
|
|
||||||
|
|
||||||
External Packages
|
|
||||||
=================
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:maxdepth: 1
|
|
||||||
|
|
||||||
EOF
|
|
||||||
for PKG_SCRIPTS in build/pkgs/*; do
|
|
||||||
if [ -d "$PKG_SCRIPTS" ]; then
|
|
||||||
PKG_BASE=$(basename "$PKG_SCRIPTS")
|
|
||||||
if [ -f "$PKG_SCRIPTS"/SPKG.rst ]; then
|
|
||||||
# Instead of just copying, we may want to call
|
|
||||||
# a version of sage-spkg-info to format extra information.
|
|
||||||
cp "$PKG_SCRIPTS"/SPKG.rst "$OUTPUT_DIR"/$PKG_BASE.rst
|
|
||||||
echo >> "$OUTPUT_INDEX" " $PKG_BASE"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
cat >> "$OUTPUT_INDEX" <<EOF
|
|
||||||
.. include:: ../footer.txt
|
|
||||||
EOF
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = "# do nothing";
|
buildPhase = "# do nothing";
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
{ buildPythonPackage
|
||||||
|
, sage-src
|
||||||
|
, sphinx
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
version = src.version;
|
||||||
|
pname = "sage_docbuild";
|
||||||
|
src = sage-src;
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
sphinx
|
||||||
|
];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
cd build/pkgs/sage_docbuild/src
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = false; # we will run tests in sagedoc.nix
|
||||||
|
}
|
|
@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
|
||||||
jmol
|
jmol
|
||||||
cddlib
|
cddlib
|
||||||
] ++ (with python3.pkgs; [
|
] ++ (with python3.pkgs; [
|
||||||
|
sage_docbuild
|
||||||
psutil
|
psutil
|
||||||
future
|
future
|
||||||
sphinx
|
sphinx
|
||||||
|
@ -44,13 +45,6 @@ stdenv.mkDerivation rec {
|
||||||
chmod -R 755 "$SAGE_DOC_SRC_OVERRIDE"
|
chmod -R 755 "$SAGE_DOC_SRC_OVERRIDE"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# src/doc/bootstrap generates installation instructions for
|
|
||||||
# arch, debian, fedora, cygwin and homebrew. as a hack, disable
|
|
||||||
# including the generated files.
|
|
||||||
sed -i "/literalinclude/d" $SAGE_DOC_SRC_OVERRIDE/en/installation/source.rst
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
export SAGE_NUM_THREADS="$NIX_BUILD_CORES"
|
export SAGE_NUM_THREADS="$NIX_BUILD_CORES"
|
||||||
export HOME="$TMPDIR/sage_home"
|
export HOME="$TMPDIR/sage_home"
|
||||||
|
@ -59,13 +53,13 @@ stdenv.mkDerivation rec {
|
||||||
# needed to link them in the sage docs using intersphinx
|
# needed to link them in the sage docs using intersphinx
|
||||||
export PPLPY_DOCS=${python3.pkgs.pplpy.doc}/share/doc/pplpy
|
export PPLPY_DOCS=${python3.pkgs.pplpy.doc}/share/doc/pplpy
|
||||||
|
|
||||||
# adapted from src/doc/bootstrap
|
# adapted from src/doc/bootstrap (which we don't run)
|
||||||
OUTPUT_DIR="$SAGE_DOC_SRC_OVERRIDE/en/reference/repl"
|
OUTPUT_DIR="$SAGE_DOC_SRC_OVERRIDE/en/reference/repl"
|
||||||
mkdir -p "$OUTPUT_DIR"
|
mkdir -p "$OUTPUT_DIR"
|
||||||
OUTPUT="$OUTPUT_DIR/options.txt"
|
OUTPUT="$OUTPUT_DIR/options.txt"
|
||||||
${sage-with-env}/bin/sage -advanced > "$OUTPUT"
|
${sage-with-env}/bin/sage -advanced > "$OUTPUT"
|
||||||
|
|
||||||
${sage-with-env}/bin/sage -python -m sage_setup.docbuild \
|
${sage-with-env}/bin/sage --docbuild \
|
||||||
--mathjax \
|
--mathjax \
|
||||||
--no-pdf-links \
|
--no-pdf-links \
|
||||||
all html
|
all html
|
||||||
|
|
|
@ -63,7 +63,6 @@ assert (!blas.isILP64) && (!lapack.isILP64);
|
||||||
# `sage-tests` and will not have html docs without `sagedoc`.
|
# `sage-tests` and will not have html docs without `sagedoc`.
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
format = "other";
|
|
||||||
version = src.version;
|
version = src.version;
|
||||||
pname = "sagelib";
|
pname = "sagelib";
|
||||||
src = sage-src;
|
src = sage-src;
|
||||||
|
@ -74,6 +73,7 @@ buildPythonPackage rec {
|
||||||
jupyter_core
|
jupyter_core
|
||||||
pkg-config
|
pkg-config
|
||||||
pip # needed to query installed packages
|
pip # needed to query installed packages
|
||||||
|
ecl
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -130,7 +130,7 @@ buildPythonPackage rec {
|
||||||
sqlite
|
sqlite
|
||||||
];
|
];
|
||||||
|
|
||||||
buildPhase = ''
|
preBuild = ''
|
||||||
export SAGE_ROOT="$PWD"
|
export SAGE_ROOT="$PWD"
|
||||||
export SAGE_LOCAL="$SAGE_ROOT"
|
export SAGE_LOCAL="$SAGE_ROOT"
|
||||||
export SAGE_SHARE="$SAGE_LOCAL/share"
|
export SAGE_SHARE="$SAGE_LOCAL/share"
|
||||||
|
@ -146,15 +146,13 @@ buildPythonPackage rec {
|
||||||
mkdir -p "$SAGE_SHARE/sage/ext/notebook-ipython"
|
mkdir -p "$SAGE_SHARE/sage/ext/notebook-ipython"
|
||||||
mkdir -p "var/lib/sage/installed"
|
mkdir -p "var/lib/sage/installed"
|
||||||
|
|
||||||
source build/bin/sage-dist-helpers
|
# src/setup.py should not be used, see https://trac.sagemath.org/ticket/31377#comment:124
|
||||||
cd src
|
cd build/pkgs/sagelib/src
|
||||||
|
|
||||||
${python.interpreter} -u setup.py --no-user-cfg build
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
postInstall = ''
|
||||||
${python.interpreter} -u setup.py --no-user-cfg install --prefix=$out
|
|
||||||
|
|
||||||
rm -r "$out/${python.sitePackages}/sage/cython_debug"
|
rm -r "$out/${python.sitePackages}/sage/cython_debug"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
doCheck = false; # we will run tests in sage-tests.nix
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
{ stdenv, fetchFromGitHub }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "threejs-sage";
|
||||||
|
version = "r122";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "sagemath";
|
||||||
|
repo = "threejs-sage";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-xPAPt36Fon3hYQq6SOmGkIyUzAII2LMl10nqYG4UPI0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/lib/node_modules/three
|
||||||
|
cp -r build version $out/lib/node_modules/three
|
||||||
|
'';
|
||||||
|
}
|
|
@ -1,57 +1,96 @@
|
||||||
{ stdenv, fetchurl, gmp, bison, perl, ncurses, readline, coreutils, pkg-config
|
{ stdenv, fetchFromGitHub, gmp, bison, perl, ncurses, readline, coreutils, pkg-config
|
||||||
, lib
|
, lib
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
|
, sharutils
|
||||||
, file
|
, file
|
||||||
, flint
|
, flint
|
||||||
, ntl
|
, ntl
|
||||||
, cddlib
|
, cddlib
|
||||||
, enableFactory ? true
|
, gfan
|
||||||
|
, lrcalc
|
||||||
|
, doxygen
|
||||||
|
, graphviz
|
||||||
|
# upstream generates docs with texinfo 4. later versions of texinfo
|
||||||
|
# use letters instead of numbers for post-appendix chapters, and we
|
||||||
|
# want it to match the upstream format because sage depends on it.
|
||||||
|
, texinfo4
|
||||||
|
, texlive
|
||||||
|
, enableDocs ? true
|
||||||
, enableGfanlib ? true
|
, enableGfanlib ? true
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "singular";
|
pname = "singular";
|
||||||
version = "4.1.1p2";
|
version = "4.2.0p2";
|
||||||
|
|
||||||
src = let
|
# since the tarball does not contain tests or documentation (and
|
||||||
# singular sorts its tarballs in directories by base release (without patch version)
|
# there is no separate tests tarball for 4.2.0), we fetch from
|
||||||
# for example 4.1.1p1 will be in the directory 4-1-1
|
# GitHub.
|
||||||
baseVersion = builtins.head (lib.splitString "p" version);
|
src = fetchFromGitHub {
|
||||||
urlVersion = builtins.replaceStrings [ "." ] [ "-" ] baseVersion;
|
owner = "Singular";
|
||||||
in
|
repo = "Singular";
|
||||||
fetchurl {
|
|
||||||
url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${urlVersion}/singular-${version}.tar.gz";
|
# 4.2.0p2 is not tagged, but the tarball matches commit
|
||||||
sha256 = "07x9kri8vl4galik7lr6pscq3c51n8570pyw64i7gbj0m706f7wf";
|
# 6f68939ddf612d96e3caaaaa8275f77613ac1da8. the commit below has
|
||||||
|
# two extra fixes.
|
||||||
|
rev = "3cda50c00a849455efa2502e56596955491a353a";
|
||||||
|
sha256 = "sha256-OizPhGE6L2LTOrKfeDdDB6BSdvYkDVXvbbYjV14hnHM=";
|
||||||
|
|
||||||
|
# if a release is tagged it will be in the format below.
|
||||||
|
# rev = "Release${lib.replaceStrings ["."] ["-"] version}";
|
||||||
|
|
||||||
|
# the repository's .gitattributes file contains the lines "/Tst/
|
||||||
|
# export-ignore" and "/doc/ export-ignore" so some directories are
|
||||||
|
# not included in the tarball downloaded by fetchzip. setting
|
||||||
|
# fetchSubmodules works around this by using fetchgit instead of
|
||||||
|
# fetchzip.
|
||||||
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# add aarch64 support to cpu-check.m4. copied from redhat.
|
||||||
|
./redhat-aarch64.patch
|
||||||
|
|
||||||
|
# vspace causes hangs in modstd and other libraries on aarch64
|
||||||
|
./disable-vspace-on-aarch64.patch
|
||||||
|
|
||||||
|
# the newest version of ax-prog-cc-for-build.m4 seems to trigger
|
||||||
|
# linker errors. see
|
||||||
|
# https://github.com/alsa-project/alsa-firmware/issues/3 for a
|
||||||
|
# related issue.
|
||||||
|
./use-older-ax-prog-cc-for-build.patch
|
||||||
|
] ++ lib.optionals enableDocs [
|
||||||
|
# singular supports building without 4ti2, bertini, normaliz or
|
||||||
|
# topcom just fine, but the docbuilding does not skip manual pages
|
||||||
|
# tagged as depending on those binaries (probably a bug in
|
||||||
|
# doc2tex.pl::HandleLib, since it seems to ignore "-exclude"
|
||||||
|
# argumens). skip them manually.
|
||||||
|
./disable-docs-for-optional-unpackaged-deps.patch
|
||||||
|
];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-ntl=${ntl}"
|
"--with-ntl=${ntl}"
|
||||||
] ++ lib.optionals enableFactory [
|
"--disable-pyobject-module"
|
||||||
"--enable-factory"
|
] ++ lib.optionals enableDocs [
|
||||||
|
"--enable-doc-build"
|
||||||
] ++ lib.optionals enableGfanlib [
|
] ++ lib.optionals enableGfanlib [
|
||||||
"--enable-gfanlib"
|
"--enable-gfanlib"
|
||||||
];
|
];
|
||||||
|
|
||||||
postUnpack = ''
|
prePatch = ''
|
||||||
|
# don't let the tests depend on `hostname`
|
||||||
|
substituteInPlace Tst/regress.cmd --replace 'mysystem_catch("hostname")' 'nix_test_runner'
|
||||||
|
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
|
'' + lib.optionalString enableDocs ''
|
||||||
|
# work around encoding problem
|
||||||
|
sed -i -e 's/\xb7/@cdot{}/g' doc/decodegb.doc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [
|
|
||||||
# NTL error handler was introduced in the library part, preventing users of
|
|
||||||
# the library from implementing their own error handling
|
|
||||||
# https://www.singular.uni-kl.de/forum/viewtopic.php?t=2769
|
|
||||||
(fetchpatch {
|
|
||||||
name = "move_error_handler_out_of_libsingular.patch";
|
|
||||||
# rebased version of https://github.com/Singular/Sources/commit/502cf86d0bb2a96715be6764774b64a69c1ca34c.patch
|
|
||||||
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/singular/patches/singular-ntl-error-handler.patch?h=50b9ae2fd233c30860e1cbb3e63a26f2cc10560a";
|
|
||||||
sha256 = "0vgh4m9zn1kjl0br68n04j4nmn5i1igfn28cph0chnwf7dvr9194";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
# For reference (last checked on commit 75f460d):
|
# For reference (last checked on commit 75f460d):
|
||||||
# https://github.com/Singular/Sources/blob/spielwiese/doc/Building-Singular-from-source.md
|
# https://github.com/Singular/Singular/blob/spielwiese/doc/Building-Singular-from-source.md
|
||||||
# https://github.com/Singular/Sources/blob/spielwiese/doc/external-packages-dynamic-modules.md
|
# https://github.com/Singular/Singular/blob/spielwiese/doc/external-packages-dynamic-modules.md
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
# necessary
|
# necessary
|
||||||
gmp
|
gmp
|
||||||
|
@ -60,6 +99,8 @@ stdenv.mkDerivation rec {
|
||||||
readline
|
readline
|
||||||
ntl
|
ntl
|
||||||
flint
|
flint
|
||||||
|
lrcalc
|
||||||
|
gfan
|
||||||
] ++ lib.optionals enableGfanlib [
|
] ++ lib.optionals enableGfanlib [
|
||||||
cddlib
|
cddlib
|
||||||
];
|
];
|
||||||
|
@ -68,6 +109,12 @@ stdenv.mkDerivation rec {
|
||||||
perl
|
perl
|
||||||
pkg-config
|
pkg-config
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
|
sharutils # needed for regress.cmd install checks
|
||||||
|
] ++ lib.optionals enableDocs [
|
||||||
|
doxygen
|
||||||
|
graphviz
|
||||||
|
texinfo4
|
||||||
|
texlive.combined.scheme-small
|
||||||
];
|
];
|
||||||
|
|
||||||
preAutoreconf = ''
|
preAutoreconf = ''
|
||||||
|
@ -85,23 +132,62 @@ stdenv.mkDerivation rec {
|
||||||
# do nothing
|
# do nothing
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
doCheck = true; # very basic checks, does not test any libraries
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p "$out"
|
mkdir -p "$out"
|
||||||
cp -r Singular/LIB "$out/lib"
|
cp -r Singular/LIB "$out/lib"
|
||||||
make install
|
make install
|
||||||
|
'' + lib.optionalString enableDocs ''
|
||||||
|
# Sage uses singular.hlp (which is not in the tarball)
|
||||||
|
mkdir -p $out/share/info
|
||||||
|
cp doc/singular.hlp $out/share/info
|
||||||
|
'' + ''
|
||||||
# Make sure patchelf picks up the right libraries
|
# Make sure patchelf picks up the right libraries
|
||||||
rm -rf libpolys factory resources omalloc Singular
|
rm -rf libpolys factory resources omalloc Singular
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# singular tests are a bit complicated, see
|
||||||
|
# https://github.com/Singular/Singular/tree/spielwiese/Tst
|
||||||
|
# https://www.singular.uni-kl.de/forum/viewtopic.php&t=2773
|
||||||
|
testsToRun = [
|
||||||
|
"Old/universal.lst"
|
||||||
|
"Buch/buch.lst"
|
||||||
|
"Plural/short.lst"
|
||||||
|
"Old/factor.tst"
|
||||||
|
] ++ lib.optionals enableGfanlib [
|
||||||
|
# tests that require gfanlib
|
||||||
|
"Short/ok_s.lst"
|
||||||
|
];
|
||||||
|
|
||||||
# simple test to make sure singular starts and finds its libraries
|
# simple test to make sure singular starts and finds its libraries
|
||||||
doInstallCheck = true;
|
doInstallCheck = true;
|
||||||
installCheckPhase = ''
|
installCheckPhase = ''
|
||||||
|
# Very basic sanity check to make sure singular starts and finds its libraries.
|
||||||
|
# This is redundant with the below tests. It is only kept because the singular test
|
||||||
|
# runner is a bit complicated. In case we decide to give up those tests in the future,
|
||||||
|
# this will still be useful. It takes barely any time.
|
||||||
"$out/bin/Singular" -c 'LIB "freegb.lib"; exit;'
|
"$out/bin/Singular" -c 'LIB "freegb.lib"; exit;'
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo >&2 "Error loading the freegb library in Singular."
|
echo >&2 "Error loading the freegb library in Singular."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Run the test suite
|
||||||
|
cd Tst
|
||||||
|
perl ./regress.cmd \
|
||||||
|
-s "$out/bin/Singular" \
|
||||||
|
${lib.concatStringsSep " " (map lib.escapeShellArg testsToRun)} \
|
||||||
|
2>"$TMPDIR/out-err.log"
|
||||||
|
|
||||||
|
# unfortunately regress.cmd always returns exit code 0, so check stderr
|
||||||
|
# https://www.singular.uni-kl.de/forum/viewtopic.php&t=2773
|
||||||
|
if [[ -s "$TMPDIR/out-err.log" ]]; then
|
||||||
|
cat "$TMPDIR/out-err.log"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Exit status $?"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -110,6 +196,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "A CAS for polynomial computations";
|
description = "A CAS for polynomial computations";
|
||||||
maintainers = teams.sage.members;
|
maintainers = teams.sage.members;
|
||||||
# 32 bit x86 fails with some link error: `undefined reference to `__divmoddi4@GCC_7.0.0'`
|
# 32 bit x86 fails with some link error: `undefined reference to `__divmoddi4@GCC_7.0.0'`
|
||||||
|
# https://www.singular.uni-kl.de:8002/trac/ticket/837
|
||||||
platforms = subtractLists platforms.i686 platforms.unix;
|
platforms = subtractLists platforms.i686 platforms.unix;
|
||||||
license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
|
license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
|
||||||
homepage = "http://www.singular.uni-kl.de";
|
homepage = "http://www.singular.uni-kl.de";
|
||||||
|
|
|
@ -0,0 +1,112 @@
|
||||||
|
commit 9e8b044d982e132cf35a106a1cc0cf7e77b27f7c
|
||||||
|
Author: Mauricio Collares <mauricio@collares.org>
|
||||||
|
Date: Thu Apr 15 20:33:21 2021 -0300
|
||||||
|
|
||||||
|
Disable manual sections using optional packages not yet in Nixpkgs
|
||||||
|
|
||||||
|
* normaliz.lib depends on normaliz.
|
||||||
|
* polymake.lib depends on topcom.
|
||||||
|
* recover.lib depends on bertini.
|
||||||
|
* sing4ti2.lib depends on 4ti2.
|
||||||
|
* tateProdCplxNegGrad.lib uses multigrading.lib, which depends on 4ti2.
|
||||||
|
|
||||||
|
diff --git a/doc/singular.doc b/doc/singular.doc
|
||||||
|
index 64b969d39..e704f95f0 100644
|
||||||
|
--- a/doc/singular.doc
|
||||||
|
+++ b/doc/singular.doc
|
||||||
|
@@ -407,7 +407,6 @@ LIB "all.lib";
|
||||||
|
* nfmodsyz_lib:: Syzygy modules of submodules of free modules over algebraic number fields
|
||||||
|
* noether_lib:: Noether normalization of an ideal
|
||||||
|
* normal_lib:: procedure for normalization
|
||||||
|
-* normaliz_lib:: integral closure, normalization for monomial ideals, toric ideals
|
||||||
|
* pointid_lib:: factorized lex GB of the vanishing ideal of a set of points
|
||||||
|
* primdec_lib:: procedures for primary decomposition
|
||||||
|
* primdecint_lib:: primary decomposition over the integers
|
||||||
|
@@ -416,7 +415,6 @@ LIB "all.lib";
|
||||||
|
* reesclos_lib:: Rees Algebra and integral closure of an ideal
|
||||||
|
* rstandard_lib:: Janet bases and border bases for ideals
|
||||||
|
* sagbi_lib:: Subalgebras bases Analogous to Groebner bases for ideals
|
||||||
|
-* sing4ti2_lib:: interface to program 4ti2
|
||||||
|
* symodstd_lib:: Groebner bases for symmetric ideals
|
||||||
|
* toric_lib:: toric ideals
|
||||||
|
@end menu
|
||||||
|
@@ -521,10 +519,6 @@ LIB "all.lib";
|
||||||
|
@node normal_lib
|
||||||
|
@subsection normal_lib
|
||||||
|
@c lib normal.lib
|
||||||
|
-@c ---------------------------------------------------------
|
||||||
|
-@node normaliz_lib
|
||||||
|
-@subsection normaliz_lib
|
||||||
|
-@c lib normaliz.lib tag:normaliz
|
||||||
|
@c ----------------------------------------------------------
|
||||||
|
@node pointid_lib
|
||||||
|
@subsection pointid_lib
|
||||||
|
@@ -558,10 +552,6 @@ LIB "all.lib";
|
||||||
|
@subsection sagbi_lib
|
||||||
|
@c lib sagbi.lib
|
||||||
|
@c ---------------------------------------------------------
|
||||||
|
-@node sing4ti2_lib
|
||||||
|
-@subsection sing4ti2_lib
|
||||||
|
-@c lib sing4ti2.lib tag:sing4ti2
|
||||||
|
-@c ----------------------------------------------------------
|
||||||
|
@node symodstd_lib
|
||||||
|
@subsection symodstd_lib
|
||||||
|
@c lib symodstd.lib
|
||||||
|
@@ -873,7 +863,6 @@ iniD, reslist, sumlist, dividelist, createlist
|
||||||
|
* solve_lib:: procedures to solve polynomial systems
|
||||||
|
* triang_lib:: procedures for decomposing zero-dimensional ideals
|
||||||
|
* ntsolve_lib:: one real solution of polynomial systems (Newton iteration)
|
||||||
|
-* recover_lib:: Hybrid numerical/symbolical algorithms
|
||||||
|
* rootisolation_lib:: real root isolation with intervals
|
||||||
|
* signcond_lib:: computing realizable sign conditions
|
||||||
|
* zeroset_lib:: procedures for roots and factorization
|
||||||
|
@@ -904,10 +893,6 @@ iniD, reslist, sumlist, dividelist, createlist
|
||||||
|
@subsection ntsolve_lib
|
||||||
|
@c lib ntsolve.lib
|
||||||
|
@c ---------------------------------------------------------
|
||||||
|
-@node recover_lib
|
||||||
|
-@subsection recover_lib
|
||||||
|
-@c lib recover.lib tag:bertini
|
||||||
|
-@c ----------------------------------------------------------
|
||||||
|
@node rootisolation_lib
|
||||||
|
@subsection rootisolation_lib
|
||||||
|
@c lib rootisolation.lib
|
||||||
|
@@ -1108,7 +1093,6 @@ but not for serious computations.
|
||||||
|
* cimonom_lib:: complete intersection for toric ideals
|
||||||
|
* gfan_lib:: A gfanlib interface for Singular
|
||||||
|
* gitfan_lib:: Compute GIT-fans
|
||||||
|
-* polymake_lib:: interface to TOPCOM
|
||||||
|
* realizationMatroids_lib:: Realizability for Tropical Fan Curves
|
||||||
|
* tropical_lib:: interface to gfan
|
||||||
|
* tropicalNewton_lib:: Newton polygons in tropical geometry
|
||||||
|
@@ -1125,10 +1109,7 @@ but not for serious computations.
|
||||||
|
@node gitfan_lib
|
||||||
|
@subsection gitfan_lib
|
||||||
|
@c lib gitfan.lib
|
||||||
|
-@c ----------------------------------------------------------
|
||||||
|
-@node polymake_lib
|
||||||
|
-@subsection polymake_lib
|
||||||
|
-@c lib polymake.lib tag:topcom
|
||||||
|
+
|
||||||
|
@c ----------------------------------------------------------
|
||||||
|
@node realizationMatroids_lib
|
||||||
|
@subsection realizationMatroids_lib
|
||||||
|
@@ -1219,7 +1200,6 @@ Comments should be send to the author of the library directly.
|
||||||
|
* stanleyreisner_lib:: T1 and T2 for a general Stanley-Reiser ring
|
||||||
|
* swalk_lib:: Sagbi Walk Conversion Algorithm
|
||||||
|
* systhreads_lib:: multi-threaded objects
|
||||||
|
-* tateProdCplxNegGrad_lib:: sheaf cohomology on product of projective spaces
|
||||||
|
* VecField_lib:: vector fields
|
||||||
|
@end menu
|
||||||
|
@c ----------------------------------------------------------
|
||||||
|
@@ -1310,10 +1290,6 @@ Todos/Issues:
|
||||||
|
@subsection systhreads_lib
|
||||||
|
@c lib systhreads.lib
|
||||||
|
@c ---------------------------------------------------------
|
||||||
|
-@node tateProdCplxNegGrad_lib
|
||||||
|
-@subsection tateProdCplxNegGrad_lib
|
||||||
|
-@c lib tateProdCplxNegGrad.lib
|
||||||
|
-@c ---------------------------------------------------------
|
||||||
|
@node VecField_lib
|
||||||
|
@subsection VecField_lib
|
||||||
|
@c lib VecField.lib
|
|
@ -0,0 +1,15 @@
|
||||||
|
diff --git a/kernel/mod2.h b/kernel/mod2.h
|
||||||
|
index 867fcae47..2abd84f23 100644
|
||||||
|
--- a/kernel/mod2.h
|
||||||
|
+++ b/kernel/mod2.h
|
||||||
|
@@ -60,8 +60,10 @@
|
||||||
|
|
||||||
|
/* define for parallel processes with shared memory */
|
||||||
|
#ifndef __CCYGWIN__
|
||||||
|
+#ifndef SI_CPU_AARCH64
|
||||||
|
#define HAVE_VSPACE 1
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/*#define PROFILING*/
|
||||||
|
#ifdef PROFILING
|
|
@ -0,0 +1,38 @@
|
||||||
|
diff --git a/m4/cpu-check.m4 b/m4/cpu-check.m4
|
||||||
|
index 3cf0a7f08..12bb926ac 100644
|
||||||
|
--- a/m4/cpu-check.m4
|
||||||
|
+++ b/m4/cpu-check.m4
|
||||||
|
@@ -37,6 +37,18 @@ if test "$ac_cv_singcpuname" = ppc; then
|
||||||
|
AC_DEFINE(SI_CPU_PPC,1,"PPC")
|
||||||
|
AC_SUBST(SI_CPU_PPC)
|
||||||
|
fi
|
||||||
|
+if test "$ac_cv_singcpuname" = arm -o "$ac_cv_singcpuname" = armel; then
|
||||||
|
+ AC_DEFINE(SI_CPU_ARM,1,"ARM")
|
||||||
|
+ AC_SUBST(SI_CPU_ARM)
|
||||||
|
+fi
|
||||||
|
+if test "$ac_cv_singcpuname" = aarch64; then
|
||||||
|
+ AC_DEFINE(SI_CPU_AARCH64,1,"AARCH64")
|
||||||
|
+ AC_SUBST(SI_CPU_AARCH64)
|
||||||
|
+fi
|
||||||
|
+if test "$ac_cv_singcpuname" = s390; then
|
||||||
|
+ AC_DEFINE(SI_CPU_S390,1,"S390")
|
||||||
|
+ AC_SUBST(SI_CPU_S390)
|
||||||
|
+fi
|
||||||
|
|
||||||
|
# UNAME and PATH
|
||||||
|
AC_MSG_CHECKING(uname for Singular)
|
||||||
|
@@ -65,6 +77,14 @@ dnl testet on: ppc_Linux, 740/750 PowerMac G3, 512k L2 cache
|
||||||
|
[powerpc*|ppc*], [AC_DEFINE(HAVE_GENERIC_MULT,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)],
|
||||||
|
dnl the following settings seems to be better on arm processors
|
||||||
|
[arm*], [],
|
||||||
|
+dnl FIXME: need to run some tests
|
||||||
|
+ [aarch64*], [
|
||||||
|
+ AC_DEFINE(HAVE_MULT_MOD,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)
|
||||||
|
+ AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)
|
||||||
|
+ AC_DEFINE(HAVE_DIV_MOD,1,division using extend euclidian algorithm otherwise using tables of logartihms)
|
||||||
|
+ ],
|
||||||
|
+dnl FIXME: need to run some tests
|
||||||
|
+ [s390*], [AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)],
|
||||||
|
[]
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,194 @@
|
||||||
|
diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
|
||||||
|
index f7410d74b..12cb005a5 100644
|
||||||
|
--- a/m4/ax_prog_cc_for_build.m4
|
||||||
|
+++ b/m4/ax_prog_cc_for_build.m4
|
||||||
|
@@ -32,35 +32,31 @@
|
||||||
|
# and this notice are preserved. This file is offered as-is, without any
|
||||||
|
# warranty.
|
||||||
|
|
||||||
|
-#serial 18
|
||||||
|
+#serial 9
|
||||||
|
|
||||||
|
AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
|
||||||
|
AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
|
||||||
|
AC_REQUIRE([AC_PROG_CC])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_CPP])dnl
|
||||||
|
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||||
|
+AC_REQUIRE([AC_EXEEXT])dnl
|
||||||
|
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||||
|
|
||||||
|
dnl Use the standard macros, but make them use other variable names
|
||||||
|
dnl
|
||||||
|
pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
|
||||||
|
-pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
|
||||||
|
pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
|
||||||
|
pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
|
||||||
|
pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
|
||||||
|
pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
|
||||||
|
-pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
|
||||||
|
pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
|
||||||
|
pushdef([ac_cv_objext], ac_cv_build_objext)dnl
|
||||||
|
pushdef([ac_exeext], ac_build_exeext)dnl
|
||||||
|
pushdef([ac_objext], ac_build_objext)dnl
|
||||||
|
pushdef([CC], CC_FOR_BUILD)dnl
|
||||||
|
pushdef([CPP], CPP_FOR_BUILD)dnl
|
||||||
|
-pushdef([GCC], GCC_FOR_BUILD)dnl
|
||||||
|
pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
|
||||||
|
pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
|
||||||
|
-pushdef([EXEEXT], BUILD_EXEEXT)dnl
|
||||||
|
pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
|
||||||
|
-pushdef([OBJEXT], BUILD_OBJEXT)dnl
|
||||||
|
pushdef([host], build)dnl
|
||||||
|
pushdef([host_alias], build_alias)dnl
|
||||||
|
pushdef([host_cpu], build_cpu)dnl
|
||||||
|
@@ -71,29 +67,27 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
|
||||||
|
pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
|
||||||
|
pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
|
||||||
|
pushdef([ac_cv_host_os], ac_cv_build_os)dnl
|
||||||
|
-pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
|
||||||
|
-pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
|
||||||
|
-pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
|
||||||
|
-pushdef([cross_compiling], cross_compiling_build)dnl
|
||||||
|
+pushdef([ac_cpp], ac_build_cpp)dnl
|
||||||
|
+pushdef([ac_compile], ac_build_compile)dnl
|
||||||
|
+pushdef([ac_link], ac_build_link)dnl
|
||||||
|
|
||||||
|
-cross_compiling_build=no
|
||||||
|
+save_cross_compiling=$cross_compiling
|
||||||
|
+save_ac_tool_prefix=$ac_tool_prefix
|
||||||
|
+cross_compiling=no
|
||||||
|
+ac_tool_prefix=
|
||||||
|
|
||||||
|
-ac_build_tool_prefix=
|
||||||
|
-AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
|
||||||
|
- [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
|
||||||
|
-
|
||||||
|
-AC_LANG_PUSH([C])
|
||||||
|
AC_PROG_CC
|
||||||
|
-_AC_COMPILER_EXEEXT
|
||||||
|
-_AC_COMPILER_OBJEXT
|
||||||
|
AC_PROG_CPP
|
||||||
|
+AC_EXEEXT
|
||||||
|
+
|
||||||
|
+ac_tool_prefix=$save_ac_tool_prefix
|
||||||
|
+cross_compiling=$save_cross_compiling
|
||||||
|
|
||||||
|
dnl Restore the old definitions
|
||||||
|
dnl
|
||||||
|
-popdef([cross_compiling])dnl
|
||||||
|
-popdef([am_cv_prog_cc_c_o])dnl
|
||||||
|
-popdef([am_cv_CC_dependencies_compiler_type])dnl
|
||||||
|
-popdef([ac_tool_prefix])dnl
|
||||||
|
+popdef([ac_link])dnl
|
||||||
|
+popdef([ac_compile])dnl
|
||||||
|
+popdef([ac_cpp])dnl
|
||||||
|
popdef([ac_cv_host_os])dnl
|
||||||
|
popdef([ac_cv_host_vendor])dnl
|
||||||
|
popdef([ac_cv_host_cpu])dnl
|
||||||
|
@@ -104,33 +98,25 @@ popdef([host_vendor])dnl
|
||||||
|
popdef([host_cpu])dnl
|
||||||
|
popdef([host_alias])dnl
|
||||||
|
popdef([host])dnl
|
||||||
|
-popdef([OBJEXT])dnl
|
||||||
|
popdef([LDFLAGS])dnl
|
||||||
|
-popdef([EXEEXT])dnl
|
||||||
|
popdef([CPPFLAGS])dnl
|
||||||
|
popdef([CFLAGS])dnl
|
||||||
|
-popdef([GCC])dnl
|
||||||
|
popdef([CPP])dnl
|
||||||
|
popdef([CC])dnl
|
||||||
|
popdef([ac_objext])dnl
|
||||||
|
popdef([ac_exeext])dnl
|
||||||
|
popdef([ac_cv_objext])dnl
|
||||||
|
popdef([ac_cv_exeext])dnl
|
||||||
|
-popdef([ac_cv_c_compiler_gnu])dnl
|
||||||
|
popdef([ac_cv_prog_cc_g])dnl
|
||||||
|
popdef([ac_cv_prog_cc_cross])dnl
|
||||||
|
popdef([ac_cv_prog_cc_works])dnl
|
||||||
|
-popdef([ac_cv_prog_cc_c89])dnl
|
||||||
|
popdef([ac_cv_prog_gcc])dnl
|
||||||
|
popdef([ac_cv_prog_CPP])dnl
|
||||||
|
|
||||||
|
-dnl restore global variables ac_ext, ac_cpp, ac_compile,
|
||||||
|
-dnl ac_link, ac_compiler_gnu (dependant on the current
|
||||||
|
-dnl language after popping):
|
||||||
|
-AC_LANG_POP([C])
|
||||||
|
-
|
||||||
|
dnl Finally, set Makefile variables
|
||||||
|
dnl
|
||||||
|
+BUILD_EXEEXT=$ac_build_exeext
|
||||||
|
+BUILD_OBJEXT=$ac_build_objext
|
||||||
|
AC_SUBST(BUILD_EXEEXT)dnl
|
||||||
|
AC_SUBST(BUILD_OBJEXT)dnl
|
||||||
|
AC_SUBST([CFLAGS_FOR_BUILD])dnl
|
||||||
|
diff --git a/m4/ax_prog_cxx_for_build.m4 b/m4/ax_prog_cxx_for_build.m4
|
||||||
|
index 4d976769f..17c19a89f 100644
|
||||||
|
--- a/m4/ax_prog_cxx_for_build.m4
|
||||||
|
+++ b/m4/ax_prog_cxx_for_build.m4
|
||||||
|
@@ -31,7 +31,7 @@
|
||||||
|
# and this notice are preserved. This file is offered as-is, without any
|
||||||
|
# warranty.
|
||||||
|
|
||||||
|
-#serial 4
|
||||||
|
+#serial 3
|
||||||
|
|
||||||
|
AU_ALIAS([AC_PROG_CXX_FOR_BUILD], [AX_PROG_CXX_FOR_BUILD])
|
||||||
|
AC_DEFUN([AX_PROG_CXX_FOR_BUILD], [dnl
|
||||||
|
@@ -49,7 +49,6 @@ pushdef([ac_cv_prog_cxx_cross], ac_cv_build_prog_cxx_cross)dnl
|
||||||
|
pushdef([ac_cv_prog_cxx_g], ac_cv_build_prog_cxx_g)dnl
|
||||||
|
pushdef([CXX], CXX_FOR_BUILD)dnl
|
||||||
|
pushdef([CXXCPP], CXXCPP_FOR_BUILD)dnl
|
||||||
|
-pushdef([GXX], GXX_FOR_BUILD)dnl
|
||||||
|
pushdef([CXXFLAGS], CXXFLAGS_FOR_BUILD)dnl
|
||||||
|
pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
|
||||||
|
pushdef([CXXCPPFLAGS], CXXCPPFLAGS_FOR_BUILD)dnl
|
||||||
|
@@ -63,25 +62,26 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
|
||||||
|
pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
|
||||||
|
pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
|
||||||
|
pushdef([ac_cv_host_os], ac_cv_build_os)dnl
|
||||||
|
-pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
|
||||||
|
-pushdef([am_cv_CXX_dependencies_compiler_type], am_cv_build_CXX_dependencies_compiler_type)dnl
|
||||||
|
-pushdef([cross_compiling], cross_compiling_build)dnl
|
||||||
|
+pushdef([ac_cxxcpp], ac_build_cxxcpp)dnl
|
||||||
|
+pushdef([ac_compile], ac_build_compile)dnl
|
||||||
|
+pushdef([ac_link], ac_build_link)dnl
|
||||||
|
|
||||||
|
-cross_compiling_build=no
|
||||||
|
+save_cross_compiling=$cross_compiling
|
||||||
|
+save_ac_tool_prefix=$ac_tool_prefix
|
||||||
|
+cross_compiling=no
|
||||||
|
+ac_tool_prefix=
|
||||||
|
|
||||||
|
-ac_build_tool_prefix=
|
||||||
|
-AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
|
||||||
|
- [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
|
||||||
|
-
|
||||||
|
-AC_LANG_PUSH([C++])
|
||||||
|
AC_PROG_CXX
|
||||||
|
AC_PROG_CXXCPP
|
||||||
|
|
||||||
|
+ac_tool_prefix=$save_ac_tool_prefix
|
||||||
|
+cross_compiling=$save_cross_compiling
|
||||||
|
+
|
||||||
|
dnl Restore the old definitions
|
||||||
|
dnl
|
||||||
|
-popdef([cross_compiling])dnl
|
||||||
|
-popdef([am_cv_CXX_dependencies_compiler_type])dnl
|
||||||
|
-popdef([ac_tool_prefix])dnl
|
||||||
|
+popdef([ac_link])dnl
|
||||||
|
+popdef([ac_compile])dnl
|
||||||
|
+popdef([ac_cxxcpp])dnl
|
||||||
|
popdef([ac_cv_host_os])dnl
|
||||||
|
popdef([ac_cv_host_vendor])dnl
|
||||||
|
popdef([ac_cv_host_cpu])dnl
|
||||||
|
@@ -103,10 +103,6 @@ popdef([ac_cv_prog_cxx_works])dnl
|
||||||
|
popdef([ac_cv_prog_gxx])dnl
|
||||||
|
popdef([ac_cv_prog_CXXCPP])dnl
|
||||||
|
|
||||||
|
-dnl restore global variables (dependant on the current
|
||||||
|
-dnl language after popping):
|
||||||
|
-AC_LANG_POP([C++])
|
||||||
|
-
|
||||||
|
dnl Finally, set Makefile variables
|
||||||
|
dnl
|
||||||
|
AC_SUBST([CXXFLAGS_FOR_BUILD])dnl
|
|
@ -1,14 +1,16 @@
|
||||||
{ lib, stdenv, mkDerivation, fetchurl, alsaLib, ffmpeg_3, libjack2, libX11, libXext, qtx11extras
|
{ lib, stdenv, mkDerivation, fetchFromGitHub, alsaLib, ffmpeg, libjack2, libX11, libXext, libXinerama, qtx11extras
|
||||||
, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, qtbase, cmake, ninja
|
, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "simplescreenrecorder";
|
pname = "simplescreenrecorder";
|
||||||
version = "0.3.11";
|
version = "0.4.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz";
|
owner = "MaartenBaert";
|
||||||
sha256 = "0l6irdadqpajvv0dj3ngs1231n559l0y1pykhs2h7526qm4w7xal";
|
repo = "ssr";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0mrx8wprs8bi42fwwvk6rh634ic9jnn0gkfpd6q9pcawnnbz3vq8";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = [ "-DWITH_QT5=TRUE" ];
|
cmakeFlags = [ "-DWITH_QT5=TRUE" ];
|
||||||
|
@ -25,14 +27,14 @@ mkDerivation rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config cmake ninja ];
|
nativeBuildInputs = [ pkg-config cmake ninja ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
alsaLib ffmpeg_3 libjack2 libX11 libXext libXfixes libGLU libGL
|
alsaLib ffmpeg libjack2 libX11 libXext libXfixes libXinerama libGLU libGL
|
||||||
libpulseaudio qtbase qtx11extras
|
libpulseaudio libv4l qtbase qttools qtx11extras
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A screen recorder for Linux";
|
description = "A screen recorder for Linux";
|
||||||
homepage = "https://www.maartenbaert.be/simplescreenrecorder";
|
homepage = "https://www.maartenbaert.be/simplescreenrecorder";
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3Plus;
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
maintainers = [ maintainers.goibhniu ];
|
maintainers = [ maintainers.goibhniu ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -12,10 +12,19 @@ index 48be48d..5038d4c 100755
|
||||||
-LD_PRELOAD="$LD_PRELOAD:libssr-glinject.so" "$@"
|
-LD_PRELOAD="$LD_PRELOAD:libssr-glinject.so" "$@"
|
||||||
+LD_PRELOAD="$LD_PRELOAD:@out@/lib/libssr-glinject.so" "$@"
|
+LD_PRELOAD="$LD_PRELOAD:@out@/lib/libssr-glinject.so" "$@"
|
||||||
diff --git a/src/AV/Input/GLInjectInput.cpp b/src/AV/Input/GLInjectInput.cpp
|
diff --git a/src/AV/Input/GLInjectInput.cpp b/src/AV/Input/GLInjectInput.cpp
|
||||||
index 6b378f8..cbcf82b 100644
|
index fc98f31..18f5196 100644
|
||||||
--- a/src/AV/Input/GLInjectInput.cpp
|
--- a/src/AV/Input/GLInjectInput.cpp
|
||||||
+++ b/src/AV/Input/GLInjectInput.cpp
|
+++ b/src/AV/Input/GLInjectInput.cpp
|
||||||
@@ -96,7 +96,7 @@ void GLInjectInput::SetCapturing(bool capturing) {
|
@@ -113,7 +113,7 @@ bool ExecuteDetached(const char* command, const char* working_directory) {
|
||||||
|
|
||||||
|
// try to execute command
|
||||||
|
do {
|
||||||
|
- res = execl("/bin/sh", "/bin/sh", "-c", command, (char*) NULL);
|
||||||
|
+ res = execl("@sh@", "@sh@", "-c", command, (char*) NULL);
|
||||||
|
} while(res == -1 and errno == EINTR);
|
||||||
|
|
||||||
|
// failed, send feedback
|
||||||
|
@@ -207,7 +207,7 @@ void GLInjectInput::SetCapturing(bool capturing) {
|
||||||
bool GLInjectInput::LaunchApplication(const QString& channel, bool relax_permissions, const QString& command, const QString& working_directory) {
|
bool GLInjectInput::LaunchApplication(const QString& channel, bool relax_permissions, const QString& command, const QString& working_directory) {
|
||||||
|
|
||||||
// prepare command
|
// prepare command
|
||||||
|
@ -24,12 +33,3 @@ index 6b378f8..cbcf82b 100644
|
||||||
full_command += "SSR_CHANNEL=\"" + ShellEscape(channel) + "\" ";
|
full_command += "SSR_CHANNEL=\"" + ShellEscape(channel) + "\" ";
|
||||||
if(relax_permissions)
|
if(relax_permissions)
|
||||||
full_command += "SSR_STREAM_RELAX_PERMISSIONS=1 ";
|
full_command += "SSR_STREAM_RELAX_PERMISSIONS=1 ";
|
||||||
@@ -106,7 +106,7 @@ bool GLInjectInput::LaunchApplication(const QString& channel, bool relax_permiss
|
|
||||||
QStringList args;
|
|
||||||
args.push_back("-c");
|
|
||||||
args.push_back(full_command);
|
|
||||||
- return QProcess::startDetached("/bin/sh", args, working_directory);
|
|
||||||
+ return QProcess::startDetached("@sh@", args, working_directory);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -4,11 +4,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "graphs";
|
pname = "graphs";
|
||||||
version = "20161026";
|
version = "20210214";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2";
|
url = "https://mirrors.mit.edu/sage/spkg/upstream/${pname}/${pname}-${version}.tar.bz2";
|
||||||
sha256 = "0a2b5lly9nifphvknz88rrhfbbc8vqnlqcv19zdpfq8h8nnyjbb2";
|
# TODO: switch to the url below once Sage 9.3 is released
|
||||||
|
# url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2";
|
||||||
|
sha256 = "sha256-ByN8DZhTYRUFw4n9e7klAMh0P1YxurtND0Xf2DMvN0E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -1,28 +1,33 @@
|
||||||
{ lib, stdenv, fetchFromGitHub }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cimg";
|
pname = "cimg";
|
||||||
version = "2.9.6";
|
version = "2.9.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dtschump";
|
owner = "dtschump";
|
||||||
repo = "CImg";
|
repo = "CImg";
|
||||||
rev = "v.${version}";
|
rev = "v.${version}";
|
||||||
sha256 = "sha256-RdOfog5FOw5XESyDFX68Lb2MUyCeUuPaq/0UVNTjNKo=";
|
sha256 = "sha256-cR2wvGtomT1cZh8wKMCfYDNuP3d1gKhHJavVnvuQ8Mc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
install -dm 755 $out/include/CImg/plugins $doc/share/doc/cimg/examples
|
install -dm 755 $out/include/CImg/plugins $doc/share/doc/cimg/examples
|
||||||
|
|
||||||
install -m 644 CImg.h $out/include/
|
install -m 644 CImg.h $out/include/
|
||||||
cp -dr --no-preserve=ownership examples/* $doc/share/doc/cimg/examples/
|
cp -dr --no-preserve=ownership examples/* $doc/share/doc/cimg/examples/
|
||||||
cp -dr --no-preserve=ownership plugins/* $out/include/CImg/plugins/
|
cp -dr --no-preserve=ownership plugins/* $out/include/CImg/plugins/
|
||||||
cp README.txt $doc/share/doc/cimg/
|
cp README.txt $doc/share/doc/cimg/
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "doc" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
homepage = "http://cimg.eu/";
|
||||||
description = "A small, open source, C++ toolkit for image processing";
|
description = "A small, open source, C++ toolkit for image processing";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
CImg stands for Cool Image. It is easy to use, efficient and is intended
|
CImg stands for Cool Image. It is easy to use, efficient and is intended
|
||||||
|
@ -30,7 +35,6 @@ stdenv.mkDerivation rec {
|
||||||
C++. Due to its generic conception, it can cover a wide range of image
|
C++. Due to its generic conception, it can cover a wide range of image
|
||||||
processing applications.
|
processing applications.
|
||||||
'';
|
'';
|
||||||
homepage = "http://cimg.eu/";
|
|
||||||
license = licenses.cecill-c;
|
license = licenses.cecill-c;
|
||||||
maintainers = [ maintainers.AndersonTorres ];
|
maintainers = [ maintainers.AndersonTorres ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
|
|
@ -14,7 +14,7 @@ assert withFlint -> flint != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "eclib";
|
pname = "eclib";
|
||||||
version = "20210223"; # upgrade might break the sage interface
|
version = "20190909"; # upgrade might break the sage interface
|
||||||
# sage tests to run:
|
# sage tests to run:
|
||||||
# src/sage/interfaces/mwrank.py
|
# src/sage/interfaces/mwrank.py
|
||||||
# src/sage/libs/eclib
|
# src/sage/libs/eclib
|
||||||
|
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||||
owner = "JohnCremona";
|
owner = "JohnCremona";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-xnSw5cdg4PLa0GT/blCYDz/IG5aj+HG2NHSlyCiH9g0=";
|
sha256 = "0y1vdi4120gdw56gg2dn3wh625yr9wpyk3wpbsd25w4lv83qq5da";
|
||||||
};
|
};
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
pari
|
pari
|
||||||
|
|
|
@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
|
||||||
inherit version;
|
inherit version;
|
||||||
description = "Fast Library for Number Theory";
|
description = "Fast Library for Number Theory";
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
maintainers = [lib.maintainers.raskin];
|
maintainers = lib.teams.sage.members;
|
||||||
platforms = lib.platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
homepage = "http://www.flintlib.org/";
|
homepage = "http://www.flintlib.org/";
|
||||||
downloadPage = "http://www.flintlib.org/downloads.html";
|
downloadPage = "http://www.flintlib.org/downloads.html";
|
||||||
|
|
|
@ -1,28 +1,42 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchurl
|
, fetchFromGitHub
|
||||||
|
, autoreconfHook
|
||||||
|
, doxygen
|
||||||
|
, freeglut
|
||||||
, freetype
|
, freetype
|
||||||
|
, GLUT
|
||||||
, libGL
|
, libGL
|
||||||
, libGLU
|
, libGLU
|
||||||
, OpenGL
|
, OpenGL
|
||||||
|
, pkg-config
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ftgl";
|
pname = "ftgl";
|
||||||
version = "2.1.3-rc5";
|
version = "2.4.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "mirror://sourceforge/${pname}-${version}.tar.gz";
|
owner = "frankheckenbach";
|
||||||
hash = "sha256-VFjWISJFSGlXLTn4qoV0X8BdVRgAG876Y71su40mVls=";
|
repo = "ftgl";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-6TDNGoMeBLnucmHRgEDIVWcjlJb7N0sTluqBwRMMWn4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
doxygen
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
freetype
|
freetype
|
||||||
] ++ (if stdenv.isDarwin then [
|
] ++ (if stdenv.isDarwin then [
|
||||||
OpenGL
|
OpenGL
|
||||||
|
GLUT
|
||||||
] else [
|
] else [
|
||||||
libGL
|
libGL
|
||||||
libGLU
|
libGLU
|
||||||
|
freeglut
|
||||||
]);
|
]);
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
|
@ -31,8 +45,13 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
install -Dm644 src/FTSize.h -t ${placeholder "out"}/include/FTGL
|
||||||
|
install -Dm644 src/FTFace.h -t ${placeholder "out"}/include/FTGL
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://sourceforge.net/apps/mediawiki/ftgl/";
|
homepage = "https://github.com/frankheckenbach/ftgl";
|
||||||
description = "Font rendering library for OpenGL applications";
|
description = "Font rendering library for OpenGL applications";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
FTGL is a free cross-platform Open Source C++ library that uses Freetype2
|
FTGL is a free cross-platform Open Source C++ library that uses Freetype2
|
||||||
|
@ -40,7 +59,7 @@ stdenv.mkDerivation rec {
|
||||||
pixmaps, texture maps, outlines, polygon mesh, and extruded polygon
|
pixmaps, texture maps, outlines, polygon mesh, and extruded polygon
|
||||||
rendering modes.
|
rendering modes.
|
||||||
'';
|
'';
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ AndersonTorres ];
|
maintainers = with maintainers; [ AndersonTorres ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,16 +1,24 @@
|
||||||
{lib, stdenv, fetchurl, mpfr}:
|
{lib, stdenv, fetchurl, autoconf, automake, libtool, texinfo, mpfr}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mpfi";
|
pname = "mpfi";
|
||||||
version = "1.5.4";
|
version = "1.5.4";
|
||||||
file_nr = "37331";
|
file_nr = "38111";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
# NOTE: the file_nr is whats important here. The actual package name (including the version)
|
# NOTE: the file_nr is whats important here. The actual package name (including the version)
|
||||||
# is ignored. To find out the correct file_nr, go to https://gforge.inria.fr/projects/mpfi/
|
# is ignored. To find out the correct file_nr, go to https://gforge.inria.fr/projects/mpfi/
|
||||||
# and click on Download in the section "Latest File Releases".
|
# and click on Download in the section "Latest File Releases".
|
||||||
url = "https://gforge.inria.fr/frs/download.php/file/${file_nr}/mpfi-${version}.tar.bz2";
|
url = "https://gforge.inria.fr/frs/download.php/file/${file_nr}/mpfi-${version}.tgz";
|
||||||
sha256 = "sha256-I4PUV7IIxs088uZracTOR0d7Kg2zH77AzUseuqJHGS8=";
|
sha256 = "sha256-Ozk4WV1yCvF5c96vcnz8DdQcixbCCtwQOpcPSkOuOlY=";
|
||||||
};
|
};
|
||||||
buildInputs = [mpfr];
|
|
||||||
|
nativeBuildInputs = [ autoconf automake libtool texinfo ];
|
||||||
|
buildInputs = [ mpfr ];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
./autogen.sh
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
inherit version;
|
inherit version;
|
||||||
description = "A multiple precision interval arithmetic library based on MPFR";
|
description = "A multiple precision interval arithmetic library based on MPFR";
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, jsonschema
|
||||||
|
, plotly
|
||||||
|
, pytest
|
||||||
|
, pytest-xdist
|
||||||
|
, pytest-cov
|
||||||
|
, pytest-asyncio
|
||||||
|
, beautifulsoup4
|
||||||
|
, pyyaml
|
||||||
|
, isort
|
||||||
|
, py
|
||||||
|
, jinja2
|
||||||
|
, rpmfile
|
||||||
|
, reportlab
|
||||||
|
, zstandard
|
||||||
|
, rich
|
||||||
|
, aiohttp
|
||||||
|
, toml
|
||||||
|
# aiohttp[speedups]
|
||||||
|
, aiodns
|
||||||
|
, brotlipy
|
||||||
|
, cchardet
|
||||||
|
, pillow
|
||||||
|
, pytestCheckHook
|
||||||
|
}:
|
||||||
|
buildPythonPackage {
|
||||||
|
pname = "cve-bin-tool";
|
||||||
|
version = "unstable-2021-04-15";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "intel";
|
||||||
|
repo = "cve-bin-tool";
|
||||||
|
rev = "10cb6fd0baffe35babfde024bc8c70aa58629237";
|
||||||
|
sha256 = "STf0tJBpadBqsbC+MghBai8zahDkrXfLoFRJ+84wvvY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Wants to open a sqlite database, access the internet, etc
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
jsonschema
|
||||||
|
plotly
|
||||||
|
pytest
|
||||||
|
pytest-xdist
|
||||||
|
pytest-cov
|
||||||
|
pytest-asyncio
|
||||||
|
beautifulsoup4
|
||||||
|
pyyaml
|
||||||
|
isort
|
||||||
|
py
|
||||||
|
jinja2
|
||||||
|
rpmfile
|
||||||
|
reportlab
|
||||||
|
zstandard
|
||||||
|
rich
|
||||||
|
aiohttp
|
||||||
|
toml
|
||||||
|
|
||||||
|
# aiohttp[speedups]
|
||||||
|
aiodns
|
||||||
|
brotlipy
|
||||||
|
cchardet
|
||||||
|
# needed by brotlipy
|
||||||
|
pillow
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"cve_bin_tool"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "CVE Binary Checker Tool";
|
||||||
|
homepage = "https://github.com/intel/cve-bin-tool";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = teams.determinatesystems.members;
|
||||||
|
};
|
||||||
|
}
|
|
@ -8,25 +8,21 @@
|
||||||
, numpy
|
, numpy
|
||||||
, six
|
, six
|
||||||
, typing-extensions
|
, typing-extensions
|
||||||
, typing
|
, pytestCheckHook
|
||||||
, pytestrunner
|
|
||||||
, pytest
|
|
||||||
, nbval
|
, nbval
|
||||||
, tabulate
|
, tabulate
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "onnx";
|
pname = "onnx";
|
||||||
version = "1.8.1";
|
version = "1.9.0";
|
||||||
|
|
||||||
# Due to Protobuf packaging issues this build of Onnx with Python 2 gives
|
# Python 2 is not supported as of Onnx v1.8
|
||||||
# errors on import.
|
|
||||||
# Also support for Python 2 will be deprecated from Onnx v1.8.
|
|
||||||
disabled = isPy27;
|
disabled = isPy27;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "9d65c52009a90499f8c25fdfe5acda3ac88efe0788eb1d5f2575a989277145fb";
|
sha256 = "0yjv2axz2vc2ysniwislsp53fsb8f61y1warrr2ppn2d9ijml1d9";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
@ -36,11 +32,10 @@ buildPythonPackage rec {
|
||||||
numpy
|
numpy
|
||||||
six
|
six
|
||||||
typing-extensions
|
typing-extensions
|
||||||
] ++ lib.optional (pythonOlder "3.5") [ typing ];
|
];
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
pytestrunner
|
pytestCheckHook
|
||||||
pytest
|
|
||||||
nbval
|
nbval
|
||||||
tabulate
|
tabulate
|
||||||
];
|
];
|
||||||
|
@ -48,6 +43,9 @@ buildPythonPackage rec {
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
chmod +x tools/protoc-gen-mypy.sh.in
|
chmod +x tools/protoc-gen-mypy.sh.in
|
||||||
patchShebangs tools/protoc-gen-mypy.sh.in tools/protoc-gen-mypy.py
|
patchShebangs tools/protoc-gen-mypy.sh.in tools/protoc-gen-mypy.py
|
||||||
|
|
||||||
|
substituteInPlace setup.py \
|
||||||
|
--replace "setup_requires.append('pytest-runner')" ""
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, flask
|
||||||
|
, mock
|
||||||
|
, prettytable
|
||||||
|
, pyserial
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, requests
|
||||||
|
, stevedore
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "pynx584";
|
||||||
|
version = "0.6";
|
||||||
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kk7ds";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0if1jq8qiqp4w4zhf2xzzcb8y70hr5pxqzh96i008p6izjha89y6";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
flask
|
||||||
|
prettytable
|
||||||
|
pyserial
|
||||||
|
requests
|
||||||
|
stevedore
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
mock
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "nx584" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Python package for communicating to NX584/NX8E interfaces";
|
||||||
|
homepage = "https://github.com/kk7ds/pynx584";
|
||||||
|
license = with licenses; [ gpl3Only ];
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,15 +1,22 @@
|
||||||
{ lib, fetchPypi, buildPythonPackage }:
|
{ lib, fetchFromGitHub, buildPythonPackage, jsonschema }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "robotframework";
|
pname = "robotframework";
|
||||||
version = "4.0";
|
version = "4.0.1";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchFromGitHub {
|
||||||
inherit pname version;
|
owner = pname;
|
||||||
sha256 = "a02a6f4af3b0830e4396058694c333cb63eb47f50acf6723be34f0f7a4d73ad7";
|
repo = pname;
|
||||||
extension = "zip";
|
rev = "v${version}";
|
||||||
|
sha256 = "1nkph0slrhss6y52y8jgbdc6m8hbqjilrwp3r00wwyqdifrfa1i6";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
checkInputs = [ jsonschema ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
python3 utest/run.py
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Generic test automation framework";
|
description = "Generic test automation framework";
|
||||||
homepage = "https://robotframework.org/";
|
homepage = "https://robotframework.org/";
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, setuptools-scm
|
||||||
|
}:
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "rpmfile";
|
||||||
|
version = "1.0.8";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "e56cfc10e1a7d953b1890d81652a89400c614f4cdd9909464aece434d93c3a3e";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Tests access the internet
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
setuptools-scm
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"rpmfile"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Read rpm archive files";
|
||||||
|
homepage = "https://github.com/srossross/rpmfile";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = teams.determinatesystems.members;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
{ buildGoPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, lib
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildGoPackage rec {
|
||||||
|
pname = "protoc-gen-go-grpc";
|
||||||
|
version = "1.1.0";
|
||||||
|
|
||||||
|
goPackagePath = "google.golang.org/grpc";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "grpc";
|
||||||
|
repo = "grpc-go";
|
||||||
|
rev = "cmd/protoc-gen-go-grpc/v${version}";
|
||||||
|
sha256 = "14rjb8j6fm07rnns3dpwgkzf3y6rmia6i9n7ns6cldc5mbf7nwi3";
|
||||||
|
};
|
||||||
|
|
||||||
|
subPackages = [ "cmd/protoc-gen-go-grpc" ];
|
||||||
|
|
||||||
|
goDeps = ./deps.nix;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "The Go language implementation of gRPC. HTTP/2 based RPC";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = [ maintainers.raboof ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,333 @@
|
||||||
|
# file generated from go.mod using vgo2nix (https://github.com/nix-community/vgo2nix)
|
||||||
|
[
|
||||||
|
{
|
||||||
|
goPackagePath = "cloud.google.com/go";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/googleapis/google-cloud-go";
|
||||||
|
rev = "v0.26.0";
|
||||||
|
sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/BurntSushi/toml";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/BurntSushi/toml";
|
||||||
|
rev = "v0.3.1";
|
||||||
|
sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/census-instrumentation/opencensus-proto";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/census-instrumentation/opencensus-proto";
|
||||||
|
rev = "v0.2.1";
|
||||||
|
sha256 = "19fcx3sc99i5dsklny6r073z5j20vlwn2xqm6di1q3b1xwchzqfj";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/client9/misspell";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/client9/misspell";
|
||||||
|
rev = "v0.3.4";
|
||||||
|
sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/cncf/udpa/go";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/cncf/udpa";
|
||||||
|
rev = "5459f2c99403";
|
||||||
|
sha256 = "0i3al193dsp91j7iywqrm6fr56y2sz51ci4vf19mb3j4n2x44gsi";
|
||||||
|
moduleDir = "go";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/davecgh/go-spew";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/davecgh/go-spew";
|
||||||
|
rev = "v1.1.0";
|
||||||
|
sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/envoyproxy/go-control-plane";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/envoyproxy/go-control-plane";
|
||||||
|
rev = "668b12f5399d";
|
||||||
|
sha256 = "0vmhc8ii081x1k2qw4kji7wjyg6l25zp1y6qxi27wq8m341i4rzb";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/envoyproxy/protoc-gen-validate";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/envoyproxy/protoc-gen-validate";
|
||||||
|
rev = "v0.1.0";
|
||||||
|
sha256 = "0kxd3wwh3xwqk0r684hsy281xq4y71cd11d4q2hspcjbnlbwh7cy";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/golang/glog";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/golang/glog";
|
||||||
|
rev = "23def4e6c14b";
|
||||||
|
sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/golang/mock";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/golang/mock";
|
||||||
|
rev = "v1.1.1";
|
||||||
|
sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/golang/protobuf";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/golang/protobuf";
|
||||||
|
rev = "v1.4.2";
|
||||||
|
sha256 = "0m5z81im4nsyfgarjhppayk4hqnrwswr3nix9mj8pff8x9jvcjqw";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/google/go-cmp";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/google/go-cmp";
|
||||||
|
rev = "v0.5.0";
|
||||||
|
sha256 = "04pzp583p6b32y34c6jygfxarff9qjs39rarvfh6467z24sdd9k4";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/google/uuid";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/google/uuid";
|
||||||
|
rev = "v1.1.2";
|
||||||
|
sha256 = "1rbpfa0v0ly9sdnixcxhf79swki54ikgm1zkwwkj64p1ws66syqd";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/pmezard/go-difflib";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/pmezard/go-difflib";
|
||||||
|
rev = "v1.0.0";
|
||||||
|
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/prometheus/client_model";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/prometheus/client_model";
|
||||||
|
rev = "14fe0d1b01d4";
|
||||||
|
sha256 = "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/stretchr/objx";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/stretchr/objx";
|
||||||
|
rev = "v0.1.0";
|
||||||
|
sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/stretchr/testify";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/stretchr/testify";
|
||||||
|
rev = "v1.5.1";
|
||||||
|
sha256 = "09r89m1wy4cjv2nps1ykp00qjpi0531r07q3s34hr7m6njk4srkl";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/crypto";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/crypto";
|
||||||
|
rev = "c2843e01d9a2";
|
||||||
|
sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/exp";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/exp";
|
||||||
|
rev = "509febef88a4";
|
||||||
|
sha256 = "02isrh39z8znrp5znplzy0dip2gnrl3jm1355raliyvhnhg04j6q";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/lint";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/lint";
|
||||||
|
rev = "d0100b6bd8b3";
|
||||||
|
sha256 = "0b0amr9x4ji66iv9ayfx7zrfx52k1m5g66qfcxkgj80qrb1y2yn7";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/net";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/net";
|
||||||
|
rev = "d8887717615a";
|
||||||
|
sha256 = "1wfm6ngxjyj7v5a2dqib6lw8bb2rdnf1kl48diykxjrsddn0s163";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/oauth2";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/oauth2";
|
||||||
|
rev = "d2e6202438be";
|
||||||
|
sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/sync";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/sync";
|
||||||
|
rev = "112230192c58";
|
||||||
|
sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/sys";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/sys";
|
||||||
|
rev = "d0b11bdaac8a";
|
||||||
|
sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/text";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/text";
|
||||||
|
rev = "v0.3.0";
|
||||||
|
sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/tools";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/tools";
|
||||||
|
rev = "2c0ae7006135";
|
||||||
|
sha256 = "1lsi2ssxajclj3bciz2a41v1vjv768ja3v6wnbyhxy8xphwkp4fk";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/xerrors";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/xerrors";
|
||||||
|
rev = "9bdfabe68543";
|
||||||
|
sha256 = "1yjfi1bk9xb81lqn85nnm13zz725wazvrx3b50hx19qmwg7a4b0c";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "google.golang.org/appengine";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/golang/appengine";
|
||||||
|
rev = "v1.4.0";
|
||||||
|
sha256 = "06zl7w4sxgdq2pl94wy9ncii6h0z3szl4xpqds0sv3b3wbdlhbnn";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "google.golang.org/genproto";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/googleapis/go-genproto";
|
||||||
|
rev = "cb27e3aa2013";
|
||||||
|
sha256 = "0ml73ghqcwbz7ipfk8fnxb5indcml49b5p7vp1fsyny0abyyrmxf";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "google.golang.org/protobuf";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/protobuf";
|
||||||
|
rev = "v1.25.0";
|
||||||
|
sha256 = "0apfl42x166dh96zfq5kvv4b4ax9xljik6bq1mnvn2240ir3mc23";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gopkg.in/check.v1";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gopkg.in/check.v1";
|
||||||
|
rev = "20d25e280405";
|
||||||
|
sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gopkg.in/yaml.v2";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gopkg.in/yaml.v2";
|
||||||
|
rev = "v2.2.2";
|
||||||
|
sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "honnef.co/go/tools";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/dominikh/go-tools";
|
||||||
|
rev = "ea95bdfd59fc";
|
||||||
|
sha256 = "1763nw7pwpzkvzfnm63dgzcgbq9hwmq5l1nffchnhh77vgkaq4ic";
|
||||||
|
moduleDir = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
]
|
|
@ -573,7 +573,7 @@
|
||||||
"number" = ps: with ps; [ ];
|
"number" = ps: with ps; [ ];
|
||||||
"nut" = ps: with ps; [ ]; # missing inputs: pynut2
|
"nut" = ps: with ps; [ ]; # missing inputs: pynut2
|
||||||
"nws" = ps: with ps; [ pynws ];
|
"nws" = ps: with ps; [ pynws ];
|
||||||
"nx584" = ps: with ps; [ ]; # missing inputs: pynx584
|
"nx584" = ps: with ps; [ pynx584 ];
|
||||||
"nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi
|
"nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi
|
||||||
"oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics
|
"oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics
|
||||||
"obihai" = ps: with ps; [ ]; # missing inputs: pyobihai
|
"obihai" = ps: with ps; [ ]; # missing inputs: pyobihai
|
||||||
|
|
|
@ -332,6 +332,7 @@ in with py.pkgs; buildPythonApplication rec {
|
||||||
"notify"
|
"notify"
|
||||||
"notion"
|
"notion"
|
||||||
"number"
|
"number"
|
||||||
|
"nx584"
|
||||||
"omnilogic"
|
"omnilogic"
|
||||||
"ondilo_ico"
|
"ondilo_ico"
|
||||||
"openerz"
|
"openerz"
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "avfs";
|
pname = "avfs";
|
||||||
version = "1.1.3";
|
version = "1.1.4";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/avf/${version}/${pname}-${version}.tar.bz2";
|
url = "mirror://sourceforge/avf/${version}/${pname}-${version}.tar.bz2";
|
||||||
sha256 = "1psh8k7g7rb0gn7aygbjv86kxyi9xq07barxksa99nnmq3lc2kjg";
|
sha256 = "0ax1zbw4pmggx1b784bfabdqyn39k7109cnl22p69y2phnpq2y9s";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "http://avf.sourceforge.net/";
|
homepage = "http://avf.sourceforge.net/";
|
||||||
description = "Virtual filesystem that allows browsing of compressed files";
|
description = "Virtual filesystem that allows browsing of compressed files";
|
||||||
platforms = lib.platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
license = lib.licenses.gpl2;
|
license = lib.licenses.gpl2Only;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,11 +14,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "agi";
|
pname = "agi";
|
||||||
version = "1.1.0-dev-20210421";
|
version = "1.1.0-dev-20210423";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/google/agi-dev-releases/releases/download/v${version}/agi-${version}-linux.zip";
|
url = "https://github.com/google/agi-dev-releases/releases/download/v${version}/agi-${version}-linux.zip";
|
||||||
sha256 = "sha256-2IgGvQy6omDEwrzQDfa/OLi3f+Q2zarvJVGk6ZhsjSA=";
|
sha256 = "sha256-49ZKqG+CiQkdoBMLdYrN5fMnJH5TtXdUknQLQB2UG04=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "vips";
|
pname = "vips";
|
||||||
version = "8.10.5";
|
version = "8.10.6";
|
||||||
|
|
||||||
outputs = [ "bin" "out" "man" "dev" ];
|
outputs = [ "bin" "out" "man" "dev" ];
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||||
owner = "libvips";
|
owner = "libvips";
|
||||||
repo = "libvips";
|
repo = "libvips";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-h21Ep6f4/y+m0kdrCA5dcULFeOOyLtMx2etAziG6f9Y=";
|
sha256 = "sha256-hdpkBC76PnPTN+rnNchLVk1CrhcClTtbaWyUcyUtuAk=";
|
||||||
# Remove unicode file names which leads to different checksums on HFS+
|
# Remove unicode file names which leads to different checksums on HFS+
|
||||||
# vs. other filesystems because of unicode normalisation.
|
# vs. other filesystems because of unicode normalisation.
|
||||||
extraPostFetch = ''
|
extraPostFetch = ''
|
||||||
|
|
|
@ -12,14 +12,16 @@ assert unicodeSupport -> ncurses.unicode && ncurses != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "dialog";
|
pname = "dialog";
|
||||||
version = "1.3-20210306";
|
version = "1.3-20210324";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.invisible-island.net/dialog/${pname}-${version}.tgz";
|
url = "ftp://ftp.invisible-island.net/dialog/${pname}-${version}.tgz";
|
||||||
hash = "sha256-pz57YHtjX2PAICuzMTEG5wD5H+Sp9NJspwA/brK5yw8=";
|
hash = "sha256-AcLR4umvmwg+ogDKrQhP39pVF41bv05Cyf/0STUVFlM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ncurses ];
|
buildInputs = [
|
||||||
|
ncurses
|
||||||
|
];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--disable-rpath-hacks"
|
"--disable-rpath-hacks"
|
|
@ -10,11 +10,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nncp";
|
pname = "nncp";
|
||||||
version = "6.3.0";
|
version = "6.4.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz";
|
url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0ss6p91r9sr3q8p8f6mjjc2cspx3fq0q4w44gfxl0da2wc8nmhkn";
|
sha256 = "16xrwhr7avss238k83ih1njl0gfca57ghg360ba9ixlssrb1239x";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ go redo-apenwarr ];
|
nativeBuildInputs = [ go redo-apenwarr ];
|
||||||
|
|
|
@ -18,11 +18,11 @@ buildPythonPackage rec {
|
||||||
# The websites youtube-dl deals with are a very moving target. That means that
|
# The websites youtube-dl deals with are a very moving target. That means that
|
||||||
# downloads break constantly. Because of that, updates should always be backported
|
# downloads break constantly. Because of that, updates should always be backported
|
||||||
# to the latest stable release.
|
# to the latest stable release.
|
||||||
version = "2021.04.07";
|
version = "2021.04.26";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
|
url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "02d51l6gdjr3zhhi7ydf5kzv8dv4jzq0ygja7zb2h9k7hnl0l27m";
|
sha256 = "0jpa65jr5djn9175p6a8j9i1zgarshfwfsgmprc0vvnsl3s23ksc";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
{ lib, fetchFromGitHub, rustPlatform, stdenv, installShellFiles, libiconv }:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "zellij";
|
||||||
|
version = "0.5.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "zellij-org";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "102zw4napzx05rpmx6scl6il55syf3lw1gzmy1y66cg1f70sij4d";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoSha256 = "121fsch0an6d2hqaq0ws9cm7g5ppzfrycmmhajfacfg6wbiax1m5";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
HOME=$TMPDIR
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
installShellCompletion assets/completions/zellij.{bash,fish} --zsh assets/completions/_zellij
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A terminal workspace with batteries included";
|
||||||
|
homepage = "https://zellij.dev/";
|
||||||
|
license = with licenses; [ mit ];
|
||||||
|
maintainers = with maintainers; [ therealansh ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -265,6 +265,8 @@ in
|
||||||
|
|
||||||
protoc-gen-go = callPackage ../development/tools/protoc-gen-go { };
|
protoc-gen-go = callPackage ../development/tools/protoc-gen-go { };
|
||||||
|
|
||||||
|
protoc-gen-go-grpc = callPackage ../development/tools/protoc-gen-go-grpc { };
|
||||||
|
|
||||||
protoc-gen-twirp = callPackage ../development/tools/protoc-gen-twirp { };
|
protoc-gen-twirp = callPackage ../development/tools/protoc-gen-twirp { };
|
||||||
|
|
||||||
protoc-gen-twirp_php = callPackage ../development/tools/protoc-gen-twirp_php { };
|
protoc-gen-twirp_php = callPackage ../development/tools/protoc-gen-twirp_php { };
|
||||||
|
@ -2274,7 +2276,7 @@ in
|
||||||
inherit (haskellPackages) ghcWithPackages diagrams-builder;
|
inherit (haskellPackages) ghcWithPackages diagrams-builder;
|
||||||
};
|
};
|
||||||
|
|
||||||
dialog = callPackage ../development/tools/misc/dialog { };
|
dialog = callPackage ../tools/misc/dialog { };
|
||||||
|
|
||||||
dibbler = callPackage ../tools/networking/dibbler { };
|
dibbler = callPackage ../tools/networking/dibbler { };
|
||||||
|
|
||||||
|
@ -4649,7 +4651,7 @@ in
|
||||||
frostwire-bin = callPackage ../applications/networking/p2p/frostwire/frostwire-bin.nix { };
|
frostwire-bin = callPackage ../applications/networking/p2p/frostwire/frostwire-bin.nix { };
|
||||||
|
|
||||||
ftgl = callPackage ../development/libraries/ftgl {
|
ftgl = callPackage ../development/libraries/ftgl {
|
||||||
inherit (darwin.apple_sdk.frameworks) OpenGL;
|
inherit (darwin.apple_sdk.frameworks) OpenGL GLUT;
|
||||||
};
|
};
|
||||||
|
|
||||||
ftop = callPackage ../os-specific/linux/ftop { };
|
ftop = callPackage ../os-specific/linux/ftop { };
|
||||||
|
@ -9769,6 +9771,8 @@ in
|
||||||
|
|
||||||
zdelta = callPackage ../tools/compression/zdelta { };
|
zdelta = callPackage ../tools/compression/zdelta { };
|
||||||
|
|
||||||
|
zellij = callPackage ../tools/misc/zellij { };
|
||||||
|
|
||||||
zenith = callPackage ../tools/system/zenith {
|
zenith = callPackage ../tools/system/zenith {
|
||||||
inherit (darwin.apple_sdk.frameworks) IOKit;
|
inherit (darwin.apple_sdk.frameworks) IOKit;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1603,6 +1603,8 @@ in {
|
||||||
|
|
||||||
curve25519-donna = callPackage ../development/python-modules/curve25519-donna { };
|
curve25519-donna = callPackage ../development/python-modules/curve25519-donna { };
|
||||||
|
|
||||||
|
cve-bin-tool = callPackage ../development/python-modules/cve-bin-tool { };
|
||||||
|
|
||||||
cvxopt = callPackage ../development/python-modules/cvxopt { };
|
cvxopt = callPackage ../development/python-modules/cvxopt { };
|
||||||
|
|
||||||
cvxpy = callPackage ../development/python-modules/cvxpy { };
|
cvxpy = callPackage ../development/python-modules/cvxpy { };
|
||||||
|
@ -4964,6 +4966,8 @@ in {
|
||||||
|
|
||||||
pynws = callPackage ../development/python-modules/pynws { };
|
pynws = callPackage ../development/python-modules/pynws { };
|
||||||
|
|
||||||
|
pynx584 = callPackage ../development/python-modules/pynx584 { };
|
||||||
|
|
||||||
pysbd = callPackage ../development/python-modules/pysbd { };
|
pysbd = callPackage ../development/python-modules/pysbd { };
|
||||||
|
|
||||||
pyshark = callPackage ../development/python-modules/pyshark { };
|
pyshark = callPackage ../development/python-modules/pyshark { };
|
||||||
|
@ -7106,6 +7110,8 @@ in {
|
||||||
inherit python;
|
inherit python;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
rpmfile = callPackage ../development/python-modules/rpmfile { };
|
||||||
|
|
||||||
rpmfluff = callPackage ../development/python-modules/rpmfluff { };
|
rpmfluff = callPackage ../development/python-modules/rpmfluff { };
|
||||||
|
|
||||||
rpy2 = callPackage ../development/python-modules/rpy2 { };
|
rpy2 = callPackage ../development/python-modules/rpy2 { };
|
||||||
|
|
Loading…
Reference in New Issue