Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
Merge branch 'develop' of git://trac.sagemath.org/sage into t/24087/a…
Browse files Browse the repository at this point in the history
…utomorphism_group_of_finite_abelian_groups_
  • Loading branch information
Simon Brandhorst committed Feb 17, 2018
2 parents 707824c + e6cae6d commit 884ad23
Show file tree
Hide file tree
Showing 241 changed files with 11,787 additions and 3,061 deletions.
6 changes: 5 additions & 1 deletion Makefile
Expand Up @@ -11,10 +11,14 @@ default: all

build: all-build

# The --stop flag below is just a random flag to induce graceful
# breakage with non-GNU versions of make.
# See https://trac.sagemath.org/ticket/24617

# Defer unknown targets to build/make/Makefile
%::
@if [ -x relocate-once.py ]; then ./relocate-once.py; fi
$(MAKE) build/make/Makefile
$(MAKE) build/make/Makefile --stop
+build/bin/sage-logger \
"cd build/make && ./install '$@'" logs/install.log

Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
@@ -1 +1 @@
SageMath version 8.2.beta4, Release Date: 2018-01-27
SageMath version 8.2.beta5, Release Date: 2018-02-09
2 changes: 1 addition & 1 deletion build/pkgs/atlas/dependencies
@@ -1,4 +1,4 @@
| $(PYTHON)
gfortran | $(PYTHON)

----------
All lines of this file are ignored except the first.
Expand Down
5 changes: 5 additions & 0 deletions build/pkgs/backports_functools_lru_cache/SPKG.txt
@@ -0,0 +1,5 @@
= backports.functools_lru_cache =

== Description ==

A backport of functools.lru_cache from Python 3.3 as published at ActiveState.
4 changes: 4 additions & 0 deletions build/pkgs/backports_functools_lru_cache/checksums.ini
@@ -0,0 +1,4 @@
tarball=backports.functools_lru_cache-VERSION.tar.gz
sha1=8a546e7887e961c2873c9b053f4e2cd2a96bd71d
md5=b954e7d5e2ca0f0f66ad2ed12ba800e5
cksum=2013684405
5 changes: 5 additions & 0 deletions build/pkgs/backports_functools_lru_cache/dependencies
@@ -0,0 +1,5 @@
$(PYTHON) | setuptools_scm pip

----------
All lines of this file are ignored except the first.
It is copied by SAGE_ROOT/build/make/install into SAGE_ROOT/build/make/Makefile.
@@ -0,0 +1 @@
1.4
3 changes: 3 additions & 0 deletions build/pkgs/backports_functools_lru_cache/spkg-install
@@ -0,0 +1,3 @@
cd src

sdh_pip_install .
1 change: 1 addition & 0 deletions build/pkgs/backports_functools_lru_cache/type
@@ -0,0 +1 @@
standard
6 changes: 3 additions & 3 deletions build/pkgs/configure/checksums.ini
@@ -1,4 +1,4 @@
tarball=configure-VERSION.tar.gz
sha1=499badf9321c53c458652ca71580585463e574a3
md5=e483eb587a1be5886b718e24f54a84a5
cksum=3889320352
sha1=ade416eb97804aa5dbc97afe9e55f63de0986270
md5=a8b02b91f6650ecaf26ef7b2287a5e7f
cksum=334528818
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
@@ -1 +1 @@
252
253
2 changes: 1 addition & 1 deletion build/pkgs/coxeter3/SPKG.txt
Expand Up @@ -44,6 +44,6 @@ by spkg-install:
its data and messages from the Sage installation tree
- makefile.patch: handle compilation flags for Darwin and Cygwin
- warning.patch: remove deprecation warnings
- sage.cpp: add a function for Bruhat invervals which is simpler to
- sage.cpp: add a function for Bruhat intervals which is simpler to
code in C++ than Cython

2 changes: 1 addition & 1 deletion build/pkgs/fplll/package-version.txt
@@ -1 +1 @@
5.2.0.p0
5.2.0.p1
74 changes: 74 additions & 0 deletions build/pkgs/fplll/patches/GCC-PR10200.patch
@@ -0,0 +1,74 @@
commit f9ea48c350feb9054c7176c2adec9c8e4a06f503
Author: Jeroen Demeyer <jdemeyer@cage.ugent.be>
Date: Mon Feb 5 11:24:14 2018 +0100

