summaryrefslogtreecommitdiff
path: root/media-gfx/gmic
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-05-24 03:01:18 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-05-24 03:01:18 +0100
commita5d03e5440b3955446fba6d02de9f53ea4f6efc4 (patch)
treec1ef5c34e37665a48d85a29c5feadadb9622d627 /media-gfx/gmic
parent456fc832c996a122c45240beb68820ab3c2ada40 (diff)
gentoo auto-resync : 24:05:2023 - 03:01:18
Diffstat (limited to 'media-gfx/gmic')
-rw-r--r--media-gfx/gmic/Manifest3
-rw-r--r--media-gfx/gmic/files/gmic-3.2.4-makefile_automagic.patch131
-rw-r--r--media-gfx/gmic/gmic-3.2.4.ebuild139
3 files changed, 273 insertions, 0 deletions
diff --git a/media-gfx/gmic/Manifest b/media-gfx/gmic/Manifest
index 367602a1f067..9f7ed691ef82 100644
--- a/media-gfx/gmic/Manifest
+++ b/media-gfx/gmic/Manifest
@@ -2,8 +2,11 @@ AUX gmic-3.1.6-ar_so.patch 758 BLAKE2B 95031f8c3af292ef91d5cdf94406db158c74864c6
AUX gmic-3.2.0-grep38.patch 1330 BLAKE2B 22a241d8c574ca87691ec84107c718aa36404325891e3f50458753cc9051f1da3100206286ebeab2142360146b81b94ba3c063897722dd7b01730790f5672276 SHA512 46c078ef39cae6a0763a6e4e8d6ff9ac736b51e0b5f73fc6f75609fffa06eddd895f6803b5d39cfcd3bccb6e09549bdc0ca2ca3a7c1a2c8fa075869599eeb7d1
AUX gmic-3.2.0-makefile_automagic.patch 5397 BLAKE2B f5678cf7aba485c9d035fc34c0a2a75133567e6c4b91dc0a58f8511f8858c6c5facc4fced4fb4582a2336d03b68f6a5e95cc3490de0385e4a083568a20769c17 SHA512 904dbddee273c6ebb80d94e24a508043766e43c712464d02631fa584634248379f01e989749d218965afa593865883da2ebe267ac9b1755ca116573cdcfeeb73
AUX gmic-3.2.0-relative_rpath.patch 406 BLAKE2B cb92f21c090bfdb3c91aef60fc854fd21531ba8e7560458503ae0c123baf89a703057b870dc9a4366f179575373861696dedebd930c472a51644d4ef41553520 SHA512 8653697eea7da0b0db5ad9f7d8882a147a6aa9bd80085e6bfba21922431e52fa0b7e67c1c74afe8237a994861864f1df07ca2855c5d99bc0e69d0c630f11ebc7
+AUX gmic-3.2.4-makefile_automagic.patch 5367 BLAKE2B 7f720d964746fdb745f7741b092f3b313d9d92fb885e4660cc869ee0cd11affd57ec405e6db4002bd1085d8809c9b5af310b78103cf036ca3a7af272adcc1f63 SHA512 bca841fbd9bbca0c89833fcc77c3921db1a3fd83a156b1d58c2d8cebdb025ff0c9ab5c29a2ff9e9ffefb739f9513a1e2844fd0746973423cfcd2ace60ab95743
DIST gmic_3.2.0.tar.gz 10933655 BLAKE2B 6b87acb2a356d3d0c00e795d8b66de75acffa1f87b63caf58986ab52730fcd58bb9dfa37caf057ac2ab2a58695dd783c09018305f21d258427d9c1e450d1c14d SHA512 2eccf179e865416ce5a6cc38fd5587fe79fb30cda381ca2bcb1e587f101a55c502422121d4696834bc25b6200aa3c2292ff30947f2704a610f46e61460685f5b
DIST gmic_3.2.2.tar.gz 11321544 BLAKE2B e6786fdb0342e1dfa62043837fedeea25961b375af5d1dde247be373c0ef3e35a556dc78d6dd09b5b4c4ead3b531e2bb6a7b671a400dc9d477b22f1c6c7da6b9 SHA512 be695107f8cceb94789aaa021ca431ead3e0a7f87533478df0942ea6ad94f81639de8af827bb24fbef1baccc6ded8d41b4f5386ed9ee37704c2483ea7596800e
+DIST gmic_3.2.4.tar.gz 11342611 BLAKE2B f189683e0d12e707c839009449804c9db7b8afc3ff02dd033e0f9b820e889f51f4ae84b0d1e790e836761384778f4da33d79bc7b159484bbf00ec9cf88df92b2 SHA512 0a261d6242b485d7661919c14680f25d7b15d175619d8115077808c5502edb4ed313f37b3b6c6981709751d49bc7df40332aaefc03e626303135a827a5d41daf
EBUILD gmic-3.2.0.ebuild 3456 BLAKE2B 5e98b8d4ce0bc98c91ce5f77a92833ca4a48a17986fdac664528981451a723061b469ab3b502f5cb9988768cd9afd5bf03edf51573169f1a0bd261386b65fd98 SHA512 209ab91667f7574fb5cdd9e42a54f444d6c96ff91b55a5677c3e4c05284eae79d48237eac8bda942408df9ca7a2aa3b50f4827364cdba5a865e9774b4fe475d5
EBUILD gmic-3.2.2.ebuild 3471 BLAKE2B ca9e659dee49ae79135a998ba11109cafb0eb829ad0c5c1345b34fef1baabbf568e04a8d8c4ab428603a060417fd940f07d2d9c6bcb94ad98f6ee715106cb9d5 SHA512 8d9036a0d4f44725e50de73ce1812d0ee50b023ae11ababd4be3c9e8577f2168a65c4e133945c1009f56346b4470f9e2a78616b863732e76a9071357f22a55d7
+EBUILD gmic-3.2.4.ebuild 3471 BLAKE2B be12be0edcdc0cfb5bcc336058f4445b36dc3c168c9a007584860792c616ec3aba206d4397ac97f9f6ebfcdb39678f652d2e07a94a637dbf53b9fade6d9bc6d1 SHA512 9b8522d8c15a82cbed44e4a255487750d6a08cf4342c94a53d0cb25a73859a6ab180dabf6094cea5e587276fec2645188a6e75e808e1600ebf40ae5d3663524c
MISC metadata.xml 466 BLAKE2B 672259377cf7d693bc2493557b22150ddd3504d5bcb3f7b11c8e7e9a8ff591573503e5c9481d8a81e27757d4ebe205dd51a0fb57c0e691461988bc99fc714fc5 SHA512 62d65a13a3061fb31954fc08d753f6df7d76c262dc1c14304c1473dbe3f3412fb77cf808f0f205dc73d124f6dd1104c13d9dc79194eba702a0acdfb112fe6530
diff --git a/media-gfx/gmic/files/gmic-3.2.4-makefile_automagic.patch b/media-gfx/gmic/files/gmic-3.2.4-makefile_automagic.patch
new file mode 100644
index 000000000000..965ba65ae624
--- /dev/null
+++ b/media-gfx/gmic/files/gmic-3.2.4-makefile_automagic.patch
@@ -0,0 +1,131 @@
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -230,6 +230,7 @@
+
+ # Enable parallelization in CImg, using OpenMP.
+ # (http://www.openmp.org/)
++ifeq ($(GMIC_USE_OPENMP),yes)
+ ifdef IS_CLANG
+ OPENMP_CFLAGS = -I/usr/lib/gcc/x86_64-linux-gnu/9/include -Dcimg_use_openmp -fopenmp=libomp
+ OPENMP_LIBS =
+@@ -237,6 +238,7 @@
+ OPENMP_CFLAGS = -fopenmp -Dcimg_use_openmp
+ OPENMP_LIBS = -lgomp
+ endif
++endif
+
+ # Enable software debugging.
+ # (Use address sanitizer and thus slows down the code)
+@@ -258,9 +260,13 @@
+ # Enable image display, using X11 (Unix).
+ # (Keep /usr/ dirname here since X11 is located in /usr/ on Mac too)
+ ifneq ($(OS),Darwin)
++ifeq ($(GMIC_USE_X11),yes)
+ X11_CFLAGS = -Dcimg_display=1 $(shell pkg-config --cflags x11 || echo -I/usr/X11R6/include) #-Dcimg_use_xrandr
+ X11_LIBS = $(shell pkg-config --libs x11 || echo -L/usr/X11R6/lib -lX11) -lpthread # $(shell pkg-config --libs xrandr || echo -lXrandr)
+ else
++X11_CFLAGS = -Dcimg_display=0
++endif
++else
+ ifeq (,$(wildcard /usr/X11))
+ X11_CFLAGS = -Dcimg_display=0 #-Dcimg_use_xrandr
+ X11_LIBS = -lpthread # $(shell pkg-config --libs xrandr || echo -lXrandr)
+@@ -272,8 +278,10 @@
+
+ # Enable faster X11 display, using XShm extension.
+ # (ftp://www.x.org/pub/X11R7.7/doc/man/man3/XShm.3.xhtml)
++ifeq ($(GMIC_USE_XSHM),yes)
+ XSHM_CFLAGS = -Dcimg_use_xshm $(shell pkg-config --cflags xcb-shm)
+ XSHM_LIBS = $(shell pkg-config --libs xcb-shm || echo -L$(PREFIX)/X11R6/lib) -lXext
++endif
+
+ # Enable image display, using GDI32 (Windows).
+ GDI32_CFLAGS = -Dcimg_display=2
+@@ -282,8 +290,10 @@
+ # Enable native support of PNG image files, using the PNG library.
+ # (http://www.libpng.org/pub/png/libpng.html)
+ ifneq ($(OS),Darwin)
++ifeq ($(GMIC_USE_PNG),yes)
+ PNG_CFLAGS = -Dcimg_use_png $(shell pkg-config --cflags libpng)
+ PNG_LIBS = $(shell pkg-config --libs libpng || echo -lpng -lz)
++endif
+ else
+ ifeq (,$(wildcard /tmp/skl))
+ PNG_CFLAGS = -Dcimg_use_png $(shell pkg-config --cflags libpng)
+@@ -296,54 +306,74 @@
+
+ # Enable native support of JPEG image files, using the JPEG library.
+ # (http://libjpeg.sourceforge.net/)
++ifeq ($(GMIC_USE_JPEG),yes)
+ JPEG_CFLAGS = -Dcimg_use_jpeg $(shell pkg-config --cflags libjpeg)
+ JPEG_LIBS = $(shell pkg-config --libs libjpeg || echo -ljpeg)
++endif
+
+ # Enable native support of TIFF image files, using the TIFF library.
+ # (http://www.libtiff.org/)
++ifeq ($(GMIC_USE_TIFF),yes)
+ TIFF_CFLAGS = -Dcimg_use_tiff $(shell pkg-config --cflags libtiff-4)
+ TIFF_LIBS = $(shell pkg-config --libs libtiff-4 || echo -ltiff)
++endif
+
+ # Enable native support for loading HEIC/AVIF image files, using the libheif library.
+ # ( https://github.com/strukturag/libheif )
++ifeq ($(GMIC_USE_HEIF),yes)
+ HEIF_CFLAGS = -Dcimg_use_heif
+ HEIF_LIBS = -lheif
++endif
+
+ # Enable native support of MINC2 image files, using the MINC2 library.
+ # ( http://en.wikibooks.org/wiki/MINC/Reference/MINC2.0_Users_Guide )
++ifeq ($(GMIC_USE_MINC2),yes)
+ MINC2_CFLAGS = -Dcimg_use_minc2 -I${HOME}/local/include
+ MINC2_LIBS = -lminc_io -lvolume_io2 -lminc2 -lnetcdf -lhdf5 -lz -L${HOME}/local/lib
++endif
+
+ # Enable native support for downloading files from the network.
+ # ( http://curl.haxx.se/libcurl/ )
++ifeq ($(GMIC_USE_CURL),yes)
+ CURL_CFLAGS = -Dcimg_use_curl $(shell pkg-config --cflags libcurl)
+ CURL_LIBS = $(shell pkg-config --libs libcurl || echo -lcurl)
++endif
+
+ # Enable native support of webcams and video streaming, using the OpenCV library.
+ # (https://opencv.org/)
++ifeq ($(GMIC_USE_OPENCV),yes)
+ OPENCV_CFLAGS = -Dcimg_use_opencv $(shell pkg-config opencv --cflags) -I/usr/include/opencv -I/usr/include/opencv4
+ OPENCV_LIBS = $(shell pkg-config opencv --libs || echo -lopencv_core -lopencv_highgui -lopencv_videoio)
++endif
+
+ # Enable support of most classical image file formats, using the GraphicsMagick++ library.
+ # (http://www.graphicsmagick.org/Magick++/)
++ifeq ($(GMIC_USE_GRAPHICSMAGICK),yes)
+ MAGICK_CFLAGS = -Dcimg_use_magick $(shell pkg-config --cflags GraphicsMagick++ || echo -I$(PREFIX)/$(INCLUDE)/GraphicsMagick)
+ MAGICK_LIBS = $(shell pkg-config --libs GraphicsMagick++ || echo -lGraphicsMagick++)
++endif
+
+ # Enable native support of EXR image files, using the OpenEXR library.
+ # (http://www.openexr.com/)
+-OPENEXR_CFLAGS = -Dcimg_use_openexr $(shell pkg-config --cflags OpenEXR || echo -I$(PREFIX)/$(INCLUDE)/OpenEXR)
+-OPENEXR_LIBS = $(shell pkg-config --libs OpenEXR || echo -lIlmImf -lHalf)
++ifeq ($(GMIC_USE_EXR),yes)
++OPENEXR_CFLAGS = -Dcimg_use_openexr $(shell pkg-config --cflags OpenEXR || echo -I$(USR)/$(INCLUDE)/OpenEXR -I$(USR)/$(INCLUDE)/Imath)
++OPENEXR_LIBS = $(shell pkg-config --libs OpenEXR || echo -lOpenEXR -lImath)
++endif
+
+ # Enable Fast Fourier Transforms, using the FFTW3 library.
+ # (http://www.fftw.org/)
++ifeq ($(GMIC_USE_FFTW),yes)
+ FFTW_CFLAGS = -Dcimg_use_fftw3 $(shell pkg-config --cflags fftw3)
+ FFTW_LIBS = $(shell pkg-config --libs fftw3 || echo -lfftw3)
+ FFTW_LIBS += -lfftw3_threads
++endif
+
+ # Enable native support of the BOARD library.
+ # (https://github.com/c-koi/libboard)
++ifeq ($(GMIC_USE_BOARD),yes)
+ BOARD_CFLAGS = -Dcimg_use_board
+ BOARD_LIBS = -lboard
++endif
+
+ GMIC_STD_CFLAGS = $(MANDATORY_CFLAGS) $(ABORT_CFLAGS) $(PARALLEL_CFLAGS) $(FFTW_CFLAGS) $(CURL_CFLAGS) $(PNG_CFLAGS) $(JPEG_CFLAGS) $(TIFF_CFLAGS)
+ GMIC_STD_LIBS = $(MANDATORY_LIBS) $(PARALLEL_LIBS) $(FFTW_LIBS) $(CURL_LIBS) $(PNG_LIBS) $(JPEG_LIBS) $(TIFF_LIBS)
diff --git a/media-gfx/gmic/gmic-3.2.4.ebuild b/media-gfx/gmic/gmic-3.2.4.ebuild
new file mode 100644
index 000000000000..c8691f8d98b3
--- /dev/null
+++ b/media-gfx/gmic/gmic-3.2.4.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="GREYC's Magic Image Converter"
+HOMEPAGE="https://gmic.eu/ https://github.com/GreycLab/gmic"
+SRC_URI="https://gmic.eu/files/source/${PN}_${PV}.tar.gz"
+
+LICENSE="CeCILL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="cli curl ffmpeg fftw gimp graphicsmagick jpeg opencv openexr openmp png qt5 tiff X"
+
+REQUIRED_USE="
+ gimp? ( png fftw X )
+ qt5? ( png fftw X )
+"
+
+MIN_QT_VER="5.2.0"
+QT_DEPEND="
+ >=dev-qt/qtcore-${MIN_QT_VER}:5
+ >=dev-qt/qtgui-${MIN_QT_VER}:5
+ >=dev-qt/qtnetwork-${MIN_QT_VER}:5
+ >=dev-qt/qtwidgets-${MIN_QT_VER}:5
+"
+DEPEND="
+ sys-libs/zlib:0=
+ curl? ( net-misc/curl )
+ fftw? ( sci-libs/fftw:3.0=[threads] )
+ gimp? (
+ media-gfx/gimp:0/2
+ ${QT_DEPEND}
+ )
+ graphicsmagick? ( media-gfx/graphicsmagick:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ opencv? ( >=media-libs/opencv-2.3.1a-r1:= )
+ openexr? (
+ dev-libs/imath:=
+ media-libs/openexr:=
+ )
+ png? ( media-libs/libpng:= )
+ qt5? ( ${QT_DEPEND} )
+ tiff? ( media-libs/tiff:= )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXext
+ )"
+RDEPEND="${DEPEND}
+ ffmpeg? ( media-video/ffmpeg:= )
+"
+BDEPEND="
+ virtual/pkgconfig
+ gimp? (
+ dev-qt/linguist-tools:5
+ media-gfx/gimp:0/2
+ )
+ qt5? ( dev-qt/linguist-tools:5 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1.6-ar_so.patch
+ "${FILESDIR}"/${PN}-3.2.0-grep38.patch
+ "${FILESDIR}"/${PN}-3.2.0-relative_rpath.patch
+ "${FILESDIR}"/${PN}-3.2.4-makefile_automagic.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+gmic_emake() {
+ local mymakeargs=(
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ STRIP="/bin/true"
+ LIB="$(get_libdir)"
+ OPT_CFLAGS="${CXXFLAGS}"
+ OPT_LIBS="${LDFLAGS}"
+ GMIC_USE_CURL=$(usex curl)
+ GMIC_USE_EXR=$(usex openexr)
+ GMIC_USE_FFTW=$(usex fftw)
+ GMIC_USE_GRAPHICSMAGICK=$(usex graphicsmagick)
+ GMIC_USE_JPEG=$(usex jpeg)
+ GMIC_USE_OPENCV=$(usex opencv)
+ GMIC_USE_OPENMP=$(usex openmp)
+ GMIC_USE_PNG=$(usex png)
+ GMIC_USE_TIFF=$(usex tiff)
+ GMIC_USE_X11=$(usex X)
+ QMAKE="qmake5"
+ )
+
+ # Possibly unnecessary since 3.2.0, just in case though.
+ tc-is-clang && mymakeargs+=( OPENMP_LIBS="-lomp" )
+
+ emake -j1 -C src \
+ "${mymakeargs[@]}" \
+ $@
+}
+
+src_compile() {
+ gmic_emake lib
+ gmic_emake libc
+ use cli && gmic_emake cli_shared
+ use gimp && gmic_emake gimp_shared
+ use qt5 && gmic_emake gmic_qt_shared
+}
+
+src_install() {
+ # See below for why this has to name a directory even if USE=-gimp
+ local gimp_plugindir="/deleteme"
+ if use gimp; then
+ if type gimptool &>/dev/null; then
+ gimp_plugindir="$(gimptool --gimpplugindir)/plug-ins"
+ elif type gimptool-2.0 &>/dev/null; then
+ gimp_plugindir="$(gimptool-2.0 --gimpplugindir)/plug-ins"
+ elif type gimptool-2.99 &>/dev/null; then
+ gimp_plugindir="$(gimptool-2.99 --gimpplugindir)/plug-ins"
+ else
+ die "Cannot find GIMP plugin directory"
+ fi
+ fi
+
+ gmic_emake DESTDIR="${ED}" PLUGINDIR="${gimp_plugindir}" install
+
+ # Upstream build scripts create PLUGINDIR and write some files to it
+ # regardless of whether the GIMP plug-in has been built or not, or even
+ # when they haven't been able to execute gimptool to get the base path.
+ use gimp || rm -rf "${ED}/${gimp_plugindir}"
+
+ # These are already gzipped in the source tarballs
+ find "${ED}/usr/share/man" -name "*.gz" -exec gunzip {} \; || die
+}