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

Commit

Permalink
Merge branch 't/29633/src_doc_bootstrap__generate_list_of_packages__w…
Browse files Browse the repository at this point in the history
…ith_links_to_documentation__for_ref_manual_from_build_pkgs' into t/29669/for_sage_9_2__remove_python_2_support_from_the_build_system
  • Loading branch information
Matthias Koeppe committed May 9, 2020
2 parents c5c78af + 32bb2fe commit 7555ba6
Show file tree
Hide file tree
Showing 498 changed files with 9,543 additions and 9,030 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ distclean: build-clean
bootstrap-clean:
rm -rf config configure build/make/Makefile-auto.in
rm -f src/doc/en/installation/*.txt
rm -rf src/doc/en/reference/spkg/*.rst

# Remove absolutely everything which isn't part of the git repo
maintainer-clean: distclean bootstrap-clean
Expand Down
2 changes: 1 addition & 1 deletion bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ save () {
# Create configure tarball
echo "Creating $NEWCONFBALL..."
mkdir -p upstream
tar zcf "$NEWCONFBALL" configure config/* build/make/Makefile-auto.in src/doc/en/installation/*.txt
tar zcf "$NEWCONFBALL" configure config/* build/make/Makefile-auto.in src/doc/en/installation/*.txt src/doc/en/reference/spkg/*.rst

# Update version
echo "$NEWCONFVERSION" >$PKG/package-version.txt
Expand Down
47 changes: 1 addition & 46 deletions build/bin/sage-spkg
Original file line number Diff line number Diff line change
Expand Up @@ -361,52 +361,7 @@ EOF
fi

if [ $INFO -ne 0 -a "$USE_LOCAL_SCRIPTS" = yes ]; then
cat "$PKG_SCRIPTS/SPKG.txt"
if [ -r "$PKG_SCRIPTS/type" ] ; then
echo
echo "== Type =="
echo
cat "$PKG_SCRIPTS/type"
echo
fi
echo "== Equivalent System Packages =="
echo
PKG_DISTROS="$PKG_SCRIPTS"/distros
for system_package_file in "$PKG_DISTROS"/*.txt; do
if [ -f "$system_package_file" ]; then
system=$(basename "$system_package_file" .txt)
system_packages="$(echo $(sed 's/#.*//;' $system_package_file))"
case $system in
debian)
# Generic
echo "Debian/Ubuntu:"
;;
fedora)
# Generic
echo "Fedora/Redhat/CentOS:"
;;
*)
echo "$system:"
;;
esac
echo -n " "
sage-print-system-package-command $system --prompt --sudo install $system_packages
fi
done
if [ -z "$system" ]; then
echo "(none known)"
else
echo
if [ -f "$PKG_SCRIPTS"/spkg-configure.m4 ]; then
echo "If the system package is installed, ./configure will check whether it can be used."
else
echo "However, these system packages will not be used for building Sage"
echo "because spkg-configure.m4 has not been written for this package;"
echo "see https://trac.sagemath.org/ticket/27330"
fi
fi
echo
exit 0
exec sage-spkg-info $PKG_BASE
fi

# If we haven't found the package yet, we must download it
Expand Down
59 changes: 59 additions & 0 deletions build/bin/sage-spkg-info
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/usr/bin/env bash
#
# sage-spkg-info SPKG
# Format information about a Sage package
#
# Assumes SAGE_ROOT is set
PKG_BASE=$1
PKG_SCRIPTS="$SAGE_ROOT/build/pkgs/$PKG_BASE"
for ext in rst txt; do
SPKG_FILE="$PKG_SCRIPTS/SPKG.$ext"
if [ -f "$SPKG_FILE" ]; then
cat "$SPKG_FILE"
break
fi
done
if [ -r "$PKG_SCRIPTS/type" ] ; then
echo
echo "== Type =="
echo
cat "$PKG_SCRIPTS/type"
echo
fi
echo "== Equivalent System Packages =="
echo
PKG_DISTROS="$PKG_SCRIPTS"/distros
for system_package_file in "$PKG_DISTROS"/*.txt; do
if [ -f "$system_package_file" ]; then
system=$(basename "$system_package_file" .txt)
system_packages="$(echo $(sed 's/#.*//;' $system_package_file))"
case $system in
debian)
# Generic
echo "Debian/Ubuntu:"
;;
fedora)
# Generic
echo "Fedora/Redhat/CentOS:"
;;
*)
echo "$system:"
;;
esac
echo -n " "
sage-print-system-package-command $system --prompt --sudo install $system_packages
fi
done
if [ -z "$system" ]; then
echo "(none known)"
else
echo
if [ -f "$PKG_SCRIPTS"/spkg-configure.m4 ]; then
echo "If the system package is installed, ./configure will check whether it can be used."
else
echo "However, these system packages will not be used for building Sage"
echo "because spkg-configure.m4 has not been written for this package;"
echo "see https://trac.sagemath.org/ticket/27330"
fi
fi
echo
24 changes: 24 additions & 0 deletions build/pkgs/4ti2/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
4ti2
====

Description
-----------

A software package for algebraic, geometric and combinatorial problems
on linear spaces. Available at www.4ti2.de.

License
-------

4ti2 is released under a GPL v2 license.


Upstream Contact
----------------

Raymond Hemmecke, TU Munich, Germany Matthias Köppe, UC Davis, CA, USA

Dependencies
------------

GLPK, GMP.
36 changes: 0 additions & 36 deletions build/pkgs/4ti2/SPKG.txt

This file was deleted.

