From 88fd576d1c3e776aed46cae1cac093473da6ad44 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Tue, 27 Mar 2018 16:44:33 +0300 Subject: [PATCH] digiKam: initial recipe for version 5.9.0 --- .../digikam/additional-files/digikam.rdef.in | 21 +++ media-gfx/digikam/digikam-5.9.0.recipe | 169 ++++++++++++++++++ .../digikam/patches/digikam-5.9.0.patchset | 104 +++++++++++ 3 files changed, 294 insertions(+) create mode 100644 media-gfx/digikam/additional-files/digikam.rdef.in create mode 100644 media-gfx/digikam/digikam-5.9.0.recipe create mode 100644 media-gfx/digikam/patches/digikam-5.9.0.patchset diff --git a/media-gfx/digikam/additional-files/digikam.rdef.in b/media-gfx/digikam/additional-files/digikam.rdef.in new file mode 100644 index 000000000..6de5412b1 --- /dev/null +++ b/media-gfx/digikam/additional-files/digikam.rdef.in @@ -0,0 +1,21 @@ + +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "digiKam", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource file_types message { + "types" = "image" +}; + diff --git a/media-gfx/digikam/digikam-5.9.0.recipe b/media-gfx/digikam/digikam-5.9.0.recipe new file mode 100644 index 000000000..7d3559df4 --- /dev/null +++ b/media-gfx/digikam/digikam-5.9.0.recipe @@ -0,0 +1,169 @@ +SUMMARY="Professional Photo Management with the Power of Open Source" +DESCRIPTION="digiKam is an advanced open-source digital photo management \ +application that runs on Linux, Windows, and MacOS. The application provides \ +a comprehensive set of tools for importing, managing, editing, and sharing \ +photos and RAW files." +HOMEPAGE="https://digikam.org/" +COPYRIGHT="2010-2018 KDE Organisation" +LICENSE="GNU LGPL v2" +REVISION="1" +SOURCE_URI="https://github.com/KDE/digikam/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="8757f92da30f26b6c9eb51e6b6bb81edbe257fce72f540cc04917b32de4655ea" +ADDITIONAL_FILES="digikam.rdef.in" +PATCHES="digikam-5.9.0.patchset" + +ARCHITECTURES="x86 x86_64?" +SECONDARY_ARCHITECTURES="x86?" + +PROVIDES=" + digikam$secondaryArchSuffix = $portVersion + app:digiKam$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libKF5Auth$secondaryArchSuffix + lib:libKF5Archive$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:libKF5Emoticons$secondaryArchSuffix + lib:libKF5GuiAddons$secondaryArchSuffix + lib:libKF5I18n$secondaryArchSuffix + lib:libKF5IconThemes$secondaryArchSuffix + lib:libkdeinit5_klauncher$secondaryArchSuffix + lib:libkdeinit5_kded5$secondaryArchSuffix + lib:libKF5ItemViews$secondaryArchSuffix + lib:libKF5ItemModels$secondaryArchSuffix + lib:libKF5JobWidgets$secondaryArchSuffix + lib:libKF5KIOCore$secondaryArchSuffix + lib:libKF5KIOFileWidgets$secondaryArchSuffix + lib:libKF5KIOWidgets$secondaryArchSuffix + lib:libKF5Notifications$secondaryArchSuffix + lib:libKF5Parts$secondaryArchSuffix + lib:libKF5Service$secondaryArchSuffix + lib:libKF5Solid$secondaryArchSuffix + lib:libKF5SonnetUi$secondaryArchSuffix + lib:libKF5TextWidgets$secondaryArchSuffix + lib:libKF5UnitConversion$secondaryArchSuffix + lib:libKF5WidgetsAddons$secondaryArchSuffix + lib:libKF5WindowSystem$secondaryArchSuffix + lib:libKF5XmlGui$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5DBus$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5PrintSupport$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$secondaryArchSuffix + " + +BUILD_REQUIRES=" + extra_cmake_modules >= 5.39 + haiku${secondaryArchSuffix}_devel + devel:libboost_system$secondaryArchSuffix + devel:libexpat$secondaryArchSuffix + devel:libexiv2$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libKF5Auth$secondaryArchSuffix + devel:libKF5Archive$secondaryArchSuffix + devel:libKF5Bookmarks$secondaryArchSuffix + devel:libKF5Codecs$secondaryArchSuffix + devel:libKF5CoreAddons$secondaryArchSuffix + devel:libKF5Completion$secondaryArchSuffix + devel:libKF5ConfigCore$secondaryArchSuffix + devel:libKF5ConfigGui$secondaryArchSuffix + devel:libKF5ConfigWidgets$secondaryArchSuffix + devel:libKF5Crash$secondaryArchSuffix + devel:libKF5DBusAddons$secondaryArchSuffix + devel:libKF5DesignerPlugin$secondaryArchSuffix + devel:libKF5DocTools$secondaryArchSuffix + devel:libKF5Emoticons$secondaryArchSuffix + devel:libKF5GuiAddons$secondaryArchSuffix + devel:libKF5I18n$secondaryArchSuffix + devel:libKF5IconThemes$secondaryArchSuffix + devel:libkdeinit5_klauncher$secondaryArchSuffix + devel:libkdeinit5_kded5$secondaryArchSuffix + devel:libKF5ItemViews$secondaryArchSuffix + devel:libKF5ItemModels$secondaryArchSuffix + devel:libKF5JobWidgets$secondaryArchSuffix + devel:libKF5KIOCore$secondaryArchSuffix + devel:libKF5KIOFileWidgets$secondaryArchSuffix + devel:libKF5KIOWidgets$secondaryArchSuffix + devel:libKF5Notifications$secondaryArchSuffix + devel:libKF5Parts$secondaryArchSuffix + devel:libKF5Service$secondaryArchSuffix + devel:libKF5Solid$secondaryArchSuffix + devel:libKF5SonnetUi$secondaryArchSuffix + devel:libKF5TextWidgets$secondaryArchSuffix + devel:libKF5UnitConversion$secondaryArchSuffix + devel:libKF5WidgetsAddons$secondaryArchSuffix + devel:libKF5WindowSystem$secondaryArchSuffix + devel:libKF5XmlGui$secondaryArchSuffix + devel:liblcms2$secondaryArchSuffix + devel:liblensfun$secondaryArchSuffix + devel:libopencv_core$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix >= 5.7 + devel:libQt5WebKitWidgets$secondaryArchSuffix + devel:libtiff$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:make + cmd:pkg_config + " + +BUILD() +{ + mkdir -p build + cd build + + cmake .. \ + -DCMAKE_INSTALL_PREFIX=$prefix \ + -DINCLUDE_INSTALL_DIR=$includeDir \ + -DSHARE_INSTALL_PREFIX=$dataDir \ + -DECM_MKSPECS_INSTALL_DIR=$dataDir/Qt5/mkspecs \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DCMAKE_INSTALL_PREFIX=$appsDir/digiKam \ + -DCMAKE_INSTALL_DATAROOTDIR=$dataDir + + make $jobArgs +} + +INSTALL() +{ + cd build + make install + mv $appsDir/digiKam/bin/* $appsDir/digiKam + mv $appsDir/digiKam/digikam $appsDir/digiKam/digiKam + + + local APP_SIGNATURE="application/x-vnd.qt5-digikam" + 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/digikam.rdef.in > digikam.rdef + + addResourcesToBinaries digikam.rdef $appsDir/digiKam/digiKam + addAppDeskbarSymlink $appsDir/digiKam/digiKam +} + +TEST() +{ + make test +} diff --git a/media-gfx/digikam/patches/digikam-5.9.0.patchset b/media-gfx/digikam/patches/digikam-5.9.0.patchset new file mode 100644 index 000000000..8b4b820d9 --- /dev/null +++ b/media-gfx/digikam/patches/digikam-5.9.0.patchset @@ -0,0 +1,104 @@ +From 935d721d50313c1e9b012f097d28d5a97cae47ac Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Tue, 27 Mar 2018 13:02:02 +0300 +Subject: Haiku fixes + + +diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt +index 2c0ff3b..2a1d87f 100644 +--- a/app/CMakeLists.txt ++++ b/app/CMakeLists.txt +@@ -255,6 +255,10 @@ if(APPLE) + target_link_libraries(digikamcore PUBLIC /System/Library/Frameworks/AppKit.framework) + endif() + ++if(HAIKU) ++ target_link_libraries(digikamcore PUBLIC network iconv intl) ++endif() ++ + if(WIN32) + target_link_libraries(digikamcore PUBLIC wsock32 ws2_32) + endif() +diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt +index bbffb87..3fc2e22 100644 +--- a/libs/CMakeLists.txt ++++ b/libs/CMakeLists.txt +@@ -35,12 +35,12 @@ else() + endif() + + # Check processor endianness +-include(TestBigEndian) +-TEST_BIG_ENDIAN(IS_BIG_ENDIAN) ++#include(TestBigEndian) ++#TEST_BIG_ENDIAN(IS_BIG_ENDIAN) + +-if(NOT IS_BIG_ENDIAN) +- add_definitions(-DqDNGLittleEndian=1) +-endif() ++#if(NOT IS_BIG_ENDIAN) ++# add_definitions(-DqDNGLittleEndian=1) ++#endif() + + # Thread safe support under Mac and Linux using pthread library + +diff --git a/libs/pgfutils/PGFplatform.h b/libs/pgfutils/PGFplatform.h +index ee803c3..ca32fcf 100644 +--- a/libs/pgfutils/PGFplatform.h ++++ b/libs/pgfutils/PGFplatform.h +@@ -320,7 +320,7 @@ inline OSError SetFPos(HANDLE hFile, int posMode, INT64 posOff) { + //------------------------------------------------------------------------------- + // LINUX + //------------------------------------------------------------------------------- +-#if defined(__linux__) || defined(__GLIBC__) ++#if defined(__linux__) || defined(__GLIBC__) || defined(__HAIKU__) + #define __POSIX__ + #endif // __linux__ or __GLIBC__ + +@@ -336,7 +336,7 @@ inline OSError SetFPos(HANDLE hFile, int posMode, INT64 posOff) { + //------------------------------------------------------------------------------- + // *BSD + //------------------------------------------------------------------------------- +-#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) ++#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__HAIKU__) + #ifndef __POSIX__ + #define __POSIX__ + #endif +@@ -349,7 +349,7 @@ inline OSError SetFPos(HANDLE hFile, int posMode, INT64 posOff) { + #define lseek64 lseek + #endif + +-#endif // __NetBSD__ or __OpenBSD__ or __FreeBSD__ ++#endif // __NetBSD__ or __OpenBSD__ or __FreeBSD__ or __HAIKU__ + + + //------------------------------------------------------------------------------- +diff --git a/libs/threadimageio/thumbnailbasic.cpp b/libs/threadimageio/thumbnailbasic.cpp +index 524e06e..83fbc7b 100644 +--- a/libs/threadimageio/thumbnailbasic.cpp ++++ b/libs/threadimageio/thumbnailbasic.cpp +@@ -44,7 +44,7 @@ extern "C" + #include + #include + +-#ifndef _WIN32 ++#if !defined(_WIN32) && !defined(__HAIKU__) + #include + #include + #endif +diff --git a/utilities/mediaserver/upnpsdk/Neptune/Source/System/Bsd/NptBsdNetwork.cpp b/utilities/mediaserver/upnpsdk/Neptune/Source/System/Bsd/NptBsdNetwork.cpp +index 4b79915..2303781 100644 +--- a/utilities/mediaserver/upnpsdk/Neptune/Source/System/Bsd/NptBsdNetwork.cpp ++++ b/utilities/mediaserver/upnpsdk/Neptune/Source/System/Bsd/NptBsdNetwork.cpp +@@ -12,6 +12,9 @@ + +---------------------------------------------------------------------*/ + #include + #include ++#ifdef __HAIKU__ ++#include ++#endif + #include + #include + #include +-- +2.16.2 +