Calibre: new recipe (#4657)

* Calibre: new recipe

* Build fix

* Untested on x86
This commit is contained in:
miqlas
2020-02-02 20:02:42 +01:00
committed by GitHub
parent 6e78faf3b3
commit ae8de65367
3 changed files with 355 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Ebook management application",
long_info = "The one stop solution for all your e-book needs."
};
resource app_signature "application/x-vnd.calibre";
resource vector_icon {
$"6E6369660C035B757B050003C6490502001600000000B4240934240900000046"
$"CC714B5C4D020116003B0BE5A9E62321324B327F604901F6477F20020116003A"
$"B4ABA97CE720E14E323BF7C8526C4B420E020116002E6276BBD25A3A0E232C90"
$"974901F64A6F530379ABFF030C11BA03D6B8650201160040525ABAB75A32B50C"
$"385062D1580E4C470B020116003D7EB5B802CC30304635CDBF4A1F424403D320"
$"0A04BA20B65ABF0BB65ABF0BCA6ABA20CA6A0A04BA20B65ABF0BB65ABF0BCA6A"
$"BA20CA6A0A04B477B444BA02B444BA02CA6AB477CA6A0A04B477B444BA02B444"
$"BA02CA6AB477CA6A0A04B471B59FBA07B59FBA07B682B471B6820A04B471B59F"
$"BA07B59FBA07B682B471B6820A04B470C7FAB9F7C7FAB9F7C8DEB470C8DE0A04"
$"B470C7FAB9F7C7FAB9F7C8DEB470C8DE0A04BA1BB852BF10B852BF10B8D2BA1B"
$"B8D20A04BA1BB852BF10B852BF10B8D2BA1BB8D20A04BA20C80CBF0CC80CBF0C"
$"C88CBA20C88C0A04BA20C80CBF0CC80CBF0CC88CBA20C88C0205B2D7B268B2D8"
$"B290B2D6B251B30FB241B2ECB242B327B241B361B255B345B248B382B265B395"
$"B28FB395B279B396B2A6B360B2B7B381B2B6B31EB2B80205B2D7B268B2D8B290"
$"B2D6B251B30FB241B2ECB242B327B241B361B255B345B248B382B265B395B28F"
$"B395B279B396B2A6B360B2B7B381B2B6B31EB2B80211B3D9B22EB3D9B22EB3D9"
$"B22EB3DFB238B3DFB238B3F5B25FB3F9B26CB3F8B265B3F9B273B3E9B277B3F3"
$"B277B3DFB277B393B266B3DFB277B33BB253B337B253B33BB253B333B253B331"
$"B25AB331B256B331B26421B2B4B345B28521B2B4B376B2B4B376B2B4B362B292"
$"B361B28BB362B290B361B286B36BB284B365B284B373B284B39CB28DB37BB285"
$"B400B2A5B40FB2A5B400B2A5B41DB2A5B426B297B426B29FB426B28DB40AB260"
$"B41EB27EB402B255B3F4B240B3FBB24AB3F1B23BB3E9B230B3EEB237B3E9B230"
$"0211B3D9B22EB3D9B22EB3D9B22EB3DFB238B3DFB238B3F5B25FB3F9B26CB3F8"
$"B265B3F9B273B3E9B277B3F3B277B3DFB277B393B266B3DFB277B33BB253B337"
$"B253B33BB253B333B253B331B25AB331B256B331B26421B2B4B345B28521B2B4"
$"B376B2B4B376B2B4B362B292B361B28BB362B290B361B286B36BB284B365B284"
$"B373B284B39CB28DB37BB285B400B2A5B40FB2A5B400B2A5B41DB2A5B426B297"
$"B426B29FB426B28DB40AB260B41EB27EB402B255B3F4B240B3FBB24AB3F1B23B"
$"B3E9B230B3EEB237B3E9B2300206B2C0B2BBB2C0B2BBB2E4B2EBB2EC1FB2ECB2"
$"F7B2ECB307B2D3B30CB2E4B30CB2C0B30DB291B303B2ABB30AB257B2F5B239B2"
$"C1B239B2DFB238B2B6B247B2A3B23CB2AFB247B2A30206B2C0B2BBB2C0B2BBB2"
$"E4B2EBB2EC1FB2ECB2F7B2ECB307B2D3B30CB2E4B30CB2C0B30DB291B303B2AB"
$"B30AB257B2F5B239B2C1B239B2DFB238B2B6B247B2A3B23CB2AFB247B2A30205"
$"B2D7B268B2D8B290B2D6B251B30FB241B2ECB242B327B241B361B255B345B248"
$"B382B265B395B28FB395B279B396B2A6B360B2B7B381B2B6B31EB2B80205B2D7"
$"B268B2D8B290B2D6B251B30FB241B2ECB242B327B241B361B255B345B248B382"
$"B265B395B28FB395B279B396B2A6B360B2B7B381B2B6B31EB2B80209B2BAB2B0"
$"B2B0B2ADB2C9B2C4B2D1B2CEB2D1B2CEB2DEB2E1B2E6B2F7B2E6B2F0B2E6B301"
$"B2CAB307B2DCB306B2ACB307B265B2F2B28620B245B2E5B238B2C5B239B2D8B2"
$"38B2BAB23EB294B23AB2A7B268B29EB27AB2A2B278B2A2B289B2A6B2A6B2ABB2"
$"97B2A8B2A9B2AC0209B2BAB2B0B2B0B2ADB2C9B2C4B2D1B2CEB2D1B2CEB2DEB2"
$"E1B2E6B2F7B2E6B2F0B2E6B301B2CAB307B2DCB306B2ACB307B265B2F2B28620"
$"B245B2E5B238B2C5B239B2D8B238B2BAB23EB294B23AB2A7B268B29EB27AB2A2"
$"B278B2A2B289B2A6B2A6B2ABB297B2A8B2A9B2AC0A04C31FBBFAC888BB01CB68"
$"C97FC5FFCA780A04C31FBBFAC888BB01CB68C97FC5FFCA780A05C689C2C5C6FF"
$"C1C5C7C2C28FC687BB62C54EBB980A05C689C2C5C6FFC1C5C7C2C28FC687BB62"
$"C54EBB980209C1C9B3D0C1EEB3D2C1C3B3CFC1B8B3D045B3CFC1B8B3D0BF15B4"
$"27BF15B427BEE9B42CBECFB480BECAB454BECFB480C195CA24C195CA24C19BCA"
$"50C1EFCA6AC1C3CA6FC1EFCA6AC493CA13C493CA13C4BFCA0DC4D8C9B9C4DEC9"
$"E5C4D8C9B9C212B415C212B415C20DB3EF0209C1C9B3D0C1EEB3D2C1C3B3CFC1"
$"B8B3D045B3CFC1B8B3D0BF15B427BF15B427BEE9B42CBECFB480BECAB454BECF"
$"B480C195CA24C195CA24C19BCA50C1EFCA6AC1C3CA6FC1EFCA6AC493CA13C493"
$"CA13C4BFCA0DC4D8C9B9C4DEC9E5C4D8C9B9C212B415C212B415C20DB3EF0209"
$"C1C9B3D0C1EEB3D2C1C3B3CFC1B8B3D045B3CFC1B8B3D0BF15B427BF15B427BE"
$"E9B42CBECFB480BECAB454BECFB480C195CA24C195CA24C19BCA50C1EFCA6AC1"
$"C3CA6FC1EFCA6AC493CA13C493CA13C4BFCA0DC4D8C9B9C4DEC9E5C4D8C9B9C2"
$"12B415C212B415C20DB3EF0209C1C9B3D0C1EEB3D2C1C3B3CFC1B8B3D045B3CF"
$"C1B8B3D0BF15B427BF15B427BEE9B42CBECFB480BECAB454BECFB480C195CA24"
$"C195CA24C19BCA50C1EFCA6AC1C3CA6FC1EFCA6AC493CA13C493CA13C4BFCA0D"
$"C4D8C9B9C4DEC9E5C4D8C9B9C212B415C212B415C20DB3EF0209C1C9B3D0C1EE"
$"B3D2C1C3B3CFC1B8B3D045B3CFC1B8B3D0BF15B427BF15B427BEE9B42CBECFB4"
$"80BECAB454BECFB480C195CA24C195CA24C19BCA50C1EFCA6AC1C3CA6FC1EFCA"
$"6AC493CA13C493CA13C4BFCA0DC4D8C9B9C4DEC9E5C4D8C9B9C212B415C212B4"
$"15C20DB3EF0209C1C9B3D0C1EEB3D2C1C3B3CFC1B8B3D045B3CFC1B8B3D0BF15"
$"B427BF15B427BEE9B42CBECFB480BECAB454BECFB480C195CA24C195CA24C19B"
$"CA50C1EFCA6AC1C3CA6FC1EFCA6AC493CA13C493CA13C4BFCA0DC4D8C9B9C4DE"
$"C9E5C4D8C9B9C212B415C212B415C20DB3EF160A000100000A01010110011780"
$"00040A020102000A0101031001178000040A010104000A010105100117800004"
$"0A010106000A0101071001178000040A050108000A0101091001178000040A05"
$"010A000A01010B1001178000040A070116000A0101171001178000040A080118"
$"000A0101191001178000040A09011A000A02011B1001178000040A03011C000A"
$"01011D1001178000040A09011E000A01011F100117800004"
};

