PKGBUILDs/community/gmic/PKGBUILD
2020-11-16 22:25:51 +00:00

127 lines
4.2 KiB
Bash

# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: farid <farid at archlinuc-br.org>
# Contributor: Archie <Mymaud@gmail.com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - set LTO=off for gmic-qt
highmem=1
pkgbase=gmic
pkgname=(gmic zart gimp-plugin-gmic krita-plugin-gmic digikam-plugin-gmic)
pkgver=2.9.3
pkgrel=1
arch=(x86_64)
url="https://gmic.eu/"
license=(custom:CeCILL)
makedepends=(cmake gimp qt5-base fftw openexr opencv eigen graphicsmagick qt5-tools digikam)
source=(https://gmic.eu/files/source/gmic_$pkgver.tar.gz
gmic-build-fix.patch::"https://github.com/dtschump/gmic/commit/52cd8898.patch"
gmic-build-fix2.patch::"https://github.com/dtschump/gmic/commit/376f1b83.patch"
gmic-qt-fix-build.patch)
sha256sums=('eb55e75ac691d80f3a6a228bcf21ca5db064201b66aecde6d3ca5d1d8851f59b'
'e73a7f9a256ca776106d029b7d247ae9f6f8aa8c49b8614be7f7d0e8afbc97c5'
'e7f05332ced3784388c8f9aec4e0be36b334782d9d85fc77e3d9e6e063127706'
'084891edbf1a005e5100bb6a69b4a6c9bbefe8898371c8fa442890e8b458942a')
prepare() {
patch -d $pkgbase-$pkgver -p1 -i ../gmic-build-fix.patch
patch -d $pkgbase-$pkgver -p1 -i ../gmic-build-fix2.patch
patch -d $pkgbase-$pkgver/gmic-qt -p1 -i ../../gmic-qt-fix-build.patch
}
build() {
cmake -B build -S gmic-$pkgver \
-DCMAKE_INSTALL_PREFIX=/usr \
-DENABLE_DYNAMIC_LINKING=ON \
-DBUILD_LIB_STATIC=OFF
cmake --build build
export LDFLAGS="$LDFLAGS -L../build"
cmake -B build-qt -S gmic-$pkgver/gmic-qt \
-DCMAKE_INSTALL_PREFIX=/usr \
-DENABLE_DYNAMIC_LINKING=ON \
-DGMIC_PATH="$srcdir"/gmic-$pkgver/src \
-DGMIC_QT_HOST=none \
-DENABLE_LTO=OFF
cmake --build build-qt
cmake -B build-gimp -S gmic-$pkgver/gmic-qt \
-DCMAKE_INSTALL_PREFIX=/usr \
-DENABLE_DYNAMIC_LINKING=ON \
-DGMIC_PATH="$srcdir"/gmic-$pkgver/src \
-DGMIC_QT_HOST=gimp \
-DENABLE_LTO=OFF
cmake --build build-gimp
cmake -B build-krita -S gmic-$pkgver/gmic-qt \
-DCMAKE_INSTALL_PREFIX=/usr \
-DENABLE_DYNAMIC_LINKING=ON \
-DGMIC_PATH="$srcdir"/gmic-$pkgver/src \
-DGMIC_QT_HOST=krita \
-DENABLE_LTO=OFF
cmake --build build-krita
cmake -B build-digikam -S gmic-$pkgver/gmic-qt \
-DCMAKE_INSTALL_PREFIX=/usr \
-DENABLE_DYNAMIC_LINKING=ON \
-DGMIC_PATH="$srcdir"/gmic-$pkgver/src \
-DGMIC_QT_HOST=digikam \
-DENABLE_LTO=OFF
cmake --build build-digikam
mkdir -p build-zart
cd build-zart
unset CXXFLAGS # https://github.com/c-koi/zart/issues/14
qmake ../gmic-$pkgver/zart \
GMIC_PATH="$srcdir"/gmic-$pkgver/src GMIC_DYNAMIC_LINKING=on QMAKE_CXXFLAGS+=" -DOPENCV2_HEADERS"
make
}
package_gmic() {
pkgdesc="GREYC's Magic Image Converter: image processing framework"
depends=(graphicsmagick opencv fftw)
optdepends=('qt5-base: for the Qt UI')
DESTDIR="$pkgdir" cmake --install build
install -Dm644 gmic-$pkgver/COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
DESTDIR="$pkgdir" cmake --install build-qt
install -Dm644 gmic-$pkgver/resources/gmic_cluts.gmz -t "$pkgdir"/usr/share/gmic
}
package_zart() {
pkgdesc="A GUI for G'MIC real-time manipulations on the output of a webcam"
depends=(gmic qt5-base)
cd build-zart
install -Dm755 zart -t "$pkgdir"/usr/bin
install -Dm644 ../gmic-$pkgver/zart/Licence_CeCILL_V2-en.html -t "$pkgdir"/usr/share/licenses/$pkgname
}
package_gimp-plugin-gmic() {
pkgdesc="Gimp plugin for the G'MIC image processing framework"
depends=(gimp gmic qt5-base)
DESTDIR="$pkgdir" cmake --install build-gimp
install -Dm644 gmic-$pkgver/COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
package_krita-plugin-gmic() {
pkgdesc="Krita plugin for the G'MIC image processing framework"
depends=(krita gmic)
DESTDIR="$pkgdir" cmake --install build-krita
install -Dm644 gmic-$pkgver/COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
package_digikam-plugin-gmic() {
pkgdesc="DigiKam plugin for the G'MIC image processing framework"
depends=(digikam gmic)
DESTDIR="$pkgdir" cmake --install build-digikam
install -Dm644 gmic-$pkgver/COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}