diff --git a/media-gfx/imageplay/additional-files/imageplay.rdef.in b/media-gfx/imageplay/additional-files/imageplay.rdef.in new file mode 100644 index 000000000..484d9535f --- /dev/null +++ b/media-gfx/imageplay/additional-files/imageplay.rdef.in @@ -0,0 +1,35 @@ + +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + variety = B_APPV_FINAL, + internal = 0, + short_info = "ImagePlay", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource vector_icon { + $"6E636966060501020016033A000000000000000040000049C00000000000017B" + $"99FF01020006033A000000000000000040000049C00000000000FFAA007CFFFF" + $"CCFFFFAA00020106023980000000000000003880004A100044000000FFAA00FF" + $"FFFFFF020206023B52383437AFB3C93C3AD5D0496A9647319C00FFFFFFFFF9FF" + $"A5020102023C1F0E3C1F0EBC79913C79914A800049000000EFFF00FFFFEFFF00" + $"000602063A5A3A5A3A5B405C3D5C435C465A465B465A46264626462540244324" + $"3D243A263A253A2602063A5A3A5A3A5B405C3D5C435C465A465B465A46364636" + $"4637403843383D383A363A373A3602063A363A363A3740383D38433846364637" + $"4636462646264627402843283D283A263A273A26020440283D28432846264627" + $"4625402443243D243A263A253A270A0A40243C2C342C3A32383A4035483A4632" + $"4C2C442C02044820C83720BDA820303830B74830C1D74850BDA850C837506038" + $"60C1D760B748090A050105000A000100123ED4133ED413BED4133ED4134922DC" + $"C53C4001178400040A010101023ED4133ED413BED4133ED4134922DCC53C400A" + $"020102023ED4133ED413BED4133ED4134922DCC53C400A030103023ED4133ED4" + $"13BED4133ED4134922DCC53C400A040104023D32763C6761BC67613D32764A0B" + $"7F49BC7B0A040104023DCE9DBD6D403D6D403DCE9D49F2A54A99E10A04010402" + $"BDF7B53D89A9BD89A9BDF7B54A784447DD410A04010402BE15DDBB93983B9398" + $"BE15DD4AAB4B48FC3C" +}; diff --git a/media-gfx/imageplay/imageplay-6.1.1~git.recipe b/media-gfx/imageplay/imageplay-6.1.1~git.recipe new file mode 100644 index 000000000..f1dfc74db --- /dev/null +++ b/media-gfx/imageplay/imageplay-6.1.1~git.recipe @@ -0,0 +1,196 @@ +SUMMARY="A rapid prototyping application for image processing" +DESCRIPTION="ImagePlay is a rapid prototyping tool for building and testing \ +image processing algorithms. It comes with a variety of over 70 individual \ +image processors which can be combined into complex process chains." +HOMEPAGE="http://cpvrlab.github.io/ImagePlay/" +COPYRIGHT="2015-2017 Bern University of Applied Sciences, Engineering and \ + Information Technology, HuCE, cpvrLab " +LICENSE="GNU GPL v3" +REVISION="1" +srcGitRev_1="3cccd1e7dc15f6da848d51c483671092e3904db8" +SOURCE_URI_1="https://github.com/cpvrlab/ImagePlay/archive/$srcGitRev_1.tar.gz" +CHECKSUM_SHA256_1="7242ce7134ee4dfd6da48151a168b68f2ff9053af83dec923a8b8efe233eb817" +SOURCE_FILENAME_1="imageplay-$portVersion.tar.gz" +SOURCE_DIR_1="ImagePlay-$srcGitRev_1" +srcGitRev_2="78194e92d7bc845888377b980fc8393637cbd481" +SOURCE_URI_2="https://github.com/cpvrlab/ImagePlay_lib/archive/$srcGitRev_2.tar.gz" +CHECKSUM_SHA256_2="937397586b1089749d723c0e2639a6e44717001bdb519050930002266f7dd043" +SOURCE_FILENAME_2="imageplay_lib-$portVersion.tar.gz" +SOURCE_DIR_2="ImagePlay_lib-$srcGitRev_2" + +ADDITIONAL_FILES="imageplay.rdef.in" +PATCHES_1="imageplay-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + imageplay$secondaryArchSuffix = $portVersion + app:imageplay$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libfreeimage$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libgomp$secondaryArchSuffix + lib:libopencv_alphamat$secondaryArchSuffix + lib:libopencv_aruco$secondaryArchSuffix + lib:libopencv_bgsegm$secondaryArchSuffix + lib:libopencv_bioinspired$secondaryArchSuffix + lib:libopencv_calib3d$secondaryArchSuffix + lib:libopencv_ccalib$secondaryArchSuffix + lib:libopencv_core$secondaryArchSuffix + lib:libopencv_cvv$secondaryArchSuffix + lib:libopencv_datasets$secondaryArchSuffix + lib:libopencv_dnn_objdetect$secondaryArchSuffix + lib:libopencv_dnn_superres$secondaryArchSuffix + lib:libopencv_dnn$secondaryArchSuffix + lib:libopencv_dpm$secondaryArchSuffix + lib:libopencv_face$secondaryArchSuffix + lib:libopencv_features2d$secondaryArchSuffix + lib:libopencv_flann$secondaryArchSuffix + lib:libopencv_freetype$secondaryArchSuffix + lib:libopencv_fuzzy$secondaryArchSuffix + lib:libopencv_gapi$secondaryArchSuffix + lib:libopencv_hdf$secondaryArchSuffix + lib:libopencv_hfs$secondaryArchSuffix + lib:libopencv_highgui$secondaryArchSuffix + lib:libopencv_img_hash$secondaryArchSuffix + lib:libopencv_imgcodecs$secondaryArchSuffix + lib:libopencv_imgproc$secondaryArchSuffix + lib:libopencv_intensity_transform$secondaryArchSuffix + lib:libopencv_line_descriptor$secondaryArchSuffix + lib:libopencv_mcc$secondaryArchSuffix + lib:libopencv_ml$secondaryArchSuffix + lib:libopencv_objdetect$secondaryArchSuffix + lib:libopencv_optflow$secondaryArchSuffix + lib:libopencv_phase_unwrapping$secondaryArchSuffix + lib:libopencv_photo$secondaryArchSuffix + lib:libopencv_plot$secondaryArchSuffix + lib:libopencv_quality$secondaryArchSuffix + lib:libopencv_rapid$secondaryArchSuffix + lib:libopencv_reg$secondaryArchSuffix + lib:libopencv_rgbd$secondaryArchSuffix + lib:libopencv_saliency$secondaryArchSuffix + lib:libopencv_shape$secondaryArchSuffix + lib:libopencv_stereo$secondaryArchSuffix + lib:libopencv_stitching$secondaryArchSuffix + lib:libopencv_structured_light$secondaryArchSuffix + lib:libopencv_superres$secondaryArchSuffix + lib:libopencv_surface_matching$secondaryArchSuffix + lib:libopencv_text$secondaryArchSuffix + lib:libopencv_tracking$secondaryArchSuffix + lib:libopencv_video$secondaryArchSuffix + lib:libopencv_videoio$secondaryArchSuffix + lib:libopencv_videostab$secondaryArchSuffix + lib:libopencv_xfeatures2d$secondaryArchSuffix + lib:libopencv_ximgproc$secondaryArchSuffix + lib:libopencv_xobjdetect$secondaryArchSuffix + lib:libopencv_xphoto$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libfreeimage$secondaryArchSuffix + devel:libGL$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libopencv_alphamat$secondaryArchSuffix + devel:libopencv_aruco$secondaryArchSuffix + devel:libopencv_bgsegm$secondaryArchSuffix + devel:libopencv_bioinspired$secondaryArchSuffix + devel:libopencv_calib3d$secondaryArchSuffix + devel:libopencv_ccalib$secondaryArchSuffix + devel:libopencv_core$secondaryArchSuffix + devel:libopencv_cvv$secondaryArchSuffix + devel:libopencv_datasets$secondaryArchSuffix + devel:libopencv_dnn_objdetect$secondaryArchSuffix + devel:libopencv_dnn_superres$secondaryArchSuffix + devel:libopencv_dnn$secondaryArchSuffix + devel:libopencv_dpm$secondaryArchSuffix + devel:libopencv_face$secondaryArchSuffix + devel:libopencv_features2d$secondaryArchSuffix + devel:libopencv_flann$secondaryArchSuffix + devel:libopencv_freetype$secondaryArchSuffix + devel:libopencv_fuzzy$secondaryArchSuffix + devel:libopencv_gapi$secondaryArchSuffix + devel:libopencv_hdf$secondaryArchSuffix + devel:libopencv_hfs$secondaryArchSuffix + devel:libopencv_highgui$secondaryArchSuffix + devel:libopencv_img_hash$secondaryArchSuffix + devel:libopencv_imgcodecs$secondaryArchSuffix + devel:libopencv_imgproc$secondaryArchSuffix + devel:libopencv_intensity_transform$secondaryArchSuffix + devel:libopencv_line_descriptor$secondaryArchSuffix + devel:libopencv_mcc$secondaryArchSuffix + devel:libopencv_ml$secondaryArchSuffix + devel:libopencv_objdetect$secondaryArchSuffix + devel:libopencv_optflow$secondaryArchSuffix + devel:libopencv_phase_unwrapping$secondaryArchSuffix + devel:libopencv_photo$secondaryArchSuffix + devel:libopencv_plot$secondaryArchSuffix + devel:libopencv_quality$secondaryArchSuffix + devel:libopencv_rapid$secondaryArchSuffix + devel:libopencv_reg$secondaryArchSuffix + devel:libopencv_rgbd$secondaryArchSuffix + devel:libopencv_saliency$secondaryArchSuffix + devel:libopencv_shape$secondaryArchSuffix + devel:libopencv_stereo$secondaryArchSuffix + devel:libopencv_stitching$secondaryArchSuffix + devel:libopencv_structured_light$secondaryArchSuffix + devel:libopencv_superres$secondaryArchSuffix + devel:libopencv_surface_matching$secondaryArchSuffix + devel:libopencv_text$secondaryArchSuffix + devel:libopencv_tracking$secondaryArchSuffix + devel:libopencv_video$secondaryArchSuffix + devel:libopencv_videoio$secondaryArchSuffix + devel:libopencv_videostab$secondaryArchSuffix + devel:libopencv_xfeatures2d$secondaryArchSuffix + devel:libopencv_ximgproc$secondaryArchSuffix + devel:libopencv_xobjdetect$secondaryArchSuffix + devel:libopencv_xphoto$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:g++$secondaryArchSuffix + cmd:lrelease$secondaryArchSuffix >= 5 + cmd:make + cmd:pkg_config$secondaryArchSuffix + cmd:qmake$secondaryArchSuffix >= 5 + " + +BUILD() +{ + #Preparation + rm -rf "$sourceDir/_lib" + ln -sfn "$sourceDir2" "$sourceDir/_lib" + + qmake PREFIX="$appsDir/ImagePlay" + make $jobArgs +} + +INSTALL() +{ +# make install #broken + mkdir -p $appsDir/ImagePlay + cp -R $sourceDir/_bin/Release/haiku/* $appsDir/ImagePlay + mv $appsDir/ImagePlay/imageplay $appsDir/ImagePlay/ImagePlay + rm -rf $appsDir/ImagePlay/libIPL.a + + local APP_SIGNATURE="application/x-vnd.imageplay" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`" + 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/imageplay.rdef.in > imageplay.rdef + + addResourcesToBinaries imageplay.rdef $appsDir/ImagePlay/ImagePlay + + addAppDeskbarSymlink $appsDir/ImagePlay/ImagePlay +} diff --git a/media-gfx/imageplay/patches/imageplay-6.1.1~git.patchset b/media-gfx/imageplay/patches/imageplay-6.1.1~git.patchset new file mode 100644 index 000000000..2325838c8 --- /dev/null +++ b/media-gfx/imageplay/patches/imageplay-6.1.1~git.patchset @@ -0,0 +1,127 @@ +From 3c20e5066491695786dafbc2cd13db116a07dccb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +Date: Fri, 8 Jan 2021 19:59:20 +0100 +Subject: [PATCH] Haiku platform support, dynamic opencv support + +--- + IPL/IPL.pro | 14 +++++++++++--- + IPL/include/IPL_global.h | 2 +- + IPL/include/processes/IPLLoadImageSequence.h | 2 +- + ImagePlay/ImagePlay.pro | 16 +++++++++++++--- + 4 files changed, 26 insertions(+), 8 deletions(-) + +diff --git a/IPL/IPL.pro b/IPL/IPL.pro +index e38c58b..8749d0a 100644 +--- a/IPL/IPL.pro ++++ b/IPL/IPL.pro +@@ -26,7 +26,8 @@ else: DESTDIR = ../ImagePlay/release + #define platform variable for folder name + win32 {contains(QMAKE_TARGET.arch, x86_64) {PLATFORM = x64} else {PLATFORM = Win32}} + macx {PLATFORM = macx} +-unix:!macx:!android {PLATFORM = linux} ++unix:!macx:!android:!haiku {PLATFORM = linux} ++haiku {PLATFORM = haiku} + + #define configuration variable for folder name + CONFIG(debug, debug|release) {CONFIGURATION = Debug} else {CONFIGURATION = Release} +@@ -117,7 +118,7 @@ macx { + + } + +-linux { ++linux | haiku { + CONFIG += staticlib + + LIBS += -lfreeimage +@@ -162,5 +163,12 @@ gcc:!clang { + INCLUDEPATH += $$PWD/include/ + INCLUDEPATH += $$PWD/include/processes/ + +-# OpenCV ++# OpenCV ++!haiku { + INCLUDEPATH += $$PWD/include/opencv/ ++} ++haiku { ++ QT_CONFIG -= no-pkg-config ++ CONFIG += link_pkgconfig ++ PKGCONFIG += opencv4 ++} +diff --git a/IPL/include/IPL_global.h b/IPL/include/IPL_global.h +index 3378527..b075472 100644 +--- a/IPL/include/IPL_global.h ++++ b/IPL/include/IPL_global.h +@@ -34,7 +34,7 @@ + #include + #include + +-#if defined(__linux__) || defined(__APPLE__) ++#if defined(__linux__) || defined(__APPLE__) || defined(__HAIKU__) + #define EXTERNC extern "C" + #define IPLSHARED_EXPORT __attribute__((visibility("default"))) + #define IPLSHARED_IMPORT __attribute__((visibility("default"))) +diff --git a/IPL/include/processes/IPLLoadImageSequence.h b/IPL/include/processes/IPLLoadImageSequence.h +index 41b1d55..5128994 100644 +--- a/IPL/include/processes/IPLLoadImageSequence.h ++++ b/IPL/include/processes/IPLLoadImageSequence.h +@@ -26,7 +26,7 @@ + + #include + #include +-#if defined(__linux__) || defined(__APPLE__) ++#if defined(__linux__) || defined(__APPLE__) || defined(__HAIKU__) + #include + #include + #else +diff --git a/ImagePlay/ImagePlay.pro b/ImagePlay/ImagePlay.pro +index 944b9ea..ca38b27 100644 +--- a/ImagePlay/ImagePlay.pro ++++ b/ImagePlay/ImagePlay.pro +@@ -62,7 +62,8 @@ DEFINES += IMAGEPLAY_APPCAST_URL=\\\"http://cpvrlab.github.io/ImagePlay/Appcast. + #define platform variable for folder name + win32 {contains(QMAKE_TARGET.arch, x86_64) {PLATFORM = x64} else {PLATFORM = Win32}} + macx {PLATFORM = macx} +-unix:!macx:!android {PLATFORM = linux} ++unix:!macx:!android:!haiku {PLATFORM = linux} ++haiku {PLATFORM = haiku} + + #define configuration variable for folder name + CONFIG(debug, debug|release) {CONFIGURATION = Debug} else {CONFIGURATION = Release} +@@ -160,7 +161,7 @@ macx: { + USE_FERVOR_UPDATER = true + } + +-linux: { ++linux | haiku: { + LIBS += -L../_bin/$$CONFIGURATION/$$PLATFORM/ -lIPL + + LIBS += -lfreeimage +@@ -174,7 +175,9 @@ linux: { + LIBS += -lopencv_xfeatures2d + LIBS += -lopencv_photo + LIBS += -lopencv_xphoto ++ !haiku{ + LIBS += -ldl ++ } + + QMAKE_POST_LINK += $${QMAKE_COPY_DIR} media/process_icons/ ../_bin/$$CONFIGURATION/$$PLATFORM/ && \ + $${QMAKE_COPY_DIR} media/examples/ ../_bin/$$CONFIGURATION/$$PLATFORM/ &&\ +@@ -232,7 +235,14 @@ gcc:!clang { + INCLUDEPATH += $$PWD/include/ + INCLUDEPATH += $$PWD/../IPL/include/ + INCLUDEPATH += $$PWD/../IPL/include/processes/ +-INCLUDEPATH += $$PWD/../IPL/include/opencv/ ++!haiku { ++ INCLUDEPATH += $$PWD/../IPL/include/opencv/ ++} ++haiku { ++ QT_CONFIG -= no-pkg-config ++ CONFIG += link_pkgconfig ++ PKGCONFIG += opencv4 ++} + DEPENDPATH += $$PWD/../IPL/include/ + + # Fervor autoupdater +-- +2.30.0 +