View File

@@ -0,0 +1,242 @@
SUMMARY="Ebook management application"
DESCRIPTION="Calibre is an e-book manager. It can view, convert, edit and \
catalog e-books in all of the major e-book formats. It can also talk to \
e-book reader devices. It can go out to the internet and fetch metadata for \
your books. It can download newspapers and convert them into e-books for \
convenient reading. It is cross platform, running on Linux, Windows and macOS."
HOMEPAGE="https://calibre-ebook.com/"
COPYRIGHT="2008-2019 Kovid Goyal"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://github.com/kovidgoyal/calibre/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="50855a25f7e219de81e19d2e5df462e1068b84c11556936aee372eb7f1950419"
PATCHES="calibre-$portVersion.patchset"
ADDITIONAL_FILES="calibre.rdef.in"
ARCHITECTURES="?x86_gcc2 ?x86 x86_64"
SECONDARY_ARCHITECTURES="?x86"
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
calibre$secondaryArchSuffix = $portVersion
cmd:calibre_complete$commandSuffix
cmd:calibre_customize$commandSuffix
cmd:calibre_debug$commandSuffix
cmd:calibre_parallel$commandSuffix
cmd:calibre_server$commandSuffix
cmd:calibre_smtp$commandSuffix
cmd:calibre_uninstall$commandSuffix
cmd:calibre$commandSuffix
cmd:calibredb$commandSuffix
cmd:ebook_convert$commandSuffix
cmd:ebook_device$commandSuffix
cmd:ebook_edit$commandSuffix
cmd:ebook_meta$commandSuffix
cmd:ebook_polish$commandSuffix
cmd:ebook_viewer$commandSuffix
cmd:fetch_ebook_metadata$commandSuffix
cmd:lrf2lrs$commandSuffix
cmd:lrfviewer$commandSuffix
cmd:lrs2lrf$commandSuffix
cmd:markdown_calibre$commandSuffix
cmd:web2disk$commandSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
cmd:python2
apsw_python
beautifulsoup_python
chardet_python
css_parser_python
dateutil_python
# dbuspython_python
dnspython_python
dukpy_python
feedparser_python
html2text_python
html5_parser_python
html5lib_python
lxml_python
markdown_python
mechanize_python
msgpack_python
# netifaces_python
pillow_python
# psutil_python
pycrypto_python
pygments_python
pyqt_python
regex_python
setuptools_python
sip_python
sip_pyqt_python
six_python
soupsieve_python
unrardll_python
webencodings_python
# lib:libdbus_1$secondaryArchSuffix
# lib:libdbus_glib_1$secondaryArchSuffix
# lib:libeasylzma$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libffi$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libgcrypt$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgpg_error$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
# lib:libjxrlib$secondaryArchSuffix
# lib:libmozjpeg$secondaryArchSuffix
lib:libmtp$secondaryArchSuffix
lib:libncursesw$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libpodofo$secondaryArchSuffix
lib:libpoppler${secondaryArchSuffix}_qt5
lib:libpoppler$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5WebKit$secondaryArchSuffix
lib:libreadline$secondaryArchSuffix
lib:libsqlite3$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libusb_1.0$secondaryArchSuffix
lib:libwebp$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libxslt$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
apsw_python
beautifulsoup_python
chardet_python
css_parser_python
dateutil_python
# dbuspython_python
dnspython_python
dukpy_python
feedparser_python
html2text_python
html5_parser_python
html5lib_python
lxml_python
markdown_python
mechanize_python
msgpack_python
# netifaces_python
pillow_python
# psutil_python
pycrypto_python
pygments_python
pyqt_python
regex_python
setuptools_python
sip_python
sip_pyqt_python
six_python
soupsieve_python
unrardll_python
webencodings_python
devel:libchm$secondaryArchSuffix
# devel:libdbus_1$secondaryArchSuffix
# devel:libdbus_glib_1$secondaryArchSuffix
# devel:libeasylzma$secondaryArchSuffix
devel:libexpat$secondaryArchSuffix
devel:libffi$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libgcrypt$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgpg_error$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libicui18n$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
# devel:libjxrlib$secondaryArchSuffix
# devel:libmozjpeg$secondaryArchSuffix
devel:libmtp$secondaryArchSuffix
devel:libncursesw$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libpodofo$secondaryArchSuffix
devel:libpoppler${secondaryArchSuffix}_qt5
devel:libpoppler$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5WebKit$secondaryArchSuffix
devel:libreadline$secondaryArchSuffix
devel:libsqlite3$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libusb_1.0$secondaryArchSuffix
devel:libwebp$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libxslt$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:bzip2
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:nasm
cmd:optipng
cmd:pkg_config$secondaryArchSuffix
cmd:python2 # Currently only Python2 supported by Calibre
cmd:python2_pyrcc5$secondaryArchSuffix #pyqt
cmd:sip
cmd:unrar
"
BUILD()
{
# For current REQUIMENTS check:
# https://github.com/kovidgoyal/build-calibre/blob/master/scripts/sources.json
export SIP_DIR=`finddir B_SYSTEM_DATA_DIRECTORY`
export PODOFO_INC_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY`/podofo
python setup.py build
python setup.py iso639
python setup.py iso3166
python setup.py resources || true # Something fishy here.
}
INSTALL()
{
export SIP_DIR=`finddir B_SYSTEM_DATA_DIRECTORY`
export PODOFO_INC_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY`/podofo
python2 setup.py install \
--prefix=$appsDir/Calibre
# Preparing the attributes
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
$portDir/additional-files/calibre.rdef.in \
> calibre.rdef
# Installing extra-attribs
rc calibre.rdef
resattr -o $appsDir/Calibre/bin/calibre calibre.rsrc
addAppDeskbarSymlink $appsDir/Calibre/bin/calibre "Calibre"
}
TEST()
{
export SIP_DIR=`finddir B_SYSTEM_DATA_DIRECTORY`
export PODOFO_INC_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY`/podofo
python2 setup.py test
}

View File

@@ -0,0 +1,24 @@
From 40c70501ccf2b1d48292cc85b416ca074dd7437a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Thu, 11 Apr 2019 09:38:10 +0200
Subject: Crash workaround: disabling splashscreen, FIXME
diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py
index 9f15f8d..5baf33c 100644
--- a/src/calibre/gui2/main.py
+++ b/src/calibre/gui2/main.py
@@ -331,7 +331,9 @@ class GuiRunner(QObject):
def show_splash_screen(self):
self.timed_print('Showing splash screen...')
self.splash_screen = SplashScreen()
- self.splash_screen.show()
+ # FIXME! This is crashing somewhere in the splashscreen code on Haiku, workaround: disable.
+ # self.splash_screen.show()
+ # FIXME! This is crashing somewhere in the splashscreen code on Haiku, workaround: disable.
self.splash_screen.show_message(_('Starting %s: Loading books...') % __appname__)
self.timed_print('splash screen shown')
--
2.21.0