Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
pkg-scripts/python-3.7.4-2.build.sh
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
executable file
224 lines (179 sloc)
6.86 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/bash | |
PKG=python | |
VERSION=3.7.4 | |
BUILD=2 | |
PYTHONVER=${VERSION%.*} | |
PREFIX=/pkg/$PKG-$VERSION-$BUILD | |
if [ -n "$TESTING" ]; then PREFIX=/dev/shm/$PKG-$VERSION-$BUILD ; fi | |
PATH=/bin:/usr/bin:/usr/sbin:/usr/local/bin | |
set -xe | |
umask 022 | |
BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.build.tmp | |
test -d $BUILD_TMPDIR && ( chmod -R u+rwx $BUILD_TMPDIR || true ; rm -rf $BUILD_TMPDIR ) | |
mkdir -p $BUILD_TMPDIR/home | |
export TMPDIR=$BUILD_TMPDIR | |
export HOME=$BUILD_TMPDIR/home | |
exec </dev/null | |
mkdir -p $PREFIX | |
cat >$PREFIX/profile <<-EOF | |
PATH=$PREFIX/bin:\$PATH | |
PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig\${PKG_CONFIG_PATH:+:\$PKG_CONFIG_PATH} | |
export PKG_CONFIG_PATH | |
if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi | |
EOF | |
. $PREFIX/profile | |
export MAKEFLAGS="-j $(nproc)" | |
BUILDDIR=$PREFIX/build | |
mkdir -p $BUILDDIR | |
cd $BUILDDIR | |
test -e Python-$VERSION.tar.xz || wget https://www.python.org/ftp/python/$VERSION/Python-$VERSION.tar.xz | |
test -d Python-$VERSION || tar xvf Python-$VERSION.tar.xz | |
cd Python-$VERSION | |
LDFLAGS="-Wl,-rpath=$PREFIX/lib" \ | |
./configure \ | |
--prefix=$PREFIX \ | |
--enable-shared | |
make -j $(nproc) | |
# make test || true # 'test_socket' seems to run for ever | |
make install | |
( # sip: tool to create Python bindings for C and C++ libraries. | |
cd $PREFIX/build | |
SIP_VERSION=4.19.18 | |
SIP_SRC=https://www.riverbankcomputing.com/static/Downloads/sip/$SIP_VERSION/sip-$SIP_VERSION.tar.gz | |
test -e sip-$SIP_VERSION.tar.gz || wget $SIP_SRC | |
test -d sip-$SIP_VERSION || tar -xf sip-$SIP_VERSION.tar.gz | |
cd sip-$SIP_VERSION | |
python3 configure.py \ | |
-b $PREFIX/bin \ | |
-d $PREFIX/lib/python$PYTHONVER/site-packages \ | |
-e $PREFIX/include/python${PYTHONVER}m \ | |
-v $PREFIX/share/sip \ | |
--sip-module=sip | |
# well, right here share/sip is spoilage, but maybe some packages will use the decent sip later on ... | |
mkdir -p $PREFIX/share/sip | |
make -j $(nproc); | |
make install | |
) | |
( # now for the private (sic!) version required by newer PyQt | |
cd $PREFIX/build | |
mkdir -p private_sip | |
cd private_sip | |
SIP_VERSION=4.19.18 | |
SIP_SRC=https://www.riverbankcomputing.com/static/Downloads/sip/$SIP_VERSION/sip-$SIP_VERSION.tar.gz | |
test -e sip-$SIP_VERSION.tar.gz || wget $SIP_SRC | |
test -d sip-$SIP_VERSION || tar -xf sip-$SIP_VERSION.tar.gz | |
cd sip-$SIP_VERSION | |
# note $PREFIX/share/sip/PyQt5 is mandatory | |
python3 configure.py \ | |
-d $PREFIX/lib/python$PYTHONVER/site-packages \ | |
-v $PREFIX/share/sip/PyQt5 \ | |
--no-tools \ | |
--sip-module=PyQt5.sip | |
mkdir -p $PREFIX/share/sip/PyQt5 | |
make -j $(nproc) | |
# The resulting sip.so in site-packages/PyQt5 differs indeed a bit (grep for PyQt5) | |
make install | |
) | |
( | |
PYQT_VERSION=5.13.0 | |
PYQT_SRC=https://www.riverbankcomputing.com/static/Downloads/PyQt5/$PYQT_VERSION/PyQt5_gpl-$PYQT_VERSION.tar.gz | |
cd $BUILDDIR | |
test -e PyQt5_gpl-$PYQT_VERSION.tar.gz || wget $PYQT_SRC | |
test -d PyQt5_gpl-$PYQT_VERSION || tar -xf PyQt5_gpl-$PYQT_VERSION.tar.gz | |
cd PyQt5_gpl-$PYQT_VERSION | |
# export QTDIR=/usr/local/qt5 | |
python3 configure.py \ | |
-b $PREFIX/bin \ | |
-d $PREFIX/lib/python$PYTHONVER/site-packages \ | |
-n $PREFIX/share/qsci \ | |
-q /usr/local/qt5/bin/qmake \ | |
-v $PREFIX/share/sip/PyQt5 \ | |
--sip-incdir=$PREFIX/include/python${PYTHONVER}m \ | |
--confirm-license \ | |
--no-qml-plugin \ | |
--no-designer-plugin \ | |
--no-dist-info \ | |
--verbose | |
make -j $(nproc) | |
# Did I miss something in the docs ??? | |
# w/o the *.so files inplace a clean 'make install' fails with file not found ... | |
# -> FileNotFoundError: [Errno 2] No such file or directory: | |
# '/dev/shm/python-3.7.4-0/lib/python3.7/site-packages/PyQt5/QtCore.so' | |
mkdir -p $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5 | |
for F in `find | grep '\.so$' | grep -v '/lib'` ; do | |
cp -vp $F $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5/ | |
done | |
make install | |
) | |
( | |
QSCINTILLA_VERSION=2.11.2 | |
QSCINTILLA_SRC=https://www.riverbankcomputing.com/static/Downloads/QScintilla/$QSCINTILLA_VERSION/QScintilla_gpl-$QSCINTILLA_VERSION.tar.gz | |
cd $BUILDDIR | |
test -e QScintilla_gpl-$QSCINTILLA_VERSION.tar.gz || wget $QSCINTILLA_SRC | |
test -d QScintilla_gpl-$QSCINTILLA_VERSION || tar -xf QScintilla_gpl-$QSCINTILLA_VERSION.tar.gz | |
cd QScintilla_gpl-$QSCINTILLA_VERSION | |
cd Python | |
# apidir follows PyQt, not Qt (default is: QT_INSTALL_DATA/qsci) | |
# creation of PEP 376 .dist-info fails in $PREFIX/share | |
python3 configure.py \ | |
--pyqt=PyQt5 \ | |
--qmake=/usr/local/qt5/bin/qmake \ | |
--apidir=$PREFIX/share/qsci \ | |
--no-dist-info | |
make -j $(nproc) | |
# Call it a deja-vu, nerve ... | |
# -> FileNotFoundError: [Errno 2] No such file or directory: '/dev/shm/python-3.7.4-0/lib/python3.7/site-packages/PyQt5/Qsci.so' | |
mkdir -p $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5 | |
for F in `find | grep '\.so$' | grep -v '/lib'` ; do | |
cp -vp $F $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5 | |
done | |
make install | |
) | |
python3 -m ensurepip | |
pip3 install -I pip | |
pip3 install ipython[all] | |
pip3 install SciPy NumPy Matplotlib pandas SymPy nose statsmodels | |
# clean up some dirt that statsmodels placed also into $PREFIX | |
rm -vf $PREFIX/LICENSE.txt | |
rm -vf $PREFIX/setup.cfg | |
pip3 install Cython | |
pip3 install pysam | |
pip3 install seaborn | |
pip3 install scikit-learn | |
# pip3 install metaseq # fails (Latest commit fa875d1 on Jan 10, 2017) | |
pip3 install Mako | |
pip3 install meson # required in mariux | |
pip3 install cutadapt # Helpdesk 01/24/18 16:19, Sabrina Krakau | |
pip3 install pygobject # Helpdesk 03/26/18 14:19, Virginie Stanisla | |
pip3 install blink1 # Blink1-lib 07/04/18 12:00, Niclas Hofmann | |
pip3 install umi-tools | |
pip3 install sphinx | |
pip3 install recommonmark | |
pip3 install fastcluster | |
pip3 install pydot | |
pip3 install pygraphviz | |
pip3 install deeptools | |
pip3 install HTSeq | |
pip3 install keras | |
pip3 install MotifScan # Alena 30.8.2018 | |
pip3 install MAmotif | |
pip3 install hic2cool # Helpdesk Robert Schoepflin 17.09.2018 | |
# pip3 install hifive # only python 2.7+ | |
pip3 install snakemake | |
pip3 install virtualenv # Donald | |
pip3 install odfpy # Donald | |
pip3 install Dumper # Thomas | |
pip3 install igraph | |
pip3 install louvain # monocle3 prep for Helene | |
pip3 install selenium # 19.7.19 Kreitler -> https://webxray.org/ | |
pip3 install cooltools # Maria Valieva 17.7.2019 | |
pip3 install gmpy # From viper context (Helpdesk Laura Glaser 9.8.2019) | |
# pip3 install HiCExplorer # Would be a nice to have, but it likes to downgrade too much, pick some cherries | |
pip3 install HiCMatrix | |
pip3 install pyGenomeTracks | |
pip3 install python-bioformats | |
pip3 install jupyterlab # request Peter Arndt | |
pip3 install libxml2-python3 # required by several bee packages after swich to python3 | |
pip3 install scour # https://github.molgen.mpg.de/mariux64/pkg-scripts/issues/98 | |
pip3 install jupyterlab-git # https://github.molgen.mpg.de/mariux64/pkg-scripts/issues/96 | |
exit |