15 changes: 15 additions & 0 deletions build/pkgs/alabaster/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
alabaster
=========

Description
-----------

Alabaster is a visually (c)lean, responsive, configurable theme for the
Sphinx documentation system. It is Python 2+3 compatible.

It began as a third-party theme, and is still maintained separately, but
as of Sphinx 1.3, Alabaster is an install-time dependency of Sphinx and
is selected as the default theme.

Live examples of this theme can be seen on paramiko.org, fabfile.org and
pyinvoke.org.
13 changes: 0 additions & 13 deletions build/pkgs/alabaster/SPKG.txt

This file was deleted.

7 changes: 7 additions & 0 deletions build/pkgs/appnope/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
appnope
=======

Description
-----------

Disable App Nap on OS X 10.9
5 changes: 0 additions & 5 deletions build/pkgs/appnope/SPKG.txt

This file was deleted.

27 changes: 16 additions & 11 deletions build/pkgs/arb/SPKG.txt → build/pkgs/arb/SPKG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
= arb =
arb
===

== Description ==
Description
-----------

Arb is a C library for arbitrary-precision floating-point ball
arithmetic, developed by Fredrik Johansson
Expand All @@ -9,21 +11,24 @@ computation with polynomials, power series, matrices and special
functions over the real and complex numbers, with automatic, rigorous
error control.

== License ==
License
-------

GNU General Public License v2+


== Upstream Contact ==
Upstream Contact
----------------

* Fredrik Johansson: fredrik.johansson@gmail.com
- Fredrik Johansson: fredrik.johansson@gmail.com

Dependencies
------------

== Dependencies ==
- FLINT
- MPIR or GMP
- MPFR

* FLINT
* MPIR or GMP
* MPFR

== Special Update/Build Instructions ==

Special Update/Build Instructions
---------------------------------
115 changes: 115 additions & 0 deletions build/pkgs/atlas/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
ATLAS
=====

Description
-----------

This spkg builds ATLAS for Sage.

License
-------

3-clause BSD


Upstream Contact
----------------

- Atlas devel mailing list.
- Clint Whaley has frequently answered questions from the Sage project

Dependencies
------------

- Python


Special Update/Build Instructions
---------------------------------

- src/lapack-x.y.z.tgz: The netlib lapack tarball. If you update this,

make sure you also update the LAPACK_TARBALL variable in
spkg-install.

- src/ATLAS-lib: We are using a dummy autotools/libtools project

to repack the static ATLAS libraries into shared libraries.

- src/ARCHS: We ship some archdef tarballs to speed ATLAS build.
- spkg-install: If you update atlas to a new version make sure that the

ATLAS_OSTYPE, ATLAS_MACHTYPE, and ATLAS_ISAEXT variables in
spkg-install remain in sync with atlas' CONFIG/include/atlconf.h

- The package is never installed on OS X, unless you set
SAGE_ATLAS_ARCH.

Patches
~~~~~~~

- patches/detect.patch: Fix Itanium2 support on modern

RHEL 5 and SLES 10 systems, work around -m64 issue on Itanium2,
and correctly detect number and speed of CPUs on a bunch of systems.

- patches/arm_hard_floats.patch: make sure soft floats are not enforced
on ARM.
- patches/Makefile.patch: fix clean target.
- patches/do_not_force_mutex.patch: always use assembly over mutex

since the mutex version fails to build a shared library. See #15045
for details.

- patches/glibc_scanf_workaround.patch: Workaround for the scanf bug

in glibc-2.18 that breaks the atlas auto-tuning system.

Configuration
~~~~~~~~~~~~~

The package can be configured via three environment variables:

- SAGE_ATLAS_LIB=path

If this environment variable is set, the libraries libatlas,
libcblas, liblapack, and libf77blas from the direcory "path" are
used and ATLAS is not compiled from source. The libraries can be
either static (endin in .a) or shared libraries (ending in .so or
.dylib).

- SAGE_ATLAS_ARCH=arch[,isaext1][,isaext2]...[,isaextN]

The given architectural default and instruction set extensions are
used instead of the empirical tuning. Available architectures are

POWER3, POWER4, POWER5, PPCG4, PPCG5, POWER6, POWER7, IBMz9,
IBMz10, IBMz196, x86x87, x86SSE1, x86SSE2, x86SSE3, P5, P5MMX,
PPRO, PII, PIII, PM, CoreSolo, CoreDuo, Core2Solo, Core2, Corei1,
Corei2, Atom, P4, P4E, Efficeon, K7, HAMMER, AMD64K10h, AMDDOZER,
UNKNOWNx86, IA64Itan, IA64Itan2, USI, USII, USIII, USIV, UST1, UST2,
UnknownUS, MIPSR1xK, MIPSICE9, ARMv6, ARMv7

and instruction set extensions are

VSX, AltiVec, AVXMAC, AVXFMA4, AVX, SSE3, SSE2, SSE1, 3DNow, NEON

In addition, you can also set

- SAGE_ATLAS_ARCH=fast picks defaults for a modern (2-3 year old)

CPU of your processor line, and

- SAGE_ATLAS_ARCH=base picks defaults that should work for a ~10

year old CPU.

For example,

SAGE_ATLAS_ARCH=Corei2,AVX,SSE3,SSE2,SSE1

would be appropriate for a Core i7 CPU.

- If SAGE_ATLAS_SAVE_ARCHDEF = is given, then a new archdef

file is created and saved to the given path.
Loading

0 comments on commit 7555ba6

Please sign in to comment.