diff --git a/app-text/calibre/additional-files/calibre.rdef.in b/app-text/calibre/additional-files/calibre.rdef.in new file mode 100644 index 000000000..e34253fd5 --- /dev/null +++ b/app-text/calibre/additional-files/calibre.rdef.in @@ -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" +}; diff --git a/app-text/calibre/calibre-3.48.0.recipe b/app-text/calibre/calibre-3.48.0.recipe new file mode 100644 index 000000000..6b60ab171 --- /dev/null +++ b/app-text/calibre/calibre-3.48.0.recipe @@ -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//, 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 +} diff --git a/app-text/calibre/patches/calibre-3.48.0.patchset b/app-text/calibre/patches/calibre-3.48.0.patchset new file mode 100644 index 000000000..8989c9f5d --- /dev/null +++ b/app-text/calibre/patches/calibre-3.48.0.patchset @@ -0,0 +1,24 @@ +From 40c70501ccf2b1d48292cc85b416ca074dd7437a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +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 +