Date: Friday, September 9, 2016 @ 12:26:31 Author: arojas Revision: 189069
Long overdue update to 4.x Modified: singular/trunk/PKGBUILD Deleted: singular/trunk/currring.patch singular/trunk/fix-include-dirs.patch singular/trunk/ntl8.patch singular/trunk/singular-gcc6.patch singular/trunk/templates.patch ------------------------+ PKGBUILD | 85 ++++++++--------------------------------------- currring.patch | 22 ------------ fix-include-dirs.patch | 11 ------ ntl8.patch | 47 ------------------------- singular-gcc6.patch | 32 ----------------- templates.patch | 60 --------------------------------- 6 files changed, 15 insertions(+), 242 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-09-09 11:31:10 UTC (rev 189068) +++ PKGBUILD 2016-09-09 12:26:31 UTC (rev 189069) @@ -3,86 +3,31 @@ # Contributor: Rémy Oudompheng <[email protected]> pkgname=singular -pkgver=3.1.7.p1 -_majver=3-1-7 -pkgrel=23 +_majver=4-0-3 +_patchver=3 +pkgver=${_majver//-/.}.p${_patchver} +pkgrel=1 pkgdesc="Computer Algebra System for polynomial computations" arch=(i686 x86_64) url="http://www.singular.uni-kl.de/" license=(GPL) depends=(flint cddlib) # polymake -options=(!buildflags) -source=("http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/src/$_majver/Singular-${_majver}p1.tar.gz" - "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/src/$_majver/Singular-${_majver}-share.tar.gz" - templates.patch ntl8.patch currring.patch fix-include-dirs.patch singular-gcc6.patch) -md5sums=('ce369519d1c5d07342722e78240ea044' - 'b9177c00e95ee21b137984bade9fc481' - '8ca8ba06c846a8de189fff322d557705' - '2c028bbda467b437d5598ac07cd7211f' - '9be8f7bc07e3314c0202f2f9cb0f7467' - '31bdcc87548dd1fdc2cf5a73545b4f2d' - '36bb2a3fa574275215464f835dd16e05') +makedepends=(doxygen python2) +optdepends=('python2: Python interface') +source=("http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/$_majver/singular-${_majver//-/.}p${_patchver}.tar.gz") +md5sums=('129a642d9dca9efe6015e38935b0c6f7') -prepare() { - cd Singular-$_majver - patch -p1 -i ../templates.patch -# fix build against NTL 8 - patch -p1 -i ../ntl8.patch -# fix flint detection - sed -e 's|-lmpir|-lgmp|' -i factory/configure -i Singular/configure -# fix segfault - patch -p2 -i ../currring.patch -# fix factory include dir - patch -p1 -i ../fix-include-dirs.patch -# fix build with GCC 6 (Fedora) - patch -p1 -i ../singular-gcc6.patch -} - build() { - cd Singular-$_majver + cd singular-${_majver//-/.} - export CPP=/usr/bin/cpp - export CXXCPP=/usr/bin/cpp - export CFLAGS="-fPIC" - export CXXFLAGS="-fPIC" - -# force using system ntl - rm -r ntl - - mkdir -p build - - ./configure --prefix=$PWD/build/usr/lib/Singular \ - --bindir=$PWD/build/usr/lib/Singular --libdir=$PWD/build/usr/lib/Singular \ # --includedir=$PWD/build/usr/include \ - --with-apint=gmp --with-gmp=/usr --with-malloc=system --with-ntl=/usr --with-flint=/usr --disable-doc --with-NTL --without-MP --without-lex \ - --enable-Singular --enable-factory --enable-libfac --enable-IntegerProgramming --enable-gfanlib - make install - - export CFLAGS="$CFLAGS -DPIC -DLIBSINGULAR" - export CXXFLAGS="$CXXFLAGS -DPIC -DLIBSINGULAR" - - ./configure --prefix=$PWD/build/usr/lib/Singular \ - --bindir=$PWD/build/usr/lib/Singular --libdir=$PWD/build/usr/lib/Singular --includedir=$PWD/build/usr/include \ - --with-apint=gmp --with-gmp=/usr --with-malloc=system --with-ntl=/usr --with-flint=/usr --disable-doc --with-NTL --without-MP \ - --enable-Singular --enable-factory --enable-libfac --enable-IntegerProgramming - make clean - make install-libsingular - -# needed by Sage, not installed by default - cp Singular/sing_dbm.h build/usr/include/singular/ + ./configure --prefix=/usr --libexecdir=/usr/lib + make } package() { - cd Singular-$_majver + cd singular-${_majver//-/.} + make DESTDIR="$pkgdir" install - cp -r build/* "$pkgdir"/ - - mkdir -p "$pkgdir"/usr/bin - ln -sf /usr/lib/Singular/Singular-$_majver "$pkgdir"/usr/lib/Singular/Singular - ln -s /usr/lib/Singular/Singular "$pkgdir"/usr/bin/ - ln -s /usr/lib/Singular/libsingular.so "$pkgdir"/usr/lib/ - -# Install docs - mkdir -p "$pkgdir"/usr/share/singular - install -m644 "$srcdir"/Singular/$_majver/info/singular.hlp "$pkgdir"/usr/share/singular/ - install -m644 "$srcdir"/Singular/$_majver/doc/singular.idx "$pkgdir"/usr/share/singular/ +# fix permissions + chown -R root:root "$pkgdir"/usr/share } Deleted: currring.patch =================================================================== --- currring.patch 2016-09-09 11:31:10 UTC (rev 189068) +++ currring.patch 2016-09-09 12:26:31 UTC (rev 189069) @@ -1,22 +0,0 @@ -Revert part of commit a53ae5000c439608b9dcf884b63d62b219e8fcc0. - -It makes Singular segfault at least when calling pOne() and currRing is NULL. -diff -druN a/latest/Singular/iparith.cc b/latest/Singular/iparith.cc ---- a/latest/Singular/iparith.cc 2014-11-19 05:06:05.000000000 -0800 -+++ b/latest/Singular/iparith.cc 2014-11-20 08:30:25.068389635 -0800 -@@ -8477,7 +8477,6 @@ - sArithBase.sCmds[i].name); - sArithBase.sCmds[i].alias=1; - } -- #if 0 - if (currRingHdl==NULL) - { - #ifdef SIQ -@@ -8493,7 +8492,6 @@ - } - #endif - } -- #endif - if (!expected_parms) - { - switch (tok) Deleted: fix-include-dirs.patch =================================================================== --- fix-include-dirs.patch 2016-09-09 11:31:10 UTC (rev 189068) +++ fix-include-dirs.patch 2016-09-09 12:26:31 UTC (rev 189069) @@ -1,11 +0,0 @@ ---- a/kernel/Makefile.in 2016-04-11 10:21:06.310672691 +0200 -+++ b/kernel/Makefile.in 2016-04-11 10:52:11.049904340 +0200 -@@ -274,7 +274,7 @@ - install-libsingular: install - -${MKINSTALLDIRS} ${includedir} - -${MKINSTALLDIRS} ${includedir}/singular -- -for file in *.h kInline.cc; do sed -e "s:<kernel/:<singular/:"< $$file | sed -e "s:<Singular/:<singular/:"|sed -e "s:<omalloc/:<:"|sed -e "s:<factory/:<:" > ${includedir}/singular/$$file; done -+ -for file in *.h kInline.cc; do sed -e "s:<kernel/:<singular/:"< $$file | sed -e "s:<Singular/:<singular/:"|sed -e "s:<omalloc/:<:" > ${includedir}/singular/$$file; done - - install: all installbin - Deleted: ntl8.patch =================================================================== --- ntl8.patch 2016-09-09 11:31:10 UTC (rev 189068) +++ ntl8.patch 2016-09-09 12:26:31 UTC (rev 189069) @@ -1,47 +0,0 @@ -From de688442dfe449992dc14a000bca0691ecc7e106 Mon Sep 17 00:00:00 2001 -From: Oleksandr Motsak <[email protected]> -Date: Sat, 14 Mar 2015 16:58:01 +0100 -Subject: [PATCH] Fixing incompatibility with NTL8 - ---- - factory/NTLconvert.cc | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/factory/NTLconvert.cc b/factory/NTLconvert.cc -index 41ce9b2..e32093d 100644 ---- a/factory/NTLconvert.cc -+++ b/factory/NTLconvert.cc -@@ -30,6 +30,7 @@ - #include <NTL/GF2EXFactoring.h> - #include <NTL/tools.h> - #include <NTL/mat_ZZ.h> -+#include <NTL/version.h> - #include "int_int.h" - #include <limits.h> - #include "NTLconvert.h" -@@ -500,8 +501,14 @@ convertZZ2CF (const ZZ & a) - return CanonicalForm(coeff_long); - } - else -- { -- long sizeofrep= ((long *) a.rep) [1]; -+ { -+ const long * rep = -+#if NTL_MAJOR_VERSION <= 6 -+ static_cast<long *>( a.rep ); -+#else -+ static_cast<long *>( a.rep.rep ); // what about NTL7? -+#endif -+ long sizeofrep= rep[1]; - bool lessZero= false; - if (sizeofrep < 0) - { -@@ -519,7 +526,7 @@ convertZZ2CF (const ZZ & a) - cf_stringtemp_l= sizeofrep*sizeof(mp_limb_t)*2; - cf_stringtemp= (unsigned char*) Alloc (cf_stringtemp_l); - } -- int cc= mpn_get_str (cf_stringtemp, 16, (mp_limb_t *) (((long *) (a.rep)) + 2), sizeofrep); -+ int cc= mpn_get_str (cf_stringtemp, 16, (mp_limb_t *) ((rep) + 2), sizeofrep); - - char* cf_stringtemp2; - if (lessZero) Deleted: singular-gcc6.patch =================================================================== --- singular-gcc6.patch 2016-09-09 11:31:10 UTC (rev 189068) +++ singular-gcc6.patch 2016-09-09 12:26:31 UTC (rev 189069) @@ -1,32 +0,0 @@ -diff -up Singular-3-1-7/kernel/mod_raw.cc.orig Singular-3-1-7/kernel/mod_raw.cc ---- Singular-3-1-7/kernel/mod_raw.cc.orig 2014-08-06 09:59:15.000000000 -0600 -+++ Singular-3-1-7/kernel/mod_raw.cc 2016-02-15 21:53:02.950149126 -0700 -@@ -38,8 +38,8 @@ char* si_bultin_libs[]={ SI_FOREACH_BUIL - - lib_types type_of_LIB(char *newlib, char *libnamebuf) - { -- const char mach_o[]={0xfe,0xed,0xfa,0xce,0}; -- const char mach_o_module[]={0xce,0xfa,0xed,0xfe,0}; -+ const unsigned char mach_o[]={0xfe,0xed,0xfa,0xce,0}; -+ const unsigned char mach_o_module[]={0xce,0xfa,0xed,0xfe,0}; - int i=0; - while(si_bultin_libs[i]!=NULL) - { -@@ -90,7 +90,7 @@ lib_types type_of_LIB(char *newlib, char - goto lib_type_end; - } - -- if( (strncmp(buf, &mach_o[0], 4)==0)) /* generic Mach-O module */ -+ if( (strncmp(buf, (const char *)&mach_o[0], 4)==0)) /* generic Mach-O module */ - { - LT = LT_MACH_O; - //omFree(newlib); -@@ -98,7 +98,7 @@ lib_types type_of_LIB(char *newlib, char - goto lib_type_end; - } - -- if( (strncmp(buf, &mach_o_module[0], 4)==0)) /* Mach-O bundle */ -+ if( (strncmp(buf, (const char *)&mach_o_module[0], 4)==0)) /* Mach-O bundle */ - { - LT = LT_MACH_O; - //omFree(newlib); Deleted: templates.patch =================================================================== --- templates.patch 2016-09-09 11:31:10 UTC (rev 189068) +++ templates.patch 2016-09-09 12:26:31 UTC (rev 189069) @@ -1,60 +0,0 @@ -diff -druN latest.orig/factory/GNUmakefile.in latest/factory/GNUmakefile.in ---- latest.orig/factory/GNUmakefile.in 2014-08-06 08:59:15.000000000 -0700 -+++ latest/factory/GNUmakefile.in 2014-10-20 04:21:24.914606325 -0700 -@@ -98,11 +98,13 @@ - @FLINT_CFLAGS@ $(DEFS) $(CPPFLAGS) $(CFLAGS) - - # flags to translate library c++ files --LIBCXXFLAGS = $(WARNFLAGS) -fno-implicit-templates \ -+#LIBCXXFLAGS = $(WARNFLAGS) -fno-implicit-templates -+LIBCXXFLAGS = $(WARNFLAGS) \ - -I. -I.. -I$(srcdir) -I${prefix} -I$(includedir) \ - @FLINT_CFLAGS@ $(DEFS) $(CPPFLAGS) $(CXXFLAGS) - --LIBCGGFLAGS = $(WARNFLAGS) -fno-implicit-templates \ -+#LIBCGGFLAGS = $(WARNFLAGS) -fno-implicit-templates -+LIBCGGFLAGS = $(WARNFLAGS) \ - -I. -I.. -I$(srcdir) -I${prefix} -I$(includedir) \ - @FLINT_CFLAGS@ $(DEFS) $(CPPFLAGS) - -diff -druN latest.orig/Singular/claptmpl.cc latest.new/Singular/claptmpl.cc ---- latest.orig/Singular/claptmpl.cc 2014-11-19 05:06:05.000000000 -0800 -+++ latest.new/Singular/claptmpl.cc 2014-11-21 08:58:02.514808678 -0800 -@@ -122,37 +122,3 @@ - template class std::list<PolyMinorValue>; - template class Cache<MinorKey, IntMinorValue>; - template class Cache<MinorKey, PolyMinorValue>; -- --#ifdef HAVE_NTL --#include<NTL/version.h> --#if NTL_MAJOR_VERSION == 6 -- --#include<NTL/tools.h> --#include<NTL/lzz_pE.h> --#include<NTL/lzz_pEX.h> --#include<NTL/lzz_p.h> --#include<NTL/vector.h> --#include<NTL/pair.h> --#include<NTL/GF2X.h> --#include<NTL/GF2EX.h> --#include<NTL/ZZ.h> --#include<NTL/ZZX.h> --#include<NTL/ZZ_pX.h> --#ifdef NTL_CLIENT // in <NTL/tools.h>: using of name space NTL --NTL_CLIENT --#endif --//template class Vec<zz_p>; --//template class Vec<zz_pE>; --template class Mat<zz_p>; --template class Mat<zz_pE>; --template class Mat<ZZ>; --template class Vec<Pair<zz_pEX, long> >; --template class Vec<Pair<GF2EX, long> >; --//template class Vec<Pair<ZZX, long> >; --//template class Vec<Pair<ZZ_pX, long> >; --//template class Vec<Pair<GF2X, long> >; --//template void swap<zz_pE>(Vec<zz_pE>&, Vec<zz_pE>&); --//template long operator==<zz_p>(Vec<zz_p> const&, Vec<zz_p> const&); --#endif -- --#endif
