diff options
author | Eric Hameleers <alien@slackware.com> | 2019-07-29 18:48:51 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2019-07-29 18:48:51 +0000 |
commit | c80717d232ad623031e8263da24b3f5ad9d3154a (patch) | |
tree | 1f8dd0f258d1b2d635939451a09953f557a74e24 /calibre/build/calibre.SlackBuild | |
parent | 0ddea5f8d65fdbc2b586d9f5a980aaed17b24ec6 (diff) | |
download | asb-c80717d232ad623031e8263da24b3f5ad9d3154a.tar.gz asb-c80717d232ad623031e8263da24b3f5ad9d3154a.tar.xz |
calibre: make beautifulsoup/soupsieve compile properly
Diffstat (limited to '')
-rwxr-xr-x | calibre/build/calibre.SlackBuild | 164 |
1 files changed, 123 insertions, 41 deletions
diff --git a/calibre/build/calibre.SlackBuild b/calibre/build/calibre.SlackBuild index 97fef541..0e77e242 100755 --- a/calibre/build/calibre.SlackBuild +++ b/calibre/build/calibre.SlackBuild @@ -156,13 +156,15 @@ REQUIRED_PYTHON_MIN="15" INT_PYTHON=2.7.16 # Only used in case we need to build our own python modules: -#INT_SETUPTOOLS=23.1.0 +#INT_SETUPTOOLS=14.3 # Newer setuptools generate messages like: # dist.py:267: UserWarning: Unknown distribution option: 'zip_safe' # and fails to compile netifaces with error: # netifaces.c error you need to add code for your platform -INT_SETUPTOOLS=14.3 +INT_SETUPTOOLS=41.0.1 +INT_PIP=19.2.1 INT_BEAUTIFULSOUP=4.8.0 +INT_BFLC=1.5 INT_CSSPARSER=1.0.4 INT_DATEUTIL=2.5.3 INT_DBUSPYTHON=1.2.0 @@ -186,7 +188,7 @@ INT_PYQT5=5.9.2 INT_REGEX=2018.07.11 INT_SIP=4.19.8 INT_SIX=1.10.0 -INT_SOUPSIEVE=1.9.2 +INT_SOUPSIEVE=1.9.1 INT_SQLITE=3270200 INT_UNRARDLL=0.1.3 INT_WEBENC=0.5.1 @@ -254,11 +256,12 @@ fi if [ "$BUILD_PYTHONMODS" = "YES" ]; then echo ">> Compiling python modules <<" - SOURCE[1]="$SRCDIR/sources/setuptools-${INT_SETUPTOOLS}.tar.gz" # URL for the newer setuptools: - #SRCURL[1]="https://github.com/pypa/setuptools/archive/v${INT_SETUPTOOLS}.tar.gz" + SOURCE[1]="$SRCDIR/sources/setuptools-${INT_SETUPTOOLS}.zip" + SRCURL[1]="https://pypi.python.org/packages/source/s/setuptools/setuptools-${INT_SETUPTOOLS}.zip" # URL for the older setuptools: - SRCURL[1]="http://pypi.python.org/packages/source/s/setuptools/setuptools-${INT_SETUPTOOLS}.tar.gz" + #SOURCE[1]="$SRCDIR/sources/setuptools-${INT_SETUPTOOLS}.tar.gz" + #SRCURL[1]="https://pypi.python.org/packages/source/s/setuptools/setuptools-${INT_SETUPTOOLS}.tar.gz" SOURCE[2]="$SRCDIR/sources/Pygments-${INT_PYGMENTS}.tar.gz" SRCURL[2]="https://pypi.python.org/packages/source/P/Pygments/Pygments-${INT_PYGMENTS}.tar.gz" @@ -336,14 +339,20 @@ if [ "$BUILD_PYTHONMODS" = "YES" ]; then SOURCE[26]="$SRCDIR/sources/sqlite-amalgamation-${INT_SQLITE}.zip" SRCURL[26]="https://www.sqlite.org/2019/sqlite-amalgamation-${INT_SQLITE}.zip" - SOURCE[27]="$SRCDIR/sources/soupsieve-${INT_SOUPSIEVE}.tar.gz" - SRCURL[27]="https://pypi.io/packages/source/s/soupsieve/soupsieve-${INT_SOUPSIEVE}.tar.gz" + SOURCE[27]="$SRCDIR/sources/beautifulsoup4-${INT_BEAUTIFULSOUP}.tar.gz" + SRCURL[27]="https://pypi.io/packages/source/b/beautifulsoup4/beautifulsoup4-${INT_BEAUTIFULSOUP}.tar.gz" - SOURCE[28]="$SRCDIR/sources/beautifulsoup4-${INT_BEAUTIFULSOUP}.tar.gz" - SRCURL[28]="https://pypi.io/packages/source/b/beautifulsoup4/beautifulsoup4-${INT_BEAUTIFULSOUP}.tar.gz" + SOURCE[28]="$SRCDIR/sources/backports.functools_lru_cache-${INT_BFLC}.tar.gz" + SRCURL[28]="https://pypi.io/packages/source/b/backports.functools_lru_cache/backports.functools_lru_cache-${INT_BFLC}.tar.gz" - SOURCE[29]="$SRCDIR/sources/html2text-${INT_HTML2TEXT}.tar.gz" - SRCURL[29]="https://pypi.io/packages/source/h/html2text/html2text-${INT_HTML2TEXT}.tar.gz" + SOURCE[29]="$SRCDIR/sources/soupsieve-${INT_SOUPSIEVE}.tar.gz" + SRCURL[29]="https://pypi.io/packages/source/s/soupsieve/soupsieve-${INT_SOUPSIEVE}.tar.gz" + + SOURCE[30]="$SRCDIR/sources/html2text-${INT_HTML2TEXT}.tar.gz" + SRCURL[30]="https://pypi.io/packages/source/h/html2text/html2text-${INT_HTML2TEXT}.tar.gz" + + SOURCE[31]="$SRCDIR/sources/pip-${INT_PIP}.tar.gz" + SRCURL[31]="https://pypi.io/packages/source/p/pip/pip-${INT_PIP}.tar.gz" NEXT_ARRAYEL=${#SOURCE[@]} else @@ -619,12 +628,15 @@ make_qt5() { -skip qt3d -skip qtcanvas3d \ ${PACONF} \ $RELOCATIONS \ - -no-pch + -no-pch \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log # Sometimes a failure happens when parallelizing make. Retry if make fails, # but make a failure the second time around (single threaded) a fatal error: - make $NUMJOBS || make || exit 1 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log - make install INSTALL_ROOT=$PKG 2>&1 | tee $OUTPUT/install-${PRGNAM}_${MOD}.log + make $NUMJOBS || make || exit 1 \ + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log + make install INSTALL_ROOT=$PKG \ + 2>&1 | tee $OUTPUT/install-${PRGNAM}_${MOD}.log # Add documentation: mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} @@ -671,9 +683,12 @@ make_qtwebkit() { mkdir build cd build - qmake ../WebKit.pro - make || exit 1 - make install INSTALL_ROOT=$PKG || exit 1 + qmake ../WebKit.pro \ + 2>&1 | tee $OUTPUT/qmake-${PRGNAM}_${MOD}.log + make \ + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log + make install INSTALL_ROOT=$PKG \ + 2>&1 | tee $OUTPUT/install-${PRGNAM}_${MOD}.log cd .. # Add documentation: @@ -849,9 +864,26 @@ make_setuptools() { } # End make_setuptools -# -# Build dnspython: -# + +make_pip() { + + local MOD="pip" + echo -e "\n** $MOD **\n" + + cd $TMP/tmp-$PRGNAM/pip-${INT_PIP} + + # Compile and install + python2 setup.py install --root=$PKG \ + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log + + # Add documentation: + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} + cp -a *.txt \ + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true + +} # End make_pip + + make_dnspython() { local MOD="dnspython" @@ -1459,32 +1491,71 @@ make_Markdown() { } # End make_Markdown -make_soupsieve() { +make_beautifulsoup() { - local MOD="soupsieve" + local MOD="beautifulsoup" echo -e "\n** $MOD **\n" - cd $TMP/tmp-$PRGNAM/soupsieve-${INT_SOUPSIEVE} + cd $TMP/tmp-$PRGNAM/beautifulsoup4-${INT_BEAUTIFULSOUP} - # Compile and install - python setup.py install --root=$PKG \ + # Compile and install: + python2 setup.py install --root=$PKG \ 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log -} # End make_soupsieve + # Add documentation: + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} + cp -a *.txt LICENSE README.md \ + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true + +} # End make_beautifulsoup -make_beautifulsoup() { +make_bflc() { - local MOD="beautifulsoup" + local MOD="backports.functools_lru_cache" echo -e "\n** $MOD **\n" - cd $TMP/tmp-$PRGNAM/beautifulsoup4-${INT_BEAUTIFULSOUP} + # First, define the backports namespace: + ( + local BRANCH_VERSION=$(echo $INT_PYTHON | cut -f 1,2 -d . ) + cd $PKG/usr/lib${LIBDIRSUFFIX}/calibre/lib/python${BRANCH_VERSION}/site-packages + mkdir backports + cd backports + cat << EOF > __init__.py +from pkgutil import extend_path +__path__ = extend_path(__path__, __name__) +EOF + python2 -m compileall . + ) - # Compile and install - python setup.py install --root=$PKG \ + cd $TMP/tmp-$PRGNAM/backports.functools_lru_cache-${INT_BFLC} + + # Compile and install: + python2 setup.py install --root=$PKG \ 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log -} # End make_beautifulsoup +} # End make_bflc + + +make_soupsieve() { + + local MOD="soupsieve" + echo -e "\n** $MOD **\n" + + cd $TMP/tmp-$PRGNAM/soupsieve-${INT_SOUPSIEVE} + + # Compile and install: + python2 setup.py build \ + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log + python2 setup.py install --root=$PKG --optimize=1 \ + 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_${MOD}.log + + # Add documentation: + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} + cp -a *.md \ + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true + +} # End make_soupsieve make_html2text() { @@ -1494,10 +1565,15 @@ make_html2text() { cd $TMP/tmp-$PRGNAM/html2text-${INT_HTML2TEXT} - # Compile and install - python setup.py install --root=$PKG \ + # Compile and install: + python2 setup.py install --root=$PKG \ 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log + # Add documentation: + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} + cp -a *.rst COPYING README.md \ + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true + } # End make_html2text @@ -1769,9 +1845,21 @@ if [ "$BUILD_PYTHONMODS" = "YES" ]; then make_setuptools rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ + make_pip + rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ + make_apsw || exit 1 rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ + make_beautifulsoup + rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ + + make_bflc + rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ + + make_soupsieve + rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ + make_dnspython rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ @@ -1841,12 +1929,6 @@ if [ "$BUILD_PYTHONMODS" = "YES" ]; then make_Markdown rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ - make_soupsieve - rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ - - make_beautifulsoup - rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ - make_html2text rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ |