singular: 4.1.1p1 -> 4.1.1p2

This commit is contained in:
Timo Kaufmann 2018-07-20 17:01:23 +02:00
parent 102eb1fd29
commit 024c23503c

View File

@ -1,4 +1,5 @@
{ stdenv, fetchurl, gmp, bison, perl, ncurses, readline, coreutils, pkgconfig { stdenv, fetchurl, gmp, bison, perl, ncurses, readline, coreutils, pkgconfig
, lib
, autoreconfHook , autoreconfHook
, file , file
, flint , flint
@ -9,21 +10,25 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "singular-${version}${patchVersion}"; name = "singular-${version}";
version = "4.1.1"; version = "4.1.1p2";
patchVersion = "p1";
urlVersion = builtins.replaceStrings [ "." ] [ "-" ] version; src = let
src = fetchurl { # singular sorts its tarballs in directories by base release (without patch version)
url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${urlVersion}/singular-${version}${patchVersion}.tar.gz"; # for example 4.1.1p1 will be in the directory 4-1-1
sha256 = "0wvgz7l1b7zkpmim0r3mvv4fp8xnhlbz4c7hc90rn30snlansnf1"; baseVersion = builtins.head (lib.splitString "p" version);
urlVersion = builtins.replaceStrings [ "." ] [ "-" ] baseVersion;
in
fetchurl {
url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${urlVersion}/singular-${version}.tar.gz";
sha256 = "07x9kri8vl4galik7lr6pscq3c51n8570pyw64i7gbj0m706f7wf";
}; };
configureFlags = [ configureFlags = [
"--with-ntl=${ntl}" "--with-ntl=${ntl}"
] ++stdenv.lib.optionals enableFactory [ ] ++ lib.optionals enableFactory [
"--enable-factory" "--enable-factory"
] ++ stdenv.lib.optionals enableGfanlib [ ] ++ lib.optionals enableGfanlib [
"--enable-gfanlib" "--enable-gfanlib"
]; ];
@ -42,7 +47,7 @@ stdenv.mkDerivation rec {
readline readline
ntl ntl
flint flint
] ++ stdenv.lib.optionals enableGfanlib [ ] ++ lib.optionals enableGfanlib [
cddlib cddlib
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
@ -60,10 +65,12 @@ stdenv.mkDerivation rec {
-i '{}' ';' -i '{}' ';'
''; '';
hardeningDisable = stdenv.lib.optional stdenv.isi686 "stackprotector"; hardeningDisable = lib.optional stdenv.isi686 "stackprotector";
# The Makefile actually defaults to `make install` anyway # The Makefile actually defaults to `make install` anyway
buildPhase = "true;"; buildPhase = ''
# do nothing
'';
installPhase = '' installPhase = ''
mkdir -p "$out" mkdir -p "$out"
@ -77,7 +84,7 @@ stdenv.mkDerivation rec {
# 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 = ''
$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
@ -86,9 +93,10 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with lib; {
description = "A CAS for polynomial computations"; description = "A CAS for polynomial computations";
maintainers = with maintainers; [ raskin ]; maintainers = with maintainers; [ raskin timokau ];
# 32 bit x86 fails with some link error: `undefined reference to `__divmoddi4@GCC_7.0.0'`
platforms = subtractLists platforms.i686 platforms.linux; platforms = subtractLists platforms.i686 platforms.linux;
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;