summaryrefslogtreecommitdiffstats
path: root/calibre
diff options
context:
space:
mode:
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
commit6d3341992cccff8f6b7d320943b53b8779db7291 (patch)
tree334a8638fcf23cf1fee9c4634aa120d7dfc845a0 /calibre
parent6fde6e28950810d0cacbda70a56b02ab1b30a852 (diff)
downloadasb-6d3341992cccff8f6b7d320943b53b8779db7291.tar.gz
asb-6d3341992cccff8f6b7d320943b53b8779db7291.tar.xz
First build of calibre-2.x which is based on Qt5
Diffstat (limited to 'calibre')
-rwxr-xr-xcalibre/build/calibre.SlackBuild934
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