ImagePlay: new recipe (#5595)

* ImagePlay: new recipe

* Icon
This commit is contained in:
extrowerk
2021-01-08 21:45:23 +01:00
committed by GitHub
parent 20af8767e2
commit 7a30d5b1ab
3 changed files with 358 additions and 0 deletions

View File

@@ -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"
};

View File

@@ -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
}

View File

@@ -0,0 +1,127 @@
From 3c20e5066491695786dafbc2cd13db116a07dccb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
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 <algorithm>
#include <math.h>
-#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 <string>
#include <stdio.h>
-#if defined(__linux__) || defined(__APPLE__)
+#if defined(__linux__) || defined(__APPLE__) || defined(__HAIKU__)
#include <sys/uio.h>
#include <dirent.h>
#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