Work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10200

This shows up in particular on Solaris systems with GCC-5.4.0

diff --git a/fplll/sieve/sieve_gauss_2sieve.cpp b/fplll/sieve/sieve_gauss_2sieve.cpp
index 83eb817..625c6f0 100644
--- a/fplll/sieve/sieve_gauss_2sieve.cpp
+++ b/fplll/sieve/sieve_gauss_2sieve.cpp
@@ -33,7 +33,7 @@ template <class ZT, class F> Z_NR<ZT> GaussSieve<ZT, F>::update_p_2reduce(ListPo
for (lp_it = List.begin(); lp_it != List.end(); ++lp_it)
{
v = *lp_it;
- if (p->norm < v->norm)
+ if ((p->norm) < v->norm)
break;

/* if there is one reduction the vector should re-pass the list */
diff --git a/fplll/sieve/sieve_gauss_3sieve.cpp b/fplll/sieve/sieve_gauss_3sieve.cpp
index 3c3716c..3fdbca6 100644
--- a/fplll/sieve/sieve_gauss_3sieve.cpp
+++ b/fplll/sieve/sieve_gauss_3sieve.cpp
@@ -27,7 +27,7 @@ GaussSieve<ZT, F>::update_p_3reduce_2reduce(ListPoint<ZT> *p,
for (lp_it = List.begin(); lp_it != List.end(); ++lp_it)
{
v = *lp_it;
- if (p->norm < v->norm)
+ if ((p->norm) < v->norm)
break;
if (half_2reduce(p, v))
{
@@ -166,7 +166,7 @@ template <class ZT, class F> Z_NR<ZT> GaussSieve<ZT, F>::update_p_3reduce(ListPo
continue;
}
++lp_it2;
- if (v1->norm < p->norm)
+ if ((v1->norm) < p->norm)
{
vnew2 = new_listpoint<ZT>(nc);
if (check_3reduce(v1, p, v2, vnew2) != 1)
diff --git a/fplll/sieve/sieve_gauss_4sieve.cpp b/fplll/sieve/sieve_gauss_4sieve.cpp
index 9eb586e..f2758a4 100644
--- a/fplll/sieve/sieve_gauss_4sieve.cpp
+++ b/fplll/sieve/sieve_gauss_4sieve.cpp
@@ -15,7 +15,7 @@ void GaussSieve<ZT, F>::update_p_4reduce_aux(ListPoint<ZT> *p,
for (lp_it = List.begin(); lp_it != List.end(); ++lp_it)
{
v = *lp_it;
- if (p->norm < v->norm)
+ if ((p->norm) < v->norm)
break;
}
lp_it_k = lp_it;
@@ -119,7 +119,7 @@ template <class ZT, class F> Z_NR<ZT> GaussSieve<ZT, F>::update_p_4reduce_3reduc
continue;
}
++lp_it2;
- if (v1->norm < p->norm)
+ if ((v1->norm) < p->norm)
{
/*cout << "# --- here 1 " << endl;
cout << v1->norm << endl;
@@ -274,7 +274,7 @@ template <class ZT, class F> Z_NR<ZT> GaussSieve<ZT, F>::update_p_4reduce(ListPo
}
++lp_it3;
/* (v1, p, v2, v3) or (v1, v2, p, v3) */
- if (v1->norm < p->norm)
+ if ((v1->norm) < p->norm)
{
/* (v1, p, v2, v3) */
if (v2->norm > p->norm)
27 changes: 27 additions & 0 deletions build/pkgs/fplll/patches/pow.patch
@@ -0,0 +1,27 @@
commit 848a55ec1eaa425d6843303fcc0fac9eda397a83
Author: Jeroen Demeyer <jdemeyer@cage.ugent.be>
Date: Mon Feb 5 11:22:54 2018 +0100

Fix pow() calls on Solaris

diff --git a/fplll/nr/dpe.h b/fplll/nr/dpe.h
index 1ad6562..c132378 100644
--- a/fplll/nr/dpe.h
+++ b/fplll/nr/dpe.h
@@ -708,14 +708,14 @@ DPE_INLINE void dpe_ugly_log(dpe_t x, const dpe_t y)
DPE_INLINE void dpe_ugly_exp(dpe_t x, const dpe_t y)
{
// printf ("## exp is %ld\n", DPE_EXP(y));
- dpe_set_d(x, exp(((double)DPE_MANT(y)) * pow(2, ((double)DPE_EXP(y)))));
+ dpe_set_d(x, exp(((double)DPE_MANT(y)) * pow(2.0, ((double)DPE_EXP(y)))));
}

/* More hacks */
/* x = y^k */
DPE_INLINE void dpe_pow_si(dpe_t x, const dpe_t y, const unsigned int k)
{
- DPE_MANT(x) = pow(DPE_MANT(y), k);
+ DPE_MANT(x) = pow(DPE_MANT(y), (double)k);
DPE_EXP(x) = DPE_EXP(y) * k;
dpe_normalize(x);
}
2 changes: 1 addition & 1 deletion build/pkgs/gcc/dependencies
@@ -1,4 +1,4 @@
| $(MP_LIBRARY) mpfr mpc zlib xz
$(MP_LIBRARY) mpfr mpc zlib | xz

----------
All lines of this file are ignored except the first.
Expand Down
25 changes: 25 additions & 0 deletions build/pkgs/gfortran/SPKG.txt
@@ -0,0 +1,25 @@
= gfortran =

== Description ==

The GNU Compiler Collection, including the C, C++ and Fortran compiler.
This particular package is meant to only make gfortran available.

== License ==

GPL version 2 or version 3

== Upstream Contact ==

http://gcc.gnu.org/

== Dependencies ==

* zlib
* MPIR
* MPFR
* MPC

== Special Update/Build Instructions ==

None.
1 change: 1 addition & 0 deletions build/pkgs/gfortran/checksums.ini
1 change: 1 addition & 0 deletions build/pkgs/gfortran/dependencies
1 change: 1 addition & 0 deletions build/pkgs/gfortran/package-version.txt
77 changes: 77 additions & 0 deletions build/pkgs/gfortran/spkg-install
@@ -0,0 +1,77 @@
if [ -z "$SAGE_LOCAL" ]; then
echo >&2 "SAGE_LOCAL undefined ... exiting"
echo >&2 "Maybe run 'sage --sh'?"
exit 1
fi

# This spkg shouldn't be installed if gcc is already installed
if [ -a "$SAGE_LOCAL"/bin/gcc ]; then
echo >&2 "Error: gcc is already installed"
exit 1
fi

# Exit on error
set -e

# Build in a separate directory, not in src/ (a.k.a. a VPATH build).
# This is the recommended way to build GCC.
mkdir gcc-build
cd gcc-build


# On OSX:
if [ "$UNAME" = "Darwin" ]; then
# isl/cloog libraries are almost certainly from Homebrew and won't work
GCC_CONFIGURE="--without-isl --without-cloog $GCC_CONFIGURE"

# Use 'bootstrap-debug' build configuration to force stripping of object
# files prior to comparison during bootstrap (broken by Xcode 6.3).
# See #18156
GCC_CONFIGURE="--with-build-config=bootstrap-debug $GCC_CONFIGURE"
fi

# Let Gfortran build on Raspberry Pi using hard floats.
if [ `uname -m` = "armv6l" ]; then
GCC_CONFIGURE="--with-arch=armv6 --with-fpu=vfp --with-float=hard $GCC_CONFIGURE"
fi

# Let Gfortran build on more recent ARM boards using hard floats.
if [ `uname -m` = "armv7l" ]; then
GCC_CONFIGURE="--with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard $GCC_CONFIGURE"
fi

if [ "$SAGE_CHECK" = yes ]; then
# Enable internal checks in GCC. These checks do not affect the
# binaries produced by GCC, but they do increase the compile time
# of everything compiled with GCC.
GCC_CONFIGURE="$GCC_CONFIGURE --enable-checking=yes"
fi

# Use the assembler/linker specified by $AS/$LD if they differ from the
# default.
if [ -n "$AS" -a "$AS" != "as" ]; then
CONFIGURE_AS="--with-as=$AS"
fi
if [ -n "$LD" -a "$LD" != "ld" ]; then
CONFIGURE_LD="--with-ld=$LD"
fi

../src/configure \
--prefix="$SAGE_LOCAL" \
--with-local-prefix="$SAGE_LOCAL" \
--with-gmp="$SAGE_LOCAL" --with-mpfr="$SAGE_LOCAL" --with-mpc="$SAGE_LOCAL" \
--with-system-zlib \
--disable-multilib \
--disable-nls \
--enable-languages=fortran \
--disable-bootstrap \
--disable-libitm \
$GCC_CONFIGURE "$CONFIGURE_AS" "$CONFIGURE_LD"

$MAKE BOOT_LDFLAGS="-Wl,-rpath,$SAGE_LOCAL/lib"

$MAKE install

# The spkg still installs a minimal C compiler that needs to be removed
# so it doesn't conflict with the configured C compiler.
rm -f "$SAGE_LOCAL"/bin/gcc "$SAGE_LOCAL"/bin/cpp
1 change: 1 addition & 0 deletions build/pkgs/gfortran/type
@@ -0,0 +1 @@
standard
15 changes: 7 additions & 8 deletions build/pkgs/giac/SPKG.txt
Expand Up @@ -16,8 +16,11 @@

== Licence ==

GPLv3+ except the french html documentation which is freely redistributable
for non commercial only purposes. This doc has been removed in the spkg)
GPLv3+

Note: except the french html documentation which is freely
redistributable for non commercial only purposes. This doc has been
removed in the Sage package, see spkg-src

== Upstream Contact ==

Expand All @@ -30,12 +33,8 @@ GPLv3+ except the french html documentation which is freely redistributable
* gettext, readline
* giac will benefit of ntl, pari, mpfr, gsl, lapack but they should be already installed by sage.
* giac can also benefit of mpfi for arithmetic on intervals.
* The Documentation is pre-built, hevea or latex or ... are not needed to install the package.
* The Documentation is pre-built, hevea or latex or ... are not needed to install the package.

== Special Update/Build Instructions ==

* The script_subdirectory of the pexpect giac interface is create in spkg-install.
* Some gcc 4.7.2 gives a seg fault when compiling giac, but earlier or later version
should be fine.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54986
* pari support has been enabled in spkg-install. To allow this, giac have been patched to not always init pari. (See the comments in patches/README.txt for details)
* Use spkg-src to update this package
2 changes: 1 addition & 1 deletion build/pkgs/giac/package-version.txt
@@ -1 +1 @@
1.4.9.45
1.4.9.45.p1
38 changes: 38 additions & 0 deletions build/pkgs/giac/patches/alloca.patch
@@ -0,0 +1,38 @@
Always use ALLOCA macro instead of alloca()

diff -ru a/src/gen.cc b/src/gen.cc
--- a/src/gen.cc 2018-01-10 14:16:00.000000000 +0100
+++ b/src/gen.cc 2018-02-01 19:36:02.128020823 +0100
@@ -11153,7 +11153,7 @@

/* I/O: Input routines */

- gen chartab2gen(char * & s,GIAC_CONTEXT){
+ gen chartab2gen(char * s,GIAC_CONTEXT){
gen res;
// subtype=0;
// initialize as a null _INT_
@@ -11200,11 +11200,7 @@
if (l>0 && s[l-1]=='.'){
// make a copy of s, call chartab2gen recursivly,
// because some implementations of strtod do not like a . at the end
-#ifdef FREERTOS
ALLOCA(char, scopy, l+2);
-#else
- char * scopy=(char *)alloca(l+2);
-#endif
strcpy(scopy,s);
scopy[l]='0';
scopy[l+1]=0;
diff -ru a/src/gen.h b/src/gen.h
--- a/src/gen.h 2017-12-19 21:15:00.000000000 +0100
+++ b/src/gen.h 2018-02-01 19:35:56.090020807 +0100
@@ -930,7 +930,7 @@
void gen_sort_f(iterateur it,iterateur itend,bool (*f)(const gen &a,const gen &b));
void gen_sort_f_context(iterateur it,iterateur itend,bool (*f)(const gen &a,const gen &b,GIAC_CONTEXT),GIAC_CONTEXT);
gen makemap(); // make a new map
- gen chartab2gen(char * & s,GIAC_CONTEXT);
+ gen chartab2gen(char * s,GIAC_CONTEXT);


bool is_zero(const gen & a,GIAC_CONTEXT0);

0 comments on commit 884ad23

Please sign in to comment.