summaryrefslogtreecommitdiffstats
path: root/calibre
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2022-03-13 23:42:37 +0000
committer Eric Hameleers <alien@slackware.com>2022-03-13 23:42:37 +0000
commita1301a53fbfbe974530d71700582efc42dae9c93 (patch)
tree5f1e80c713deb4b6b84e808ffe90a3a92a606e34 /calibre
parent40e7ba9431c660048c846d6554b642b3209dd254 (diff)
downloadasb-a1301a53fbfbe974530d71700582efc42dae9c93.tar.gz
asb-a1301a53fbfbe974530d71700582efc42dae9c93.tar.xz
calibre: updated to 5.38.0
Diffstat (limited to 'calibre')
-rwxr-xr-xcalibre/build/calibre.SlackBuild1555
1 files changed, 842 insertions, 713 deletions
diff --git a/calibre/build/calibre.SlackBuild b/calibre/build/calibre.SlackBuild
index b2b4253a..3e4ed05e 100755
--- a/calibre/build/calibre.SlackBuild
+++ b/calibre/build/calibre.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
# $Id$
-# Copyright 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -28,18 +28,8 @@
# For: calibre
# Descr: e-book library management application
# URL: http://calibre-ebook.com/
-# Build needs:(Slackware 14.2) meson, python3, python3-setuptools.
-# Needs: If you did not add Qt5 to the package, you will also need:
-# libinput,libxkbcommon,qt5.
-# If you did not add python2.7 to the package, you will also need:
-# PyQt5, PyQtWebEngine, dbus-python, dnspython, pycrypto,
-# pysetuptools, python-apsw, python-beautifulsoup4, python-bflc,
-# python-chardet, python-css-parser, python-dateutil, python-enum34,
-# python-feedparser, pyhton-html2text, python-html5-parser,
-# python-html5lib, python-lxml, python-markdown, python-mechanize,
-# python-msgpack, python-netifaces, python-pillow, python-psutil,
-# python-pygments, python-regex, python-six, python-soupsieve,
-# python-unrardll, python-webencodings, sip, sqlite-amalgamation.
+# Build needs:
+# Needs:
# Changelog:
# 0.7.20-1: 25/Sep/2010 by Eric Hameleers <alien@slackware.com>
# * Initial build.
@@ -133,6 +123,12 @@
# * Update.
# 4.15.0-1: 07/may/2020 by Eric Hameleers <alien@slackware.com>
# * Update.
+# 5.38.0-1: 07/mar/2022 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# The embedded Python interpreter and modules will now always
+# be built. Qt5 libraries are expected to be supplied by
+# the OS, meaning Slackware older than 15.0 is not supported.
+# Python3 is now powering Calibre.
#
# Run 'sh calibre.SlackBuild' to build a Slackware package.
# The package (.txz) and .txt file as well as build logs are created in /tmp .
@@ -142,22 +138,17 @@
PRGNAM=calibre
SRCNAM=calibre
-VERSION=${VERSION:-4.15.0}
+VERSION=${VERSION:-5.38.0}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(nproc) "}
TAG=${TAG:-alien}
DOCS="LICENSE* Changelog* COPYRIGHT README*"
-PYTHON=$(python2 -c 'import sys; print (sys.version.split( )[0])')
+SYSPYTHON=$(python3 -c 'import sys; print (sys.version.split( )[0])')
SLACKVER=${SLACKVER:-$(cat /etc/slackware-version |cut -d' ' -f2)}
-REQUIRED_QT="5.13.1"
-
-# Only used in case we need to build our own Qt:
-INT_QT=5.13.2
-
-REQUIRED_MTP="1.1.16"
+REQUIRED_MTP="1.1.17"
# Only used in case we need to build our own libmtp:
INT_MTP=1.1.17
@@ -165,59 +156,67 @@ INT_MTP=1.1.17
# Only used when we build our own ImageMagick:
INT_MAGICK=6.9.10_68
-REQUIRED_PYTHON="2.7"
-REQUIRED_PYTHON_MIN="16"
+REQUIRED_PYTHON="3.8"
+REQUIRED_PYTHON_MIN="5"
# Only used in case we need to build our own python:
-INT_PYTHON=2.7.18
+INT_PYTHON=3.8.5
# Only used in case we need to build our own python modules:
-#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=42.0.2
+INT_SETUPTOOLS=49.6.0
# The rest of the internal Python deps:
-INT_APSW=3.30.1-r1
-INT_BEAUTIFULSOUP=4.8.0
-INT_BFLC=1.5
+INT_APSW=3.37.0-r1
+INT_BEAUTIFULSOUP=4.9.1
INT_CHARDET=3.0.4
+INT_CCHARDET=2.1.7
INT_CSSPARSER=1.0.4
-INT_DATEUTIL=2.8.0
-INT_DBUSPYTHON=1.2.8
-INT_DNSPYTHON=1.16.0
-INT_ENUM34=1.1.6
-INT_FEEDPARSER=5.2.1
-INT_HTML2TEXT=2018.1.9
-INT_HTML5LIB=1.0.1
-INT_HTML5PARSER=0.4.9
+INT_DATEUTIL=2.8.1
+INT_DNSPYTHON=2.0.0
+INT_FEEDPARSER=6.0.8
+INT_HTML2TEXT=2020.1.16
+INT_HTML5LIB=1.1
+INT_HTML5PARSER=0.4.10
INT_HYPHEN=2.8.8
-INT_LXML=4.3.3
-INT_MARKDOWN=3.1
-INT_MECHANIZE=0.4.3
-INT_MSGPACK=0.6.1
+INT_IFADDR=0.1.7
+INT_JEEPNEY=0.6.0
+INT_LXML=4.5.2
+INT_MARKDOWN=3.2.2
+INT_MECHANIZE=0.4.7
+INT_MSGPACK=1.0.0
INT_NETIFACES=0.10.9
-INT_PILLOW=6.2.0
-INT_PSUTIL=5.6.2
-INT_PYCRYPTO=2.6.1
-INT_PYGMENTS=2.3.1
-INT_PYQT5=5.13.2
-INT_PYQTWEBENG=5.13.2
-INT_REGEX=2019.04.14
-INT_SIP=4.19.20
-INT_SIX=1.12.0
-INT_SOUPSIEVE=1.9.1
-INT_SQLITE=3310100
-INT_UNRARDLL=0.1.3
+INT_PACKAGING=20.4
+INT_PILLOW=8.3.1
+INT_PIP=20.0.2
+INT_PSUTIL=5.7.2
+INT_PY7ZR=0.11.1
+INT_PYCHM=0.8.6
+INT_PYCRYPTO=3.9.8
+INT_PYGMENTS=2.6.1
+INT_PYPARSING=2.4.7
+INT_PYQT5=5.15.2
+INT_PYQT5SIP=12.8.1
+INT_PYQTBUILDER=1.6.0
+INT_PYQTWEBENG=5.15.1
+INT_REGEX=2020.7.14
+INT_SGMLLIB3K=1.0.0
+INT_SIP=5.5.0
+INT_SIX=1.15.0
+INT_SOUPSIEVE=2.0.1
+INT_SPEECHD=0.11.1
+INT_STEMMER=2.2.0
+INT_SQLITE=3380100
+INT_TEXTTABLE=1.6.3
+INT_TOML=0.10.1
+INT_UNRARDLL=0.1.5
INT_WEBENC=0.5.1
-INT_XKB=0.9.1
+INT_ZEROCONF=0.31.0
# Software that's an internal dependency to the package:
INT_HUNSPELL=1.7.0
INT_OPTIPNG=0.7.7
INT_PODOFO=0.9.6
-INT_UNRARSRC=5.9.1
+INT_POPPLER=21.12.0
+INT_UNRARSRC=5.9.4
# Where do we look for sources?
SRCDIR=$(cd $(dirname $0); pwd)
@@ -231,22 +230,14 @@ OUTPUT=${OUTPUT:-/tmp}
SOURCE[0]="$SRCDIR/sources/${SRCNAM}-${VERSION}.tar.xz"
SRCURL[0]="https://download.calibre-ebook.com/${VERSION}/${SRCNAM}-${VERSION}.tar.xz"
+# We build our own python 3.x plus supporting modules:
+BUILD_PYTHON="YES"
+
# Allow the package builder to override BUILD_MAGICK:
# By default we do not compile an internal version but enabling this
# allows us to be independant of Slackware's ImageMagick upgrades.
BUILD_MAGICK=${BUILD_MAGICK:-NO}
-# Allow the package builder to override BUILD_QT:
-if [ -z "$BUILD_QT" ]; then
- if pkg-config --exists "Qt5Core >= $REQUIRED_QT" && pkg-config --exists "Qt5Core <= $INT_QT" ;
- then
- BUILD_QT="NO"
- else
- # We need to build our own qt5:
- BUILD_QT="YES"
- fi
-fi
-
# Allow the package builder to override BUILD_MTP:
if [ -z "$BUILD_MTP" ]; then
if pkg-config --exists "libmtp >= $REQUIRED_MTP" ; then
@@ -257,170 +248,165 @@ if [ -z "$BUILD_MTP" ]; then
fi
fi
-# Allow the package builder to override BUILD_PYTHON:
-if [ -z "$BUILD_PYTHON" ]; then
- if [ "$(echo $PYTHON |cut -d. -f1,2)" = "$REQUIRED_PYTHON" -a "$(echo $PYTHON |cut -d. -f3)" -ge "$REQUIRED_PYTHON_MIN" ]; then
- BUILD_PYTHON="NO"
- else
- # We need to build our own python 2.7 plus supporting modules:
- BUILD_PYTHON="YES"
- fi
-fi
+# Determine what sources we need to download:
+echo ">> Compiling python modules <<"
-# Allow the package builder to override BUILD_PYTHONMODS:
-if [ BUILD_PYTHON="YES" ]; then
- # If we need to build python then the mods are required too:
- BUILD_PYTHONMODS="YES"
-else
- # We may want to include the modules instead of relying on separate packages;
- # Note: that will currently not work, my python-fu is insufficient.
- BUILD_PYTHONMODS="${BUILD_PYTHONMODS:-NO}"
-fi
+SOURCE[1]="$SRCDIR/sources/setuptools-${INT_SETUPTOOLS}.zip"
+SRCURL[1]="https://pypi.python.org/packages/source/s/setuptools/setuptools-${INT_SETUPTOOLS}.zip"
-# Determine what sources we need to download:
-if [ "$BUILD_PYTHONMODS" = "YES" ]; then
- echo ">> Compiling python modules <<"
+SOURCE[2]="$SRCDIR/sources/Pygments-${INT_PYGMENTS}.tar.gz"
+SRCURL[2]="https://pypi.python.org/packages/source/P/Pygments/Pygments-${INT_PYGMENTS}.tar.gz"
- # URL for the newer setuptools:
- 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:
- #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[3]="$SRCDIR/sources/dnspython-${INT_DNSPYTHON}.zip"
+SRCURL[3]="https://pypi.python.org/packages/source/d/dnspython/dnspython-${INT_DNSPYTHON}.zip"
- SOURCE[2]="$SRCDIR/sources/Pygments-${INT_PYGMENTS}.tar.gz"
- SRCURL[2]="https://pypi.python.org/packages/source/P/Pygments/Pygments-${INT_PYGMENTS}.tar.gz"
+SOURCE[4]="$SRCDIR/sources/css-parser-${INT_CSSPARSER}.tar.gz"
+SRCURL[4]="https://pypi.python.org/packages/source/c/css-parser/css-parser-${INT_CSSPARSER}.tar.gz"
- SOURCE[3]="$SRCDIR/sources/dnspython-${INT_DNSPYTHON}.tar.gz"
- SRCURL[3]="http://www.dnspython.org/kits/${INT_DNSPYTHON}/dnspython-${INT_DNSPYTHON}.tar.gz"
+SOURCE[5]="$SRCDIR/sources/python-dateutil-${INT_DATEUTIL}.tar.gz"
+SRCURL[5]="https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-${INT_DATEUTIL}.tar.gz"
- SOURCE[4]="$SRCDIR/sources/css-parser-${INT_CSSPARSER}.tar.gz"
- SRCURL[4]="https://pypi.python.org/packages/source/c/css-parser/css-parser-${INT_CSSPARSER}.tar.gz"
+SOURCE[6]="$SRCDIR/sources/Pillow-${INT_PILLOW}.tar.gz"
+SRCURL[6]="https://pypi.io/packages/source/p/pillow/Pillow-${INT_PILLOW}.tar.gz"
- SOURCE[5]="$SRCDIR/sources/python-dateutil-${INT_DATEUTIL}.tar.gz"
- SRCURL[5]="https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-${INT_DATEUTIL}.tar.gz"
+SOURCE[7]="$SRCDIR/sources/lxml-${INT_LXML}.tgz"
+SRCURL[7]="http://lxml.de/files/lxml-${INT_LXML}.tgz"
- SOURCE[6]="$SRCDIR/sources/Pillow-${INT_PILLOW}.tar.gz"
- SRCURL[6]="https://pypi.io/packages/source/p/pillow/Pillow-${INT_PILLOW}.tar.gz"
+SOURCE[8]="$SRCDIR/sources/mechanize-${INT_MECHANIZE}.tar.gz"
+SRCURL[8]="https://github.com/python-mechanize/mechanize/archive/v${INT_MECHANIZE}.tar.gz"
- SOURCE[7]="$SRCDIR/sources/lxml-${INT_LXML}.tgz"
- SRCURL[7]="http://lxml.de/files/lxml-${INT_LXML}.tgz"
+SOURCE[9]="$SRCDIR/sources/texttable-${INT_TEXTTABLE}.tar.gz"
+SRCURL[9]="https://pypi.io/packages/source/t/texttable/texttable-${INT_TEXTTABLE}.tar.gz"
- SOURCE[8]="$SRCDIR/sources/mechanize-${INT_MECHANIZE}.tar.gz"
- SRCURL[8]="https://github.com/python-mechanize/mechanize/archive/v${INT_MECHANIZE}.tar.gz"
+SOURCE[10]="$SRCDIR/sources/ifaddr-${INT_IFADDR}.tar.gz"
+SRCURL[10]="https://pypi.io/packages/source/i/ifaddr/ifaddr-${INT_IFADDR}.tar.gz"
- SOURCE[9]="$SRCDIR/sources/PyQt5-${INT_PYQT5}.tar.gz"
- SRCURL[9]="https://www.riverbankcomputing.com/static/Downloads/PyQt5/${INT_PYQT5}/PyQt5-${INT_PYQT5}.tar.gz"
+SOURCE[11]="$SRCDIR/sources/zeroconf-${INT_ZEROCONF}.tar.gz"
+SRCURL[11]="https://pypi.io/packages/source/z/zeroconf/zeroconf-${INT_ZEROCONF}.tar.gz"
- SOURCE[10]="$SRCDIR/sources/sip-${INT_SIP}.tar.gz"
- SRCURL[10]="https://www.riverbankcomputing.com/static/Downloads/sip/${INT_SIP}/sip-${INT_SIP}.tar.gz"
+SOURCE[12]="$SRCDIR/sources/pycryptodome-${INT_PYCRYPTO}.tar.gz"
+SRCURL[12]="https://github.com/Legrandin/pycryptodome/archive/v${INT_PYCRYPTO}.tar.gz"
- SOURCE[11]="$SRCDIR/sources/dbus-python-${INT_DBUSPYTHON}.tar.gz"
- SRCURL[11]="http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${INT_DBUSPYTHON}.tar.gz"
+SOURCE[13]="$SRCDIR/sources/netifaces-${INT_NETIFACES}.tar.gz"
+SRCURL[13]="https://pypi.io/packages/source/n/netifaces/netifaces-${INT_NETIFACES}.tar.gz"
- SOURCE[12]="$SRCDIR/sources/pycrypto-${INT_PYCRYPTO}.tar.gz"
- SRCURL[12]="http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-${INT_PYCRYPTO}.tar.gz"
+SOURCE[14]="$SRCDIR/sources/psutil-${INT_PSUTIL}.tar.gz"
+SRCURL[14]="https://github.com/giampaolo/psutil/archive/release-${INT_PSUTIL}.tar.gz"
- SOURCE[13]="$SRCDIR/sources/netifaces-${INT_NETIFACES}.tar.gz"
- SRCURL[13]="https://pypi.io/packages/source/n/netifaces/netifaces-${INT_NETIFACES}.tar.gz"
+SOURCE[15]="$SRCDIR/sources/apsw-${INT_APSW}.zip"
+SRCURL[15]="https://github.com/rogerbinns/apsw/releases/download/${INT_APSW}/apsw-${INT_APSW}.zip"
- SOURCE[14]="$SRCDIR/sources/psutil-${INT_PSUTIL}.tar.gz"
- SRCURL[14]="https://github.com/giampaolo/psutil/archive/release-${INT_PSUTIL}.tar.gz"
+SOURCE[16]="$SRCDIR/sources/regex-${INT_REGEX}.tar.gz"
+SRCURL[16]="https://pypi.io/packages/source/r/regex/regex-${INT_REGEX}.tar.gz"
- SOURCE[15]="$SRCDIR/sources/apsw-${INT_APSW}.zip"
- # Needs a newwer sqlite than ships with Slackware 14.1:
- SRCURL[15]="https://github.com/rogerbinns/apsw/releases/download/${INT_APSW}/apsw-${INT_APSW}.zip"
+SOURCE[17]="$SRCDIR/sources/msgpack-python-${INT_MSGPACK}.tar.gz"
+SRCURL[17]="https://pypi.io/packages/source/m/msgpack/msgpack-${INT_MSGPACK}.tar.gz"
- SOURCE[16]="$SRCDIR/sources/regex-${INT_REGEX}.tar.gz"
- SRCURL[16]="https://pypi.io/packages/source/r/regex/regex-${INT_REGEX}.tar.gz"
+SOURCE[18]="$SRCDIR/sources/six-${INT_SIX}.tar.gz"
+SRCURL[18]="https://pypi.io/packages/source/s/six/six-${INT_SIX}.tar.gz"
- SOURCE[17]="$SRCDIR/sources/msgpack-python-${INT_MSGPACK}.tar.gz"
- SRCURL[17]="https://pypi.io/packages/source/m/msgpack/msgpack-${INT_MSGPACK}.tar.gz"
+SOURCE[19]="$SRCDIR/sources/cchardet-${INT_CCHARDET}.tar.gz"
+SRCURL[19]="https://pypi.io/packages/source/c/cchardet/cchardet-${INT_CCHARDET}.tar.gz"
- SOURCE[18]="$SRCDIR/sources/six-${INT_SIX}.tar.gz"
- SRCURL[18]="https://pypi.io/packages/source/s/six/six-${INT_SIX}.tar.gz"
+SOURCE[20]="$SRCDIR/sources/webencodings-${INT_WEBENC}.tar.gz"
+SRCURL[20]="https://pypi.io/packages/source/w/webencodings/webencodings-${INT_WEBENC}.tar.gz"
- SOURCE[19]="$SRCDIR/sources/enum34-${INT_ENUM34}.tar.gz"
- SRCURL[19]="https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-${INT_ENUM34}.tar.gz"
+SOURCE[21]="$SRCDIR/sources/html5lib-${INT_HTML5LIB}.tar.gz"
+SRCURL[21]="https://pypi.io/packages/source/h/html5lib/html5lib-${INT_HTML5LIB}.tar.gz"
- SOURCE[20]="$SRCDIR/sources/webencodings-${INT_WEBENC}.tar.gz"
- SRCURL[20]="https://pypi.io/packages/source/w/webencodings/webencodings-${INT_WEBENC}.tar.gz"
+SOURCE[22]="$SRCDIR/sources/html5-parser-${INT_HTML5PARSER}.tar.gz"
+SRCURL[22]="https://pypi.io/packages/source/h/html5-parser/html5-parser-${INT_HTML5PARSER}.tar.gz"
- SOURCE[21]="$SRCDIR/sources/html5lib-${INT_HTML5LIB}.tar.gz"
- SRCURL[21]="https://pypi.io/packages/source/h/html5lib/html5lib-${INT_HTML5LIB}.tar.gz"
+SOURCE[23]="$SRCDIR/sources/unrardll-${INT_UNRARDLL}.tar.gz"
+SRCURL[23]="https://pypi.io/packages/source/u/unrardll/unrardll-${INT_UNRARDLL}.tar.gz"
- SOURCE[22]="$SRCDIR/sources/html5-parser-${INT_HTML5PARSER}.tar.gz"
- SRCURL[22]="https://pypi.io/packages/source/h/html5-parser/html5-parser-${INT_HTML5PARSER}.tar.gz"
+SOURCE[24]="$SRCDIR/sources/feedparser-${INT_FEEDPARSER}.tar.gz"
+SRCURL[24]="https://pypi.io/packages/source/f/feedparser/feedparser-${INT_FEEDPARSER}.tar.gz"
- SOURCE[23]="$SRCDIR/sources/unrardll-${INT_UNRARDLL}.tar.gz"
- SRCURL[23]="https://pypi.io/packages/source/u/unrardll/unrardll-${INT_UNRARDLL}.tar.gz"
+SOURCE[25]="$SRCDIR/sources/Markdown-${INT_MARKDOWN}.tar.gz"
+SRCURL[25]="https://pypi.io/packages/source/M/Markdown/Markdown-${INT_MARKDOWN}.tar.gz"
- SOURCE[24]="$SRCDIR/sources/feedparser-${INT_FEEDPARSER}.tar.gz"
- SRCURL[24]="https://pypi.io/packages/source/f/feedparser/feedparser-${INT_FEEDPARSER}.tar.gz"
+SOURCE[26]="$SRCDIR/sources/sqlite-amalgamation-${INT_SQLITE}.zip"
+SRCURL[26]="https://www.sqlite.org/2022/sqlite-amalgamation-${INT_SQLITE}.zip"
- SOURCE[25]="$SRCDIR/sources/Markdown-${INT_MARKDOWN}.tar.gz"
- SRCURL[25]="https://pypi.io/packages/source/M/Markdown/Markdown-${INT_MARKDOWN}.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[26]="$SRCDIR/sources/sqlite-amalgamation-${INT_SQLITE}.zip"
- SRCURL[26]="https://www.sqlite.org/2020/sqlite-amalgamation-${INT_SQLITE}.zip"
+SOURCE[28]="$SRCDIR/sources/snowball-${INT_STEMMER}.tar.gz"
+SRCURL[28]="https://github.com/snowballstem/snowball/archive/refs/tags/v${INT_STEMMER}.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[29]="$SRCDIR/sources/soupsieve-${INT_SOUPSIEVE}.tar.gz"
+SRCURL[29]="https://pypi.io/packages/source/s/soupsieve/soupsieve-${INT_SOUPSIEVE}.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[30]="$SRCDIR/sources/html2text-${INT_HTML2TEXT}.tar.gz"
+SRCURL[30]="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[31]="$SRCDIR/sources/chardet-${INT_CHARDET}.tar.gz"
+SRCURL[31]="https://pypi.io/packages/source/c/chardet/chardet-${INT_CHARDET}.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[32]="$SRCDIR/sources/pychm-${INT_PYCHM}.tar.gz"
+SRCURL[32]="https://pypi.io/packages/source/p/pychm/pychm-${INT_PYCHM}.tar.gz"
- SOURCE[31]="$SRCDIR/sources/chardet-${INT_CHARDET}.tar.gz"
- SRCURL[31]="https://pypi.io/packages/source/c/chardet/chardet-${INT_CHARDET}.tar.gz"
+SOURCE[33]="$SRCDIR/sources/toml-${INT_TOML}.tar.gz"
+SRCURL[33]="https://pypi.io/packages/source/t/toml/toml-${INT_TOML}.tar.gz"
- SOURCE[32]="$SRCDIR/sources/PyQtWebEngine-${INT_PYQTWEBENG}.tar.gz"
- SRCURL[32]="https://www.riverbankcomputing.com/static/Downloads/PyQtWebEngine/${INT_PYQTWEBENG}/PyQtWebEngine-${INT_PYQTWEBENG}.tar.gz"
+SOURCE[34]="$SRCDIR/sources/PyQtWebEngine-${INT_PYQTWEBENG}.tar.gz"
+SRCURL[34]="https://pypi.io/packages/source/P/PyQtWebEngine/PyQtWebEngine-${INT_PYQTWEBENG}.tar.gz"
- SOURCE[33]="$SRCDIR/sources/unrarsrc-${INT_UNRARSRC}.tar.gz"
- SRCURL[33]="http://www.rarlab.com/rar/unrarsrc-${INT_UNRARSRC}.tar.gz"
+SOURCE[35]="$SRCDIR/sources/unrarsrc-${INT_UNRARSRC}.tar.gz"
+SRCURL[35]="http://www.rarlab.com/rar/unrarsrc-${INT_UNRARSRC}.tar.gz"
- SOURCE[34]="$SRCDIR/sources/hunspell-${INT_HUNSPELL}.tar.gz"
- SRCURL[34]="https://github.com/hunspell/hunspell/archive/v${INT_HUNSPELL}.tar.gz"
+SOURCE[36]="$SRCDIR/sources/hunspell-${INT_HUNSPELL}.tar.gz"
+SRCURL[36]="https://github.com/hunspell/hunspell/archive/v${INT_HUNSPELL}.tar.gz"
- NEXT_ARRAYEL=${#SOURCE[@]}
-else
- NEXT_ARRAYEL=1
-fi
+SOURCE[37]="$SRCDIR/sources/pip-${INT_PIP}.tar.gz"
+SRCURL[37]="https://pypi.io/packages/source/p/pip/pip-${INT_PIP}.tar.gz"
-if [ "$BUILD_PYTHON" = "YES" ]; then
- echo ">> Compiling python interpreter <<"
+SOURCE[38]="$SRCDIR/sources/sgmllib3k-${INT_SGMLLIB3K}.tar.gz"
+SRCURL[38]="https://pypi.io/packages/source/s/sgmllib3k/sgmllib3k-${INT_SGMLLIB3K}.tar.gz"
- SOURCE[$NEXT_ARRAYEL]="$SRCDIR/sources/Python-${INT_PYTHON}.tar.xz"
- SRCURL[$NEXT_ARRAYEL]="http://python.org/ftp/python/${INT_PYTHON}/Python-${INT_PYTHON}.tar.xz"
+SOURCE[39]="$SRCDIR/sources/py7zr-${INT_PY7ZR}.tar.gz"
+SRCURL[39]="https://pypi.io/packages/source/p/py7zr/py7zr-${INT_PY7ZR}.tar.gz"
- NEXT_ARRAYEL=$(( ${NEXT_ARRAYEL} + 1 ))
-fi
+SOURCE[40]="$SRCDIR/sources/jeepney-${INT_JEEPNEY}.tar.gz"
+SRCURL[40]="https://pypi.io/packages/source/j/jeepney/jeepney-${INT_JEEPNEY}.tar.gz"
-if [ "$BUILD_MTP" = "YES" ]; then
- echo ">> Compiling libmtp <<"
+SOURCE[41]="$SRCDIR/sources/pyparsing-${INT_PYPARSING}.tar.gz"
+SRCURL[41]="https://pypi.io/packages/source/p/pyparsing/pyparsing-${INT_PYPARSING}.tar.gz"
- SOURCE[$NEXT_ARRAYEL]="$SRCDIR/sources/libmtp-${INT_MTP}.tar.gz"
- SRCURL[$NEXT_ARRAYEL]="https://downloads.sourceforge.net/libmtp/libmtp-${INT_MTP}.tar.gz"
+SOURCE[42]="$SRCDIR/sources/packaging-${INT_PACKAGING}.tar.gz"
+SRCURL[42]="https://pypi.io/packages/source/p/packaging/packaging-${INT_PACKAGING}.tar.gz"
- NEXT_ARRAYEL=$(( ${NEXT_ARRAYEL} + 1 ))
-fi
+SOURCE[43]="$SRCDIR/sources/sip-${INT_SIP}.tar.gz"
+SRCURL[43]="https://pypi.io/packages/source/s/sip/sip-${INT_SIP}.tar.gz"
-if [ "$BUILD_QT" = "YES" ]; then
- echo ">> Compiling Qt <<"
+SOURCE[44]="$SRCDIR/sources/PyQt5_sip-${INT_PYQT5SIP}.tar.gz"
+SRCURL[44]="https://pypi.io/packages/source/P/PyQt5_sip/PyQt5_sip-${INT_PYQT5SIP}.tar.gz"
- SOURCE[$NEXT_ARRAYEL]="$SRCDIR/sources/qt-everywhere-src-${INT_QT}.tar.xz"
- SRCURL[$NEXT_ARRAYEL]="http://download.qt.io/official_releases/qt/$(echo ${INT_QT}|cut -d. -f1,2)/${INT_QT}/single/qt-everywhere-src-${INT_QT}.tar.xz"
+SOURCE[45]="$SRCDIR/sources/PyQt5-${INT_PYQT5}.tar.gz"
+SRCURL[45]="https://pypi.io/packages/source/P/PyQt5/PyQt5-${INT_PYQT5}.tar.gz"
- NEXT_ARRAYEL=$(( ${NEXT_ARRAYEL} + 1 ))
+SOURCE[46]="$SRCDIR/sources/PyQt-builder-${INT_PYQTBUILDER}.tar.gz"
+SRCURL[46]="https://pypi.io/packages/source/P/PyQt-builder/PyQt-builder-${INT_PYQTBUILDER}.tar.gz"
+
+SOURCE[47]="$SRCDIR/sources/speech-dispatcher-${INT_SPEECHD}.tar.gz"
+SRCURL[47]="https://github.com/brailcom/speechd/releases/download/${INT_SPEECHD}/speech-dispatcher-${INT_SPEECHD}.tar.gz"
+
+NEXT_ARRAYEL=${#SOURCE[@]}
+
+# We always build the python interpreter:
+echo ">> Compiling python interpreter <<"
- SOURCE[$NEXT_ARRAYEL]="$SRCDIR/sources/libxkbcommon-xkbcommon-${INT_XKB}.tar.gz"
- SRCURL[$NEXT_ARRAYEL]="https://github.com/xkbcommon/libxkbcommon/archive/xkbcommon-${INT_XKB}.tar.gz"
+SOURCE[$NEXT_ARRAYEL]="$SRCDIR/sources/Python-${INT_PYTHON}.tar.xz"
+SRCURL[$NEXT_ARRAYEL]="http://python.org/ftp/python/${INT_PYTHON}/Python-${INT_PYTHON}.tar.xz"
+
+NEXT_ARRAYEL=$(( ${NEXT_ARRAYEL} + 1 ))
+
+if [ "$BUILD_MTP" = "YES" ]; then
+ echo ">> Compiling libmtp <<"
+
+ SOURCE[$NEXT_ARRAYEL]="$SRCDIR/sources/libmtp-${INT_MTP}.tar.gz"
+ SRCURL[$NEXT_ARRAYEL]="https://downloads.sourceforge.net/libmtp/libmtp-${INT_MTP}.tar.gz"
NEXT_ARRAYEL=$(( ${NEXT_ARRAYEL} + 1 ))
fi
@@ -434,6 +420,7 @@ if [ "$BUILD_MAGICK" = "YES" ]; then
NEXT_ARRAYEL=$(( ${NEXT_ARRAYEL} + 1 ))
fi
+# Several internal dependencies:
SOURCE[$NEXT_ARRAYEL]="$SRCDIR/sources/optipng-${INT_OPTIPNG}.tar.gz"
SRCURL[$NEXT_ARRAYEL]="https://downloads.sourceforge.net/optipng/optipng-${INT_OPTIPNG}.tar.gz"
NEXT_ARRAYEL=$(( ${NEXT_ARRAYEL} + 1 ))
@@ -545,7 +532,7 @@ echo "++"
cd $TMP/tmp-$PRGNAM
if [ "$P1" != "--oldbuild" ]; then
- if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_PYTHONMODS" = "YES" -o "$BUILD_MTP" = "YES" -o "$BUILD_QT" = "YES" -o "$BUILD_MAGICK" = "YES" ]; then
+ if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_MTP" = "YES" -o "$BUILD_MAGICK" = "YES" ]; then
# Sanity check:
# In case we need to build an internal set of python interpreter plus
# support modules, then you must not compile this package when calibre
@@ -583,160 +570,6 @@ echo Building ...
# What follows is a series of subroutines for building all the parts:
#
-#
-# Build libxkbcommon:
-#
-make_xkbcommon() {
-
- local MOD="xkbcommon"
- echo -e "\n** $MOD **\n"
-
- cd $TMP/tmp-$PRGNAM/libxkbcommon-xkbcommon-${INT_XKB}
-
- export CFLAGS="$SLKCFLAGS"
- export CXXFLAGS="$SLKCFLAGS"
- mkdir -p build
- cd build
- meson .. \
- -Denable-docs=false \
- -Denable-wayland=false \
- --prefix=/usr/lib${LIBDIRSUFFIX}/calibre \
- --libdir=/usr/lib${LIBDIRSUFFIX}/calibre/lib \
- 2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log
- cd -
- # Build and install:
- ninja -C build \
- 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
- DESTDIR=$PKG meson install -C build \
- 2>&1 | tee $OUTPUT/install-${PRGNAM}_${MOD}.log
-
- # Add documentation:
- mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
- cp -a LICENSE NEWS PACKAGING README* \
- $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
-
-} # End make_xkbcommon
-
-
-#
-# Build Qt 5.x:
-#
-make_qt5() {
-
- # Calibre needs: qt-base, qt-svg, qt-declarative, qt-imageformats,
- # qt-webchannel, qt-location, qt-x11extras, qt-sensors, qt-webengine.
-
- local MOD="qt5"
- echo -e "\n** $MOD **\n"
-
- cd $TMP/tmp-$PRGNAM/qt-everywhere-src-${INT_QT}
-
- # If we build our own Qt5, unset the QT-related environment variables,
- # so that a pre-existing Qt5 will not be picked up and create errors later:
- unset QTDIR
- unset QT5DIR
- NEWPATH="/usr/lib${LIBDIRSUFFIX}/calibre/bin"
- for elem in $(echo $PATH | cut -d: --output-delimiter=' ' -f1-) ; do
- if ! $(echo "$elem"| grep -q /qt) ; then
- NEWPATH="$NEWPATH:$elem"
- fi
- done
- export PATH="$NEWPATH"
-
- # Use -reduce-relocations only on i?86 and x86_64 architextures.
- # https://bugreports.qt-project.org/browse/QTBUG-36129
- if echo $ARCH | grep -q '\(i.86\|x86_64\)' 2>/dev/null; then
- RELOCATIONS="-reduce-relocations"
- else
- RELOCATIONS=""
- fi
-
- if [ "$P1" != "--oldbuild" ]; then
- # Fix path to mysql header
- cat $PATCHDIR/qt5.mysql.h.diff | patch -p1 --verbose || exit 1
-
- if ! pkg-config --exists libpulse 2>/dev/null ; then
- # Forcibly disable pulseaudio in qtwebengine:
- cat $PATCHDIR/qt5.pulseaudio.diff | patch -p1 --verbose || exit 1
- fi
-
- # Use our custom compiler and linker flags:
- sed -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${SLKCFLAGS}|" \
- -i qtbase/mkspecs/common/gcc-base.conf || exit 1
- sed -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${SLKLDFLAGS}|" \
- -i qtbase/mkspecs/common/g++-unix.conf || exit 1
- fi
-
- if ! pkg-config --exists libpulse 2>/dev/null ; then
- # Disable pulseaudio in Qt5:
- PACONF="-no-pulseaudio"
- else
- PACONF=" "
- fi
-
- export CFLAGS="$SLKCFLAGS"
- export CXXFLAGS="$SLKCFLAGS"
- export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
- export QTDIR="${TMP}/qt-everywhere-src-${INT_QT}"
- export LD_LIBRARY_PATH="${QTDIR}/qtbase/lib:${QTDIR}/qttools/lib"
- export QT_PLUGIN_PATH="${QTDIR}/qtbase/plugins"
- ./configure -v \
- -confirm-license \
- -opensource \
- -prefix /usr/lib${LIBDIRSUFFIX}/calibre \
- -system-libpng \
- -system-libjpeg \
- -system-zlib \
- -system-sqlite \
- -plugin-sql-sqlite \
- -accessibility \
- -alsa \
- -dbus \
- -glib \
- -icu \
- -openssl \
- -optimized-qmake \
- -qpa xcb \
- -qt-harfbuzz \
- -qt-pcre \
- -qt-xcb \
- -verbose \
- -nomake examples \
- -no-pulseaudio \
- -no-separate-debug-info \
- -no-strip \
- -no-use-gold-linker \
- -no-sql-odbc -no-sql-psql \
- -no-qml-debug \
- -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcharts \
- -skip qtconnectivity -skip qtdatavis3d -skip qtdoc -skip qtgamepad \
- -skip qtgraphicaleffects -skip qtlottie -skip qtmacextras \
- -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing \
- -skip qtquickcontrols -skip qtquickcontrols2 -skip qtremoteobjects \
- -skip qtscript -skip qtscxml -skip qtserialbus -skip qtserialport \
- -skip qtspeech -skip qttools -skip qttranslations -skip qtwayland \
- -skip qtwebglplugin -skip qtwebsockets -skip qtwebview \
- -skip qtwinextras -skip qtxmlpatterns \
- -webengine-proprietary-codecs \
- ${PACONF} \
- $RELOCATIONS \
- -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
-
- # Add documentation:
- mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
- cp -a LICENSE* README* \
- $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
-
-} # End make_qt5
-
#
# Build libmtp:
@@ -748,7 +581,7 @@ make_mtp() {
cd $TMP/tmp-$PRGNAM/libmtp-${INT_MTP}
- CFLAGS="$SLKCFLAGS" \
+ export CFLAGS="$SLKCFLAGS"
./configure \
--prefix=/usr/lib${LIBDIRSUFFIX}/calibre \
--disable-static
@@ -831,7 +664,7 @@ make_magick() {
} # End make_magick
#
-# Build python 2.7:
+# Build python 3.x:
#
make_python() {
@@ -839,14 +672,21 @@ make_python() {
echo -e "\n** $MOD **\n"
local BRANCH_VERSION=$(echo $INT_PYTHON | cut -f 1,2 -d . )
- local SITEPK=/usr/lib${LIBDIRSUFFIX}/calibre/lib/python${BRANCH_VERSION}/site-packages
+ local SITEPK=$PKG/usr/lib${LIBDIRSUFFIX}/calibre/lib/python${BRANCH_VERSION}/site-packages
cd $TMP/tmp-$PRGNAM/Python-${INT_PYTHON}
if [ "$P1" != "--oldbuild" ]; then
- cat $PATCHDIR/python.readline.set_pre_input_hook.diff \
+ touch $OUTPUT/patch-${PRGNAM}_${MOD}.log
+ cat $PATCHDIR/python3.readline.set_pre_input_hook.diff \
| patch -p1 --verbose \
- 2>&1 | tee $OUTPUT/patch-${PRGNAM}_${MOD}.log
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_${MOD}.log
+ # We don't want a large libpython*.a.
+ cat $PATCHDIR/python3.no-static-library.diff | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_${MOD}.log
+ # If system we're building on already has Python3 with pip in site-packages,
+ # ignore it and install pip anyway.
+ sed -i 's|\("install",\)|\1 "--ignore-installed",|' Lib/ensurepip/__init__.py
fi
# We are going to install python inside the calibre package.
@@ -855,30 +695,45 @@ make_python() {
# so that we can run python from this non-standard path:
mkdir -p /usr/lib${LIBDIRSUFFIX}/calibre/lib
+ export CFLAGS="${SLKCFLAGS/-O2}"
LDFLAGS="-Wl,-rpath /usr/lib${LIBDIRSUFFIX}/calibre/lib" \
./configure \
--prefix=/usr/lib${LIBDIRSUFFIX}/calibre \
--bindir=/usr/lib${LIBDIRSUFFIX}/calibre \
- --with-threads \
+ --with-platlibdir=lib${LIBDIRSUFFIX} \
--enable-ipv6 \
+ --enable-loadable-sqlite-extensions \
+ --enable-optimizations \
--enable-shared \
- --enable-unicode=ucs4 \
+ --with-computed-gotos \
+ --with-ssl-default-suites=python \
+ --with-system-expat \
+ --with-system-ffi \
+ --without-ensurepip \
--build=$TARGET \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log
- make $NUMJOBS || make 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
- make install DESTDIR=$PKG 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_${MOD}.log
+ make $NUMJOBS EXTRA_CFLAGS="$CFLAGS" || make \
+ 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
+ make install DESTDIR=$PKG EXTRA_CFLAGS="$CFLAGS" \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_${MOD}.log
# We'll install the python-tools under site-packages:
mkdir -p $SITEPK
cp -a Tools/* $SITEPK/
+ # Remove DOS batch/exe files.
+ find $PKG/usr/lib${LIBDIRSUFFIX}/calibre \( -name '*.exe' -o -name '*.bat' \) -exec rm -f '{}' \+
+
+ # Fix permissions on dynamic libraries.
+ find $PKG/usr/lib${LIBDIRSUFFIX}/calibre -type f -perm 555 -exec chmod 755 '{}' \+
+
# No need for man pages now:
rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/calibre/share/man
# Add documentation:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
- cp -a LICENSE README \
+ cp -a LICENSE README* \
$PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
} # End make_python
@@ -895,7 +750,7 @@ make_setuptools() {
rm -f setuptools/*.exe
# Compile and install
- python2 setup.py install --root=$PKG \
+ python3 setup.py install --root=$PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -906,6 +761,50 @@ make_setuptools() {
} # End make_setuptools
+#
+# Build pyqtbuilder:
+#
+make_pyqtbuilder() {
+
+ local MOD="pyqtbuilder"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/PyQt-builder-${INT_PYQTBUILDER}
+
+ # Compile and install
+ python3 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 LICENSE* README* \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_pyqtbuilder
+
+
+#
+# Build pip:
+#
+make_pip() {
+
+ local MOD="pip"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/pip-${INT_PIP}
+
+ # Compile and install
+ python3 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 AUTHORS.txt LICENSE.txt NEWS.rst PKG-INFO README.rst \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_pip
+
+
make_dnspython() {
local MOD="dnspython"
@@ -914,7 +813,7 @@ make_dnspython() {
cd $TMP/tmp-$PRGNAM/dnspython-${INT_DNSPYTHON}
# Compile and install
- python2 setup.py install --root=$PKG \
+ python3 setup.py install --root=$PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -940,7 +839,7 @@ make_cssparser() {
|| true
# Compile and install
- python2 setup.py install --root=$PKG \
+ python3 setup.py install --root=$PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -961,7 +860,7 @@ make_dateutil() {
cd $TMP/tmp-$PRGNAM/python-dateutil-${INT_DATEUTIL}
# Compile and install
- python2 setup.py install --root=$PKG \
+ python3 setup.py install --root=$PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -982,11 +881,11 @@ make_pillow() {
cd $TMP/tmp-$PRGNAM/Pillow-${INT_PILLOW}
# Installation path for headers:
- PYTHONINC=$( python2 -c 'from distutils.sysconfig import *;print (get_python_inc())' )
+ PYTHONINC=$( python3 -c 'from distutils.sysconfig import *;print (get_python_inc())' )
# Compile and install
- CFLAGS="$SLKCFLAGS" \
- python2 setup.py install --root $PKG \
+ export CFLAGS="$SLKCFLAGS"
+ python3 setup.py install --root $PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1007,7 +906,7 @@ make_lxml() {
cd $TMP/tmp-$PRGNAM/lxml-${INT_LXML}
# Compile and install
- python2 setup.py install --root=$PKG \
+ python3 setup.py install --root=$PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1029,7 +928,7 @@ make_mechanize() {
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG \
+ python3 setup.py install --root=$PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1040,74 +939,47 @@ make_mechanize() {
} # End make_mechanize
#
-# Build sip:
+# Build toml:
#
-make_sip() {
+make_toml() {
- local MOD="sip"
+ local MOD="toml"
echo -e "\n** $MOD **\n"
- cd $TMP/tmp-$PRGNAM/sip-${INT_SIP}
+ cd $TMP/tmp-$PRGNAM/toml-${INT_TOML}
- # Compile and install sip first:
- python2 configure.py \
- CFLAGS="$SLKCFLAGS" \
- CXXFLAGS="$SLKCFLAGS" \
- 2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log
- make $NUMJOBS || make 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
- make install DESTDIR=$PKG 2>&1 | tee $OUTPUT/install-${PRGNAM}_${MOD}.log
-
- echo -e "\n** $MOD - PyQt5 module **\n"
-
- # Add the PyQt5 private sip module:
- make clean
- python2 configure.py \
- --sip-module PyQt5.sip \
- --no-tools \
- CFLAGS="$SLKCFLAGS" \
- CXXFLAGS="$SLKCFLAGS" \
- 2>&1 | tee -a $OUTPUT/configure-${PRGNAM}_${MOD}.log
- make $NUMJOBS || make 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_${MOD}.log
- make install DESTDIR=$PKG 2>&1 | tee -a $OUTPUT/install-${PRGNAM}_${MOD}.log
+ # Compile and install
+ export CFLAGS="$SLKCFLAGS"
+ python3 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 LICENSE* NEWS README \
+ cp -a LICENSE *.rst \
$PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
-} # End make_sip
+} # End make_toml
+
#
-# Build dbus-python:
+# Build jeepney:
#
-make_dbuspython() {
+make_jeepney() {
- local MOD="dbus-python"
+ local MOD="jeepney"
echo -e "\n** $MOD **\n"
- cd $TMP/tmp-$PRGNAM/dbus-python-${INT_DBUSPYTHON}
-
- LDFLAGS="" \
- LD_LIBRARY_PATH="/usr/lib${LIBDIRSUFFIX}/calibre/lib" \
- PYTHON_INCLUDES="$SLK_PYTHON_INCLUDES" \
- PYTHON_LIBS="$SLK_PYTHON_LIBS" \
- ./configure \
- --prefix=/usr/lib${LIBDIRSUFFIX}/calibre \
- --enable-shared=yes \
- --enable-static=no \
- --build=$TARGET \
- --host=$TARGET \
- 2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log
+ cd $TMP/tmp-$PRGNAM/jeepney-${INT_JEEPNEY}
- make 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
- make install DESTDIR=$PKG 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_${MOD}.log
+ python3 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 AUTHORS COPYING* INSTALL NEWS README* \
+ cp -a LICENSE* *.rst \
$PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
-} # End make_dbuspython
+} # End make_jeepney
#
# Build python-pygments:
@@ -1121,65 +993,143 @@ make_pygments() {
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG \
+ python3 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 AUTHORS CHANGES LICENSE README* TODO \
+ cp -a AUTHORS CHANGES LICENSE README* \
$PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
} # End make_pygments
#
-# Build PyQt5:
+# Build python-pyparsing:
#
-make_pyqt5() {
+make_pyparsing() {
- local MOD="pyqt5"
+ local MOD="pyparsing"
echo -e "\n** $MOD **\n"
- PYTHON2VER=$(python2 -V 2>&1 | cut -f 2 -d' ' | cut -f 1-2 -d. 2>/dev/null)
- PYTHON2LIB=$( python2 -c 'from distutils.sysconfig import get_python_lib; print get_python_lib()' 2>/dev/null )
+ cd $TMP/tmp-$PRGNAM/pyparsing-${INT_PYPARSING}
- cd $TMP/tmp-$PRGNAM/PyQt5-${INT_PYQT5}
+ # Compile and install
+ export CFLAGS="$SLKCFLAGS"
+ python3 setup.py install --root=$PKG \
+ 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
- if [ "$P1" != "--oldbuild" ]; then
- # Remove code that is unneeded if Qt is not bundled and crashes on python2
- # https://www.riverbankcomputing.com/pipermail/pyqt/2019-July/041896.html
- cat $SRCDIR/patches/pyqt5-python2-crash.patch |patch -p1 --verbose || exit 1
- fi
+ # Add documentation:
+ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
+ cp -a CHANGES LICENSE* README* \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_pyparsing
+
+
+#
+# Build python-packaging:
+#
+make_packaging() {
+
+ local MOD="packaging"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/packaging-${INT_PACKAGING}
+
+ # Compile and install
+ export CFLAGS="$SLKCFLAGS"
+ python3 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 LICENSE* PKG-INFO \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_packaging
+
+
+#
+# Build sip:
+#
+make_sip() {
+
+ local MOD="sip"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/sip-${INT_SIP}
+
+ # Compile and install sip first:
+ export CFLAGS="$SLKCFLAGS"
+ python3 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 LICENSE* NEWS README \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_sip
- if [ "${BUILD_QT}" = "NO" ]; then
- export QTDIR=/usr/lib${LIBDIRSUFFIX}/qt5
- else
- unset QT5DIR
- export QTDIR=/usr/lib${LIBDIRSUFFIX}/calibre
- fi
+#
+# Build pyqt-sip:
+#
+make_pyqt5sip() {
+
+ local MOD="pyqt5-sip"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/PyQt5_sip-${INT_PYQT5SIP}
+
+ # Compile and install:
+ export CFLAGS="$SLKCFLAGS"
+ python3 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 LICENSE* README \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_pyqt5sip
+
+
+#
+# Build PyQt5:
+#
+make_pyqt5() {
+
+ local MOD="pyqt5"
+ echo -e "\n** $MOD **\n"
+
+ PYTHON3LIB=$( python3 -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())' 2>/dev/null )
+
+ export QTDIR=/usr/lib${LIBDIRSUFFIX}/qt5
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
- python2 configure.py \
+ cd $TMP/tmp-$PRGNAM/PyQt5-${INT_PYQT5}
+
+ sip-build \
--confirm-license \
--verbose \
- --qsci-api \
--qmake=$QTDIR/bin/qmake \
+ --no-make \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log
+ cd build
+ make $NUMJOBS || make \
+ 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
+ make -j1 install DESTDIR=$PKG INSTALL_ROOT=$PKG \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_${MOD}.log
+ cd - 1>/dev/null
- make $NUMJOBS || make \
- 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
-
- make -j1 install DESTDIR=$PKG INSTALL_ROOT=$PKG \
- 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_${MOD}.log
-
- rm -rf $PKG/$PYTHON2LIB/PyQt5/uic/port_v3/
+ # Useless:
+ rm -rf $PKG/$PYTHON3LIB/PyQt5/uic/port_v2/
- if [ "${BUILD_QT}" = "NO" ]; then
- # Remove ugly bits that threaten to overwrite a system file:
- rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/qt5
- fi
+ # Remove ugly bits that threaten to overwrite a system file:
+ rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/qt5
# Add documentation:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
@@ -1197,19 +1147,14 @@ make_pyqtwebengine() {
local MOD="pyqtwebengine"
echo -e "\n** $MOD **\n"
- cd $TMP/tmp-$PRGNAM/PyQtWebEngine-${INT_PYQT5}
+ cd $TMP/tmp-$PRGNAM/PyQtWebEngine-${INT_PYQTWEBENG}
- if [ "${BUILD_QT}" = "NO" ]; then
- export QTDIR=/usr/lib${LIBDIRSUFFIX}/qt5
- else
- unset QT5DIR
- export QTDIR=/usr/lib${LIBDIRSUFFIX}/calibre
- fi
+ export QTDIR=/usr/lib${LIBDIRSUFFIX}/qt5
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
- python2 configure.py \
+ python3 configure.py \
--qmake=$QTDIR/bin/qmake \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log
make $NUMJOBS || make \
@@ -1218,10 +1163,8 @@ make_pyqtwebengine() {
2>&1 | tee -a $OUTPUT/make-${PRGNAM}_${MOD}.log
install -Dm644 PyQtWebEngine.api -t $PKG/usr/share/qt5/qsci/api/python
- if [ "${BUILD_QT}" = "NO" ]; then
- # Remove ugly bits that threaten to overwrite a system file:
- rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/qt5
- fi
+ # Remove ugly bits that threaten to overwrite a system file:
+ rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/qt5
# Add documentation:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
@@ -1232,26 +1175,27 @@ make_pyqtwebengine() {
#
-# Build pycrypto:
+# Build pycryptodome:
#
-make_pycrypto() {
+make_pycryptodome() {
- local MOD="pycrypto"
+ local MOD="pycryptodome"
echo -e "\n** $MOD **\n"
- cd $TMP/tmp-$PRGNAM/pycrypto-${INT_PYCRYPTO}
+ cd $TMP/tmp-$PRGNAM/pycryptodome-${INT_PYCRYPTO}
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG \
+ python3 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 ACKS ChangeLog COPYRIGHT README TODO Doc \
+ cp -a *.rst \
$PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
-} # End make_pycrypto
+} # End make_pycryptodome
+
#
# Build netifaces:
@@ -1265,7 +1209,7 @@ make_netifaces() {
# Compile and install
export CFLAGS="-I/usr/lib${LIBDIRSUFFIX}/calibre/include"
- python2 setup.py install --root=$PKG \
+ python3 setup.py install --root=$PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
unset CFLAGS
@@ -1278,6 +1222,54 @@ make_netifaces() {
#
+# Build ifaddr:
+#
+make_ifaddr() {
+
+ local MOD="ifaddr"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/ifaddr-${INT_IFADDR}
+
+ # Compile and install
+ export CFLAGS="-I/usr/lib${LIBDIRSUFFIX}/calibre/include"
+ python3 setup.py install --root=$PKG \
+ 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
+ unset CFLAGS
+
+ # Add documentation:
+ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
+ cp -a LICENSE* *.rst \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_ifaddr
+
+
+#
+# Build zeroconf:
+#
+make_zeroconf() {
+
+ local MOD="zeroconf"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/zeroconf-${INT_ZEROCONF}
+
+ # Compile and install
+ export CFLAGS="-I/usr/lib${LIBDIRSUFFIX}/calibre/include"
+ python3 setup.py install --root=$PKG \
+ 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
+ unset CFLAGS
+
+ # Add documentation:
+ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
+ cp -a COPYING* *.rst \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_zeroconf
+
+
+#
# Build apsw:
#
make_apsw() {
@@ -1289,12 +1281,15 @@ make_apsw() {
# Link in the SQLite amalgamation files to compile sqlite
# statically into the module:
+ rm -rf sqlite3
ln -s ../sqlite-amalgamation-${INT_SQLITE} sqlite3
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG \
+ python3 setup.py build --enable-all-extensions \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
+ python3 setup.py install --root=$PKG --skip-build \
+ 2>&1 | tee $OUTPUT/install-${PRGNAM}_${MOD}.log
# Add documentation:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
@@ -1316,7 +1311,7 @@ make_psutil() {
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG \
+ python3 setup.py install --root=$PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1326,6 +1321,53 @@ make_psutil() {
} # End make_psutil
+
+#
+# Build texttable:
+#
+make_texttable() {
+
+ local MOD="texttable"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/texttable-${INT_TEXTTABLE}
+
+ # Compile and install
+ export CFLAGS="$SLKCFLAGS"
+ python3 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 LICENSE *.md \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_texttable
+
+
+#
+# Build py7zr:
+#
+make_py7zr() {
+
+ local MOD="py7zr"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/py7zr-${INT_PY7ZR}
+
+ # Compile and install
+ export CFLAGS="$SLKCFLAGS"
+ python3 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 LICENSE *.rst \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_py7zr
+
+
#
# Build optipng:
#
@@ -1415,7 +1457,7 @@ make_hunspell() {
# Add documentation:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
- cp -a ABOUT-NLS AUTHORS* BUGS COPYING* ChangeLog* NEWS README* THANKS TODO \
+ cp -a ABOUT-NLS AUTHORS* COPYING* ChangeLog* NEWS README* THANKS \
$PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
} # End make_hunspell
@@ -1464,12 +1506,12 @@ make_regex() {
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG --optimize=1 \
+ python3 setup.py install --root=$PKG --optimize=1 \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
- cp -a docs/Features.html docs/Features.rst docs/UnicodeProperties.txt \
+ cp -a docs/Features.html docs/Features.rst \
$PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
} # End make_regex
@@ -1487,7 +1529,7 @@ make_msgpack() {
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG --optimize=1 \
+ python3 setup.py install --root=$PKG --optimize=1 \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1510,7 +1552,7 @@ make_six() {
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG --optimize=1 \
+ python3 setup.py install --root=$PKG --optimize=1 \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1522,29 +1564,6 @@ make_six() {
#
-# Build enum34 (backported from Python3:
-#
-make_enum34() {
-
- local MOD="enum34"
- echo -e "\n** $MOD **\n"
-
- cd $TMP/tmp-$PRGNAM/enum34-${INT_ENUM34}
-
- # Compile and install
- export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG --optimize=1 \
- 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
-
- # Add documentation:
- mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
- cp -a PKG-INFO enum/LICENSE enum/README \
- $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
-
-} # End make_enum34
-
-
-#
# Build webencodings:
#
make_webenc() {
@@ -1556,7 +1575,7 @@ make_webenc() {
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG --optimize=1 \
+ python3 setup.py install --root=$PKG --optimize=1 \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1579,7 +1598,7 @@ make_html5lib() {
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG --optimize=1 \
+ python3 setup.py install --root=$PKG --optimize=1 \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1602,7 +1621,7 @@ make_html5parser() {
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG --optimize=1 \
+ python3 setup.py install --root=$PKG --optimize=1 \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1625,7 +1644,7 @@ make_unrardll() {
# Compile and install
export CFLAGS="$SLKCFLAGS -I/usr/lib${LIBDIRSUFFIX}/calibre/include"
- python2 setup.py install --root=$PKG --optimize=1 \
+ python3 setup.py install --root=$PKG --optimize=1 \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1645,7 +1664,7 @@ make_feedparser() {
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG --optimize=1 \
+ python3 setup.py install --root=$PKG --optimize=1 \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1656,6 +1675,28 @@ make_feedparser() {
} # End make_feedparser
+#
+# Build sgmllib3k:
+#
+make_sgmllib3k() {
+
+ local MOD="sgmllib3k"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/sgmllib3k-${INT_SGMLLIB3K}
+
+ # Compile and install
+ python3 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 LICENSE* README \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_sgmllib3k
+
+
make_Markdown() {
local MOD="Markdown"
@@ -1665,7 +1706,7 @@ make_Markdown() {
# Compile and install
export CFLAGS="$SLKCFLAGS"
- python2 setup.py install --root=$PKG --optimize=1 \
+ python3 setup.py install --root=$PKG --optimize=1 \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1684,7 +1725,7 @@ make_beautifulsoup() {
cd $TMP/tmp-$PRGNAM/beautifulsoup4-${INT_BEAUTIFULSOUP}
# Compile and install:
- python2 setup.py install --root=$PKG \
+ python3 setup.py install --root=$PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1695,33 +1736,6 @@ make_beautifulsoup() {
} # End make_beautifulsoup
-make_bflc() {
-
- local MOD="backports.functools_lru_cache"
- echo -e "\n** $MOD **\n"
-
- # 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 -p backports
- cd backports
- cat << EOF > __init__.py
-from pkgutil import extend_path
-__path__ = extend_path(__path__, __name__)
-EOF
- python2 -m compileall . || true
- )
-
- 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_bflc
-
-
make_soupsieve() {
local MOD="soupsieve"
@@ -1730,9 +1744,9 @@ make_soupsieve() {
cd $TMP/tmp-$PRGNAM/soupsieve-${INT_SOUPSIEVE}
# Compile and install:
- python2 setup.py build \
+ python3 setup.py build \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
- python2 setup.py install --root=$PKG --optimize=1 \
+ python3 setup.py install --root=$PKG --optimize=1 \
2>&1 | tee -a $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1751,7 +1765,7 @@ make_html2text() {
cd $TMP/tmp-$PRGNAM/html2text-${INT_HTML2TEXT}
# Compile and install:
- python2 setup.py install --root=$PKG \
+ python3 setup.py install --root=$PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1770,7 +1784,7 @@ make_chardet() {
cd $TMP/tmp-$PRGNAM/chardet-${INT_CHARDET}
# Compile and install:
- python2 setup.py install --root=$PKG \
+ python3 setup.py install --root=$PKG \
2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
# Add documentation:
@@ -1781,6 +1795,72 @@ make_chardet() {
} # End make_chardet
+make_cchardet() {
+
+ local MOD="cchardet"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/cchardet-${INT_CCHARDET}
+
+ # Compile and install:
+ python3 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 COPYING *.rst LICENSE \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_cchardet
+
+
+make_pychm() {
+
+ local MOD="pychm"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/pychm-${INT_PYCHM}
+
+ # Compile and install:
+ python3 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 COPYING LICENSE NEWS README \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_pychm
+
+
+make_stemmer() {
+
+ local MOD="stemmer"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/snowball-${INT_STEMMER}
+ # Also generate dynamic lib for calibre:
+ cat $PATCHDIR/libstemmer.dynamiclib.patch | patch -p1 --verbose \
+ 2>&1 | tee $OUTPUT/patch-${PRGNAM}_${MOD}.log
+
+ # Compile and install:
+ make 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
+
+ install -D -m0755 -t $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ stemwords
+ install -D -m0644 -t $PKG/usr/lib${LIBDIRSUFFIX}/calibre/include include/libstemmer.h
+ install -D -t $PKG/usr/lib${LIBDIRSUFFIX}/calibre/lib libstemmer.a
+ install -D -t $PKG/usr/lib${LIBDIRSUFFIX}/calibre/lib libstemmer.so.0.0.0
+ ln -s libstemmer.so.0.0.0 $PKG/usr/lib${LIBDIRSUFFIX}/calibre/lib/libstemmer.so.0
+ ln -s libstemmer.so.0 $PKG/usr/lib${LIBDIRSUFFIX}/calibre/lib/libstemmer.so
+
+ # Add documentation:
+ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
+ cp -a AUTHORS COPYING* NEWS *.rst \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_stemmer
+
+
make_podofo() {
local MOD="podofo"
@@ -1820,6 +1900,49 @@ make_podofo() {
} # End make_podofo
+#
+# Build speech-dispatcher:
+#
+make_speechdispatcher() {
+
+ local MOD="speechdispatcher"
+ echo -e "\n** $MOD **\n"
+
+ cd $TMP/tmp-$PRGNAM/speech-dispatcher-${INT_SPEECHD}
+
+ LDFLAGS="" \
+ LD_LIBRARY_PATH="/usr/lib${LIBDIRSUFFIX}/calibre/lib" \
+ ./configure \
+ --prefix=/usr/lib${LIBDIRSUFFIX}/calibre \
+ --libexecdir=/usr/lib${LIBDIRSUFFIX}/calibre/lib \
+ --sysconfdir=/usr/lib${LIBDIRSUFFIX}/calibre/etc \
+ --mandir=/usr/lib${LIBDIRSUFFIX}/calibre/man \
+ --enable-shared=yes \
+ --enable-static=no \
+ --with-ibmtts=no --with-kali=no --with-baratinoo=no --with-voxin=no \
+ --without-flite \
+ --build=$TARGET \
+ --host=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log
+
+ make 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log
+ # A 'spd-conf.1' already exists but make falters when re-generating it:
+ touch ./src/api/python/speechd_config/spd-conf.1
+ make -j1 -i 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}_spd-conf.log
+ make install DESTDIR=$PKG 2>&1 | tee $OUTPUT/install-${PRGNAM}_${MOD}.log
+
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/calibre/etc/speech-dispatcher/modules/cicero.conf
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/calibre/etc/speech-dispatcher/modules/flite.conf
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/calibre/lib/speech-dispatcher/speech-dispatcher-modules/sd_cicero
+
+ # Add documentation:
+ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD}
+ cp -a AUTHORS COPYIN* ChangeLog INSTALL NEWS READM* THANKS TODO \
+ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true
+
+} # End make_speechdispatcher
+
+
# --------------
# Build calibre:
@@ -1847,17 +1970,18 @@ make_calibre () {
CFLAGS=${CFLAGS:-""}
# Place where we have to install stuff:
- PYTHONLIB=$( python2 -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())" )
+ PYTHONLIB=$( python3 -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())" )
# Create the directory for calibre's environment module:
mkdir -p $PKG$PYTHONLIB
# Find the prefix python was installed to (may be different from calibre's):
- PYTHONROOT=$( python2 -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(prefix='/'))" )
+ PYTHONROOT=$( python3 -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(prefix='/'))" )
PYTHONPREF="${PYTHONLIB%$PYTHONROOT}"
# Massage the install script to actually install to that python libdir:
sed -e "/s.get_python_lib(prefix=/s,(prefix=.*),(prefix='$PKG$PYTHONPREF')," \
+ -e "s,'lib','lib${LIBDIRSUFFIX}',g" \
-i setup/install.py
# Cut out the DOS crap:
@@ -1870,7 +1994,18 @@ make_calibre () {
OVERRIDE_LDFLAGS="$LDFLAGS $SLKLDFLAGS" \
OVERRIDE_CFLAGS="$CFLAGS $SLKCFLAGS" \
- LANG='en_US.UTF-8' python2 setup.py build \
+ LANG='en_US.UTF-8' \
+ python3 setup.py build \
+ 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
+ OVERRIDE_LDFLAGS="$LDFLAGS $SLKLDFLAGS" \
+ OVERRIDE_CFLAGS="$CFLAGS $SLKCFLAGS" \
+ LANG='en_US.UTF-8' \
+ python3 setup.py gui \
+ 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
+ OVERRIDE_LDFLAGS="$LDFLAGS $SLKLDFLAGS" \
+ OVERRIDE_CFLAGS="$CFLAGS $SLKCFLAGS" \
+ LANG='en_US.UTF-8' \
+ python3 setup.py rapydscript \
2>&1 | tee $OUTPUT/make-${PRGNAM}.log
# Create the directories the xdg-utils expects to be present:
@@ -1882,7 +2017,7 @@ make_calibre () {
XDG_UTILS_INSTALL_MODE="system" \
LIBPATH=/usr/lib${LIBDIRSUFFIX} \
LANG='en_US.UTF-8' \
- python2 setup.py install \
+ python3 setup.py install \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--staging-root=$PKG/usr \
@@ -1899,6 +2034,9 @@ make_calibre () {
# This does not belong in a package - use 'removepkg' instead:
rm -f $PKG/usr/bin/calibre-uninstall
+ # We don't need this either at runtime:
+ rm -rf $PKG/usr/share/calibre/rapydscript/
+
# Create symlinks to system Libration fonts:
if [ -d $PKG/usr/share/calibre/fonts/liberation ]; then
echo "** Replacing Liberation fonts with symlinks..."
@@ -1953,27 +2091,25 @@ make_calibre () {
# End of the subroutines.
#
-if [ "$BUILD_PYTHONMODS" = "YES" ]; then
- # Not part of Slackware or too old, and need it:
- make_hunspell
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+# Not part of Slackware or too old, and need it:
+make_hunspell
+rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_optipng
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+make_optipng
+rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_podofo
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+make_podofo
+rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_hyphen
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+make_hyphen
+rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_unrarsrc
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- # End - not part of Slackware
-fi
+make_unrarsrc
+rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+# End - not part of Slackware
# Compilation of the optional software:
-if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_PYTHONMODS" = "YES" -o "$BUILD_QT" = "YES" -o "$BUILD_MTP" = "YES" -o "$BUILD_MAGICK" = "YES" ]; then
+if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_MTP" = "YES" -o "$BUILD_MAGICK" = "YES" ]; then
if [ -f $SRCDIR/${PRGNAM}_pythondeps-${SLACKVER}-${ARCH}.tar.bz2 ]; then
# We unwrap the tarball of compiled python internal libraries instead of
# having to build them - this saves a _lot_ of compile time:
@@ -1986,7 +2122,7 @@ if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_PYTHONMODS" = "YES" -o "$BUILD_QT" = "YE
)
fi
- # Ensure that our non-standard python2.7 is found and used:
+ # Ensure that our non-standard python3 is found and used:
echo "** Configuring build environment for preferring internal libraries **"
export PATH="/usr/lib${LIBDIRSUFFIX}/calibre:/usr/lib${LIBDIRSUFFIX}/calibre/bin:$PATH"
export PKG_CONFIG_PATH="/usr/lib${LIBDIRSUFFIX}/calibre/lib/pkgconfig:$PKG_CONFIG_PATH"
@@ -2030,160 +2166,175 @@ if [ "$BUILD_MAGICK" = "YES" ]; then
fi
fi
-if [ "$BUILD_QT" = "YES" ]; then
- # No sufficiently new Qt was found so we need to supply it ourself.
+# We build the python interpreter ourself.
- if [ ! -f $SRCDIR/${PRGNAM}_pythondeps-${SLACKVER}-${ARCH}.tar.bz2 ]; then
- # No tarball containing pre-compiled libraries was found.
- # We need to build Qt ourself.
+if [ ! -f $SRCDIR/${PRGNAM}_pythondeps-${SLACKVER}-${ARCH}.tar.bz2 ]; then
+ # No tarball containing pre-compiled python libraries was found.
+ # We need to build python now.
- # After each part is built we will sync to here because in the end, calibre
- # will wipe the origin and we will have to sync it all back:
- mkdir -p /usr/lib${LIBDIRSUFFIX}/calibre
-
- make_xkbcommon
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ # After each part is built we will sync to here because in the end, calibre
+ # will wipe the origin and we will have to sync it all back:
+ mkdir -p /usr/lib${LIBDIRSUFFIX}/calibre
- make_qt5
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- fi
+ make_python
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
fi
-if [ "$BUILD_PYTHON" = "YES" ]; then
- # No python2.7 was found on the computer so we need to supply it ourself.
+SLK_PYTHON_INCLUDES="-I/usr/lib${LIBDIRSUFFIX}/calibre/include/python${REQUIRED_PYTHON}"
+SLK_PYTHON_LIBS="-L/usr/lib${LIBDIRSUFFIX}/calibre/lib -lpython${REQUIRED_PYTHON}"
+export PYTHON="/usr/lib${LIBDIRSUFFIX}/calibre/python3"
- if [ ! -f $SRCDIR/${PRGNAM}_pythondeps-${SLACKVER}-${ARCH}.tar.bz2 ]; then
- # No tarball containing pre-compiled python libraries was found.
- # We need to build python2.7 ourself.
+# The python modules need to be compiled into the package:
+
+if [ ! -f $SRCDIR/${PRGNAM}_pythondeps-${SLACKVER}-${ARCH}.tar.bz2 ]; then
+ # No tarball containing pre-compiled python libraries was found.
+ # We need to build python modules ourself.
- # After each part is built we will sync to here because in the end, calibre
- # will wipe the origin and we will have to sync it all back:
- mkdir -p /usr/lib${LIBDIRSUFFIX}/calibre
+ # After each part is built we will sync to here because in the end, calibre
+ # will wipe the origin and we will have to sync it all back:
+ mkdir -p /usr/lib${LIBDIRSUFFIX}/calibre
+ mkdir -p /usr/lib${LIBDIRSUFFIX}/calibre/{bin,lib}
- make_python
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- fi
+ ## Ensure that all our binaries and libraries are found and used:
+ #export PATH="/usr/lib${LIBDIRSUFFIX}/calibre:/usr/lib${LIBDIRSUFFIX}/calibre/bin:$PATH"
+ #export PKG_CONFIG_PATH="/usr/lib${LIBDIRSUFFIX}/calibre/lib/pkgconfig:$PKG_CONFIG_PATH"
+ #export LDFLAGS="-Wl,-rpath /usr/lib${LIBDIRSUFFIX}/calibre/lib -L/usr/lib${LIBDIRSUFFIX}/calibre/lib"
- SLK_PYTHON_INCLUDES="-I/usr/lib${LIBDIRSUFFIX}/calibre/include/python${REQUIRED_PYTHON}"
- SLK_PYTHON_LIBS="-L/usr/lib${LIBDIRSUFFIX}/calibre/lib -lpython${REQUIRED_PYTHON}"
-else
- SLK_PYTHON_INCLUDES="-I/usr/lib${LIBDIRSUFFIX}/calibre/include/python${REQUIRED_PYTHON} $(python2 -c 'from distutils.sysconfig import *;print (get_python_inc())')"
- SLK_PYTHON_LIBS="-L/usr/lib${LIBDIRSUFFIX}/calibre/lib -lpython${REQUIRED_PYTHON} $(python2 -c 'from distutils.sysconfig import *;print (get_python_lib())')"
-fi
+ make_setuptools
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
-if [ "$BUILD_PYTHONMODS" = "YES" ]; then
- # The python2.7 modules need to be compiled into the package:
+ make_pyqtbuilder
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- if [ ! -f $SRCDIR/${PRGNAM}_pythondeps-${SLACKVER}-${ARCH}.tar.bz2 ]; then
- # No tarball containing pre-compiled python libraries was found.
- # We need to build python2.7 modules ourself.
-
- # After each part is built we will sync to here because in the end, calibre
- # will wipe the origin and we will have to sync it all back:
- mkdir -p /usr/lib${LIBDIRSUFFIX}/calibre
+ make_pip
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- ## Ensure that all our binaries and libraries are found and used:
- #export PATH="/usr/lib${LIBDIRSUFFIX}/calibre:/usr/lib${LIBDIRSUFFIX}/calibre/bin:$PATH"
- #export PKG_CONFIG_PATH="/usr/lib${LIBDIRSUFFIX}/calibre/lib/pkgconfig:$PKG_CONFIG_PATH"
- #export LDFLAGS="-Wl,-rpath /usr/lib${LIBDIRSUFFIX}/calibre/lib -L/usr/lib${LIBDIRSUFFIX}/calibre/lib"
+ make_stemmer
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_setuptools
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_unrardll
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_unrardll
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_pillow
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_pillow
- 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_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_beautifulsoup
- 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_bflc
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_dnspython
+ 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_cssparser
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_dnspython
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_dateutil
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_cssparser
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_lxml
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_dateutil
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_mechanize
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_lxml
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_pycryptodome
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_mechanize
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_netifaces
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_pycrypto
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_ifaddr
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_netifaces
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_jeepney
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_dbuspython
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_psutil
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_psutil
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_zeroconf
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_pygments
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_texttable
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_enum34
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_py7zr
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_sip
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_pygments
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_pyqt5
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_pyparsing
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_pyqtwebengine
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_packaging
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_regex
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_toml
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_msgpack
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_sip
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_six
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_pyqt5sip
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_webenc
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_pyqt5
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_html5lib
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_pyqtwebengine
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_html5parser
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_regex
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_feedparser
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_msgpack
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_Markdown
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_six
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_html2text
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_webenc
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- make_chardet
- rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+ make_html5lib
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+
+ make_html5parser
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+
+ make_feedparser
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+
+ make_sgmllib3k
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+
+ make_Markdown
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+
+ make_html2text
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+
+ make_chardet
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+
+ make_cchardet
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+
+ make_pychm
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
+
+ make_speechdispatcher
+ rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/
- fi
fi
-if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_PYTHONMODS" = "YES" -o "$BUILD_QT" = "YES" -o "$BUILD_MTP" = "YES" ]; then
+if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_MTP" = "YES" ]; then
# At this point we can wrap the compiled python etc. internal libraries
# into a tarball which we can re-use in a future build (so that we do not
# have to recompile them every time).
@@ -2206,42 +2357,39 @@ export CFLAGS="-I/usr/lib${LIBDIRSUFFIX}/calibre/include"
# The main course - compile calibre:
make_calibre
-if [ "$BUILD_PYTHON" = "YES" ]; then
-
- # Compiling calibre will have wiped all previously compiled python stuff,
- # so we need to put it back into the package, and then it can go:
- rsync -a /usr/lib${LIBDIRSUFFIX}/calibre/ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/
- # Wait with with the removal until after byte-compiling:
- #rm -rf /usr/lib${LIBDIRSUFFIX}/calibre
-
- ##!/bin/sh
- #path=`readlink -e $0`
- #base=`dirname $path`
- #export PATH=$base/bin:$PATH
- #export LD_LIBRARY_PATH=$base/lib:$LD_LIBRARY_PATH
- #$base/bin/calibre "$@"
-
- # We need to tell calibre to use the internal python:
- for FILE in $PKG/usr/bin/* ; do
- if ! file $FILE | grep -q ELF ; then
- sed -i \
- -e "s,^#!/usr/bin/env .*$,#!/usr/lib${LIBDIRSUFFIX}/calibre/python2," \
- $FILE
- fi
- done
+# Compiling calibre will have wiped all previously compiled python stuff,
+# so we need to put it back into the package, and then it can go:
+rsync -a /usr/lib${LIBDIRSUFFIX}/calibre/ $PKG/usr/lib${LIBDIRSUFFIX}/calibre/
+# Wait with with the removal until after byte-compiling:
+#rm -rf /usr/lib${LIBDIRSUFFIX}/calibre
+
+##!/bin/sh
+#path=`readlink -e $0`
+#base=`dirname $path`
+#export PATH=$base/bin:$PATH
+#export LD_LIBRARY_PATH=$base/lib:$LD_LIBRARY_PATH
+#$base/bin/calibre "$@"
+
+# We need to tell calibre to use the internal python:
+for FILE in $PKG/usr/bin/* ; do
+ if ! file $FILE | grep -q ELF ; then
+ sed -i \
+ -e "s,^#!/usr/bin/env .*$,#!/usr/lib${LIBDIRSUFFIX}/calibre/python3," \
+ $FILE
+ fi
+done
- # This is not needed in the package:
- rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/calibre/{bin,lib/pkgconfig,lib/python*/test,share,usr/man}
+# This is not needed in the package:
+rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/calibre/{lib/pkgconfig,lib/python*/test,man,usr/man}
- # Compiling bytecode makes Calibre startup much faster:
- set +e
- /usr/lib${LIBDIRSUFFIX}/calibre/python2 -m compileall -d '/' ${PKG}/usr/lib${LIBDIRSUFFIX}/calibre/ || true
- /usr/lib${LIBDIRSUFFIX}/calibre/python2 -OO -m compileall -d '/' ${PKG}/usr/lib${LIBDIRSUFFIX}/calibre/ || true
- set -e
+# Compiling bytecode makes Calibre startup much faster:
+set +e
+/usr/lib${LIBDIRSUFFIX}/calibre/python3 -m compileall -d '/' ${PKG}/usr/lib${LIBDIRSUFFIX}/calibre/ || true
+/usr/lib${LIBDIRSUFFIX}/calibre/python3 -OO -m compileall -d '/' ${PKG}/usr/lib${LIBDIRSUFFIX}/calibre/ || true
+set -e
- # Now we can remove these from the filesystem:
- rm -rf /usr/lib${LIBDIRSUFFIX}/calibre
-fi
+# Now we can remove these from the filesystem:
+rm -rf /usr/lib${LIBDIRSUFFIX}/calibre
# Create a doinst.sh:
mkdir -p $PKG/install
@@ -2263,11 +2411,9 @@ EOT
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
# First, the calibre documentation files:
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
-if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_PYTHONMODS" = "YES" ]; then
- # Add documentation (mainly licenses) of the internal python deps:
- mv $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/* $PKG/usr/doc/$PRGNAM-$VERSION/ || true
- rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc
-fi
+# Add documentation (mainly licenses) of the internal python deps:
+mv $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/* $PKG/usr/doc/$PRGNAM-$VERSION/ || true
+rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc
# Add all the patches we used to build this package:
cp -a $PATCHDIR $PKG/usr/doc/$PRGNAM-$VERSION
# And finally, add this SlackBuild script:
@@ -2281,11 +2427,6 @@ if [ -d $PKG/usr/man ]; then
for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
fi
-if [ "$BUILD_QT" = "YES" ]; then
- # If we built our own Qt then this can be removed from the package:
- rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/calibre/{demos,doc,examples,tests}
-fi
-
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
@@ -2296,20 +2437,8 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
# Add a package description:
mkdir -p $PKG/install
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
-# Add the external dependencies :
-cat $SRCDIR/slack-required > $PKG/install/slack-required
-if [ "$BUILD_PYTHONMODS" = "YES" ]; then
- cat $PKG/install/slack-required \
- | grep -Ev "PyQt5|PyQtWebEngine|dbus-python|dnspython|pycrypto|pysetuptools|python-apsw|python-beautifulsoup4|python-bflc|python-chardet|python-css-parser|python-dateutil|python-enum34|python-feedparser|pyhton-html2text|python-html5-parser|python-html5lib|python-lxml|python-markdown|python-mechanize|python-msgpack|python-netifaces|python-pillow|python-psutil|python-pygments|python-regex|python-six|python-soupsieve|python-unrardll|python-webencodings|sip|sqlite-amalgamation" \
- > $PKG/install/slack-required.temp || true
- mv $PKG/install/slack-required.temp $PKG/install/slack-required
-fi
-if [ "$BUILD_QT" = "YES" ]; then
- cat $PKG/install/slack-required \
- | grep -Ev "libxkbcommon|libinput|libwacom|qt5" \
- > $PKG/install/slack-required.temp || true
- mv $PKG/install/slack-required.temp $PKG/install/slack-required
-fi
+## Add the external dependencies :
+#cat $SRCDIR/slack-required > $PKG/install/slack-required
# Build the package:
cd $PKG
@@ -2318,7 +2447,7 @@ cd $OUTPUT
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
-cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep
+#cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep
# Restore the original umask:
umask ${_UMASK_}