calibre: add package for calibre-4.x

Needs a package for QtWebEngineCore, which is not in pkgsrc yet.
This commit is contained in:
Thomas Klausner 2020-03-19 22:29:11 +01:00
parent d4223a2e39
commit 3ec22dae56
9 changed files with 3842 additions and 0 deletions

View File

@ -335,6 +335,7 @@ SUBDIR+= cairo-dock
SUBDIR+= cairo-dock-plugins
SUBDIR+= cairo-java
SUBDIR+= calcurse
SUBDIR+= calibre
SUBDIR+= calypso-git
SUBDIR+= canna
SUBDIR+= canna-canuum

10
calibre/DESCR Normal file
View File

@ -0,0 +1,10 @@
calibre is a ebook library management application. Its features are
divided into the following categories:
* Library Management
* Format conversion (all major ebook formats can be converted from)
* Syncing to ebook reader devices
* Fetching news from the web and converting it into ebook form
* Viewing many different ebook formats
* Giving you access to your book collection over the internet using
just a browser

147
calibre/Makefile Normal file
View File

@ -0,0 +1,147 @@
# $NetBSD: Makefile,v 1.234 2020/03/10 22:10:31 wiz Exp $
DISTNAME= calibre-4.11.0
CATEGORIES= misc
#MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=calibre/}
MASTER_SITES= http://download.calibre-ebook.com/${PKGVERSION_NOREV}/
EXTRACT_SUFX= .tar.xz
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://www.calibre-ebook.com/
COMMENT= E-book library management application
LICENSE= gnu-gpl-v3
DEPENDS+= ${PYPKGPREFIX}-apsw>=3.7.17:../../databases/py-apsw
DEPENDS+= ${PYPKGPREFIX}-beautifulsoup4-[0-9]*:../../www/py-beautifulsoup4
DEPENDS+= ${PYPKGPREFIX}-chardet-[0-9]*:../../converters/py-chardet
DEPENDS+= ${PYPKGPREFIX}-crypto-[0-9]*:../../security/py-crypto
DEPENDS+= ${PYPKGPREFIX}-css-parser-[0-9]*:../../textproc/py-css-parser
DEPENDS+= ${PYPKGPREFIX}-dateutil>=1.4.1:../../time/py-dateutil
DEPENDS+= ${PYPKGPREFIX}-dns>=1.6.0:../../net/py-dns
DEPENDS+= ${PYPKGPREFIX}-elementtree-[0-9]*:../../textproc/py-elementtree
DEPENDS+= ${PYPKGPREFIX}-feedparser-[0-9]*:../../textproc/py-feedparser
DEPENDS+= ${PYPKGPREFIX}-html2text-[0-9]*:../../textproc/py-html2text-2019.8.11
DEPENDS+= ${PYPKGPREFIX}-html5-parser-[0-9]*:../../textproc/py-html5-parser
DEPENDS+= ${PYPKGPREFIX}-markdown-[0-9]*:../../textproc/py-markdown
DEPENDS+= ${PYPKGPREFIX}-mechanize>=0.1.11nb1:../../www/py-mechanize
DEPENDS+= ${PYPKGPREFIX}-msgpack-[0-9]*:../../devel/py-msgpack
DEPENDS+= ${PYPKGPREFIX}-netifaces>=0.8:../../net/py-netifaces
DEPENDS+= ${PYPKGPREFIX}-Pillow>=2.7.0:../../graphics/py-Pillow
DEPENDS+= ${PYPKGPREFIX}-psutil>=0.6.1:../../sysutils/py-psutil
DEPENDS+= ${PYPKGPREFIX}-pygments-[0-9]*:../../textproc/py-pygments
DEPENDS+= ${PYPKGPREFIX}-regex-[0-9]*:../../textproc/py-regex
DEPENDS+= ${PYPKGPREFIX}-six-[0-9]*:../../lang/py-six
DEPENDS+= ${PYPKGPREFIX}-soupsieve-[0-9]*:../../www/py-soupsieve
DEPENDS+= ${PYPKGPREFIX}-sqlite3-[0-9]*:../../databases/py-sqlite3
# for installation
BUILD_DEPENDS+= xdg-utils>=1.0.2:../../misc/xdg-utils
EXTRACT_USING= bsdtar
PYTHON_VERSIONS_ACCEPTED= 27 # as of 3.16.0
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= pkg-config pax
PYSETUPOPTARGS= # empty
PYSETUPINSTALLARGS= --prefix=${PREFIX} --root=${DESTDIR:Q}${PREFIX}
INSTALLATION_DIRS= share/applications
INSTALLATION_DIRS+= share/icons
INSTALLATION_DIRS+= share/calibre/recipes
FIX_PYTHON_FILES+= *.py
FIX_PYTHON_FILES+= recipes/*.recipe
FIX_PYTHON_FILES+= */*.py
FIX_PYTHON_FILES+= */*/*.py
FIX_PYTHON_FILES+= */*/*/*.py
FIX_PYTHON_FILES+= */*/*/*/*.py
FIX_PYTHON_FILES+= */*/*/*/*/*.py
FIX_PYTHON_FILES+= */*/*/*/*/*/*.py
SUBST_CLASSES+= prefix
SUBST_SED.prefix= -e "s,^QMAKE =.*,QMAKE = '${PREFIX}/qt5/bin/qmake',"
SUBST_MESSAGE.prefix= Fixing path to QMAKE
SUBST_STAGE.prefix= pre-configure
SUBST_FILES.prefix= setup/build_environment.py
# This one is for /usr/bin/env python (or even /usr/bin/env Python or /usr/bin/python2)
SUBST_CLASSES+= path
SUBST_SED.path+= -e "s,\#! */usr/bin/env *python2,\#!${PYTHONBIN},"
SUBST_SED.path+= -e "s,\#! */usr/bin/env *python[0-9.]*,\#!${PYTHONBIN},"
SUBST_MESSAGE.path= Fixing path to python.
SUBST_STAGE.path= pre-configure
SUBST_FILES.path= ${FIX_PYTHON_FILES}
REPLACE_BASH+= resources/calibre-portable.sh
# These ones are for replacing python[0-9*] with PYTHONBIN
REPLACE_PYTHON+= recipes/animal_politico.recipe
REPLACE_PYTHON+= recipes/respekt_magazine.recipe
REPLACE_PYTHON+= recipes/kompiutierra.recipe
REPLACE_PYTHON+= recipes/trouw.recipe
REPLACE_PYTHON+= src/calibre/ebooks/metadata/odt.py
REPLACE_PYTHON+= src/calibre/utils/*.py
REPLACE_PYTHON+= src/odf/*.py
MAKE_ENV+= FC_INC_DIR=${BUILDLINK_PREFIX.fontconfig}/include/fontconfig
MAKE_ENV+= FC_LIB_DIR=${BUILDLINK_PREFIX.fontconfig}/lib
MAKE_ENV+= PODOFO_INC_DIR=${BUILDLINK_PREFIX.podofo}/include/podofo
MAKE_ENV+= PODOFO_LIB_DIR=${BUILDLINK_PREFIX.podofo}/lib
MAKE_ENV+= SIP_BIN=${BUILDLINK_PREFIX.py-sip}/bin/sip${PYVERSSUFFIX}
MAKE_ENV+= SIP_DIR=${BUILDLINK_PREFIX.py-sip}/share/sip${PYVERSSUFFIX}
MAKE_ENV+= LFLAGS=${LDFLAGS:Q}
# Turn off x bits on non-executable files.
post-extract:
find ${WRKSRC}/src/calibre/devices ${WRKSRC}/src/calibre/ebooks ${WRKSRC}/src/calibre/web -name '*.py' -exec chmod a-x \{} \;
find ${WRKSRC}/resources/images/mimetypes -name '*.png' -exec chmod a-x \{} \;
chmod a-x ${WRKSRC}/src/calibre/utils/Zeroconf.py
chmod a-x ${WRKSRC}/src/calibre/utils/smtplib.py
post-install:
cd ${WRKSRC}/recipes && pax -wr -pma *.recipe \
${DESTDIR}${PREFIX}/share/calibre/recipes
cd ${WRKSRC} && pax -wr -pma Changelog* README.md \
COPYRIGHT INSTALL.rst LICENSE.* \
${DESTDIR}${PREFIX}/share/doc/calibre
.include "../../lang/python/application.mk"
.include "../../archivers//bzip2/buildlink3.mk"
.include "../../databases/sqlite3/buildlink3.mk"
BUILDLINK_API_DEPENDS.chmlib+= chmlib>=0.40
.include "../../devel/chmlib/buildlink3.mk"
BUILDLINK_API_DEPENDS.libmtp+= libmtp>=1.1.5
.include "../../devel/libmtp/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
BUILDLINK_API_DEPENDS.libusb+= libusb>=0.1.12
.include "../../mk/libusb.buildlink3.mk"
.include "../../fonts/fontconfig/buildlink3.mk"
.include "../../graphics/libwebp/buildlink3.mk"
.include "../../graphics/libwmf/buildlink3.mk"
.include "../../mk/jpeg.buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../lang/python/egg.mk"
_PYSETUPTOOLSINSTALLARGS= # empty
# Get rid of --root=${DESTDIR}, use our own version from above instead.
# because the setup.py is not the standard one and behaves differently.
_PYSETUPINSTALLARGS= ${PYSETUPINSTALLARGS} ${PYSETUPOPTARGS} ${_PYSETUPTOOLSINSTALLARGS}
BUILDLINK_API_DEPENDS.podofo+= podofo>=0.8.2
.include "../../print/podofo/buildlink3.mk"
BUILDLINK_API_DEPENDS.poppler+= poppler>=0.20.2
.include "../../print/poppler-includes/buildlink3.mk"
.include "../../print/poppler/buildlink3.mk"
.include "../../print/poppler-qt5/buildlink3.mk"
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../sysutils/hal/buildlink3.mk"
BUILDLINK_API_DEPENDS.py-dbus+= ${PYPKGPREFIX}-dbus>=0.82.2
.include "../../sysutils/py-dbus/buildlink3.mk"
.include "../../textproc/hunspell/buildlink3.mk"
.include "../../textproc/hyphen/buildlink3.mk"
.include "../../textproc/icu/buildlink3.mk"
.include "../../databases/shared-mime-info/mimedb.mk"
.include "../../x11/py-sip/buildlink3.mk"
.include "../../x11/qt5-qtbase/buildlink3.mk"
.include "../../x11/py-qt5/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

3619
calibre/PLIST Normal file

File diff suppressed because it is too large Load Diff

3
calibre/TODO Normal file
View File

@ -0,0 +1,3 @@
Does not start:
ImportError: No module named QtWebEngineCore

9
calibre/distinfo Normal file
View File

@ -0,0 +1,9 @@
$NetBSD: distinfo,v 1.104 2019/09/24 16:39:50 kamil Exp $
SHA1 (calibre-4.11.0.tar.xz) = f569de5f8d1f6abd9b105406c28a53931f8a2cc0
RMD160 (calibre-4.11.0.tar.xz) = 507563187bc786464615ff08a966bcd5114d894c
SHA512 (calibre-4.11.0.tar.xz) = 866e86c926ec6508573c5ad9f382fbc8815103d7248c93ce24a87795b2fb144523cb237bb75dffe024a075e2d4f1bbd7f608ca624d66c898f6840a4b4f3081e3
Size (calibre-4.11.0.tar.xz) = 37038104 bytes
SHA1 (patch-setup_build.py) = b5f4b651721c8db7df97a59c166800865835efbd
SHA1 (patch-setup_install.py) = 758dc31959a6a850602abfcd5d58b19f6b9c6939
SHA1 (patch-src_calibre_linux.py) = 382191b8c8c6c893c4f2385613c599fcfc3bff09

View File

@ -0,0 +1,22 @@
$NetBSD: patch-setup_build.py,v 1.3 2018/02/01 16:05:56 wiz Exp $
Fix linking against native X.
--- setup/build.py.orig 2020-02-21 03:27:12.000000000 +0000
+++ setup/build.py
@@ -412,6 +412,7 @@ class Build(Command):
INCLUDEPATH += {freetype}
DESTDIR = {destdir}
CONFIG -= create_cmake # Prevent qmake from generating a cmake build file which it puts in the calibre src directory
+ QMAKE_LFLAGS += $(COMPILER_RPATH_FLAG)$(X11BASE)/lib
''').format(
headers=' '.join(headers), sources=' '.join(sources), others=' '.join(others), destdir=self.d(
target), freetype=' '.join(ft_inc_dirs))
@@ -472,6 +473,7 @@ class Build(Command):
SOURCES = {sources}
INCLUDEPATH += {sipinc} {pyinc}
VERSION = {ver}
+ QMAKE_LFLAGS += $(COMPILER_RPATH_FLAG)$(X11BASE)/lib
win32 {{
LIBS += {py_lib}
TARGET_EXT = .dll

View File

@ -0,0 +1,16 @@
$NetBSD$
This line gets replaced to a full python path by the pkgsrc
infrastructure, avoid appending a number to that.
--- setup/install.py.orig 2020-02-21 03:27:12.000000000 +0000
+++ setup/install.py
@@ -20,7 +20,7 @@ from setup import (
)
HEADER = '''\
-#!/usr/bin/env python{py_major_version}
+#!/usr/bin/env python
"""
This is the standard runscript for all of calibre's tools.

View File

@ -0,0 +1,15 @@
$NetBSD: patch-src_calibre_linux.py,v 1.7 2015/11/23 11:03:40 wiz Exp $
Disable installing files into $HOME that are not packaged anyway.
--- src/calibre/linux.py.orig 2020-02-21 03:27:12.000000000 +0000
+++ src/calibre/linux.py
@@ -729,8 +729,6 @@ class PostInstall:
self.appdata_resources = []
if islinux or isbsd:
self.setup_completion()
- if islinux or isbsd:
- self.setup_desktop_integration()
if not getattr(self.opts, 'staged_install', False):
self.create_uninstaller()