summaryrefslogtreecommitdiffstats
path: root/calibre/build/calibre.SlackBuild
diff options
context:
space:
mode:
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
commitc80717d232ad623031e8263da24b3f5ad9d3154a (patch)
tree1f8dd0f258d1b2d635939451a09953f557a74e24 /calibre/build/calibre.SlackBuild
parent0ddea5f8d65fdbc2b586d9f5a980aaed17b24ec6 (diff)
downloadasb-c80717d232ad623031e8263da24b3f5ad9d3154a.tar.gz
asb-c80717d232ad623031e8263da24b3f5ad9d3154a.tar.xz
calibre: make beautifulsoup/soupsieve compile properly
Diffstat (limited to '')
-rwxr-xr-xcalibre/build/calibre.SlackBuild164
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/