commit:     c017fa0361f650cb3ffe21681b9d88110ab4ed90
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 28 09:50:51 2023 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Tue Feb 28 10:42:28 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c017fa03

media-gfx/gmic: add 3.2.1

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 media-gfx/gmic/Manifest          |   1 +
 media-gfx/gmic/gmic-3.2.1.ebuild | 138 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 139 insertions(+)

diff --git a/media-gfx/gmic/Manifest b/media-gfx/gmic/Manifest
index ccbaa655c45e..f5db8513e425 100644
--- a/media-gfx/gmic/Manifest
+++ b/media-gfx/gmic/Manifest
@@ -1,2 +1,3 @@
 DIST gmic_3.1.6.tar.gz 10843311 BLAKE2B 
c50bcb9bd6c3d7d68a06f72faf0061d22b37c6fa357b40c16963c16a8841dba5ee8cf4509076a6734bb4eedbddfa2870897cb30687715ee6d7d84f2520700c17
 SHA512 
7d1ab97e8dfdf75b647cb7248eaa153e3ebcd5d1b799c67a6e027a5e2e8746047d348ea8e25485aed615d62f485dd06895fe6234f67a055cab423997b96f9775
 DIST gmic_3.2.0.tar.gz 10933655 BLAKE2B 
6b87acb2a356d3d0c00e795d8b66de75acffa1f87b63caf58986ab52730fcd58bb9dfa37caf057ac2ab2a58695dd783c09018305f21d258427d9c1e450d1c14d
 SHA512 
2eccf179e865416ce5a6cc38fd5587fe79fb30cda381ca2bcb1e587f101a55c502422121d4696834bc25b6200aa3c2292ff30947f2704a610f46e61460685f5b
+DIST gmic_3.2.1.tar.gz 11236401 BLAKE2B 
8a68cee641892298e93373f9ad1a1ea4dd9995d813db7050a8a1c5f6658b2b08f9f9c4064dbef2a87e5350dc62c0bfa10d226a53ebff1962c3ad3a75ad318fba
 SHA512 
c03a06acdf6669291602df4938a14de113d48ffa598b3c4af7975bd16aea37d426878ff0f593f22992da135a7b6e27fbb39dbaca4f89726ec367552f14be433b

diff --git a/media-gfx/gmic/gmic-3.2.1.ebuild b/media-gfx/gmic/gmic-3.2.1.ebuild
new file mode 100644
index 000000000000..e37b2cb59f90
--- /dev/null
+++ b/media-gfx/gmic/gmic-3.2.1.ebuild
@@ -0,0 +1,138 @@
+# 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-makefile_automagic.patch
+       "${FILESDIR}"/${PN}-3.2.0-relative_rpath.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 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
+}

Reply via email to