216 lines
5.7 KiB
Bash
216 lines
5.7 KiB
Bash
SUMMARY="A Full-Featured Open-Source Framework for Image Processing"
|
|
DESCRIPTION="G'MIC is a full-featured open-source framework for digital \
|
|
image processing, distributed under the CeCILL free software licenses \
|
|
(LGPL-like and/or GPL-compatible). It provides several user interfaces \
|
|
to convert / manipulate / filter / visualize generic image datasets, \
|
|
ranging from 1D scalar signals to 3D+t sequences of multi-spectral \
|
|
volumetric images, hence including 2D color images."
|
|
HOMEPAGE="https://gmic.eu"
|
|
COPYRIGHT="Sébastien Fourey"
|
|
LICENSE="GNU GPL v3"
|
|
REVISION="8"
|
|
SOURCE_URI="https://gmic.eu/files/source/gmic_$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="9f053338752ec96a6b619718037767682c5fd58e2471c08f3740fdb070605bc0"
|
|
SOURCE_DIR="gmic-$portVersion"
|
|
PATCHES="gmic-$portVersion.patchset"
|
|
ADDITIONAL_FILES="
|
|
gmic.rdef.in
|
|
icons.zip
|
|
"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
PROVIDES="
|
|
gmic$secondaryArchSuffix = $portVersion
|
|
app:GMIC$secondaryArchSuffix = $portVersion
|
|
lib:libgmic${secondaryArchSuffix} = $portVersion
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libavcodec$secondaryArchSuffix
|
|
lib:libcurl$secondaryArchSuffix
|
|
lib:libfftw3$secondaryArchSuffix
|
|
lib:libGL$secondaryArchSuffix
|
|
lib:libgomp$secondaryArchSuffix
|
|
lib:libGraphicsMagick++$secondaryArchSuffix
|
|
lib:libGraphicsMagickWand$secondaryArchSuffix
|
|
lib:libiconv$secondaryArchSuffix
|
|
lib:libintl$secondaryArchSuffix
|
|
lib:libjpeg$secondaryArchSuffix
|
|
lib:libOpenEXR_3_0$secondaryArchSuffix
|
|
lib:libOpenEXRUtil_3_0$secondaryArchSuffix
|
|
lib:libopencv_core$secondaryArchSuffix
|
|
lib:libpng16$secondaryArchSuffix
|
|
lib:libQt5Core$secondaryArchSuffix
|
|
lib:libQt5Gui$secondaryArchSuffix
|
|
lib:libQt5Network$secondaryArchSuffix
|
|
lib:libQt5Widgets$secondaryArchSuffix
|
|
lib:libtiff$secondaryArchSuffix
|
|
lib:libxml2$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
gmic${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libgmic${secondaryArchSuffix} = $portVersion
|
|
"
|
|
REQUIRES_devel="
|
|
gmic$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:libavcodec$secondaryArchSuffix
|
|
devel:libcurl$secondaryArchSuffix
|
|
devel:libfftw3$secondaryArchSuffix
|
|
devel:libGL$secondaryArchSuffix
|
|
devel:libGraphicsMagick$secondaryArchSuffix
|
|
devel:libGraphicsMagickWand$secondaryArchSuffix
|
|
devel:libiconv$secondaryArchSuffix
|
|
devel:libjpeg$secondaryArchSuffix
|
|
devel:libOpenEXR_3_0$secondaryArchSuffix
|
|
devel:libOpenEXRUtil_3_0$secondaryArchSuffix
|
|
devel:libopencv_core$secondaryArchSuffix
|
|
devel:libpng16$secondaryArchSuffix
|
|
devel:libQt5Core$secondaryArchSuffix
|
|
devel:libQt5Gui$secondaryArchSuffix
|
|
devel:libQt5Network$secondaryArchSuffix
|
|
devel:libQt5Widgets$secondaryArchSuffix
|
|
devel:libtiff$secondaryArchSuffix
|
|
devel:libxml2$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:cmake
|
|
cmd:g++$secondaryArchSuffix
|
|
cmd:lrelease$secondaryArchSuffix >= 5
|
|
cmd:make
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
cmd:unzip
|
|
"
|
|
|
|
PATCH()
|
|
{
|
|
unzip -o $sourceDir/../../additional-files/icons.zip -d $sourceDir/gmic-qt/icons
|
|
unzip -o $sourceDir/../../additional-files/icons.zip -d $sourceDir/gmic-qt/icons/dark
|
|
}
|
|
|
|
BUILD()
|
|
{
|
|
export DISABLE_ASLR=1
|
|
|
|
local CUSTOM_CXX_FLAGS="-O3"
|
|
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
|
CUSTOM_CXX_FLAGS="-O1"
|
|
fi
|
|
|
|
cmake $cmakeDirArgs \
|
|
-B build -S . \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_CXX_FLAGS=$CUSTOM_CXX_FLAGS \
|
|
-DCUSTOM_CFLAGS=ON \
|
|
-DBUILD_BASH_COMPLETION=OFF \
|
|
-DBUILD_CLI=OFF \
|
|
-DBUILD_LIB=ON \
|
|
-DBUILD_LIB_STATIC=OFF \
|
|
-DBUILD_MAN=OFF \
|
|
-DENABLE_CURL=ON \
|
|
-DENABLE_DYNAMIC_LINKING=ON \
|
|
-DENABLE_FFMPEG=ON \
|
|
-DENABLE_FFTW=ON \
|
|
-DENABLE_GRAPHICSMAGICK=ON \
|
|
-DENABLE_OPENCV=ON \
|
|
-DENABLE_OPENEXR=ON \
|
|
-DENABLE_OPENMP=ON \
|
|
-DENABLE_PNG=ON \
|
|
-DENABLE_TIFF=ON \
|
|
-DENABLE_ZLIB=ON \
|
|
-DENABLE_LTO=OFF
|
|
|
|
cd build
|
|
make VERBOSE=1
|
|
cd ..
|
|
|
|
export LDFLAGS="$LDFLAGS -L../build"
|
|
|
|
cmake -B build-qt -S ./gmic-qt \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_CXX_FLAGS=$CUSTOM_CXX_FLAGS \
|
|
-DCUSTOM_CFLAGS=ON \
|
|
-DGMIC_PATH=$sourceDir/src \
|
|
-DGMIC_QT_HOST=none \
|
|
-DENABLE_ASAN=OFF \
|
|
-DENABLE_CURL=ON \
|
|
-DENABLE_DYNAMIC_LINKING=ON \
|
|
-DENABLE_FFTW3=ON \
|
|
-DENABLE_LTO=OFF
|
|
|
|
cd build-qt
|
|
make VERBOSE=1
|
|
cd ..
|
|
|
|
cmake -B build-krita -S ./gmic-qt \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_CXX_FLAGS=$CUSTOM_CXX_FLAGS \
|
|
-DCUSTOM_CFLAGS=ON \
|
|
-DGMIC_PATH=$sourceDir/src \
|
|
-DGMIC_QT_HOST=krita \
|
|
-DENABLE_ASAN=OFF \
|
|
-DENABLE_CURL=ON \
|
|
-DENABLE_DYNAMIC_LINKING=ON \
|
|
-DENABLE_FFTW3=ON \
|
|
-DENABLE_LTO=OFF
|
|
|
|
cd build-krita
|
|
make VERBOSE=1
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
cd build
|
|
make install
|
|
cd ..
|
|
|
|
mkdir -p "$appsDir/G'MIC"
|
|
cp build-qt/gmic_qt "$appsDir/G'MIC/G'MIC"
|
|
cp README "$appsDir/G'MIC"
|
|
|
|
mkdir -p "$appsDir/Krita"
|
|
cp build-krita/gmic_krita_qt "$appsDir/Krita"
|
|
|
|
local APP_SIGNATURE="application/x-vnd.gmic"
|
|
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/gmic.rdef.in > gmic.rdef
|
|
|
|
addResourcesToBinaries gmic.rdef "$appsDir/G'MIC/G'MIC"
|
|
|
|
APP_SIGNATURE="application/x-vnd.gmic-krita-plugin"
|
|
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/gmic.rdef.in > gmic.rdef
|
|
|
|
addResourcesToBinaries gmic.rdef "$appsDir/Krita/gmic_krita_qt"
|
|
|
|
addAppDeskbarSymlink "$appsDir/G'MIC/G'MIC"
|
|
|
|
prepareInstalledDevelLibs libgmic
|
|
|
|
packageEntries devel \
|
|
$developDir \
|
|
$libDir/cmake
|
|
}
|