aboutsummaryrefslogtreecommitdiff
path: root/academic/root/root.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'academic/root/root.SlackBuild')
-rw-r--r--academic/root/root.SlackBuild262
1 files changed, 174 insertions, 88 deletions
diff --git a/academic/root/root.SlackBuild b/academic/root/root.SlackBuild
index 88fd4250ea9f6..446345ce86494 100644
--- a/academic/root/root.SlackBuild
+++ b/academic/root/root.SlackBuild
@@ -20,14 +20,14 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=root
-VERSION=${VERSION:-6.10.02}
+VERSION=${VERSION:-6.24.06}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -45,53 +45,30 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-march=i586 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
+ SLKCFLAGS="-march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
+ SLKCFLAGS="-fPIC"
else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
+ SLKCFLAGS=""
fi
-set -e
+CXXSTD=${CXXSTD:-17}
-if [ ${GSL:-yes} = "no" ]; then
- GSL_FLAGS="--disable-gsl-shared"
-else
- GSL_FLAGS="--enable-gsl-shared \
- --with-gsl-incdir=/usr/include \
- --with-gsl-libdir=/usr/lib${LIBDIRSUFFIX}"
- if [ "$MATHMORE" = "yes" ]; then
- GSL_FLAGS="$GSL_FLAGS --enable-mathmore"
- fi
-fi
-
-if [ ${FFTW:-yes} = "no" ]; then
- FFTW_FLAGS="--disable-fftw3"
-else
- FFTW_FLAGS="--enable-fftw3 \
- --with-fftw3-incdir=/usr/include \
- --with-fftw3-libdir=/usr/lib${LIBDIRSUFFIX}"
-fi
-
-if [ ${QT:-no} = "no" ]; then
- QT_FLAGS="--disable-qt"
-else
- QT_FLAGS="--enable-qt"
-fi
+set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM\_v$VERSION.source.tar.gz
+mv root-$VERSION src
+mkdir -p $PRGNAM-$VERSION
+mv src $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
+
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -99,75 +76,184 @@ find -L . \
\( -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}
-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=/opt/ROOT
-
-# Use --with-clang to avoid gcc-5.3 internal compiler error on i586
+PREFIX=/opt/ROOT-${VERSION}
+mkdir -p build
+cd build
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=/usr/doc/$PRGNAM-$VERSION \
- --enable-roofit \
- --enable-unuran \
- --disable-builtin-freetype \
- --disable-builtin-ftgl \
- --disable-builtin-glew \
- --disable-builtin-pcre \
- --disable-builtin-zlib \
- --disable-builtin-lzma \
- $GSL_FLAGS \
- $FFTW_FLAGS \
- $QT_FLAGS \
- --enable-shared \
- --build=$ARCH-slackware-linux
-
+cmake ../src \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_STANDARD=${CXXSTD} \
+ -DCMAKE_INSTALL_PYTHONDIR=lib \
+ -DMAN_INSTALL_DIR=$PREFIX/man \
+ -Dbuiltin_cfitsio=OFF \
+ -Dbuiltin_davix=OFF \
+ -Dbuiltin_fftw3=OFF \
+ -Dbuiltin_gsl=OFF \
+ -Dbuiltin_openssl=OFF \
+ -Dbuiltin_tbb=OFF \
+ -Dbuiltin_vc=OFF \
+ -Dbuiltin_vdt=OFF \
+ -Dbuiltin_veccore=OFF \
+ -Dclad=OFF \
+ -Dalien=OFF \
+ -Dall=OFF \
+ -Darrow=OFF \
+ -Dassan=OFF \
+ -Dasserts=OFF \
+ -Dbuiltin_freetype=OFF \
+ -Dfftw3=ON \
+ -Dbuiltin_glew=OFF \
+ -Dbuiltin_clang=ON \
+ -Dbuiltin_cling=ON \
+ -Dbuiltin_llvm=ON \
+ -Dbuiltin_lz4=OFF \
+ -Dbuiltin_lzma=OFF \
+ -Dbuiltin_nlohmannjson=ON \
+ -Dbuiltin_openui5=ON \
+ -Dbuiltin_pcre=OFF \
+ -Dbuiltin_unuran=OFF \
+ -Dbuiltin_xrootd=OFF \
+ -Dbuiltin_xxhash=OFF \
+ -Dbuiltin_zlib=OFF \
+ -Dbuiltin_zstd=OFF \
+ -Dccache=OFF \
+ -Dcefweb=OFF \
+ -Dclingtest=OFF \
+ -Dcocoa=OFF \
+ -Dcompression_default=zlib \
+ -Dcoverage=OFF \
+ -Dcuda=OFF \
+ -Dcudnn=OFF \
+ -Dcxx_modules=OFF \
+ -Ddataframe=ON \
+ -Ddavix=OFF \
+ -Ddcache=OFF \
+ -Ddev=OFF \
+ -Ddistcc=OFF \
+ -Dexceptions=ON \
+ -Dfail-on-missing=ON \
+ -Dfcgi=OFF \
+ -Dfitsio=ON \
+ -Dfortran=ON \
+ -Dgdml=ON \
+ -Dgfal=OFF \
+ -Dgminimal=OFF \
+ -Dgnuinstall=OFF \
+ -Dgsl_shared=ON \
+ -Dmathmore=ON \
+ -Dgviz=OFF \
+ -Dhttp=ON \
+ -Djemalloc=OFF \
+ -Dlibcxx=OFF \
+ -Dmacos_native=OFF \
+ -Dmemory_termination=OFF \
+ -Dminimal=OFF \
+ -Dminuit2=ON \
+ -Dmlp=ON \
+ -Dmonalisa=OFF \
+ -Dmpi=OFF \
+ -Dmysql=OFF \
+ -Dodbc=OFF \
+ -Dopengl=ON \
+ -Doracle=OFF \
+ -Dpgsql=OFF \
+ -Dpyroot=ON \
+ -Dpyroot_legacy=OFF \
+ -Dpythia6=OFF \
+ -Dpythia6_nolink=OFF \
+ -Dpythia8=OFF \
+ -Dqt5web=OFF \
+ -Dr=OFF \
+ -Droofit=ON \
+ -Droot7=ON \
+ -Drootbench=OFF \
+ -Droottest=OFF \
+ -Drpath=OFF \
+ -Druntime_cxxmodules=ON \
+ -Dshadowpw=OFF \
+ -Dshared=ON \
+ -Dsoversion=ON \
+ -Dspectrum=ON \
+ -Dsqlite=OFF \
+ -Dssl=ON \
+ -Dtcmalloc=OFF \
+ -Dtest_distrdf_pyspark=OFF \
+ -Dtesting=OFF \
+ -Dtmva=ON \
+ -Dtmva-cpu=ON \
+ -Dtmva-gpu=OFF \
+ -Dtmva-pymva=ON \
+ -Dtmva-rmva=OFF \
+ -Dunuran=OFF \
+ -During=OFF \
+ -Dvc=OFF \
+ -Dvdt=OFF \
+ -Dveccore=OFF \
+ -Dvmc=OFF \
+ -Dwebgui=ON \
+ -Dwin_broken_tests=OFF \
+ -Dwinrtdebug=OFF \
+ -Dx11=ON \
+ -Dxml=ON \
+ -Dxproofd=OFF \
+ -Dxrootd=OFF \
+ -DCMAKE_BUILD_TYPE=Release ../src
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/*.pyc \
- $PKG$PREFIX/lib$LIBDIRSUFFIX/*.pyo \
- $PKG$PYTHONDIR
+make install/strip DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneded 2> /dev/null || true
find $PKG$PREFIX/man -type f -exec gzip -9 {} \;
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+# We are still in build directory
+# Copy documentation to system; also to ROOTSYS (ROOT expects it there)
+cp -a README/ README.md LICENSE LGPL2_1.txt ../src/CONTRIBUTING.md \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+find $PKG/usr/doc/$PRGNAM-$VERSION -type f -exec chmod 644 {} \;
+cp -a README/ LICENSE \
+ $PKG$PREFIX
+chmod -R 644 $PKG$PREFIX/README
+chmod -R 644 $PKG$PREFIX/LICENSE
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
# 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 "setenv MANPATH \${MANPATH}:$PREFIX/man" >> $PKG/etc/profile.d/root.csh
-echo "PATH=\$PATH:$PREFIX/bin" > $PKG/etc/profile.d/root.sh
-echo "MANPATH=\$MANPATH:$PREFIX/man" >> $PKG/etc/profile.d/root.sh
+# Start with tcsh
+echo "setenv ROOTSYS $PREFIX" > $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 "if ( ! \$?PYTHONPATH ) then" >> $PKG/etc/profile.d/root.csh
+echo "setenv PYTHONPATH $PREFIX/lib" >> $PKG/etc/profile.d/root.csh
+echo "else" >> $PKG/etc/profile.d/root.csh
+echo "if ( \"\$PYTHONPATH\" != \"\") then" >> $PKG/etc/profile.d/root.csh
+echo "setenv PYTHONPATH \$PYTHONPATH:$PREFIX/lib">> $PKG/etc/profile.d/root.csh
+echo "else" >> $PKG/etc/profile.d/root.csh
+echo "setenv PYTHONPATH $PREFIX/lib" >> $PKG/etc/profile.d/root.csh
+echo "endif" >> $PKG/etc/profile.d/root.csh
+echo "endif" >> $PKG/etc/profile.d/root.csh
+# And bash
+echo "ROOTSYS=$PREFIX" > $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
+echo "if [ -z \"\${PYTHONPATH}\" ]; then" >> $PKG/etc/profile.d/root.sh
+echo " export PYTHONPATH=$PREFIX/lib" >> $PKG/etc/profile.d/root.sh
+echo "else" >> $PKG/etc/profile.d/root.sh
+echo " export PYTHONPATH=\$PYTHONPATH:$PREFIX/lib" \
+ >> $PKG/etc/profile.d/root.sh
+echo "fi" >> $PKG/etc/profile.d/root.sh
chmod +x $PKG/etc/profile.d/root.*
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+mkdir -p $PKG/etc/ld.so.conf.d
+echo "$PREFIX/lib" > $PKG/etc/ld.so.conf.d/root.conf
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-sed \
- -e "s|@LIBDIRSUFFIX@|$LIBDIRSUFFIX|" \
- -e "s|@PREFIX@|$PREFIX|" \
- $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE