Skip to content
Navigation Menu
Toggle navigation
Sign in
In this repository
All GitHub Enterprise
↵
Jump to
↵
No suggested jump to results
In this repository
All GitHub Enterprise
↵
Jump to
↵
In this organization
All GitHub Enterprise
↵
Jump to
↵
In this repository
All GitHub Enterprise
↵
Jump to
↵
Sign in
Reseting focus
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
mariux64
/
pkg-scripts
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Issues
20
Pull requests
5
Actions
Projects
0
Wiki
Security
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
Files
375b5f1
system
tools
.gitignore
Anaconda3-5.0.1-0.build.sh
CellProfiler-2.2.0-0.build.sh
CellProfiler-3.1.5-0.build.sh
CellProfiler-4.2.1-0.build.sh
LibreCAD-2.2.0.rc1-0.build.sh
R-3.3.3-0.build.sh
R-3.3.3-1.build.sh
R-3.3.3-2.build.sh
R-3.4.0-0.build.sh
R-3.4.3-0.build.sh
R-3.4.4-0.build.sh
R-3.5.1-0.build.sh
R-3.5.1-1.build.sh
R-3.5.1-2.build.sh
R-3.5.2-0.build.sh
R-3.5.3-0.build.sh
R-3.6.0-0.build.sh
R-3.6.1-0.build.sh
R-3.6.1-1.build.sh
R-3.6.3-0.build.sh
R-4.0.1-0.build.sh
R-4.0.5-0.build.sh
R-4.1.0-0.build.sh
R-4.2.1-0.build.sh
R-4.2.2-0.build.sh
R-4.3.0-0.build.sh
R-4.4.0-0.build.sh
R-4.4.1-0.build.sh
R-devel-2017-02-02-0.build.sh
R-devel-2017-02-02-1.build.sh
TEMPLATE.sh
apache-ant-1.10.12-0.build.sh
apache-maven-3.6.0-0.build.sh
apache-maven-3.8.4-0.build.sh
apptainer-1.1.9-0.build.sh
apptainer-1.2.4-0.build.sh
apptainer-1.3.4-0.build.sh
atom-1.60.0-0.build.sh
atom-1.60.0-1.build.sh
audacity-2.4.2-0.build.sh
avidemux-2.7.1-0.build.sh
avidemux-2.8.0-0.build.sh
bazel-0.28.1-0.build.sh
bazel-3.4.1-0.build.sh
bazel-4.1.0-0.build.sh
bazel-5.1.0-0.build.sh
bazel-5.4.1-0.build.sh
bazel-6.2.1-0.build.sh
bmake-20230522-0.build.sh
boost-1.63.0-0.build.sh
boost-1.73.0-0.build.sh
boost-1.86.0-0.build.sh
bpftrace-0.20.3-0.build.sh
brave-browser-0.64.60-0.build.sh
brave-browser-0.66.101-0.build.sh
brave-browser-1.20.108-0.build.sh
brave-browser-1.29.79-0.build.sh
brlcad-7.28.0-0.build.sh
charliecloud-0.30-0.build.sh
charliecloud-0.31-0.build.sh
charliecloud-0.32-0.build.sh
charliecloud-0.32-1.build.sh
charliecloud-0.34-0.build.sh
chromium-100.0.4896.60-0.build.sh
chromium-104.0.5112.101-0.build.sh
chromium-108.0.5359.94-0.build.sh
chromium-114.0.5735.106-0.build.sh
chromium-116.0.5845.179-0.build.sh
chromium-66.0.3331.2-0.build.sh
chromium-66.0.3331.2-1.build.sh
chromium-72.0.3626.121-0.build.sh
chromium-73.0.3683.75-0.build.sh
chromium-76.0.3809.100-0.build.sh
chromium-76.0.3809.100-1.build.sh
chromium-77.0.3865.90-0.build.sh
chromium-78.0.3904.87-0.build.sh
chromium-81.0.4044.92-0.build.sh
chromium-85.0.4183.121-0.build.sh
chromium-86.0.4240.183-0.build.sh
chromium-89.0.4389.128-0.build.sh
chromium-89.0.4389.90-0.build.sh
chromium-98.0.4758.80-0.build.sh
claws-mail-3.17.4-0.build.sh
codium-1.93.0.24253-0.build.sh
codium-1.94.2.24286-0.build.sh
codium-1.95.1.24307-0.build.sh
codium-1.95.2.24313-0.build.sh
codium-1.95.3.24321-0.build.sh
concorde-03.12.19-0.build.sh
concorde-03.12.19-1.build.sh
cuda-10.0.130-0.build.sh
cuda-10.1.105-0.build.sh
cuda-10.2.89-0.build.sh
cuda-10.2.89-1.build.sh
cuda-11.0.3-0.build.sh
cuda-11.1.0-0.build.sh
cuda-11.1.1-0.build.sh
cuda-11.3.1-0.build.sh
cuda-11.5.2-0.build.sh
cuda-11.7.1-0.build.sh
cuda-11.8.0-0.build.sh
cuda-12.1.0-0.build.sh
cuda-9.0.176-0.build.sh
cuda-9.0.176-1.build.sh
cuda-9.1.85-0.build.sh
cuda-9.2.148-0.build.sh
cufflinks-2.2.1-2.build.sh
cytoscape-3.9.1-0.build.sh
fontforge-20200314-0.build.sh
freecad-0.20-0.build.sh
gcc-10.1.0-0.build.sh
gcc-10.2.0-0.build.sh
gcc-10.3.0-0.build.sh
gcc-11.1.0-0.build.sh
gcc-12.2.0-0.build.sh
gcc-13.2.0-0.build.sh
gcc-14.1.0-0.build.sh
gcc-4.5.1-0.build.sh
gcc-5.5.0-0.build.sh
gcc-5.5.0-1.build.sh
gcc-7.2.0-0.build.sh
gcc-7.3.0-0.build.sh
gcc-7.4.0-0.build.sh
gcc-8.3.0-0.build.sh
gcc-8.4.0-0.build.sh
gcc-9.2.0-0.build.sh
gcc-9.3.0-0.build.sh
ghidra-10.1.5-0.build.sh
git-cola-3.2-0.build.sh
git-cola-3.5-0.build.sh
git-cola-3.7-0.build.sh
git-cola-3.9-0.build.sh
github-cli-2.48.0-0.build.sh
haskell-8.10.2-0.build.sh
haskell-9.2.2-0.build.sh
igv-2.15.2-0.build.sh
igv-2.17.1-0.build.sh
igv-2.4.14-0.build.sh
igv-2.5.0-0.build.sh
igv-2.5.2-0.build.sh
igv-2.8.0-0.build.sh
igv-2.9.2-0.build.sh
imagej-1.54f-0.build.sh
inkscape-0.92.1-0.build.sh
inkscape-0.92.2-0.build.sh
inkscape-0.92.3-0.build.sh
inkscape-0.92.4-0.build.sh
inkscape-0.92.4-1.build.sh
inkscape-0.92.4-2.build.sh
inkscape-1.0-0.build.sh
inkscape-1.0-1.build.sh
inkscape-1.0beta0-0.build.sh
inkscape-1.1.1-0.build.sh
inkscape-1.1.2-0.build.sh
inkscape-1.2.2-0.build.sh
inkscape-1.2.2-1.build.sh
inkscape-1.3.2-0.build.sh
inkscape-1.4-0.build.sh
jdk-7u80-1.build.sh
jdk-8u141-0.build.sh
jdk-8u181-0.build.sh
jdk-9.0.1-0.build.sh
julia-0.6.4-0.build.sh
julia-1.0.0-0.build.sh
julia-1.1.0-0.build.sh
julia-1.6.1-0.build.sh
libheif-1.6.0-0.build.sh
llvm-12.0.1-0.build.sh
llvm-13.0.1-0.build.sh
llvm-15.0.4-0.build.sh
llvm-16.0.1-0.build.sh
llvm-17.0.6-0.build.sh
meld-3.20.1-0.build.sh
meme-5.1.1-0.build.sh
meme-5.3.0-0.build.sh
nedit-ng-2020.1.75800b6bd-0.build.sh
nextflow-22.10.0-0.build.sh
nextflow-23.04.1-0.build.sh
nextflow-23.10.0-0.build.sh
nextflow-23.10.0-1.build.sh
node-10.13.0-0.build.sh
node-10.16.0-0.build.sh
node-12.13.0-0.build.sh
node-12.4.0-0.build.sh
node-14.16.0-0.build.sh
node-14.17.1-0.build.sh
node-16.15.0-0.build.sh
node-16.16.0-0.build.sh
node-16.17.0-0.build.sh
node-18.16.0-0.build.sh
node-18.18.0-0.build.sh
node-20.12.2-0.build.sh
node-20.13.1-0.build.sh
node-20.9.0-0.build.sh
node-22.11.0-0.build.sh
node-8.11.4-0.build.sh
ocaml-4.08.1-0.build.sh
openjdk-11.0.3.2-0.build.sh
openjdk-14.0.2.12-0.build.sh
openjdk-17.0.2.8-0.build.sh
openjdk-21.0.0.35-0.build.sh
openjdk-7u181-0.build.sh
openjdk-8u171-0.build.sh
orca-1.2.1-0.build.sh
orca-1.3.1-0.build.sh
pdftk-3.3.2-0.build.sh
perl-5.12.1-0.build.sh
perl-5.18.2-0.build.sh
perl-5.24.1-0.build.sh
perl-5.24.1-1.build.sh
perl-5.24.1-2.build.sh
perl-5.26.1-0.build.sh
perl-5.26.1-1.build.sh
perl-5.26.1-2.build.sh
perl-5.26.1-3.build.sh
perl-5.26.1-4.build.sh
perl-5.26.1-5.build.sh
perl-5.26.2-1.build.sh
perl-5.28.1-0.build.sh
perl-5.34.0-0.build.sh
proot-5.4.0-0.build.sh
pulsar-1.113.0-0.build.sh
pymol-open-source-2.5.0-0.build.sh
pypy-3.10-v7.3.13-0.build.sh
python-2.7.13-0.build.sh
python-2.7.13-1.build.sh
python-2.7.13-2.build.sh
python-2.7.13-3.build.sh
python-2.7.13-4.build.sh
python-2.7.13-5.build.sh
python-2.7.14-0.build.sh
python-2.7.14-1.build.sh
python-2.7.14-2.build.sh
python-2.7.14-3.build.sh
python-2.7.15-0.build.sh
python-2.7.15-1.build.sh
python-2.7.15-2.build.sh
python-2.7.16-0.build.sh
python-3.10.10-0.build.sh
python-3.10.10-1.build.sh
python-3.10.12-0.build.sh
python-3.10.7-0.build.sh
python-3.10.8-0.build.sh
python-3.11.7-0.build.sh
python-3.11.7-1.build.sh
python-3.6.0-0.build.sh
python-3.6.2-0.build.sh
python-3.6.4-0.build.sh
python-3.6.4-1.build.sh
python-3.6.4-2.build.sh
python-3.6.6-0.build.sh
python-3.6.6-1.build.sh
python-3.7.1-0.build.sh
python-3.7.1-1.build.sh
python-3.7.1-2.build.sh
python-3.7.3-0.build.sh
python-3.7.4-0.build.sh
python-3.7.4-1.build.sh
python-3.7.4-2.build.sh
python-3.7.7-0.build.sh
python-3.8.6-0.build.sh
python-3.8.7-0.build.sh
python-3.8.8-0.build.sh
python-3.8.9-0.build.sh
python-3.8.9-1.build.sh
python-3.9.12-0.build.sh
python-3.9.6-0.build.sh
python-3.9.7-0.build.sh
qemu-3.1.1-0.build.sh
qemu-4.2.1-0.build.sh
qemu-5.0.0-0.build.sh
qemu-5.1.0-0.build.sh
qemu-6.0.0-0.build.sh
qemu-6.2.0-0.build.sh
qemu-7.1.0-0.build.sh
qemu-7.2.0-0.build.sh
qemu-7.2.0-1.build.sh
qt-5.12.7-0.build.sh
qt-6.2.4-0.build.sh
relion-3.0.5-0.build.sh
relion-3.1.1-0.build.sh
rstudio-1.1.128-0.build.sh
rstudio-1.1.232-0.build.sh
rstudio-1.1.30-0.build.sh
rstudio-1.1.383-0.build.sh
rstudio-1.1.444-0.build.sh
rstudio-1.2.1335-0.build.sh
rstudio-1.2.5019-0.build.sh
rstudio-1.2.5019-1.build.sh
rstudio-1.2.5042-0.build.sh
rstudio-1.4.1103-0.build.sh
rstudio-2022.02.3-492-0.build.sh
rstudio-2023.12.1-402-0.build.sh
rstudio-debpkg-1.4.1717-0.build.sh
rstudio-server-2024.09.0-375-1.build.sh
rustc-1.29.2-0.build.sh
rustc-1.32.0-0.build.sh
rustc-1.34.2-0.build.sh
rustc-1.37.0-0.build.sh
rustc-1.41.0-0.build.sh
rustc-1.43.1-0.build.sh
rustc-1.45.2-0.build.sh
rustc-1.47.0-0.build.sh
rustc-1.50.0-0.build.sh
rustc-1.52.1-0.build.sh
rustc-1.56.1-0.build.sh
rustc-1.57.0-0.build.sh
rustc-1.58.1-0.build.sh
rustc-1.59.0-0.build.sh
rustc-1.61.0-0.build.sh
rustc-1.63.0-0.build.sh
rustc-1.65.0-0.build.sh
rustc-1.66.1-0.build.sh
rustc-1.68.2-0.build.sh
rustc-1.70.0-0.build.sh
rustc-1.73.0-0.build.sh
rustc-1.77.2-0.build.sh
rustc-1.80.0-0.build.sh
rustc-1.82.0-0.build.sh
signal-desktop-1.25.3-0.build.sh
signal-desktop-1.35.1-0.build.sh
signal-desktop-5.15.0-0.build.sh
signal-desktop-5.58.0-0.build.sh
signal-desktop-5.6.1-0.build.sh
signal-desktop-6.0.1-0.build.sh
signal-desktop-6.17.1-0.build.sh
signal-desktop-6.2.0-0.build.sh
signal-desktop-6.27.1-0.build.sh
signal-desktop-6.36.0-0.build.sh
signal-desktop-6.44.1-0.build.sh
signal-desktop-7.16.0-0.build.sh
signal-desktop-7.28.0-0.build.sh
signal-desktop-7.5.1-0.build.sh
snakemake-7.1.1-0.build.sh
sra-tools-2.10.8-0.build.sh
sra-tools-2.9.3-0.build.sh
sra-tools-2.9.4-0.build.sh
sra-tools-3.0.0-0.build.sh
stellarium-0.18.1-0.build.sh
stellarium-0.19.2-0.build.sh
stellarium-0.21.0-0.build.sh
stellarium-0.22.2-0.build.sh
tcc-0.9.27-0.build.sh
tcl-8.6.8-0.build.sh
texinfo-4.13a-0.build.sh
tulip-5.2.0-0.build.sh
tulip-5.2.1-0.build.sh
tulip-5.6.3-0.build.sh
ugene-36.0-0.build.sh
vscode-1.87.2-0.build.sh
vscode-1.88.0-0.build.sh
vscode-1.92.0-0.build.sh
wine-9.10-0.build.sh
xfig-3.2.7-1.build.sh
zig-0.11.0-0.build.sh
zig-0.11.0-1.build.sh
Breadcrumbs
pkg-scripts
/
python-3.9.12-0.build.sh
Blame
Blame
Latest commit
History
History
executable file
·
689 lines (566 loc) · 24.9 KB
Breadcrumbs
pkg-scripts
/
python-3.9.12-0.build.sh
Top
File metadata and controls
Code
Blame
executable file
·
689 lines (566 loc) · 24.9 KB
Raw
#! /bin/bash # COOKIE=$(mcookie|cut -c-8); grep -v V_GREP_ME $0 > /dev/shm/runme-$COOKIE.sh ; sleep 0.3; exec bash /dev/shm/runme-$COOKIE.sh # TESTING=1 PKG=python VERSION=3.9.12 BUILD=0 PYTHONVER=${VERSION%.*} CUDADIR=/pkg/cuda-11.1.1-0 PREFIX=/pkg/$PKG-$VERSION-$BUILD if [ -n "$TESTING" ]; then PREFIX=/scratch/local2/$PKG-$VERSION-$BUILD ; fi PATH=/bin:/usr/bin:/usr/sbin:/usr/local/bin set -xe umask 022 BUILD_TMPDIR=/scratch/local2/$PKG-$VERSION-$BUILD.$USER.build.tmp test -d $BUILD_TMPDIR && ( chmod -R u+rwx $BUILD_TMPDIR || true ; rm -rf $BUILD_TMPDIR ) mkdir -p $BUILD_TMPDIR/home/.cache/pip mkdir -p $BUILD_TMPDIR/home/.local # copy script to an accessible location cp $0 $BUILD_TMPDIR; ME="$BUILD_TMPDIR/$(basename $0)" export TMPDIR=$BUILD_TMPDIR export HOME=$BUILD_TMPDIR/home exec </dev/null mkdir -p $PREFIX cat >$PREFIX/profile <<-EOF . $CUDADIR/profile PATH=$PREFIX/bin:\$PATH export LD_LIBRARY_PATH=$PREFIX/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_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 NPROC=$(( $(nproc) * 4 / 5 + 1 )) export MAKEFLAGS="-j $NPROC" # bookkeeping, spots package downgrades PIPMETADIR=$PREFIX/share/pipmeta mkdir -p $PIPMETADIR BUILDDIR=$PREFIX/build mkdir -p $BUILDDIR cd $BUILDDIR # if false; then ######### DEBUG_BASE DEBUG_TF #URL=https://www.python.org/ftp/python/$VERSION/Python-$VERSION.tar.xz URL="https://beehive.molgen.mpg.de/4b5fda03e3fbfceca833c997d501bcca/Python-3.9.12.tar.xz" test -e Python-$VERSION.tar.xz || wget -nv $URL test -d Python-$VERSION || tar -xf 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 # it might come to happen that something down the line may just call 'python', defuse ... test -e $PREFIX/bin/python || ln -s python3 $PREFIX/bin/python ( # sip: tool to create Python bindings for C and C++ libraries., v6 is out, but not so popular at the moment cd $BUILDDIR SIP_VERSION=4.19.24 # orig: https://www.riverbankcomputing.com/static/Downloads/sip/$SIP_VERSION/sip-$SIP_VERSION.tar.gz BEEHIVE=https://beehive.molgen.mpg.de/595e9ad6bb0a4b3a6ea92c163a05d19c/sip-4.19.24.tar.gz test -e sip-$SIP_VERSION.tar.gz || wget -nv $BEEHIVE test -d sip-$SIP_VERSION || tar -xf sip-$SIP_VERSION.tar.gz cd sip-$SIP_VERSION #### ATTN! #### python meanders between /python${PYTHONVER} and /python${PYTHONVER}m python3 configure.py \ -b $PREFIX/bin \ -d $PREFIX/lib/python$PYTHONVER/site-packages \ -e $PREFIX/include/python${PYTHONVER} \ -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 $BUILDDIR SIP_VERSION=4.19.24 mkdir -p private_sip cd private_sip # orig: https://www.riverbankcomputing.com/static/Downloads/sip/$SIP_VERSION/sip-$SIP_VERSION.tar.gz BEEHIVE=https://beehive.molgen.mpg.de/595e9ad6bb0a4b3a6ea92c163a05d19c/sip-4.19.24.tar.gz test -e sip-$SIP_VERSION.tar.gz || wget -nv $BEEHIVE 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 ) ( cd $BUILDDIR PYQT_VERSION=5.15.2 # orig: https://files.pythonhosted.org/packages/28/6c/640e3f5c734c296a7193079a86842a789edb7988dca39eab44579088a1d1/PyQt5-5.15.2.tar.gz BEEHIVE=https://beehive.molgen.mpg.de/b94576e9e013210dc5aba061913e4bd4/PyQt5-5.15.2.tar.gz test -e PyQt5-$PYQT_VERSION.tar.gz || wget -nv $BEEHIVE test -d PyQt5-$PYQT_VERSION || tar -xf PyQt5-$PYQT_VERSION.tar.gz cd PyQt5-$PYQT_VERSION #### ATTN! #### python meanders between /python${PYTHONVER} and /python${PYTHONVER}m # 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} \ --confirm-license \ --no-qml-plugin \ --no-designer-plugin \ --no-dist-info \ --verbose make -j $NPROC make install ) ( cd $BUILDDIR QSCINTILLA_VERSION=2.11.6 # orig: https://www.riverbankcomputing.com/static/Downloads/QScintilla/$QSCINTILLA_VERSION/QScintilla-$QSCINTILLA_VERSION.tar.gz BEEHIVE=https://beehive.molgen.mpg.de/343cd0c2c8b425518df2e51eb994fbc6/QScintilla-2.11.6.tar.gz test -e QScintilla-$QSCINTILLA_VERSION.tar.gz || wget -nv $BEEHIVE test -d QScintilla-$QSCINTILLA_VERSION || tar -xf QScintilla-$QSCINTILLA_VERSION.tar.gz cd QScintilla-$QSCINTILLA_VERSION cd Python # apidir follows PyQt, not Qt (default is: QT_INSTALL_DATA/qsci) python3 configure.py \ --pyqt=PyQt5 \ --qmake=/usr/local/qt5/bin/qmake \ --apidir=$PREFIX/share/qsci \ --no-dist-info make -j $NPROC make install ) # fi ######### DEBUG_BASE (1) # cd $BUILDDIR python3 -m ensurepip pip3 install --prefix=$PREFIX -I pip ( # fix 'please update' noise from pip cd $PREFIX/lib/python$PYTHONVER/site-packages sed -ne '/^#Epatch:pip/ s/^#Epatch:\S* // p' $ME | patch -p1 --verbose ) pip3 list > $PIPMETADIR/pip3list_initial # ATTN: numpy=1.21.x is out but not everybody like it already (e.g. SciPy ...) pip3 install --prefix=$PREFIX numpy==1.20.3 pip3 install --prefix=$PREFIX ipython[all] # install the basic ballpark ... # numpy holds no ref to *_MAX_THREADS, albeit it's an issue, fix via profile? # still persisting: NUMEXPR_MAX_THREADS issue caused by numexpr.utils (braindead defaults from this dependency) pip3 install --prefix=$PREFIX SciPy 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 --prefix=$PREFIX Cython # libxml2-python from pypi isn't up to date, cause lxml seems to be the favored binding # do this early, not that some dependency tries it. (btw. libxslt-python isn't ported to python3) ( . ${PREFIX}/profile LIBXML2_VERSION=2.9.12 # orig: http://xmlsoft.org/sources/libxml2-${PKGVERSION}.tar.gz BEEHIVE=https://beehive.molgen.mpg.de/f433a39be087a9f0b197eb2307ad9f75/libxml2-2.9.12.tar.gz test -e libxml2-$LIBXML2_VERSION.tar.gz || wget -nv $BEEHIVE test -d libxml2-$LIBXML2_VERSION || tar -xf libxml2-$LIBXML2_VERSION.tar.gz libxml2-$LIBXML2_VERSION/python cd libxml2-$LIBXML2_VERSION/python python3 setup.py build python3 setup.py install ) pip3 install --prefix=$PREFIX pysam pip3 install --prefix=$PREFIX seaborn pip3 install --prefix=$PREFIX scikit-learn #pip3 install --prefix=$PREFIX metaseq # fails (Latest commit fa875d1 on Jan 10, 2017) pip3 install --prefix=$PREFIX Mako pip3 install --prefix=$PREFIX meson # required in mariux pip3 install --prefix=$PREFIX cutadapt # Helpdesk 01/24/18 16:19, Sabrina Krakau pip3 install --prefix=$PREFIX pygobject # Helpdesk 03/26/18 14:19, Virginie Stanisla pip3 install --prefix=$PREFIX blink1 # Blink1-lib 07/04/18 12:00, Niclas Hofmann pip3 install --prefix=$PREFIX umi-tools pip3 install --prefix=$PREFIX sphinx pip3 install --prefix=$PREFIX recommonmark pip3 install --prefix=$PREFIX fastcluster pip3 install --prefix=$PREFIX pydot pip3 install --prefix=$PREFIX pygraphviz pip3 install --prefix=$PREFIX deeptools pip3 install --prefix=$PREFIX HTSeq pip3 install --prefix=$PREFIX keras pip3 install --prefix=$PREFIX keras_preprocessing # tensorflow ... pip3 install --prefix=$PREFIX MotifScan # Alena 30.8.2018 pip3 install --prefix=$PREFIX MAmotif pip3 install --prefix=$PREFIX hic2cool # Helpdesk Robert Schoepflin 17.09.2018 #pip3 install --prefix=$PREFIX hifive # only python 2.7+ pip3 install --prefix=$PREFIX snakemake pip3 install --prefix=$PREFIX virtualenv # Donald pip3 install --prefix=$PREFIX odfpy # Donald pip3 install --prefix=$PREFIX Dumper # Thomas pip3 install --prefix=$PREFIX igraph pip3 install --prefix=$PREFIX louvain # monocle3 prep for Helene pip3 install --prefix=$PREFIX selenium # 19.7.19 Kreitler -> https://webxray.org/ pip3 install --prefix=$PREFIX cooltools # Maria Valieva 17.7.2019 pip3 install --prefix=$PREFIX gmpy # From viper context (Helpdesk Laura Glaser 9.8.2019) pip3 install --prefix=$PREFIX torch pip3 install --prefix=$PREFIX torchvision pip3 install --prefix=$PREFIX plotly pip3 install --prefix=$PREFIX pyOpenCL pip3 install --prefix=$PREFIX docopt pip3 install --prefix=$PREFIX dbus-python pip3 install --prefix=$PREFIX distro pip3 install --prefix=$PREFIX ply pip3 install --prefix=$PREFIX threadpoolctl pip3 install --prefix=$PREFIX pyopengl # creates error, so remove it rm -rf ${PREFIX}/lib/python$PYTHONVER/site-packages/OpenGL/Tk # pip3 install --prefix=$PREFIX HiCExplorer # Would be a nice to have, but it likes to downgrade too much, pick some cherries pip3 install --prefix=$PREFIX HiCMatrix pip3 install --prefix=$PREFIX pybedtools pip3 install --prefix=$PREFIX gffutils pip3 install --prefix=$PREFIX --no-deps "pyGenomeTracks" # example produces plots, so give it a chance, otherwise it's just a dumbfucked downgrader pip3 install --prefix=$PREFIX python-bioformats pip3 install --prefix=$PREFIX jupyterlab # request Peter Arndt pip3 install --prefix=$PREFIX jupyterlab-git pip3 install --prefix=$PREFIX igv_jupyterlab # Matthias Lienhard HD 01-04-2020 pip3 install --prefix=$PREFIX igv-jupyter mkdir -vp $PREFIX/share/jupyter/lab/settings # try to defeat a silly error in jupyter labextension install pip3 install --prefix=$PREFIX scour # https://github.molgen.mpg.de/mariux64/pkg-scripts/issues/98 pip3 install --prefix=$PREFIX multiqc pip3 install --prefix=$PREFIX thonny # nice little ide, kreitler pip3 install --prefix=$PREFIX pybind11 pip3 install --prefix=$PREFIX svgwrite pip3 install --prefix=$PREFIX pyomo pip3 install --prefix=$PREFIX jsbsim # kreitler, hobby pip3 install --prefix=$PREFIX bioservices pip3 install --prefix=$PREFIX pairtools pip3 install --prefix=$PREFIX SharedArray pip3 install --prefix=$PREFIX pyabc # dependency for stochkit, HD 20.07.20 Gemma Noviello pip3 install --prefix=$PREFIX petab pip3 install --prefix=$PREFIX tadtool # HD 26.01.21 Michael Robson # pip3 install --prefix=$PREFIX perf # fails, issue from Paul sep-20, no clue... # pip3 install --prefix=$PREFIX glpk-py # kreitler, fails, wants setuptools_scm, do I want setuptools_scm? pip3 install --prefix=$PREFIX helen # HD, a dependency from a request by helene :) pip3 install --prefix=$PREFIX umap # HD, used by Matthias Lienhard pip3 install --prefix=$PREFIX macs2 # HD, Alessa Ringel, Tobias Zehnder, old python2 version broke after glibc update pip3 install --prefix=$PREFIX macs3 pip3 install --prefix=$PREFIX biopython # HD 2021-07-23 Magalhaes/Hnisz alphafold related (cool that we have missed biopython so far, LOL) pip3 install --prefix=$PREFIX dm-tree pip3 install --prefix=$PREFIX dm-haiku # pip3 install --prefix=$PREFIX jaxlib # these should be build from source, otherwise it will have trouble finding the right cuda # pip3 install --prefix=$PREFIX jax pip3 install --prefix=$PREFIX flatbuffers pip3 install --prefix=$PREFIX contextlib2 pip3 install --prefix=$PREFIX ml_collections pip3 install --prefix=$PREFIX wheel # wheel is evil, but jaxlib needs it, and tf would pull it anyway # fi ######### DEBUG_BASE (2) # cd $BUILDDIR # jax/jaxlib ( . ${PREFIX}/profile . /pkg/bazel-4.1.0-0/profile cd $BUILDDIR # orig: https://github.com/google/jax/archive/refs/tags/jaxlib-v0.1.71.tar.gz BEEHIVE=https://beehive.molgen.mpg.de/10b3082f32e4088a139b8a5b9591ea9f/jax-jaxlib-v0.1.71.tar.gz test -e jax-jaxlib-v0.1.71.tar.gz || wget -nv $BEEHIVE test -d jax-jaxlib-v0.1.71 || tar -xf jax-jaxlib-v0.1.71.tar.gz cd jax-jaxlib-v0.1.71 test -d dist && rm -f dist/* export JAX_CUDA_VERSION=11.1 # just to give a '+cuda111' in the wheel name python3 build/build.py \ --target_cpu_features native \ --enable_cuda \ --cuda_path /pkg/cuda-11.1.1-0 \ --cuda_version 11.1 \ --cudnn_path /pkg/cuda-11.1.1-0 \ --cudnn_version 8.0.4 \ --noenable_tpu # result looks like dist/jaxlib-0.1.71-cp39-none-manylinux2010_x86_64.whl pip3 install --prefix=$PREFIX ./dist/*.whl # this brings the jax package pip3 install --prefix=$PREFIX . ) # boost for pycuda ( . ${PREFIX}/profile BOOST_VERSION=(1.75.0 1_75_0) PKGCFLAGS="-O2 -fPIC" cd $BUILDDIR # orig: https://dl.bintray.com/boostorg/release/1.75.0/source/boost_1_75_0.tar.gz BEEHIVE=https://beehive.molgen.mpg.de//38813f6feb40387dfe90160debd71251/boost_1_75_0.tar.gz test -e boost_${BOOST_VERSION[1]}.tar.gz || wget -nv $BEEHIVE test -d boost-${BOOST_VERSION[0]} || mkdir boost-${BOOST_VERSION[0]} && tar -xf boost_${BOOST_VERSION[1]}.tar.gz -C boost-${BOOST_VERSION[0]} --strip-components=1 #### ATTN! #### python meanders between /python${PYTHONVER} and /python${PYTHONVER}m cd boost-${BOOST_VERSION[0]} sed -e "/using python/ s|;|: ${PREFIX}/include/python${PYTHONVER} ;|" \ -i bootstrap.sh ./bootstrap.sh \ --with-toolset=gcc \ --with-icu \ --with-python=$PREFIX/bin/python3 \ --with-libraries=python,thread || exit 1 ./b2 \ -j $NPROC \ --layout=system \ --build-dir=build-python3 \ --prefix=$PREFIX \ --libdir=$PREFIX/lib \ --build-type=minimal \ toolset=gcc \ variant=release \ debug-symbols=off \ link=shared \ threading=multi \ runtime-link=shared \ python=$PYTHONVER \ cflags="$PKGCFLAGS" \ cxxflags="$PKGCFLAGS" \ install || exit 1 ) # use pycuda git version to get GL support ( PYCUDAVERS=2020.1 PYTHON_LIBNAME=boost_python${PYTHONVER/./} . ${PREFIX}/profile cd $BUILDDIR # future build might try this one # https://github.com/inducer/pycuda/archive/refs/tags/v2021.1.tar.gz # orig: https://github.com/inducer/pycuda/archive/v2020.1.tar.gz BEEHIVE=https://beehive.molgen.mpg.de/580562d7af4d3249c5b42a1df8d428a0/pycuda-2020.1.tar.gz test -e pycuda-${PYCUDAVERS}.tar.gz || wget -nv $BEEHIVE test -d pycuda-${PYCUDAVERS} || tar -xf pycuda-${PYCUDAVERS}.tar.gz cd pycuda-${PYCUDAVERS} test -e siteconf.py && rm siteconf.py python3 configure.py \ --cuda-enable-gl \ --cuda-root=$CUDADIR \ --no-use-shipped-boost \ --boost-python-libname=$PYTHON_LIBNAME \ --boost-inc-dir=$PREFIX/include \ --boost-lib-dir=$PREFIX/lib \ --cudadrv-lib-dir='${CUDA_ROOT}/lib,${CUDA_ROOT}/lib/stubs' \ --cudart-lib-dir='${CUDA_ROOT}/lib,${CUDA_ROOT}/lib/stubs' \ --curand-lib-dir='${CUDA_ROOT}/lib,${CUDA_ROOT}/lib/stubs' \ --ldflags=-L$PREFIX/lib python3 setup.py install --prefix $PREFIX ) ( # orig: https://github.com/nboley/idr/archive/2.0.3/idr-2.0.3.tar.gz # HD: Tobias Zehnder, 18.3.21 BEEHIVE=https://beehive.molgen.mpg.de/1bec61b526bb1dcf92a5ab99c27852d0/idr-2.0.3.tar.gz test -e idr-2.0.3.tar.gz || wget -nv $BEEHIVE test -d idr-2.0.3 || tar -xf idr-2.0.3.tar.gz cd idr-2.0.3 python3 setup.py build python3 setup.py install --prefix $PREFIX ) ( # orig: https://github.com/stacked-git/stgit/archive/v1.0/stgit-1.0.tar.gz # Paul mariux64/pkg-scripts/issues/152 BEEHIVE=https://beehive.molgen.mpg.de/b20ab5a197fc3a141f4b00c5859c0a3b/stgit-1.0.tar.gz test -e stgit-1.0.tar.gz || wget -nv $BEEHIVE test -d stgit-1.0 || tar -xf stgit-1.0.tar.gz cd stgit-1.0 python3 setup.py build python3 setup.py install --prefix $PREFIX ) ( # orig: https://github.com/openmm/openmm/archive/refs/tags/7.5.1.tar.gz BEEHIVE=https://beehive.molgen.mpg.de/12fefb6ca030d1f4aace78ac1a8b94c3/openmm-7.5.1.tar.gz test -e openmm-7.5.1.tar.gz || wget -nv $BEEHIVE test -d openmm-7.5.1 || tar -xf openmm-7.5.1.tar.gz cd openmm-7.5.1 # replace hardcoded "/usr/local/cuda/bin/nvcc" in libOpenMMCUDA.so (crying four trouble dude?) # Otherwise OPENMM_CUDA_COMPILER needs to be used sed -i -e "/bin\/nvcc/ s,/usr/local/cuda/bin/nvcc,/$CUDADIR/bin/nvcc," \ platforms/cuda/src/CudaPlatform.cpp # apply 'DeepMind modification' to openmm, hopefully it will leave openmm usable :) sed -ne '/^#Epatch:openmmtopo/ s/^#Epatch:\S* // p' $ME | patch -p1 --verbose mkdir -p build cd build cmake \ -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DCUDA_TOOLKIT_ROOT_DIR=$CUDADIR \ -DBUILD_TESTING=OFF \ .. make -j $NPROC make install # make PythonInstall # this one sucks! (ignoring all locations cleanly found by cmake before...) echo "# openmm library part done, now python-binding." cd python OPENMM_INCLUDE_PATH=$PREFIX/include OPENMM_LIB_PATH=$PREFIX/lib python3 setup.py build OPENMM_INCLUDE_PATH=$PREFIX/include OPENMM_LIB_PATH=$PREFIX/lib python3 setup.py install # place symlinks from plugins to lib, saving a LD_LIBRARY_PATH entry cd $PREFIX/lib for SO in plugins/*.so; do ln -sv $SO done ) ( # orig:https://github.com/openmm/pdbfixer/archive/refs/tags/v1.7.tar.gz BEEHIVE=https://beehive.molgen.mpg.de/dd383722fcf5213537656f691f4c2053/pdbfixer-1.7.tar.gz test -e pdbfixer-1.7.tar.gz || wget -nv $BEEHIVE test -d pdbfixer-1.7 || tar -xf pdbfixer-1.7.tar.gz cd pdbfixer-1.7 python3 setup.py build python3 setup.py install ) ( # orig:https://github.com/brentp/bwa-meth/archive/refs/tags/v0.2.2.tar.gz # HD: Sven Klages 2021-09-02 BEEHIVE=https://beehive.molgen.mpg.de/85e77f8c2d832af13f31d5b612ab27eb/bwa-meth-0.2.2.tar.gz test -e bwa-meth-0.2.2.tar.gz || wget -nv $BEEHIVE test -d bwa-meth-0.2.2 || tar -xf bwa-meth-0.2.2.tar.gz cd bwa-meth-0.2.2 python3 setup.py build python3 setup.py install ) pip3 list > $PIPMETADIR/pip3list_ballpark # fi ######### DEBUG_TF # cd $BUILDDIR # finaly tensorflaw ( TFVERSION=2.5.0 NCCLSHORTVERSION=2.7 . ${PREFIX}/profile . /pkg/bazel-4.1.0-0/profile cd $BUILDDIR # https://github.com/tensorflow/tensorflow/archive/v2.5.0.tar.gz BEEHIVE=https://beehive.molgen.mpg.de/b152ebdc7f72c4d32f7a9e58aa41b80d/tensorflow-2.5.0.tar.gz test -e tensorflow-${TFVERSION}.tar.gz || wget -nv $BEEHIVE test -d tensorflow-${TFVERSION} || tar -xf tensorflow-${TFVERSION}.tar.gz cd tensorflow-${TFVERSION} # https://bugs.archlinux.org/task/65953 #vars for config export PYTHON_BIN_PATH=${PREFIX}/bin/python3 export USE_DEFAULT_PYTHON_LIB_PATH=1 export TF_NEED_JEMALLOC=1 export TF_NEED_KAFKA=0 export TF_NEED_OPENCL_SYCL=0 export TF_NEED_AWS=0 export TF_NEED_GCP=0 export TF_NEED_HDFS=0 export TF_NEED_S3=0 export TF_ENABLE_XLA=1 export TF_NEED_GDR=0 export TF_NEED_VERBS=0 export TF_NEED_OPENCL=0 export TF_NEED_MPI=0 export TF_NEED_TENSORRT=1 export TF_NEED_NGRAPH=0 export TF_NEED_IGNITE=0 export TF_NEED_ROCM=0 export TF_SET_ANDROID_WORKSPACE=0 export TF_DOWNLOAD_CLANG=0 export TF_NCCL_VERSION=${NCCLSHORTVERSION} export TF_IGNORE_MAX_BAZEL_VERSION=1 export NCCL_INSTALL_PATH=${CUDADIR} export GCC_HOST_COMPILER_PATH=/usr/bin/gcc export TF_CUDA_CLANG=0 export CLANG_CUDA_COMPILER_PATH=/usr/bin/clang export TF_CUDA_PATHS=${CUDADIR},${CUDADIR}/extras/CUPTI,${CUDADIR}/nvvm export TF_CUDA_VERSION=$(${CUDADIR}/bin/nvcc --version | sed -n 's/^.*release \(.*\),.*/\1/p') export TF_CUDNN_VERSION=$(sed -n 's/^#define CUDNN_MAJOR\s*\(.*\).*/\1/p' ${CUDADIR}/include/cudnn_version.h) # hardware older than sm_52 is said to be unsupported, compute_86 denotes an emulation export TF_CUDA_COMPUTE_CAPABILITIES=sm_52,sm_53,sm_60,sm_61,sm_62,sm_70,sm_72,sm_75,sm_80,sm_86,compute_86 # stay compatible with the cluster machines export CC_OPT_FLAGS="-march=nehalem" export TF_NEED_CUDA=1 ./configure bazel build \ --cxxopt="-march=nehalem" \ --copt="-march=nehalem" \ --noshow_loading_progress \ --noshow_progress \ --color="no" \ //tensorflow:libtensorflow.so \ //tensorflow:libtensorflow_cc.so \ //tensorflow:install_headers \ //tensorflow/tools/pip_package:build_pip_package bazel shutdown # otherwise it hogs in cwd # create a _clean/decent_ python package from so far created debris test -d tensorflow-pip && rm -r tensorflow-pip mkdir tensorflow-pip ./bazel-bin/tensorflow/tools/pip_package/build_pip_package --src ${BUILDDIR}/tensorflow-pip cd ${BUILDDIR} # ... cope with the ??? symlink-structure placed in bazels' build-TMPDIR (-h) (tell me why ?) test -e tensorflow-pip.tar && rm tensorflow-pip.tar tar -chf tensorflow-pip.tar tensorflow-pip # and perform a regular install test -d tensorflow-pip && rm -r tensorflow-pip tar -xf tensorflow-pip.tar cd ${BUILDDIR}/tensorflow-pip # inhibit downgrading of packages installed sed -ne '/^#Epatch:tfdep/ s/^#Epatch:\S* // p' $ME | patch -p2 --verbose python3 setup.py build python3 setup.py install --prefix $PREFIX ) pip3 list > $PIPMETADIR/pip3list_after_tensorflow # tidy up a bit if [ -d $PREFIX/man/man1 ]; then mv -v $PREFIX/man/man1/* $PREFIX/share/man/man1 || true rm -rf $PREFIX/man fi # load all packages, see warnings and spot installation errors # But don't care about r2py, a further dependence into R is not wanted! echo "# START load test." python3 -c 'help("modules")' > /dev/null echo "# END load test." exit ### PATCHES # the code to cope with '--disable-pip-version-check' is spread over the module, so # just quieten the enervating/misleading update reminder for at least 3 minors ... #Epatch:pip *** a/pip/_internal/self_outdated_check.py Mon May 16 13:16:30 2022 #Epatch:pip --- b/pip/_internal/self_outdated_check.py Mon May 16 15:57:31 2022 #Epatch:pip *************** #Epatch:pip *** 206,211 **** #Epatch:pip --- 206,212 ---- #Epatch:pip local_version_is_older = ( #Epatch:pip local_version < remote_version #Epatch:pip and local_version.base_version != remote_version.base_version #Epatch:pip + and ( local_version.release[0] < remote_version.release[0] or local_version.release[1] < remote_version.release[1] - 3 ) #Epatch:pip ) #Epatch:pip if local_version_is_older: #Epatch:pip return UpgradePrompt(old=str(local_version), new=remote_version_str) # BTW: numpy is installed ... #Epatch:tfdep --- a/tensorflow-pip/setup.py.orig 2021-07-29 21:21:33.000000000 +0200 #Epatch:tfdep +++ b/tensorflow-pip/setup.py 2021-08-05 18:14:26.011647329 +0200 #Epatch:tfdep @@ -77,6 +77,2 @@ #Epatch:tfdep REQUIRED_PACKAGES = [ #Epatch:tfdep - # NOTE: As numpy has releases that break semver guarantees and several other #Epatch:tfdep - # deps depend on numpy without an upper bound, we must install numpy before #Epatch:tfdep - # everything else. #Epatch:tfdep - 'numpy ~= 1.19.2', #Epatch:tfdep # Install other dependencies # This is found in the docker image preparation for AlphaFold. # I'm not completely happy patching existing libraries ... #Epatch:openmmtopo --- a/wrappers/python/simtk/openmm/app/topology.py.orig 2021-04-07 22:09:01.000000000 +0200 #Epatch:openmmtopo +++ b/wrappers/python/simtk/openmm/app/topology.py 2021-08-05 16:49:10.191954117 +0200 #Epatch:openmmtopo @@ -355,2 +355,11 @@ #Epatch:openmmtopo return 'SG' in names and 'HG' not in names #Epatch:openmmtopo + # This function is used to prevent multiple di-sulfide bonds from being #Epatch:openmmtopo + # assigned to a given atom. This is a DeepMind modification. #Epatch:openmmtopo + def isDisulfideBonded(atom): #Epatch:openmmtopo + for b in self._bonds: #Epatch:openmmtopo + if (atom in b and b[0].name == 'SG' and #Epatch:openmmtopo + b[1].name == 'SG'): #Epatch:openmmtopo + return True #Epatch:openmmtopo + #Epatch:openmmtopo + return False #Epatch:openmmtopo #Epatch:openmmtopo @@ -361,2 +370,3 @@ #Epatch:openmmtopo pos1 = positions[sg1.index] #Epatch:openmmtopo + candidate_distance, candidate_atom = 0.3*nanometers, None #Epatch:openmmtopo for j in range(i): #Epatch:openmmtopo @@ -366,4 +376,10 @@ #Epatch:openmmtopo distance = sqrt(delta[0]*delta[0] + delta[1]*delta[1] + delta[2]*delta[2]) #Epatch:openmmtopo - if distance < 0.3*nanometers: #Epatch:openmmtopo - self.addBond(sg1, sg2) #Epatch:openmmtopo + if distance < candidate_distance and not isDisulfideBonded(sg2): #Epatch:openmmtopo + candidate_distance = distance #Epatch:openmmtopo + candidate_atom = sg2 #Epatch:openmmtopo + # Assign bond to closest pair. #Epatch:openmmtopo + if candidate_atom: #Epatch:openmmtopo + self.addBond(sg1, candidate_atom) #Epatch:openmmtopo + #Epatch:openmmtopo +
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
You can’t perform that action at this time.