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="7" SOURCE_URI="https://download.calibre-ebook.com/$portVersion/calibre-$portVersion.tar.xz" CHECKSUM_SHA256="3571efc1cc773e453b459096a38b141fd0c7784fb9611505a1f9a55648f47e5e" PATCHES="calibre-$portVersion.patchset" ADDITIONAL_FILES="calibre.rdef.in" ARCHITECTURES="all !x86_gcc2" 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=" dbus$secondaryArchSuffix haiku$secondaryArchSuffix cmd:python3.10 apsw_python310 beautifulsoup4_python310 chardet_python310 css_parser_python310 dateutil_python310 dnspython_python310 feedparser_python310 html2text_python310 html5_parser_python310 lxml_python310 markdown_python310 mechanize_python310 msgpack_python310 # netifaces_python310 pillow_python310 # psutil_python310 pygments_python310 pyqt5_python310 pyqtwebengine5_python310 regex_python310 setuptools_python310 unrardll_python310 pythonzeroconf_python310 # 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:libhunspell_1.7$secondaryArchSuffix lib:libhyphen$secondaryArchSuffix lib:libiconv$secondaryArchSuffix lib:libicui18n$secondaryArchSuffix >= 66 lib:libjpeg$secondaryArchSuffix # lib:libjxrlib$secondaryArchSuffix # lib:libmozjpeg$secondaryArchSuffix lib:libmtp$secondaryArchSuffix lib:libncursesw$secondaryArchSuffix lib:libpng16$secondaryArchSuffix lib:libpodofo$secondaryArchSuffix lib:libpoppler$secondaryArchSuffix lib:libpoppler_qt5$secondaryArchSuffix lib:libQt5Core$secondaryArchSuffix lib:libQt5WebEngine$secondaryArchSuffix lib:libreadline$secondaryArchSuffix lib:libstemmer$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_python310 beautifulsoup4_python310 chardet_python310 css_parser_python310 dateutil_python310 # dbuspython_python310 dnspython_python310 feedparser_python310 html2text_python310 html5_parser_python310 lxml_python310 markdown_python310 mechanize_python310 msgpack_python310 # netifaces_python310 pillow_python310 # psutil_python310 pygments_python310 pyqt5_python310 pyqt_builder_python310 regex_python310 setuptools_python310 sip_python310 # sip_pyqt_python310 six_python310 unrardll_python310 pythonzeroconf_python310 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:libhunspell_1.7$secondaryArchSuffix devel:libhyphen$secondaryArchSuffix devel:libiconv$secondaryArchSuffix devel:libicui18n$secondaryArchSuffix >= 66 devel:libjpeg$secondaryArchSuffix # devel:libjxrlib$secondaryArchSuffix # devel:libmozjpeg$secondaryArchSuffix devel:libmtp$secondaryArchSuffix devel:libncursesw$secondaryArchSuffix devel:libpng16$secondaryArchSuffix devel:libpodofo$secondaryArchSuffix devel:libpoppler$secondaryArchSuffix devel:libpoppler_qt5$secondaryArchSuffix devel:libQt5Core$secondaryArchSuffix devel:libQt5WebEngine$secondaryArchSuffix devel:libreadline$secondaryArchSuffix devel:libstemmer$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:python3.10 cmd:pyrcc5 cmd:qmake >= 5 cmd:sip cmd:unrar " BUILD() { # For current REQUIMENTS check: # https://github.com/kovidgoyal/build-calibre/blob/master/scripts/sources.json export PODOFO_INC_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY`/podofo python=python3.10 installLocation=$prefix/../pyqt5_python310/lib/$python/vendor-packages export BINDINGS_DIR=$installLocation/PyQt5/bindings/ LANG="en_US.UTF-8" $python setup.py build LANG="en_US.UTF-8" $python setup.py gui } INSTALL() { export PODOFO_INC_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY`/podofo python=python3.10 $python setup.py install \ --prefix=$appsDir/Calibre mv $appsDir/Calibre/bin/calibre $appsDir/Calibre/bin/Calibre # Fix python path for scripts sed -i 's|/usr/bin/env python3|/bin/python3.10|' $appsDir/Calibre/bin/* # 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 scriptList="Calibre ebook-edit ebook-viewer lrfviewer" for scriptName in $scriptList; do settype -t application/x-vnd.Be-elfexecutable $appsDir/Calibre/bin/$scriptName resattr -o $appsDir/Calibre/bin/$scriptName calibre.rsrc done addAppDeskbarSymlink $appsDir/Calibre/bin/Calibre } TEST() { export SIP_DIR=`finddir B_SYSTEM_DATA_DIRECTORY` export PODOFO_INC_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY`/podofo python3.10 setup.py test }