diff options
author | Eric Hameleers <alien@slackware.com> | 2015-05-27 15:14:12 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2015-05-27 15:14:12 +0000 |
commit | 6d3341992cccff8f6b7d320943b53b8779db7291 (patch) | |
tree | 334a8638fcf23cf1fee9c4634aa120d7dfc845a0 /calibre | |
parent | 6fde6e28950810d0cacbda70a56b02ab1b30a852 (diff) | |
download | asb-6d3341992cccff8f6b7d320943b53b8779db7291.tar.gz asb-6d3341992cccff8f6b7d320943b53b8779db7291.tar.xz |
First build of calibre-2.x which is based on Qt5
Diffstat (limited to 'calibre')
-rwxr-xr-x | calibre/build/calibre.SlackBuild | 934 |
1 files changed, 338 insertions, 596 deletions
diff --git a/calibre/build/calibre.SlackBuild b/calibre/build/calibre.SlackBuild index 745f440c..bf45a995 100755 --- a/calibre/build/calibre.SlackBuild +++ b/calibre/build/calibre.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh # $Id$ -# Copyright 2010, 2011, 2012, 2013, 2014 Eric Hameleers, Eindhoven, NL +# Copyright 2010, 2011, 2012, 2013, 2014, 2015 Eric Hameleers, Eindhoven, NL # All rights reserved. # # Permission to use, copy, modify, and distribute this software for @@ -36,336 +36,12 @@ # Changelog: # 0.7.20-1: 25/Sep/2010 by Eric Hameleers <alien@slackware.com> # * Initial build. -# 0.7.23-1: 12/oct/2010 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.3-1: 02/jun/2011 by Eric Hameleers <alien@slackware.com> -# * Update. Optionally, include the required python 2.7.x plus -# additional modules in the package. -# 0.8.6-1: 17/jun/2011 by Eric Hameleers <alien@slackware.com> -# * Update. Added dbus-python to the internal python 2.7 libraries, -# 0.8.7-1: 26/jun/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.8-1: 03/jul/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.11-1: 28/jul/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.12-1: 30/jul/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.13-1: 06/aug/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.14-1: 12/aug/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.15-1: 19/aug/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.16-1: 26/aug/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.17-1: 02/sep/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.18-1: 09/sep/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.19-1: 16/sep/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.20-1: 24/sep/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.21-1: 30/sep/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.21-2: 12/oct/2011 by Eric Hameleers <alien@slackware.com> -# * Add pycrypto to the internal dependencies. -# This allows you to use the instructions found at -# http://epubee.com/remove-drm-from-epub-on-adobe.html -# 0.8.22-1: 14/oct/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.23-1: 21/oct/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.24-1: 28/oct/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.25-1: 06/nov/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.26-1: 11/nov/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.27-1: 18/nov/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.28-1: 25/nov/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.29-1: 02/dec/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.30-1: 09/dec/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.31-1: 16/dec/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.32-1: 23/dec/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.33-1: 30/dec/2011 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.34-1: 06/jan/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.35-1: 13/jan/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.36-1: 20/jan/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.37-1: 27/jan/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.38-1: 03/feb/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.39-1: 10/feb/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.40-1: 17/feb/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.41-1: 24/feb/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.42-1: 12/mar/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.43-1: 16/mar/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.44-1: 23/mar/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.45-1: 30/mar/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.46-1: 06/apr/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.47-1: 13/apr/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.48-1: 20/apr/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.49-1: 27/apr/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.49-2: 01/may/2012 by Eric Hameleers <alien@slackware.com> -# * Update several internal libraries. Especially cssutils needed -# an update in order to fix the broken format conversion. -# 0.8.50-1: 04/may/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.51-1: 11/may/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.52-1: 18/may/2012 by Eric Hameleers <alien@slackware.com> -# * Update. Man pages are no longer included as all utilities -# have more comprehensive command line "--help". -# 0.8.53-1: 25/may/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.54-1: 31/may/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.55-1: 06/jun/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.56-1: 15/jun/2012 by Eric Hameleers <alien@slackware.com> -# * Update. -# 0.8.57-1: 22/jun/2012 by Eric Hameleers <alien@slackware.com> -# * New release. Upgraded the internal pycrypto library. -# 0.8.58-1: 29/jun/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.8.59-1: 06/jul/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.8.61-1: 25/jul/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.8.62-1: 27/jul/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.8.63-1: 03/aug/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.8.64-1: 10/aug/2012 by Eric Hameleers <alien@slackware.com> -# * New release. For Slackware < 14, the new mtp device detection -# has been removed. -# 0.8.65-1: 17/aug/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.8.66-1: 24/aug/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.8.67-1: 31/aug/2012 by Eric Hameleers <alien@slackware.com> -# * New release. Updatd internal Python to 2.7.3. -# Added new python-netifaces dependency. -# 0.8.68-1: 07/sep/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.8.69-1: 14/sep/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.8.70-1: 21/sep/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.0-1: 28/sep/2012 by Eric Hameleers <alien@slackware.com> -# * Release went up from 0.8.x to 0.9.x. -# 0.9.1-1: 05/oct/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.2-1: 11/oct/2012 by Eric Hameleers <alien@slackware.com> -# * New release, one day earlier than expected. -# 0.9.3-1: 19/oct/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.3-2: 20/oct/2012 by Eric Hameleers <alien@slackware.com> -# * Forgot to add two new dependencies: python-cssselect and -# python-psutil. -# 0.9.4-1: 26/oct/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.5-1: 02/nov/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.6-1: 11/nov/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.7-1: 16/nov/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.8-1: 30/nov/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.9-1: 07/dec/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.10-1: 14/dec/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.11-1: 21/dec/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.12-1: 28/dec/2012 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.13-1: 04/jan/2013 by Eric Hameleers <alien@slackware.com> -# * New release. Updated the internal PyQt and SIP libraries. -# for Slackware 13.37, compile internal versions of Qt 4.8.x -# and libmtp 1.1.x. -# The internal copy of Qt 4.8 libraries have the 'private -# headers' installed, so that calibre's "qt_hack" works on -# Slackware 13.37. -# 0.9.14-1: 11/jan/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.15-1: 18/jan/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.17-1: 01/feb/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.18-1: 08/feb/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.19-1: 15/feb/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.20-1: 22/feb/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.21-1: 01/mar/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.22-1: 08/mar/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.23-1: 15/mar/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.24-1: 22/mar/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.25-1: 29/mar/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.26-1: 05/apr/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.27-1: 12/apr/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.28-1: 26/apr/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.29-1: 04/may/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.30-1: 10/may/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.31-1: 17/may/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.32-1: 24/may/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.33-1: 31/may/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.34-1: 07/jun/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.35-1: 14/jun/2013 by Eric Hameleers <alien@slackware.com> -# * New release. Refreshed the internal Python to 3.7.5. -# 0.9.36-1: 21/jun/2013 by Eric Hameleers <alien@slackware.com> -# * New release. Switched the internal python-lxml to a version -# that supports html conversion better (required for .docx -# support). -# 0.9.37-1: 28/jun/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.38-1: 05/jul/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.39-1: 12/jul/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.40-1: 19/jul/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.42-1: 05/aug/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.43-1: 09/aug/2013 by Eric Hameleers <alien@slackware.com> -# * New release. -# 0.9.44-1: 16/aug/2013 by Eric Hameleers <alien@slackware.com> -# * New release. # 1.0.0-1: 23/aug/2013 by Eric Hameleers <alien@slackware.com> # * Finally, 1.0.0 ! With python-apsw as a new dependency. -# 1.1.0-1: 30/aug/2013 by Eric Hameleers <alien@slackware.com> -# * Update to 1.1. -# 1.2.0-1: 07/sep/2013 by Eric Hameleers <alien@slackware.com> -# * Update to 1.2. -# 1.3.0-1: 13/sep/2013 by Eric Hameleers <alien@slackware.com> -# * Update to 1.3. -# 1.4.0-1: 20/sep/2013 by Eric Hameleers <alien@slackware.com> -# * Update to 1.4. -# 1.5.0-1: 26/sep/2013 by Eric Hameleers <alien@slackware.com> -# * Update to 1.5. -# 1.6.0-1: 11/oct/2013 by Eric Hameleers <alien@slackware.com> -# * Update to 1.6. -# 1.7.0-1: 18/oct/2013 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.8.0-1: 25/oct/2013 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.10.0-1: 08/nov/2013 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.11.0-1: 15/nov/2013 by Eric Hameleers <alien@slackware.com> -# * Update. Rebased patches/calibre_noqthack.patch and no longer -# apply it for Slackware >= 14.1. -# 1.12.0-1: 22/nov/2013 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.13.0-1: 29/nov/2013 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.14.0-1: 06/dec/2013 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.15.0-1: 13/dec/2013 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.16.0-1: 20/dec/2013 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.17.0-1: 26/dec/2013 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.18.0-1: 03/jan/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.19.0-1: 10/jan/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.20.0-1: 17/jan/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.21.0-1: 24/jan/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.22.0-1: 31/jan/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.23.0-1: 07/feb/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.24.0-1: 14/feb/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.25.0-1: 21/feb/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.26.0-1: 28/feb/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.27.0-1: 07/mar/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.28.0-1: 14/mar/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.29.0-1: 21/mar/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.30.0-1: 28/mar/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.31.0-1: 04/apr/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.32.0-1: 11/apr/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.33.0-1: 18/apr/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.34.0-1: 25/apr/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.35.0-1: 02/may/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.36.0-1: 09/may/2014 by Eric Hameleers <alien@slackware.com> -# * Birthday update! -# 1.37.0-1: 16/may/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.38.0-1: 23/may/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.39.0-1: 29/may/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.40.0-1: 13/jun/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.41.0-1: 21/jun/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.42.0-1: 27/jun/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.43.0-1: 06/jul/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.44.0-1: 12/jul/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.46.0-1: 27/jul/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.47.0-1: 01/aug/2014 by Eric Hameleers <alien@slackware.com> -# * Update. -# 1.48.0-1: 08/aug/2014 by Eric Hameleers <alien@slackware.com> -# * Update. +# 1.49.0-1: 15/aug/2014 by Eric Hameleers <alien@slackware.com> +# * Last version in the 1.x series. +# 2.28.0-1: 25/may/2015 by Eric Hameleers <alien@slackware.com> +# * First build of the Qt5 based 2.x series. # # Run 'sh calibre.SlackBuild' to build a Slackware package. # The package (.txz) and .txt file as well as build logs are created in /tmp . @@ -374,7 +50,7 @@ # ----------------------------------------------------------------------------- PRGNAM=calibre -VERSION=${VERSION:-1.48.0} +VERSION=${VERSION:-2.28.0} BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j4 "} TAG=${TAG:-alien} @@ -382,41 +58,43 @@ TAG=${TAG:-alien} DOCS="LICENSE* Changelog* COPYRIGHT README*" PYTHON=$(python -c 'import sys; print sys.version.split( )[0]') -SLACKVER=$(cat /etc/slackware-version |cut -d' ' -f2) +SLACKVER=${SLACKVER:-$(cat /etc/slackware-version |cut -d' ' -f2)} -REQUIRED_QT="4.8.0" +REQUIRED_QT="5.3.2" # Only used in case we need to build our own Qt: -INT_QT=4.8.4 +INT_QT=5.4.1 REQUIRED_MTP="1.1.5" # Only used in case we need to build our own libmtp: -INT_MTP=1.1.6 +INT_MTP=1.1.8 REQUIRED_PYTHON="2.7" REQUIRED_PYTHON_MIN="1" # Only used in case we need to build our own python: -INT_PYTHON=2.7.5 -INT_SETUPTOOLS=0.6c11 -INT_BEAUTIFULSOUP=3.2.0 +INT_PYTHON=2.7.9 + +# Only used in case we need to build our own python modules: +INT_SETUPTOOLS=14.3 +INT_BEAUTIFULSOUP=4.3.2 INT_DNSPYTHON=1.9.4 -INT_CSSSELECT=0.7.1 INT_CSSUTILS=0.9.9 INT_DATEUTIL=1.5 -INT_IMAGING=1.1.7 +INT_DBUSPYTHON=1.2.0 +INT_IMAGING=2.8.1 INT_LXML=3.2.1 INT_MECHANIZE=0.2.5 INT_NETIFACES=0.8 INT_PSUTIL=0.6.1 -INT_SIP=4.14.2 -INT_DBUSPYTHON=0.84.0 +INT_PYGMENTS=2.0.2 +INT_SIP=4.16.7 INT_PYCRYPTO=2.6 -INT_PYQT=4.9.6 -INT_APSW=3.7.5-r1 +INT_PYQT=5.4.1 +INT_APSW=3.7.17-r1 -INT_MAGICK=6.8.3-8 +#INT_MAGICK=6.9.1-3 # Where do we look for sources? SRCDIR=$(cd $(dirname $0); pwd) @@ -432,10 +110,10 @@ SRCURL[0]="http://downloads.sourceforge.net/${PRGNAM}/${PRGNAM}-${VERSION}.tar.x # Allow the package builder to override BUILD_QT: if [ -z "$BUILD_QT" ]; then - if pkg-config --exists "QtCore >= $REQUIRED_QT" ; then + if pkg-config --exists "Qt5Core >= $REQUIRED_QT" ; then BUILD_QT="NO" else - # We need to build our own qt4: + # We need to build our own qt5: BUILD_QT="YES" fi fi @@ -460,67 +138,90 @@ if [ -z "$BUILD_PYTHON" ]; then fi fi -if [ "$BUILD_PYTHON" = "YES" ]; then - SOURCE[1]="$SRCDIR/Python-${INT_PYTHON}.tar.bz2" - SRCURL[1]="http://python.org/ftp/python/${INT_PYTHON}/Python-${INT_PYTHON}.tar.bz2" +# 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 + +# Determine what sources we need to download: +if [ "$BUILD_PYTHONMODS" = "YES" ]; then + echo ">> Compiling python modules <<" - SOURCE[2]="$SRCDIR/setuptools-${INT_SETUPTOOLS}.tar.gz" - SRCURL[2]="http://pypi.python.org/packages/source/s/setuptools/setuptools-${INT_SETUPTOOLS}.tar.gz" + SOURCE[1]="$SRCDIR/setuptools-${INT_SETUPTOOLS}.tar.gz" + SRCURL[1]="http://pypi.python.org/packages/source/s/setuptools/setuptools-${INT_SETUPTOOLS}.tar.gz" - SOURCE[3]="$SRCDIR/BeautifulSoup-${INT_BEAUTIFULSOUP}.tar.gz" - SRCURL[3]="http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-${INT_BEAUTIFULSOUP}.tar.gz" + SOURCE[2]="$SRCDIR/beautifulsoup4-${INT_BEAUTIFULSOUP}.tar.gz" + SRCURL[2]="http://www.crummy.com/software/BeautifulSoup/bs4/download/$(echo $INT_BEAUTIFULSOUP | cut -d. -f1,2)/beautifulsoup4-${INT_BEAUTIFULSOUP}.tar.gz" - SOURCE[4]="$SRCDIR/dnspython-${INT_DNSPYTHON}.tar.gz" - SRCURL[4]="http://www.dnspython.org/kits/${INT_DNSPYTHON}/dnspython-${INT_DNSPYTHON}.tar.gz" + SOURCE[3]="$SRCDIR/dnspython-${INT_DNSPYTHON}.tar.gz" + SRCURL[3]="http://www.dnspython.org/kits/${INT_DNSPYTHON}/dnspython-${INT_DNSPYTHON}.tar.gz" - SOURCE[5]="$SRCDIR/cssutils-${INT_CSSUTILS}.zip" - SRCURL[5]="http://bitbucket.org/cthedot/cssutils/downloads/cssutils-${INT_CSSUTILS}.zip" + SOURCE[4]="$SRCDIR/cssutils-${INT_CSSUTILS}.zip" + SRCURL[4]="http://bitbucket.org/cthedot/cssutils/downloads/cssutils-${INT_CSSUTILS}.zip" - SOURCE[6]="$SRCDIR/python-dateutil-${INT_DATEUTIL}.tar.gz" - SRCURL[6]="http://labix.org/download/python-dateutil/python-dateutil-${INT_DATEUTIL}.tar.gz" + SOURCE[5]="$SRCDIR/python-dateutil-${INT_DATEUTIL}.tar.gz" + SRCURL[5]="http://labix.org/download/python-dateutil/python-dateutil-${INT_DATEUTIL}.tar.gz" - SOURCE[7]="$SRCDIR/Imaging-${INT_IMAGING}.tar.gz" - SRCURL[7]="http://effbot.org/media/downloads/Imaging-${INT_IMAGING}.tar.gz" + SOURCE[6]="$SRCDIR/Pillow-${INT_IMAGING}.tar.gz" + SRCURL[6]="https://github.com/python-pillow/Pillow/archive/${INT_IMAGING}.tar.gz" - SOURCE[8]="$SRCDIR/lxml-${INT_LXML}.tgz" - SRCURL[8]="http://lxml.de/files/lxml-${INT_LXML}.tgz" + SOURCE[7]="$SRCDIR/lxml-${INT_LXML}.tgz" + SRCURL[7]="http://lxml.de/files/lxml-${INT_LXML}.tgz" - SOURCE[9]="$SRCDIR/mechanize-${INT_MECHANIZE}.tar.gz" - SRCURL[9]="http://wwwsearch.sourceforge.net/mechanize/src/mechanize-${INT_MECHANIZE}.tar.gz" + SOURCE[8]="$SRCDIR/mechanize-${INT_MECHANIZE}.tar.gz" + SRCURL[8]="http://wwwsearch.sourceforge.net/mechanize/src/mechanize-${INT_MECHANIZE}.tar.gz" - SOURCE[10]="$SRCDIR/PyQt-x11-gpl-${INT_PYQT}.tar.gz" - SRCURL[10]="http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-${INT_PYQT}/PyQt-x11-gpl-${INT_PYQT}.tar.gz" + SOURCE[9]="$SRCDIR/PyQt-gpl-${INT_PYQT}.tar.gz" + SRCURL[9]="http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-${INT_PYQT}/PyQt-gpl-${INT_PYQT}.tar.gz" - SOURCE[11]="$SRCDIR/sip-${INT_SIP}.tar.gz" - SRCURL[11]="http://sourceforge.net/projects/pyqt/files/sip/sip-${INT_SIP}/sip-${INT_SIP}.tar.gz" + SOURCE[10]="$SRCDIR/sip-${INT_SIP}.tar.gz" + SRCURL[10]="http://sourceforge.net/projects/pyqt/files/sip/sip-${INT_SIP}/sip-${INT_SIP}.tar.gz" - SOURCE[12]="$SRCDIR/dbus-python-${INT_DBUSPYTHON}.tar.gz" - SRCURL[12]="http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${INT_DBUSPYTHON}.tar.gz" + SOURCE[11]="$SRCDIR/dbus-python-${INT_DBUSPYTHON}.tar.gz" + SRCURL[11]="http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${INT_DBUSPYTHON}.tar.gz" - SOURCE[13]="$SRCDIR/pycrypto-${INT_PYCRYPTO}.tar.gz" - SRCURL[13]="http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-${INT_PYCRYPTO}.tar.gz" + SOURCE[12]="$SRCDIR/pycrypto-${INT_PYCRYPTO}.tar.gz" + SRCURL[12]="http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-${INT_PYCRYPTO}.tar.gz" - SOURCE[14]="$SRCDIR/netifaces-${INT_NETIFACES}.tar.gz" - SRCURL[14]="http://alastairs-place.net/projects/netifaces//netifaces-${INT_NETIFACES}.tar.gz" + SOURCE[13]="$SRCDIR/netifaces-${INT_NETIFACES}.tar.gz" + SRCURL[13]="http://alastairs-place.net/projects/netifaces//netifaces-${INT_NETIFACES}.tar.gz" - SOURCE[15]="$SRCDIR/cssselect-${INT_CSSSELECT}.tar.gz" - SRCURL[15]="http://pypi.python.org/packages/source/c/cssselect/cssselect-${INT_CSSSELECT}.tar.gz" + SOURCE[14]="$SRCDIR/psutil-${INT_PSUTIL}.tar.gz" + SRCURL[14]="http://psutil.googlecode.com/files/psutil-${INT_PSUTIL}.tar.gz" - SOURCE[16]="$SRCDIR/psutil-${INT_PSUTIL}.tar.gz" - SRCURL[16]="http://psutil.googlecode.com/files/psutil-${INT_PSUTIL}.tar.gz" + SOURCE[15]="$SRCDIR/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" + SRCURL[15]="https://apsw.googlecode.com/files/apsw-${INT_APSW}.zip" - SOURCE[17]="$SRCDIR/apsw-${INT_APSW}.zip" - SRCURL[17]="https://apsw.googlecode.com/files/apsw-${INT_APSW}.zip" + SOURCE[16]="$SRCDIR/Pygments-${INT_PYGMENTS}.tar.gz" + SRCURL[16]="https://pypi.python.org/packages/source/P/Pygments/Pygments-${INT_PYGMENTS}.tar.gz" - SOURCE[18]="$SRCDIR/ImageMagick-${INT_MAGICK}.tar.xz" - SRCURL[18]="ftp://ftp.ImageMagick.org/pub/ImageMagick/ImageMagick-${INT_MAGICK}.tar.xz" + #SOURCE[17]="$SRCDIR/ImageMagick-${INT_MAGICK}.tar.xz" + #SRCURL[17]="http://www.imagemagick.org/download/ImageMagick-${INT_MAGICK}.tar.xz" NEXT_ARRAYEL=${#SOURCE[@]} else NEXT_ARRAYEL=1 fi +if [ "$BUILD_PYTHON" = "YES" ]; then + echo ">> Compiling python interpreter <<" + + SOURCE[$NEXT_ARRAYEL]="$SRCDIR/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 )) +fi + if [ "$BUILD_MTP" = "YES" ]; then + echo ">> Compiling libmtp <<" + SOURCE[$NEXT_ARRAYEL]="$SRCDIR/libmtp-${INT_MTP}.tar.gz" SRCURL[$NEXT_ARRAYEL]="http://sourceforge.net/projects/libmtp/files/libmtp/${INT_MTP}/libmtp-${INT_MTP}.tar.gz/download" @@ -528,8 +229,10 @@ if [ "$BUILD_MTP" = "YES" ]; then fi if [ "$BUILD_QT" = "YES" ]; then + echo ">> Compiling Qt <<" + SOURCE[$NEXT_ARRAYEL]="$SRCDIR/qt-everywhere-opensource-src-${INT_QT}.tar.gz" - SRCURL[$NEXT_ARRAYEL]="http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-${INT_QT}.tar.gz" + SRCURL[$NEXT_ARRAYEL]="http://releases.qt-project.org/qt5/source/qt-everywhere-opensource-src-${INT_QT}.tar.gz" NEXT_ARRAYEL=$(( ${NEXT_ARRAYEL} + 1 )) fi @@ -565,6 +268,11 @@ case "$ARCH" in ;; esac +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + # Exit the script on errors: set -e trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR @@ -594,7 +302,7 @@ for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do if [ -f ${SOURCE[$i]} ]; then echo "Ah, found it!"; continue; fi if ! [ "x${SRCURL[$i]}" == "x" ]; then echo "Will download file to $(dirname $SOURCE[$i])" - wget -nv -T 20 -O "${SOURCE[$i]}" "${SRCURL[$i]}" || true + wget --content-disposition -nv -T 20 -O "${SOURCE[$i]}" "${SRCURL[$i]}" || true if [ $? -ne 0 -o ! -s "${SOURCE[$i]}" ]; then echo "Fail to download '$(basename ${SOURCE[$i]})'. Aborting the build." mv -f "${SOURCE[$i]}" "${SOURCE[$i]}".FAIL @@ -618,7 +326,7 @@ echo "++" echo "|| $PRGNAM-$VERSION" echo "++" -if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_MTP" = "YES" -o "$BUILD_QT" = "YES" ]; then +if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_PYTHONMODS" = "YES" -o "$BUILD_MTP" = "YES" -o "$BUILD_QT" = "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 # is already installed! @@ -655,18 +363,19 @@ echo Building ... # # -# Build Qt 4.x: +# Build Qt 5.x: # -make_qt() { +make_qt5() { - echo -e "\n** qt **\n" + local MOD="qt5" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/qt-everywhere-opensource-src-${INT_QT} - # If we build our own Qt4, unset the QT-related environment variables, - # so that a pre-existing Qt4 will not be picked up and create errors later: + # 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 QT4DIR + 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 @@ -675,22 +384,32 @@ make_qt() { done export PATH="$NEWPATH" - if [ $ARCH = "i486" ]; then - sed -i -e "s/QMAKE_CFLAGS_RELEASE += -O2/QMAKE_CFLAGS_RELEASE += $SLKCFLAGS/" mkspecs/common/gcc-base.conf || exit 1 - fi + # Fix dangling symlinks, thanks Larry Hajali: + rm -f qtwebengine/src/3rdparty/chromium/third_party/mesa/src/src/gallium/state_trackers/d3d1x/w32api + rm -f qtwebengine/src/3rdparty/chromium/third_party/webrtc/tools/e2e_quality/audio/perf + ln -s ../../../../../tools/perf \ + qtwebengine/src/3rdparty/chromium/third_party/webrtc/tools/e2e_quality/audio/ # Fix path to mysql header - zcat $SRCDIR/qt.mysql.h.diff.gz | patch -p1 --verbose || exit 1 + cat $PATCHDIR/qt5.mysql.h.diff | patch -p1 --verbose || exit 1 - # gcc doesn't support flag "-fuse-ld=gold": - zcat $SRCDIR/qt.ld-gold.patch.gz | patch -p1 --verbose || exit 1 + # Forcibly disable pulseaudio in qtwebengine: + cat $PATCHDIR/qt5.pulseaudio.diff | patch -p1 --verbose || exit 1 - # Stupid idea - remove it: - zcat $SRCDIR/qt.webkit-no_Werror.patch.gz | patch -p1 --verbose || exit 1 + # Install path fix for libplatformplugin.so: + # See https://bugs.webkit.org/show_bug.cgi?id=117077 + cat $PATCHDIR/platformplugin-install-path-fix.patch | patch -p1 --verbose || exit 1 + + sed -i -e "s/-O2/$SLKCFLAGS/" qtbase/mkspecs/common/g++-base.conf || exit 1 + sed -i -e "s/-O2/$SLKCFLAGS/" qtbase/mkspecs/common/gcc-base.conf || exit 1 + sed -i -e "/^QMAKE_LFLAGS\s/s,+=,+= $SLKLDFLAGS,g" qtbase/mkspecs/common/gcc-base.conf || exit 1 export CFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS" export OPENSOURCE_CXXFLAGS="$SLKCFLAGS" + export QTDIR="${TMP}/qt-everywhere-opensource-src-${VERSION}" + export LD_LIBRARY_PATH="${QTDIR}/qtbase/lib:${QTDIR}/qttools/lib:${LD_LIBRARY_PATH}" + export QT_PLUGIN_PATH="${QTDIR}/qtbase/plugins" ./configure \ -confirm-license \ -opensource \ @@ -701,30 +420,46 @@ make_qt() { -system-zlib \ -system-sqlite \ -plugin-sql-sqlite \ + -accessibility \ + -alsa \ -dbus \ - -webkit \ - -phonon \ + -glib \ + -icu \ + -openssl \ + -optimized-qmake \ + -qpa xcb \ + -qt-harfbuzz \ + -reduce-relocations \ + -verbose \ + -xcb \ -nomake examples \ -nomake demos \ + -nomake tests \ + -no-pulseaudio \ + -no-separate-debug-info \ + -no-strip \ + -no-use-gold-linker \ -no-separate-debug-info \ -no-pch - make $NUMJOBS - make install INSTALL_ROOT=$PKG 2>&1 | tee $OUTPUT/install-${PRGNAM}_qt4.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 # install private headers (calibre wants them), # using `rsync -R` as easy way to preserve relative path names: rsync -aR \ - include/Qt{Core,Declarative,Gui,Script}/private \ + include/Qt5{Core,Declarative,Gui,Script}/private \ src/{corelib,declarative,gui,script}/*/*_p.h \ ${PKG}/usr/lib${LIBDIRSUFFIX}/calibre/ # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/qt + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a GPL_EXCEPTION*.TXT LICENSE* README* \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/qt || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true -} +} # End make_qt5 # # Build libmtp: @@ -732,7 +467,8 @@ make_qt() { make_mtp() { - echo -e "\n** libmtp **\n" + local MOD="libmtp" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/libmtp-${INT_MTP} @@ -759,18 +495,20 @@ make_mtp() { rm -rf $PKG/lib # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/libmtp + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a COPYING README* \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/libmtp || true -} + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true + +} # End make_libmtp # # Build ImageMagick: # -make_magick() { +make_ImageMagick() { - echo -e "\n** magick **\n" + local MOD="ImageMagick" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/ImageMagick-${INT_MAGICK} @@ -785,11 +523,13 @@ make_magick() { --without-perl \ --without-x \ --enable-zero-configuration \ - --build=$ARCH-slackware-linux || exit 1 + --build=$TARGET \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log # Build (no parallel build!) and install: - make || exit 1 - make install DESTDIR=$PKG || exit 1 + make 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log + make install DESTDIR=$PKG \ + 2>&1 | tee $OUTPUT/install-${PRGNAM}_${MOD}.log # .la files in libdir should be removed. # Other .la files should be left alone, as ImageMagick uses them internally @@ -797,22 +537,25 @@ make_magick() { rm -f $PKG/usr/lib${LIBDIRSUFFIX}/calibre/lib/*.la # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/ImageMagick + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a AUTHORS LICENSE NEWS NOTICE README* \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/ImageMagick || true -} + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true + +} # End make_ImageMagick # # Build python 2.7: # make_python() { - echo -e "\n** python **\n" + local MOD="python" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/Python-${INT_PYTHON} - zcat $PATCHDIR/python.readline.set_pre_input_hook.diff.gz | \ - patch -p1 --verbose + cat $PATCHDIR/python.readline.set_pre_input_hook.diff \ + | patch -p1 --verbose \ + 2>&1 | tee $OUTPUT/patch-${PRGNAM}_${MOD}.log # We are going to install python inside the calibre package. # This requires some changes to the standard build: @@ -827,39 +570,40 @@ make_python() { --with-threads \ --enable-ipv6 \ --enable-shared \ - --build=$ARCH-slackware-linux \ - 2>&1 | tee $OUTPUT/configure-${PRGNAM}_python.log + --build=$TARGET \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log - make $NUMJOBS || make 2>&1 | tee $OUTPUT/make-${PRGNAM}_python.log - make install DESTDIR=$PKG 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_python.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 # 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/python + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a LICENSE README \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/python || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true -} # End of make_python +} # End make_python # # Build pyseuptools: # make_setuptools() { - echo -e "\n** setuptools **\n" + local MOD="setuptools" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/setuptools-${INT_SETUPTOOLS} # Compile and install python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_setuptools.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/setuptools + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a *.txt \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/setuptools || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_setuptools @@ -868,13 +612,14 @@ make_setuptools() { # make_BeautifulSoup() { - echo -e "\n** BeautifulSoup **\n" + local MOD="BeautifulSoup" + echo -e "\n** $MOD **\n" - cd $TMP/tmp-$PRGNAM/BeautifulSoup-${INT_BEAUTIFULSOUP} + cd $TMP/tmp-$PRGNAM/beautifulsoup4-${INT_BEAUTIFULSOUP} # Compile and install python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_BeautifulSoup.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log } # End make_BeautifulSoup @@ -883,18 +628,19 @@ make_BeautifulSoup() { # make_dnspython() { - echo -e "\n** dnspython **\n" + local MOD="dnspython" + echo -e "\n** ${MOD} **\n" cd $TMP/tmp-$PRGNAM/dnspython-${INT_DNSPYTHON} # Compile and install python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_dnspython.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/dnspython + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a ChangeLog LICENSE README TODO \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/dnspython || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_dnspython @@ -903,7 +649,8 @@ make_dnspython() { # make_cssutils() { - echo -e "\n** cssutils **\n" + local MOD="cssutils" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/cssutils-${INT_CSSUTILS} @@ -914,12 +661,12 @@ make_cssutils() { # Compile and install python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_cssutils.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/cssutils + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a COPYING* *.txt \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/cssutils || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_cssutils @@ -928,55 +675,41 @@ make_cssutils() { # make_dateutil() { - echo -e "\n** dateutil **\n" + local MOD="dateutil" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/python-dateutil-${INT_DATEUTIL} # Compile and install python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_dateutil.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/dateutil + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a LICENSE NEWS README \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/dateutil || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_dateutil # -# Build imaging (this package is called "pil" in Slackware): +# Build imaging (this package is called "python-pillow" in Slackware): # -make_imaging() { +make_pillow() { - echo -e "\n** imaging **\n" + local MOD="imaging" + echo -e "\n** $MOD **\n" - cd $TMP/tmp-$PRGNAM/Imaging-${INT_IMAGING} + cd $TMP/tmp-$PRGNAM/Pillow-${INT_IMAGING} # Installation path for headers: PYTHONINC=$( python -c 'from distutils.sysconfig import *;print get_python_inc()' ) - # Support transparent gifs: - cat $PATCHDIR/python-imaging.giftrans.diff | patch -p1 --verbose \ - 2>&1 | tee -a $OUTPUT/patch-$PRGNAM.log - # Fix the python path for Scripts/*.py : for script in Scripts/*.py ; do sed -i -e "s#/usr/local/bin/python#python#" $script chmod 755 $script done - # Since we use a non-standard python prefix, the setup.py must be told to - # look into Slackware's system directories too, or we lose jpeg/zlib/freetype - # etc... support: - sed -i \ - -e 's#^TCL_ROOT =.*#TCL_ROOT = libinclude("/usr")#' \ - -e 's#^JPEG_ROOT =.*#JPEG_ROOT = libinclude("/usr")#' \ - -e 's#^ZLIB_ROOT =.*#ZLIB_ROOT = libinclude("/usr")#' \ - -e 's#^TIFF_ROOT =.*#TIFF_ROOT = libinclude("/usr")#' \ - -e 's#^FREETYPE_ROOT =.*#FREETYPE_ROOT = libinclude("/usr")#' \ - -e 's#^LCMS_ROOT =.*#LCMS_ROOT = libinclude("/usr")#' \ - setup.py - # ... and compensate for 64bit: if [ "$ARCH" = "x86_64" ]; then sed -i -e "s#\([^0-9a-zA-Z]\)\(lib\)\([\"';,/)]\)#\1\264\3#" setup.py @@ -984,44 +717,34 @@ make_imaging() { # Compile and install CFLAGS="$SLKCFLAGS" \ - python setup.py build_ext build 2>&1 | tee $OUTPUT/make-${PRGNAM}_imaging.log - ( cd Sane - CFLAGS="$SLKCFLAGS" python setup.py build \ - 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_imaging.log - ) - - # Install all of this: - mkdir -p $PKG/${PYTHONINC}/Imaging - install -m 644 libImaging/*.h $PKG/${PYTHONINC}/Imaging - python setup.py install --skip-build --root $PKG - ( cd Sane - python setup.py install --skip-build --root $PKG - ) + python setup.py install --root $PKG \ + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/imaging + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a README CHANGES \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/imaging || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true -} # End make_imaging +} # End make_pillow # # Build lxml: # make_lxml() { - echo -e "\n** lxml **\n" + local MOD="lxml" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/lxml-${INT_LXML} # Compile and install python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_lxml.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/lxml + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a *.txt doc/licenses \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/lxml || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_lxml @@ -1030,19 +753,20 @@ make_lxml() { # make_mechanize() { - echo -e "\n** mechanize **\n" + local MOD="mechanize" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/mechanize-${INT_MECHANIZE} # Compile and install export CFLAGS="$SLKCFLAGS" python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_mechanize.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/mechanize + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a *.txt \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/mechanize || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_mechanize @@ -1051,21 +775,22 @@ make_mechanize() { # make_sip() { - echo -e "\n** sip **\n" + local MOD="sip" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/sip-${INT_SIP} # Compile and install: CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ - python configure.py 2>&1 | tee $OUTPUT/configure-${PRGNAM}_sip.log - make $NUMJOBS || make 2>&1 | tee $OUTPUT/make-${PRGNAM}_sip.log - make install DESTDIR=$PKG 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_sip.log + python configure.py 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 # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/sip + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a LICENSE COPYING* NEWS README TODO \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/sip || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_sip @@ -1074,71 +799,92 @@ make_sip() { # make_dbuspython() { - echo -e "\n** dbus-python **\n" + local MOD="dbus-python" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/dbus-python-${INT_DBUSPYTHON} LDFLAGS="" \ LD_LIBRARY_PATH="/usr/lib${LIBDIRSUFFIX}/calibre/lib" \ - PYTHON_INCLUDES="-I/usr/lib${LIBDIRSUFFIX}/calibre/include/python${REQUIRED_PYTHON}" \ - PYTHON_LIBS="-L/usr/lib${LIBDIRSUFFIX}/calibre/lib -lpython${REQUIRED_PYTHON}" \ + PYTHON_INCLUDES="$SLK_PYTHON_INCLUDES" \ + PYTHON_LIBS="$SLK_PYTHON_LIBS" \ ./configure \ --prefix=/usr/lib${LIBDIRSUFFIX}/calibre \ --enable-shared=yes \ --enable-static=no \ - --build=$ARCH-slackware-linux \ - --host=$ARCH-slackware-linux \ - 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dbuspython.log + --build=$TARGET \ + --host=$TARGET \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log - make 2>&1 | tee $OUTPUT/make-${PRGNAM}_dbuspython.log - make install DESTDIR=$PKG 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dbuspython.log + make 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log + make install DESTDIR=$PKG 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/dbus-python + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a AUTHORS COPYING* INSTALL NEWS README* \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/dbus-python || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true -} +} # End make_dbuspython + +# +# Build python-pygments: +# +make_pygments() { + + local MOD="pygments" + echo -e "\n** $MOD **\n" + + cd $TMP/tmp-$PRGNAM/Pygments-${INT_PYGMENTS} + + # Compile and install + export CFLAGS="$SLKCFLAGS" + python 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* \ + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true + +} # End make_pygments # # Build PyQt: # make_pyqt() { - echo -e "\n** pyqt **\n" + local MOD="pyqt" + echo -e "\n** $MOD **\n" - cd $TMP/tmp-$PRGNAM/PyQt-x11-gpl-${INT_PYQT} + cd $TMP/tmp-$PRGNAM/PyQt-gpl-${INT_PYQT} if [ "${BUILD_QT}" = "NO" ]; then - # Fix phonon detection: - zcat $PATCHDIR/PyQt.phonon.diff.gz | patch -p1 --verbose - - export QTDIR=/usr/lib${LIBDIRSUFFIX}/qt + export QTDIR=/usr/lib${LIBDIRSUFFIX}/qt5 else - unset QTDIR - unset QT4DIR + unset QT5DIR export QTDIR=/usr/lib${LIBDIRSUFFIX}/calibre fi export CFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS" - python configure.py --confirm-license --verbose \ - 2>&1 | tee $OUTPUT/configure-${PRGNAM}_pyqt.log + python configure.py --confirm-license --verbose --qmake=$QTDIR/bin/qmake \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}_${MOD}.log make $NUMJOBS || make \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_pyqt.log - make install DESTDIR=$PKG \ - 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_pyqt.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log + # INSTALL_ROOT is needed to install libpyqt4.so properly: + make install DESTDIR=$PKG INSTALL_ROOT=$PKG \ + 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_${MOD}.log if [ "${BUILD_QT}" = "NO" ]; then # Remove ugly bits that threaten to overwrite a system file: - rm -r $PKG/usr/lib${LIBDIRSUFFIX}/qt + rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/qt5 fi # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/pyqt + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a GPL_EXCEPTION*.TXT LICENSE.* NEWS OPENSOURCE-NOTICE.TXT README THANKS \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/pyqt || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_pyqt @@ -1147,19 +893,20 @@ make_pyqt() { # make_pycrypto() { - echo -e "\n** pycrypto **\n" + local MOD="pycrypto" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/pycrypto-${INT_PYCRYPTO} # Compile and install export CFLAGS="$SLKCFLAGS" python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_crypto.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/pycrypto + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a ACKS ChangeLog COPYRIGHT README TODO Doc \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/pycrypto || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_pycrypto @@ -1168,63 +915,43 @@ make_pycrypto() { # make_netifaces() { - echo -e "\n** netifaces **\n" + local MOD="netifaces" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/netifaces-${INT_NETIFACES} # Compile and install export CFLAGS="$SLKCFLAGS" python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_netifaces.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/netifaces + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a README \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/netifaces || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_netifaces # -# Build cssselect: -# -make_cssselect() { - - echo -e "\n** cssselect **\n" - - cd $TMP/tmp-$PRGNAM/cssselect-${INT_CSSSELECT} - - # Compile and install - export CFLAGS="$SLKCFLAGS" - python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_cssselect.log - - # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/cssselect - cp -a AUTHORS CHANGES LICENSE PKG-INFO README.rst \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/cssselect || true - -} # End make_cssselect - - -# # Build apsw: # make_apsw() { - echo -e "\n** apsw **\n" + local MOD="apsw" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/apsw-${INT_APSW} # Compile and install export CFLAGS="$SLKCFLAGS" python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_apsw.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/apsw + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a PKG-INFO doc/copyright.html \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/apsw || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_apsw @@ -1234,19 +961,20 @@ make_apsw() { # make_psutil() { - echo -e "\n** psutil **\n" + local MOD="psutil" + echo -e "\n** $MOD **\n" cd $TMP/tmp-$PRGNAM/psutil-${INT_PSUTIL} # Compile and install export CFLAGS="$SLKCFLAGS" python setup.py install --root=$PKG \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}_psutil.log + 2>&1 | tee $OUTPUT/make-${PRGNAM}_${MOD}.log # Add documentation: - mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/psutil + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} cp -a CREDITS HISTORY INSTALL LICENSE PKG-INFO README \ - $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/psutil || true + $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc/internaldeps/${MOD} || true } # End make_psutil @@ -1259,7 +987,8 @@ make_calibre () { echo -e "\n** calibre **\n" - cd $TMP/tmp-$PRGNAM/${PRGNAM} + touch $OUTPUT/patch-$PRGNAM.log + cd $TMP/tmp-$PRGNAM/${PRGNAM}-${VERSION} # Calibre 0.8.6 has a version bug: INTERNAL_VERSION=$(echo $VERSION | sed -e 's/\./, /g') @@ -1271,14 +1000,6 @@ make_calibre () { src/calibre/constants.py fi - ## Slackware 13.37 and earlier has a libmtp which is too old, - ## so we remove support for mtp device dection: - #if [ $(echo $SLACKVER | cut -f1 -d.) -lt 14 ]; then - # touch $OUTPUT/patch-$PRGNAM.log - # cat $PATCHDIR/calibre_nomtp.patch | patch -p1 --verbose \ - # 2>&1 | tee -a $OUTPUT/patch-$PRGNAM.log - #fi - if [ "${BUILD_QT}" = "NO" ]; then # Remove the unneeded 'qt_hack' which seems to be specific to MacOS/Windows # (correct me if I am wrong). This extension refuses to compile on Slackware @@ -1293,9 +1014,9 @@ make_calibre () { esac fi - # Without the creation of these directories, calibre-0.9.33 refuses to build: - cat $PATCHDIR/calibre.missingdirs.patch | patch -p1 --verbose \ - 2>&1 | tee -a $OUTPUT/patch-$PRGNAM.log + ## Without the creation of these directories, calibre-0.9.33 refuses to build: + #cat $PATCHDIR/calibre.missingdirs.patch | patch -p1 --verbose \ + # 2>&1 | tee -a $OUTPUT/patch-$PRGNAM.log # This dropping of privilege is unneccessary and breaks the SlackBuild: sed -i -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \ @@ -1322,6 +1043,12 @@ make_calibre () { # Cut out the DOS crap: sed -i -e 's/\r//' src/calibre/web/feeds/recipes/* + ## Prevent "qfontengine_ft.cpp undefined reference to `FT_Get_Char_Index'": + #sed -i -e 's/QMAKE_LIBS_PRIVATE += {glib} {fontconfig}/& {freetype}/' \ + # setup/extensions.py + cat $SRCDIR/patches/calibre_freetype.patch | patch -p1 --verbose \ + 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log + OVERRIDE_LDFLAGS="$LDFLAGS $SLKLDFLAGS" \ OVERRIDE_CFLAGS="$CFLAGS $SLKCFLAGS" \ python setup.py build \ @@ -1385,7 +1112,7 @@ make_calibre () { # # Compilation of the software: -if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_QT" = "YES" -o "$BUILD_MTP" = "YES" ]; then +if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_PYTHONMODS" = "YES" -o "$BUILD_QT" = "YES" -o "$BUILD_MTP" = "YES" ]; then if [ -f $SRCDIR/calibre_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: @@ -1437,7 +1164,7 @@ if [ "$BUILD_QT" = "YES" ]; then # will wipe the origin and we will have to sync it all back: mkdir -p /usr/lib${LIBDIRSUFFIX}/calibre - make_qt + make_qt5 rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ fi @@ -1457,6 +1184,26 @@ if [ "$BUILD_PYTHON" = "YES" ]; then make_python rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ + fi + + 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} $(python -c 'from distutils.sysconfig import *;print get_python_inc()')" + SLK_PYTHON_LIBS="-L/usr/lib${LIBDIRSUFFIX}/calibre/lib -lpython${REQUIRED_PYTHON} $(python -c 'from distutils.sysconfig import *;print get_python_lib()')" +fi + +if [ "$BUILD_PYTHONMODS" = "YES" ]; then + # The python2.7 modules need to be compiled into the package: + + if [ ! -f $SRCDIR/calibre_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 + ## 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" @@ -1465,13 +1212,10 @@ if [ "$BUILD_PYTHON" = "YES" ]; then make_setuptools 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_BeautifulSoup rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ - make_apsw + make_apsw || exit 1 rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ make_dnspython @@ -1483,9 +1227,8 @@ if [ "$BUILD_PYTHON" = "YES" ]; then make_dateutil rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ - # Present in Slackware as 'pil': - #make_imaging - #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_lxml rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ @@ -1499,12 +1242,15 @@ if [ "$BUILD_PYTHON" = "YES" ]; then make_netifaces rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ - make_cssselect + 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_pygments + rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ + make_sip rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ @@ -1512,13 +1258,13 @@ if [ "$BUILD_PYTHON" = "YES" ]; then rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ # Does not work yet, linker errors: - #make_magick + #make_ImageMagick #rsync -a $PKG/usr/lib${LIBDIRSUFFIX}/calibre/ /usr/lib${LIBDIRSUFFIX}/calibre/ fi fi -if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_QT" = "YES" -o "$BUILD_MTP" = "YES" ]; then +if [ "$BUILD_PYTHON" = "YES" -o "$BUILD_PYTHONMODS" = "YES" -o "$BUILD_QT" = "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). @@ -1589,7 +1335,7 @@ 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" ]; then +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/ rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/calibre/doc @@ -1601,7 +1347,7 @@ cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION find $PKG/usr/doc -type f -exec chmod 644 {} \; -if [ "$BUILD_PYTHON" = "YES" ]; then +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 @@ -1613,17 +1359,13 @@ 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 -if [ "$BUILD_PYTHON" = "YES" ]; then +if [ "$BUILD_PYTHONMODS" = "YES" ]; then cat $SRCDIR/slack-required \ - | grep -Ev "BeautifulSoup|dnspython|pycrypto|pysetuptools|python-apsw|python-cssselect|python-cssutils|python-dateutil|python-imaging|python-lxml|python-mechanize|python-netifaces|python-psutil" \ + | grep -Ev "BeautifulSoup|dnspython|pycrypto|pysetuptools|python-apsw|dbus-python|python-cssutils|python-dateutil|python-lxml|python-mechanize|python-netifaces|python-psutil|python-pygments" \ > $PKG/install/slack-required else cat $SRCDIR/slack-required > $PKG/install/slack-required fi -if [ $(cat /etc/slackware-version | cut -f2 -d' ' | cut -f1 -d.) -ge 14 ]; then - # Slackware 14 and onwards ship with icu4c - sed -i -e '/icu4c/d' $PKG/install/slack-required -fi # Build the package: cd $PKG |