0
0
Fork 0
haikuports/kde-apps/okular/okular-21.08.2.recipe

220 lines
7.2 KiB
Bash

SUMMARY="Universal document viewer based on KDE Frameworks"
DESCRIPTION="Okular is a universal document viewer developed by KDE. Okular works on multiple platforms, \
including but not limited to Linux, Windows, Mac OS X, *BSD, etc.
Features:
* Supported Formats: PDF, PS, Tiff, CHM, DjVu, Images, DVI, XPS, ODT, Fiction Book, Comic Book, Plucker, EPub, Fax
* Sidebar with contents, thumbnails, reviews and bookmarks
* Annotations support"
HOMEPAGE="https://okular.kde.org"
COPYRIGHT="2010-2021 KDE Organisation"
LICENSE="GNU LGPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/okular-$portVersion.tar.xz"
CHECKSUM_SHA256="38ad86037dbc844ca07348d9bd353cfa77814cbae26f8273ad4fc3e500197678"
SOURCE_DIR="okular-$portVersion"
ADDITIONAL_FILES="okular.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
okular$secondaryArchSuffix = $portVersion
app:Okular$secondaryArchSuffix = $portVersion
lib:libOkular5Core$secondaryArchSuffix = 9.0.0
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libchm$secondaryArchSuffix
lib:libdjvulibre$secondaryArchSuffix
lib:libepub$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libKF5Activities$secondaryArchSuffix
lib:libKF5Archive$secondaryArchSuffix
lib:libKF5Auth$secondaryArchSuffix
lib:libKF5Bookmarks$secondaryArchSuffix
lib:libKF5Codecs$secondaryArchSuffix
lib:libKF5Completion$secondaryArchSuffix
lib:libKF5ConfigCore$secondaryArchSuffix
lib:libKF5ConfigGui$secondaryArchSuffix
lib:libKF5ConfigWidgets$secondaryArchSuffix
lib:libKF5CoreAddons$secondaryArchSuffix
lib:libKF5Crash$secondaryArchSuffix
lib:libKF5DBusAddons$secondaryArchSuffix
lib:libKF5DocTools$secondaryArchSuffix
lib:libKF5GuiAddons$secondaryArchSuffix
lib:libKF5I18n$secondaryArchSuffix
lib:libKF5IconThemes$secondaryArchSuffix
lib:libKF5ItemModels$secondaryArchSuffix
lib:libKF5ItemViews$secondaryArchSuffix
lib:libKF5JobWidgets$secondaryArchSuffix
lib:libKF5JS$secondaryArchSuffix
lib:libKF5JSApi$secondaryArchSuffix
lib:libKF5KIOCore$secondaryArchSuffix
lib:libKF5KIOFileWidgets$secondaryArchSuffix
lib:libKF5KIOWidgets$secondaryArchSuffix
lib:libKF5KHtml$secondaryArchSuffix
lib:libKF5Notifications$secondaryArchSuffix
lib:libKF5Parts$secondaryArchSuffix
lib:libKF5Pty$secondaryArchSuffix
lib:libKF5Service$secondaryArchSuffix
lib:libKF5Solid$secondaryArchSuffix
lib:libKF5SonnetUi$secondaryArchSuffix
lib:libKF5TextEditor$secondaryArchSuffix
lib:libKF5TextWidgets$secondaryArchSuffix
lib:libKF5ThreadWeaver$secondaryArchSuffix
lib:libKF5UnitConversion$secondaryArchSuffix
lib:libKF5Wallet$secondaryArchSuffix
lib:libKF5WidgetsAddons$secondaryArchSuffix
lib:libKF5WindowSystem$secondaryArchSuffix
lib:libKF5XmlGui$secondaryArchSuffix
lib:libmarkdown$secondaryArchSuffix
lib:libphonon4qt5$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libpoppler_qt5$secondaryArchSuffix >= 1.26
lib:libqca_qt5$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5DBus$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5PrintSupport$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libzip$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix >= 5.86
devel:libchm$secondaryArchSuffix
devel:libdjvulibre$secondaryArchSuffix
devel:libepub$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libKF5Activities$secondaryArchSuffix
devel:libKF5Archive$secondaryArchSuffix
devel:libKF5Auth$secondaryArchSuffix
devel:libKF5Bookmarks$secondaryArchSuffix
devel:libKF5Codecs$secondaryArchSuffix
devel:libKF5Completion$secondaryArchSuffix
devel:libKF5ConfigCore$secondaryArchSuffix
devel:libKF5ConfigGui$secondaryArchSuffix
devel:libKF5ConfigWidgets$secondaryArchSuffix
devel:libKF5CoreAddons$secondaryArchSuffix
devel:libKF5Crash$secondaryArchSuffix
devel:libKF5DBusAddons$secondaryArchSuffix
devel:libKF5DocTools$secondaryArchSuffix
devel:libKF5GuiAddons$secondaryArchSuffix
devel:libKF5I18n$secondaryArchSuffix
devel:libKF5IconThemes$secondaryArchSuffix
devel:libKF5ItemModels$secondaryArchSuffix
devel:libKF5ItemViews$secondaryArchSuffix
devel:libKF5JobWidgets$secondaryArchSuffix
devel:libKF5JS$secondaryArchSuffix
devel:libKF5KIOCore$secondaryArchSuffix
devel:libKF5KIOFileWidgets$secondaryArchSuffix
devel:libKF5KIOWidgets$secondaryArchSuffix
devel:libKF5KHtml$secondaryArchSuffix
devel:libKF5Notifications$secondaryArchSuffix
devel:libKF5Parts$secondaryArchSuffix
devel:libKF5Pty$secondaryArchSuffix
devel:libKF5Service$secondaryArchSuffix
devel:libKF5Solid$secondaryArchSuffix
devel:libKF5SonnetUi$secondaryArchSuffix
devel:libKF5TextEditor$secondaryArchSuffix
devel:libKF5TextWidgets$secondaryArchSuffix
devel:libKF5ThreadWeaver$secondaryArchSuffix
devel:libKF5UnitConversion$secondaryArchSuffix
devel:libKF5Wallet$secondaryArchSuffix
devel:libKF5WidgetsAddons$secondaryArchSuffix
devel:libKF5WindowSystem$secondaryArchSuffix
devel:libKF5XmlGui$secondaryArchSuffix
devel:libmarkdown$secondaryArchSuffix
devel:libphonon4qt5$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libpoppler$secondaryArchSuffix >= 104
devel:libpoppler_qt5$secondaryArchSuffix >= 1.26
devel:libqca$secondaryArchSuffix >= 2
devel:libQt5Core$secondaryArchSuffix >= 5.14
devel:libtiff$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libzip$secondaryArchSuffix
"
PROVIDES_devel="
okular${secondaryArchSuffix}_devel = $portVersion
devel:libOkular5Core$secondaryArchSuffix = $portVersion compat >= 9
"
REQUIRES_devel="
okular$secondaryArchSuffix == $portVersion base
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python2
"
BUILD()
{
# disable docs generation
sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt
sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt
mkdir -p build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$appsDir \
-DCMAKE_INSTALL_INCLUDEDIR=$includeDir \
-DCMAKE_INSTALL_DATAROOTDIR=$dataDir \
-DCMAKE_INSTALL_LIBDIR=$libDir \
-DCMAKE_INSTALL_BINDIR=$appsDir \
-DSHARE_INSTALL_PREFIX=$dataDir \
-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
make $jobArgs
}
INSTALL()
{
mkdir -p $dataDir/Qt5
cd build
make install
mv $appsDir/okular $appsDir/Okular
rm -rf \
$libDir/qml \
$appsDir/okularkirigami \
$dataDir/{applications,config.kcfg,icons,kconf_update,Qt5,qlogging-categories5}
prepareInstalledDevelLibs \
libOkular5Core
packageEntries devel \
$libDir/cmake \
$developDir
local APP_SIGNATURE="application/x-vnd.kde-okular"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/okular.rdef.in > okular.rdef
addResourcesToBinaries okular.rdef $appsDir/Okular
addAppDeskbarSymlink $appsDir/Okular
}