diff options
Diffstat (limited to 'libre/calibre3/PKGBUILD')
-rw-r--r-- | libre/calibre3/PKGBUILD | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/libre/calibre3/PKGBUILD b/libre/calibre3/PKGBUILD new file mode 100644 index 000000000..70e634774 --- /dev/null +++ b/libre/calibre3/PKGBUILD @@ -0,0 +1,154 @@ +# Maintainer (Arch): Jelle van der Waa <jelle@vdwaa.nl> +# Maintainer (Arch): Eli Schwartz <eschwartz@archlinux.org> +# Contributor (Arch): Daniel Wallace <danielwallace at gtmanfred dot com> +# Contributor (Arch): Giovanni Scafora <giovanni@archlinux.org> +# Contributor (Arch): Petrov Roman <nwhisper@gmail.com> +# Contributor (Arch): Andrea Fagiani <andfagiani _at_ gmail dot com> +# Contributor (Arch): Larry Hajali <larryhaja@gmail.com> +# Maintainer: Andreas Grapentin <andreas@grapentin.org> +# Contributor: David P.<megver83@parabola.nu> +# Contributor: Jesús E.<heckyel@parabola.nu> +# Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info> +# Contributor: David Palma <dbpalma9@gmail.com> + + +# parabola changes and rationale: +# - removed de-compression engine for rar archives +# - frozen at v3.48.0 - v4.x and above removed support for webkit + + +pkgname=calibre3 +_srcname=calibre +pkgver=3.48.0 +pkgrel=1 +pkgrel+=.parabola3 +pkgdesc="Ebook management application" +pkgdesc+=", without nonfree RAR support, without webengine" +arch=('x86_64') +arch+=('i686' 'armv7h') +url="https://calibre-ebook.com/" +license=('GPL3') + +_py_deps=('apsw' 'beautifulsoup4' 'cssselect' 'css-parser' 'dateutil' 'dbus' 'dnspython' 'dukpy' + 'feedparser' 'html2text' 'html5-parser' 'lxml' 'markdown' 'mechanize' 'msgpack' + 'netifaces' 'pillow' 'psutil' 'pygments' 'pyqt5' 'regex') +depends=('chmlib' 'hunspell' 'jxrlib' 'libmtp' 'libusbx' 'libwmf' 'mathjax2' 'mtdev' 'optipng' + 'podofo' "${_py_deps[@]/#/python2-}" 'qt5-svg' 'qt5-webkit' 'udisks2') +depends+=('libicui18n.so' 'libicuuc.so') +makedepends=('qt5-x11extras' 'rapydscript-ng' 'sip' 'xdg-utils') +checkdepends=('xorg-server-xvfb') +optdepends=('ipython2: to use calibre-debug' + 'poppler: required for converting pdf to html') +replaces=('calibre') +source=("https://download.calibre-ebook.com/${pkgver}/${_srcname}-${pkgver}.tar.xz" + "https://calibre-ebook.com/signatures/${_srcname}-${pkgver}.tar.xz.sig" + 'libre.patch' + "devendor-hunspell.patch" + "update-fontconfig-db-qt5.15.patch") + +sha256sums=('024528f0f913c78e121fb34beb3dae8dba3686f2334422c6450808796042950c' + 'SKIP' + '00c352f4a5b49da43f38e495e3a2d82144f753a3d797cec8b5870b872137a70b' + 'ff9be7c1773c18ccf4acaff5598ad29cf1477a1d33ddde85184d97f9a44ace1a' + 'ffd7aa6dab196420843064cd29454b56aa8c8bd014af3adc734b4f45f3c3baa7') +b2sums=('9a7fae20487ae93120cfdc06a312a42d54d68935fdd2bc18dc41be5f8d359c79eae24e0409ba8e7f4df85e2f073f80ce6bab56cba0638cead6693600fa93cb41' + 'SKIP' + 'ce3d88839da2e838a4ed0bf141cfb1fd84cabe49537c1d8c98ecb1e14c6af2b050b4ce097d2a69cf9c80c6b1ccb89c01c3268d29391639207adf1dc1daa86069' + '29a3597676fd8a26d286363ba5002d2c439faba6c8cd3d6c98fd10f8aa3cd41021dbda501f445ed94759dc17561c945488822ba4f9e17334481d3261a973787c' + '14038b4ea5f87d9a8f645b5af8342da90337202b0247b07dccd8995f55bb965b5c2bbdddc24b55b6e92e899f91d5dec19c10ddea8fcc42c8ed3d74ee90eb09d6') +validpgpkeys=('3CE1780F78DD88DF45194FD706BC317B515ACE7C') # Kovid Goyal + + +prepare() +{ + cd "${srcdir}"/${_srcname}-${pkgver} + + # fix freedom issues + rm -v imgsrc/mimetypes/rar.svg + rm -v src/calibre/ebooks/metadata/rar.py + rm -v src/calibre/utils/unrar.py + rm -v resources/images/mimetypes/{cbr,rar}.png + patch -fNp1 -i "$srcdir/libre.patch" + + # Desktop integration (e.g. enforce arch defaults) + sed -e "/import config_dir/,/os.rmdir(config_dir)/d" \ + -e "s/'ctc-posml'/'text' not in mt and 'pdf' not in mt and 'xhtml'/" \ + -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 + + # de-vendor hunspell (back-ported from 4.x) + # see: https://github.com/kovidgoyal/calibre/commit/420e9e121b67db197e0c5d0bf23b92c174f2678f.patch + patch -p1 -i ../devendor-hunspell.patch + + # Update fontconfig database for Qt 5.15 (back-ported from 4.x) + # see: https://github.com/kovidgoyal/calibre/commit/db7007a25faefb0cc90e64dda1c0793393b9512d.patch + patch -p1 -i ../update-fontconfig-db-qt5.15.patch + + cd resources + + # Remove unneeded files + rm ${_srcname}-portable.* mozilla-ca-certs.pem + + # tarball cache from calibre 4.x + rm editor.js viewer.{js,html} + + # use system mathjax + rm -r mathjax +} + +build() +{ + cd "${srcdir}"/${_srcname}-${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/mathjax2 --system-mathjax + LANG='en_US.UTF-8' python2 setup.py rapydscript +} + +check() +{ + local is_network_enabled=1 + + # tests require networking + (( ${is_network_enabled} )) || return 0 + + # 2 failing tests on armv7h + [[ $CARCH = arm* ]] && return 0 + + cd "${srcdir}"/${_srcname}-${pkgver} + + # without xvfb-run this fails with much "Control socket failed to recv(), resetting" + # ERROR: test_websocket_perf (calibre.srv.tests.web_sockets.WebSocketTest) + LANG='en_US.UTF-8' xvfb-run python2 setup.py test +} + +package() +{ + cd "${srcdir}"/${_srcname}-${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 \ + --staging-root="${pkgdir}/usr" \ + --prefix=/usr + + cp -a man-pages/ "${pkgdir}/usr/share/man" + + # not needed at runtime + rm -r "${pkgdir}"/usr/share/calibre/rapydscript/ + + # 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) +} |