diff options
author | Marek Szuba <marecki@gentoo.org> | 2023-10-26 01:37:19 +0100 |
---|---|---|
committer | Marek Szuba <marecki@gentoo.org> | 2023-10-26 01:37:19 +0100 |
commit | 65924188c00e2e44592e29cecf1270bf0961a0a3 (patch) | |
tree | 9af739513c98532be7aeeb89408e35f6bf1c2813 /media-gfx | |
parent | dev-vcs/pre-commit: add 3.5.0 (diff) | |
download | gentoo-65924188c00e2e44592e29cecf1270bf0961a0a3.tar.gz gentoo-65924188c00e2e44592e29cecf1270bf0961a0a3.tar.bz2 gentoo-65924188c00e2e44592e29cecf1270bf0961a0a3.zip |
media-gfx/gmic: add 3.3.1
Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/gmic/Manifest | 1 | ||||
-rw-r--r-- | media-gfx/gmic/gmic-3.3.1.ebuild | 140 |
2 files changed, 141 insertions, 0 deletions
diff --git a/media-gfx/gmic/Manifest b/media-gfx/gmic/Manifest index 05b82272c3e9..25fea17dcfce 100644 --- a/media-gfx/gmic/Manifest +++ b/media-gfx/gmic/Manifest @@ -1 +1,2 @@ DIST gmic_3.2.6.tar.gz 11574989 BLAKE2B abd33048a448ca8406169c61a9d97bf6e785cbb286cec1d5104f12960640de9eb292677256c074eee5371fa77ed7041671f77a63140c2fa58070c01404962be6 SHA512 26b222c94d68273a8ad4a0c72dca315cb0e17695e601f69cb06d44c49166b8c1050926b8c5d73d21a64613e6ba3b0462e730617db83d2c67b53674bf22e50395 +DIST gmic_3.3.1.tar.gz 18983077 BLAKE2B 1020168de6a80db4998d5f37a28f680a90cac6b0c7b91f3300105c4fdffc88df5517f4ff6439895f9bab91c27deea3436988b3e41c7a9e3b4d7dba6a69e8a552 SHA512 b31c3eac083e280203eb4651a22ed4d49d1b46e8a5a81400bb8cbb9bdd87cb1226f9017b7a1e52d493fbed38a580238c6242b033162213c32316d852ad0f90c5 diff --git a/media-gfx/gmic/gmic-3.3.1.ebuild b/media-gfx/gmic/gmic-3.3.1.ebuild new file mode 100644 index 000000000000..6987b6673d70 --- /dev/null +++ b/media-gfx/gmic/gmic-3.3.1.ebuild @@ -0,0 +1,140 @@ +# 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.4-makefile_automagic.patch + "${FILESDIR}"/${PN}-3.2.5-relative_rpath.patch + "${FILESDIR}"/${PN}-3.2.6-makefile_target_deps.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 +} |