aboutsummaryrefslogtreecommitdiffstats
path: root/community/gthumb/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/gthumb/APKBUILD')
-rw-r--r--community/gthumb/APKBUILD211
1 files changed, 211 insertions, 0 deletions
diff --git a/community/gthumb/APKBUILD b/community/gthumb/APKBUILD
new file mode 100644
index 00000000000..dfde2bc7288
--- /dev/null
+++ b/community/gthumb/APKBUILD
@@ -0,0 +1,211 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=gthumb
+pkgver=3.12.6
+pkgrel=0
+pkgdesc="Image viewer and browser from GNOME"
+url="https://gitlab.gnome.org/GNOME/gthumb"
+# optional libjxl, but nobody uses this on s390x
+arch="all !s390x"
+license="GPL-2.0-or-later"
+depends="hicolor-icon-theme"
+makedepends="
+ bison
+ clutter-gtk-dev
+ colord-dev
+ exiv2-dev
+ flex
+ gsettings-desktop-schemas-dev
+ gst-plugins-base-dev
+ gstreamer-dev
+ gtk+3.0-dev
+ itstool
+ jpeg-dev
+ json-glib-dev
+ lcms2-dev
+ libchamplain-dev
+ libheif-dev
+ libjxl-dev
+ libpng-dev
+ libraw-dev
+ librsvg-dev
+ libsecret-dev
+ libsoup-dev
+ meson
+ webkit2gtk-dev
+ "
+sonameprefix="$pkgname:"
+# Ignore libcairo_io.so in automatically traced dependencies to avoid conflict
+# between gthumb and gthumb-extra-formats (both provides this extension library).
+somask="libcairo_io.so"
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-lang
+ $pkgname-extra-formats:extra_formats
+ $pkgname-full
+ "
+source="https://gitlab.gnome.org/GNOME/gthumb/-/archive/$pkgver/gthumb-$pkgver.tar.gz"
+
+# List of extensions splitted into subpackages.
+_extensions="
+ 23hq:_23hq
+ flickr
+ gstreamer
+ map-view:map_view
+ oauth
+ raw-files:raw_files
+ webalbums
+ "
+_depends_full="
+ $pkgname=$pkgver-r$pkgrel
+ $pkgname-extra-formats
+ "
+for _i in $_extensions; do
+ subpackages="$subpackages $pkgname-$_i"
+ _depends_full="$_depends_full $pkgname-${_i%:*}"
+done
+
+_extsdir='usr/lib/gthumb/extensions'
+
+build() {
+ msg 'Building full variant'
+ _build output true
+
+ msg 'Building smaller variant'
+ _build output-small false
+}
+
+_build() {
+ local outdir=$1
+ local toggle=$2
+
+ abuild-meson \
+ -Dwarn-deprecated=false \
+ -Dexiv2=true \
+ -Dclutter=false \
+ -Dgstreamer=$toggle \
+ -Dlibchamplain=true \
+ -Dlcms2=true \
+ -Dcolord=true \
+ -Dlibtiff=false \
+ -Dlibwebp=false \
+ -Dlibjxl=$toggle \
+ -Dlibheif=$toggle \
+ -Dlibraw=true \
+ -Dlibrsvg=$toggle \
+ -Dlibsecret=true \
+ -Dwebservices=true \
+ -Dlibbrasero=false \
+ . "$outdir"
+ meson compile -C "$outdir"
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+
+ _rename "$pkgdir"/usr/bin/gthumb gthumb.gst
+ _rename "$pkgdir"/usr/lib/gthumb/extensions/libslideshow.so libslideshow.so.gst
+ _rename "$pkgdir"/usr/lib/gthumb/extensions/libcairo_io.so libcairo_io.so.extra
+
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output-small
+
+ cd "$pkgdir"
+
+ # Keep only "C" (English) variant of help.
+ mv usr/share/help/C .
+ rm -rf usr/share/help/*
+ mv C usr/share/help/
+}
+
+_23hq() {
+ pkgdesc="gThumb extension for uploading images to 23hq.com"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove $_extsdir/23hq.extension
+ amove $_extsdir/lib23hq.so
+}
+
+extra_formats() {
+ pkgdesc="gThumb support for AVIF, HEIF, JPEG XL, and SVG image formats"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ replaces="$pkgname" # libcairo_io.so
+
+ amove $_extsdir/libcairo_io.so.extra
+ _rename "$subpkgdir"/$_extsdir/libcairo_io.so.extra libcairo_io.so
+}
+
+flickr() {
+ pkgdesc="gThumb extension for uploading images to Flickr"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove $_extsdir/flicker*.extension
+ amove $_extsdir/libflicker*.so
+}
+
+gstreamer() {
+ pkgdesc="gThumb extension for playing audio and video files"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ replaces="$pkgname" # gthumb and libslideshow.so
+
+ amove $_extsdir/gstreamer_*.extension
+ amove $_extsdir/libgstreamer_*.so
+
+ amove usr/bin/gthumb.gst
+ _rename "$subpkgdir"/usr/bin/gthumb.gst gthumb
+
+ amove $_extsdir/libslideshow.so.gst
+ _rename "$subpkgdir"/$_extsdir/libslideshow.so.gst libslideshow.so
+}
+
+map_view() {
+ pkgdesc="gThumb extension for viewing the photo position on the map"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove $_extsdir/map_view.extension
+ amove $_extsdir/libmap_view.so
+}
+
+oauth() {
+ pkgdesc="OAuth support for gThumb"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove $_extsdir/oauth.extension
+ amove $_extsdir/liboauth.so
+}
+
+raw_files() {
+ pkgdesc="gThumb extension for RAW format support"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove $_extsdir/raw_files.extension
+ amove $_extsdir/libraw_files.so
+}
+
+webalbums() {
+ pkgdesc="gThumb extension for creating static webalbums"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove $_extsdir/webalbums.extension
+ amove $_extsdir/libwebalbums.so
+ amove usr/share/gthumb/albumthemes
+}
+
+full() {
+ pkgdesc="$pkgdesc (with all built-in extensions)"
+ depends="$_depends_full"
+
+ mkdir -p "$subpkgdir"
+}
+
+_rename() {
+ mv "$1" "${1%/*}/$2"
+}
+
+sha512sums="
+162b8122413b6c1134436c1b33fa655e385f0a5d6095172fdb7bed32e900460550691996c7ad9d1130e4e860ea65026b4b1a5f71718f31bb577922dd54b96e06 gthumb-3.12.6.tar.gz
+"