[arch-commits] Commit in calibre/trunk (PKGBUILD)
Eli Schwartz
eschwartz at archlinux.org
Fri Sep 25 05:24:23 UTC 2020
Date: Friday, September 25, 2020 @ 05:24:22
Author: eschwartz
Revision: 711955
upgpkg: calibre 5.0.0-1: upstream release
Upstream is now fully migrated to python3 and python2 is no longer supported or
compatible. Good riddance! We now move back to a single package which replaces
all previous alternatives.
Moves from python-sip (4.x) to sip5 and sip-builder to build.
Also note one test is being ignored since it crashes in Qt, but only in
makechrootpkg/nspawn, and works fine on the host.
Modified:
calibre/trunk/PKGBUILD
----------+
PKGBUILD | 135 +++++++++++--------------------------------------------------
1 file changed, 25 insertions(+), 110 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2020-09-25 05:16:09 UTC (rev 711954)
+++ PKGBUILD 2020-09-25 05:24:22 UTC (rev 711955)
@@ -7,9 +7,9 @@
# Contributor: Larry Hajali <larryhaja at gmail.com>
pkgbase=calibre
-pkgname=('calibre' 'calibre-common' 'calibre-python3')
-pkgver=4.23.0
-pkgrel=2
+pkgname=calibre
+pkgver=5.0.0
+pkgrel=1
pkgdesc="Ebook management application"
arch=('x86_64')
url="https://calibre-ebook.com/"
@@ -17,29 +17,21 @@
_py_deps=('apsw' 'beautifulsoup4' 'cssselect' 'css-parser' 'dateutil' 'dbus' 'dnspython'
'feedparser' 'html2text' 'html5-parser' 'lxml' 'markdown' 'mechanize' 'msgpack'
'netifaces' 'unrardll' 'pillow' 'psutil' 'pychm' 'pygments' 'pyqt5'
- 'pyqtwebengine' 'regex')
-_py2_deps=("${_py_deps[@]}" 'ipaddress')
-_py3_deps=("${_py_deps[@]}" 'zeroconf')
+ 'pyqtwebengine' 'regex' 'zeroconf')
depends=('hunspell' 'hyphen' 'icu' 'jxrlib' 'libmtp' 'libusbx'
- 'libwmf' 'mathjax' 'mtdev' 'optipng' 'podofo' 'qt5-svg' 'udisks2')
-makedepends=("${_py2_deps[@]/#/python2-}" "${_py3_deps[@]/#/python-}" 'qt5-x11extras'
- 'rapydscript-ng' 'sip' 'xdg-utils')
+ 'libwmf' 'mathjax' 'mtdev' 'optipng' 'podofo'
+ "${_py_deps[@]/#/python-}" 'qt5-svg' 'udisks2')
+makedepends=('qt5-x11extras' 'sip5' 'pyqt-builder' 'xdg-utils' 'rapydscript-ng')
checkdepends=('xorg-server-xvfb')
+optdepends=('poppler: required for converting pdf to html')
+conflicts=('calibre-common' 'calibre-python3')
+replaces=('calibre-common' 'calibre-python3')
source=("https://download.calibre-ebook.com/${pkgver}/calibre-${pkgver}.tar.xz"
- "https://calibre-ebook.com/signatures/${pkgbase}-${pkgver}.tar.xz.sig"
- "Dont-subclass-QLineEdit-in-QDateEdit.patch"
- "0001-De-vendor-pychm.patch"
- "calibre-alternatives.sh")
-sha256sums=('16de51473cf0e336f946a57251a1e4f4fbba1f857f17d8fc14aa132e7eb59518'
- 'SKIP'
- 'fb451d9d845a291412f8c26d1f39699d56c70d955b128f32aeed223aedcbadf3'
- 'f7b829aea1d33818808cbeeb9a295e18e49edf619a5bc89b8315c88f56ce4d25'
- '940cc7081d0a64ba363bb0e1a1d8e0563c676458f90db845f2fbdd4195c075b3')
-b2sums=('3a950ac2b3aade547bb686cc99b963357e76b5931049ecb4a5e09ddaf1db26c74fa3b4ebd74e42d83f68c5c9827c534c0247a3c6a9b000641a778cfe5ac33599'
- 'SKIP'
- '886e66191f63959b8bcc8b2de2b7c431260100f9f3b54dc0e5b7dbeae4ea908fda0d8dc75e1aa990edde79ae29d5ecd4d5a91a204914c208d0b40fa1cbdb2cf0'
- 'c35181c70084813772c4d593311b48b3e3bcc3b4e9e8ee58112b9beab2bbc0de1ee22aafc3d06cfd812f87a2e91292f7b7f1dc5f522c55440f415b6b265d5671'
- '543df218dfd2d4152a941ab57118d69bf4c6927e8020ee53c9a8b38efe9c89f032dc6385207e134cc9f69bfdc9cbcf63cd92fa6ea1647cbd534c5a511a5d1e91')
+ "https://calibre-ebook.com/signatures/${pkgbase}-${pkgver}.tar.xz.sig")
+sha256sums=('72b136273cba66c83cb780363500fab70974bf9f854ee3b98b7110ca719aea2e'
+ 'SKIP')
+b2sums=('20554a8c60b48fb4fc5277db493cb520a38c93df584dc825b2b980483d8a879570fe6f94f13e263050f3fefdb5c54a47109564691d684f71644503f6fa9360c7'
+ 'SKIP')
validpgpkeys=('3CE1780F78DD88DF45194FD706BC317B515ACE7C') # Kovid Goyal (New longer key) <kovid at kovidgoyal.net>
prepare(){
@@ -52,18 +44,6 @@
-e "s/^Name=calibre/Name=Calibre/g" \
-i src/calibre/linux.py
- # cherry-picked bits of python2-backports.functools_lru_cache
- # needed for frozen builds + beautifulsoup4
- # see https://github.com/kovidgoyal/calibre/commit/b177f0a1096b4fdabd8772dd9edc66662a69e683#commitcomment-33169700
- rm -r src/backports
- # biplist is only used on macOS + python2
- rm -r src/biplist/
- # devendor pychm now, from the py3 building branch:
- # https://github.com/kovidgoyal/calibre/commit/959b7e3fafff5faad6ae59263f825b23c7563dd4
- patch -p1 -i ../0001-De-vendor-pychm.patch
- # FS#67690 backport workaround for https://bugreports.qt.io/browse/QTBUG-86232
- patch -p1 -i ../Dont-subclass-QLineEdit-in-QDateEdit.patch
-
cd resources
# Remove unneeded files
@@ -76,12 +56,10 @@
build() {
cd "${pkgbase}-${pkgver}"
- LANG='en_US.UTF-8' python2 setup.py build
- LANG='en_US.UTF-8' python2 setup.py gui
- LANG='en_US.UTF-8' python2 setup.py mathjax --path-to-mathjax /usr/share/mathjax --system-mathjax
- LANG='en_US.UTF-8' python2 setup.py rapydscript
-
- LANG='en_US.UTF-8' CALIBRE_PY3_PORT=1 python3 setup.py build
+ LANG='en_US.UTF-8' python setup.py build
+ LANG='en_US.UTF-8' python setup.py gui
+ LANG='en_US.UTF-8' python setup.py mathjax --path-to-mathjax /usr/share/mathjax --system-mathjax
+ LANG='en_US.UTF-8' python setup.py rapydscript
}
check() {
@@ -90,95 +68,32 @@
# without xvfb-run this fails with much "Control socket failed to recv(), resetting"
# ERROR: test_websocket_perf (calibre.srv.tests.web_sockets.WebSocketTest)
# one or two tests are a bit flaky, but the python3 build seems to succeed more often
- LANG='en_US.UTF-8' xvfb-run env CALIBRE_PY3_PORT=1 python3 setup.py test
- LANG='en_US.UTF-8' xvfb-run python2 setup.py test
+ #
+ # test_ajax_book segfaults on qt >=5.15.1 inside of qt itself, but only in nspawn containers
+ # see https://github.com/kovidgoyal/calibre/commit/28ef780d9911d598314d98bdfc3b1c88a94681df
+ LANG='en_US.UTF-8' xvfb-run python setup.py test --exclude-test-name=test_ajax_book
}
-package_calibre-common() {
- pkgdesc+=" (common files)"
- optdepends=('poppler: required for converting pdf to html')
- conflicts=("calibre<${pkgver}-${pkgrel}")
- install=calibre-common.install
+package() {
cd "${pkgbase}-${pkgver}"
# If this directory doesn't exist, zsh completion won't install.
install -d "${pkgdir}/usr/share/zsh/site-functions"
- LANG='en_US.UTF-8' python2 setup.py install \
+ LANG='en_US.UTF-8' python setup.py install \
--staging-root="${pkgdir}/usr" \
--prefix=/usr
- for bin in "${pkgdir}"/usr/bin/*; do
- ln -sfT "/usr/lib/calibre/bin/${bin##*/}" "${bin}"
- done
-
- install -Dm755 "${srcdir}"/calibre-alternatives.sh "${pkgdir}"/usr/bin/calibre-alternatives
-
cp -a man-pages/ "${pkgdir}/usr/share/man"
# not needed at runtime
rm -r "${pkgdir}"/usr/share/calibre/rapydscript/
- #cleanup overlapping files
- rm -r "${pkgdir}"/usr/lib/python2.7
- rm -r "${pkgdir}"/usr/lib/calibre/calibre/plugins/
- find "${pkgdir}" -type f -name '*.py[co]' -delete
-}
-
-package_calibre() {
- pkgdesc+=" (python2 build)"
- depends=('calibre-common' "${_py2_deps[@]/#/python2-}")
- optdepends+=('ipython2: to use calibre-debug')
- install=calibre.install
-
- cd "${pkgbase}-${pkgver}"
-
- LANG='en_US.UTF-8' python2 setup.py install \
- --staging-root="${pkgdir}/usr" \
- --prefix=/usr \
- --no-postinstall \
- --bindir=/usr/lib/calibre/bin-py2 \
- --staging-bindir="${pkgdir}/usr/lib/calibre/bin-py2" \
- --staging-sharedir="${srcdir}"/temp
-
# Compiling bytecode FS#33392
# This is kind of ugly but removes traces of the build root.
while read -rd '' _file; do
_destdir="$(dirname "${_file#${pkgdir}}")"
- python2 -m compileall -d "${_destdir}" "${_file}"
- python2 -O -m compileall -d "${_destdir}" "${_file}"
- done < <(find "${pkgdir}"/usr/lib/ -name '*.py' -print0)
-
- # cleanup overlapping files
- find "${pkgdir}"/usr/lib/calibre -name '*.py' -delete
- rm -r "${pkgdir}"/usr/lib/calibre/calibre/plugins/3/
-}
-
-package_calibre-python3() {
- pkgdesc+=" (experimental python3 port)"
- depends=('calibre-common' "${_py3_deps[@]/#/python-}")
- optdepends+=('ipython: to use calibre-debug')
- install=calibre.install
-
- cd "${pkgbase}-${pkgver}"
-
- LANG='en_US.UTF-8' CALIBRE_PY3_PORT=1 python3 setup.py install \
- --staging-root="${pkgdir}/usr" \
- --prefix=/usr \
- --no-postinstall \
- --bindir=/usr/lib/calibre/bin-py3 \
- --staging-bindir="${pkgdir}/usr/lib/calibre/bin-py3" \
- --staging-sharedir="${srcdir}"/temp
-
- # Compiling bytecode FS#33392
- # This is kind of ugly but removes traces of the build root.
- while read -rd '' _file; do
- _destdir="$(dirname "${_file#${pkgdir}}")"
python3 -m compileall -d "${_destdir}" "${_file}"
python3 -O -m compileall -d "${_destdir}" "${_file}"
done < <(find "${pkgdir}"/usr/lib/ -name '*.py' -print0)
-
- # cleanup overlapping files
- find "${pkgdir}"/usr/lib/calibre -name '*.py' -delete
- rm "${pkgdir}"/usr/lib/calibre/calibre/plugins/*.so
}
More information about the arch-commits
mailing list