summaryrefslogtreecommitdiff
path: root/academic/root
diff options
context:
space:
mode:
authorDavid Spencer <baildon.research@googlemail.com>2016-04-16 14:21:05 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2016-04-19 22:47:49 +0700
commitf7308a3f13fe61ba6fd3aa3ce6dd1726c761cb0c (patch)
tree45d2e5c0b6fc0908786986621201dc318a20b92a /academic/root
parentd8957c2de20aa1b68e2c49d5992acb82cb31544f (diff)
downloadslackbuilds-f7308a3f13fe61ba6fd3aa3ce6dd1726c761cb0c.tar.gz
academic/root: Updated for version 5.34.36.
Fixes build failure with gcc-5.3 on i586. Enabled gsl and fftw by default, since they are both in Slackware. Moved from /usr/ROOT to /opt/ROOT. Script cleanups.
Diffstat (limited to 'academic/root')
-rw-r--r--academic/root/README21
-rw-r--r--academic/root/doinst.sh1
-rw-r--r--academic/root/root.SlackBuild76
-rw-r--r--academic/root/root.info6
-rw-r--r--academic/root/root_gsl2.patch42
5 files changed, 42 insertions, 104 deletions
diff --git a/academic/root/README b/academic/root/README
index fd6cfdc83d..c8beb68da7 100644
--- a/academic/root/README
+++ b/academic/root/README
@@ -12,24 +12,9 @@ seems impossible to stress all of them in this one script. Therefore
the potential user is strongly advised to check the configure
script.
-The script was written to suit basic offline data analysis with
-possible GSL and FFTW support with full documentation and tutorials.
-It should be more than enough for normal user.
+For mathmore support, run the SlackBuild script with MATHMORE=yes, and
+for QT support, run the SlackBuild script with QT=yes, for example
-It has 2 optional dependencies: GSL (accessible from SlackBuilds)
-and fftw (part of the official Slackware packages).
-
-Script has also mathmore support, for which one needs to GSL.
+ MATHMORE=yes ./root.SlackBuild
Compilation takes quite a while.
-
-To steer the SlackBuild script, run it with these variables:
-
-GSL=yes(no) MATHMORE=yes(no) FFTW=yes(no) QT=yes(no) ./root.SlackBuild
-
-where the values in brackets are the default values that will
-be used unless specified otherwise.
-
-Note that by default this script will install things in /usr/ROOT:
-it will add /usr/ROOT/lib$LIBDIRSUFFIX to /etc/ld.so.conf and a
-profile.d script to set the correct PATHs.
diff --git a/academic/root/doinst.sh b/academic/root/doinst.sh
index 7a4c9ed06a..2346641304 100644
--- a/academic/root/doinst.sh
+++ b/academic/root/doinst.sh
@@ -1,4 +1,3 @@
if [ ! "$(grep @PREFIX@/lib@LIBDIRSUFFIX@ etc/ld.so.conf)" ]; then
echo "@PREFIX@/lib@LIBDIRSUFFIX@" >> etc/ld.so.conf
- /sbin/ldconfig
fi
diff --git a/academic/root/root.SlackBuild b/academic/root/root.SlackBuild
index 0a182993d8..bb507f0536 100644
--- a/academic/root/root.SlackBuild
+++ b/academic/root/root.SlackBuild
@@ -18,7 +18,7 @@
# Modified by the slackbuilds.org project
PRGNAM=root
-VERSION=${VERSION:-5.34.32}
+VERSION=${VERSION:-5.34.36}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -49,8 +49,9 @@ else
LIBDIRSUFFIX=""
fi
-# GSL support
-if [[ ${GSL:-no} = "no" ]]; then
+set -e
+
+if [ ${GSL:-yes} = "no" ]; then
GSL_FLAGS="--disable-gsl-shared"
else
GSL_FLAGS="--enable-gsl-shared \
@@ -61,8 +62,7 @@ else
fi
fi
-# FFTW3 support
-if [[ ${FFTW:-no} = "no" ]]; then
+if [ ${FFTW:-yes} = "no" ]; then
FFTW_FLAGS="--disable-fftw3"
else
FFTW_FLAGS="--enable-fftw3 \
@@ -70,57 +70,47 @@ else
--with-fftw3-libdir=/usr/lib${LIBDIRSUFFIX}"
fi
-if [[ ${QT:-no} = "no" ]]; then
+if [ ${QT:-no} = "no" ]; then
QT_FLAGS="--disable-qt"
else
QT_FLAGS="--enable-qt"
fi
-# The place where our python modules are installed
-PYTHONDIR=$(python -c "import sys, os; print os.path.join('/usr/lib${LIBDIRSUFFIX}', 'python%s' % sys.version[:3], 'site-packages')")
-
-# Get the job number to use from the MAKEFLAGS
-NUMJOBS=$(expr "$(echo $MAKEFLAGS)" : '\(-j[0-9]*\)' | sed "s|-j||" )
-
-set -e
-
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvzf $CWD/$PRGNAM\_v$VERSION.source.tar.gz
-mv $PRGNAM $PRGNAM-$VERSION
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM
+tar xvf $CWD/$PRGNAM\_v$VERSION.source.tar.gz
+cd $PRGNAM
chown -R root:root .
find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-# Fix building with gsl-2.1
-patch -p1 < $CWD/root_gsl2.patch
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Make sure we use system libs and headers
-rm -r graf3d/ftgl/{inc,src} || die
-rm -r graf2d/freetype/src || die
-rm -r graf3d/glew/{inc,src} || die
-rm -r core/pcre/src || die
-LANG=C LC_ALL=C find core/zip -type f -name "[a-z]*" -print0 | xargs -0 rm -f || die
-rm -r core/lzma/src/*.tar.gz || die
+rm -r graf3d/ftgl/{inc,src}
+rm -r graf2d/freetype/src
+rm -r graf3d/glew/{inc,src}
+rm -r core/pcre/src
+LANG=C LC_ALL=C find core/zip -type f -name "[a-z]*" -print0 | xargs -0 rm -f
+rm -r core/lzma/src/*.tar.gz
# prefix where to install stuff
-PREFIX=/usr/ROOT
+PREFIX=/opt/ROOT
+# Use --with-clang to avoid gcc-5.3 internal compiler error on i586
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
+ --with-clang \
--prefix=$PREFIX \
--libdir=$PREFIX/lib${LIBDIRSUFFIX} \
--incdir=$PREFIX/include \
--mandir=$PREFIX/man/man1 \
--etcdir=$PREFIX/etc/root \
- --docdir=$PREFIX/doc/$PRGNAM-$VERSION \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
--enable-roofit \
--enable-unuran \
--disable-builtin-freetype \
@@ -135,13 +125,17 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-shared \
--build=$ARCH-slackware-linux
-make -j $NUMJOBS
+make
make install DESTDIR=$PKG
# Move some python stuff in the proper place
+PYTHONDIR=$(python -c "import sys, os; print os.path.join('/usr/lib${LIBDIRSUFFIX}', 'python%s' % sys.version[:3], 'site-packages')")/
mkdir -p $PKG$PYTHONDIR
-mv $PKG$PREFIX/lib$LIBDIRSUFFIX/*.py* $PKG$PREFIX/lib$LIBDIRSUFFIX/python/genreflex \
- $PKG$PYTHONDIR/
+mv \
+ $PKG$PREFIX/lib$LIBDIRSUFFIX/*.py \
+ $PKG$PREFIX/lib$LIBDIRSUFFIX/*.pyc \
+ $PKG$PREFIX/lib$LIBDIRSUFFIX/python/genreflex \
+ $PKG$PYTHONDIR
rm -fr $PKG$PREFIX/lib$LIBDIRSUFFIX/python
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
@@ -151,17 +145,19 @@ find $PKG$PREFIX/man -type f -exec gzip -9 {} \;
# Install some profile.d scripts to use the right paths
mkdir -p $PKG/etc/profile.d
-echo "set path = ( \$path $PREFIX/bin )" > $PKG/etc/profile.d/root.csh
+echo "set path = ( \$path $PREFIX/bin )" > $PKG/etc/profile.d/root.csh
echo "setenv MANPATH \${MANPATH}:$PREFIX/man" >> $PKG/etc/profile.d/root.csh
-echo "PATH=\$PATH:$PREFIX/bin" > $PKG/etc/profile.d/root.sh
+echo "PATH=\$PATH:$PREFIX/bin" > $PKG/etc/profile.d/root.sh
echo "MANPATH=\$MANPATH:$PREFIX/man" >> $PKG/etc/profile.d/root.sh
chmod +x $PKG/etc/profile.d/root.*
-cat $CWD/$PRGNAM.SlackBuild > $PKG$PREFIX/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-sed -e "s|@LIBDIRSUFFIX@|$LIBDIRSUFFIX|" -e "s|@PREFIX@|$PREFIX|" \
+sed \
+ -e "s|@LIBDIRSUFFIX@|$LIBDIRSUFFIX|" \
+ -e "s|@PREFIX@|$PREFIX|" \
$CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
diff --git a/academic/root/root.info b/academic/root/root.info
index 26f73494a1..450e1bde00 100644
--- a/academic/root/root.info
+++ b/academic/root/root.info
@@ -1,8 +1,8 @@
PRGNAM="root"
-VERSION="5.34.32"
+VERSION="5.34.36"
HOMEPAGE="http://root.cern.ch/drupal/"
-DOWNLOAD="ftp://root.cern.ch/root/root_v5.34.32.source.tar.gz"
-MD5SUM="292a0b95063053699b3273bd50515b0a"
+DOWNLOAD="https://root.cern.ch/download/root_v5.34.36.source.tar.gz"
+MD5SUM="6a1ad549b3b79b10bbb1f116b49067ee"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="ftgl"
diff --git a/academic/root/root_gsl2.patch b/academic/root/root_gsl2.patch
deleted file mode 100644
index 8f049d7e03..0000000000
--- a/academic/root/root_gsl2.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -u -r root/math/mathmore/src/GSLMultiFit.h root-patched/math/mathmore/src/GSLMultiFit.h
---- root/math/mathmore/src/GSLMultiFit.h 2015-06-23 16:56:20.000000000 +0100
-+++ root-patched/math/mathmore/src/GSLMultiFit.h 2015-11-18 22:30:54.300681289 +0000
-@@ -32,6 +32,7 @@
- #include "gsl/gsl_multifit_nlin.h"
- #include "gsl/gsl_blas.h"
- #include "GSLMultiFitFunctionWrapper.h"
-+#include <gsl/gsl_version.h>
-
- #include "Math/IFunction.h"
- #include <string>
-@@ -139,7 +140,14 @@
- /// gradient value at the minimum
- const double * Gradient() const {
- if (fSolver == 0) return 0;
-- gsl_multifit_gradient(fSolver->J, fSolver->f,fVec);
-+#if GSL_MAJOR_VERSION >=2
-+ gsl_matrix *J=gsl_matrix_alloc(fSolver->fdf->n, fSolver->fdf->p);
-+ gsl_multifit_fdfsolver_jac (fSolver, J);
-+ gsl_multifit_gradient(J, fSolver->f, fVec);
-+ gsl_matrix_free(J);
-+#else
-+ gsl_multifit_gradient(fSolver->J, fSolver->f, fVec);
-+#endif
- return fVec->data;
- }
-
-@@ -150,7 +158,14 @@
- unsigned int npar = fSolver->fdf->p;
- fCov = gsl_matrix_alloc( npar, npar );
- static double kEpsrel = 0.0001;
-+#if GSL_MAJOR_VERSION >=2
-+ gsl_matrix *J=gsl_matrix_alloc(fSolver->fdf->n, fSolver->fdf->p);
-+ gsl_multifit_fdfsolver_jac (fSolver, J);
-+ int ret = gsl_multifit_covar(J, kEpsrel, fCov);
-+ gsl_matrix_free(J);
-+#else
- int ret = gsl_multifit_covar(fSolver->J, kEpsrel, fCov);
-+#endif
- if (ret != GSL_SUCCESS) return 0;
- return fCov->data;
- }