commit:     967211c08378d7a65c70e53b7351d69de5eb5d2c
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Mon Feb  8 13:24:28 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Mon Feb  8 13:47:55 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=967211c0

media-gfx/gmic: bump to 2.9.5

Now without the "at least one front-end must be enabled" REQUIRED_USE
rule, there _are_ legitimate use cases for installing only the library
 - media-gfx/darktable[gmic] for instance.

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

 media-gfx/gmic/Manifest          |   1 +
 media-gfx/gmic/gmic-2.9.5.ebuild | 191 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 192 insertions(+)

diff --git a/media-gfx/gmic/Manifest b/media-gfx/gmic/Manifest
index a5ed8f534c6..cbad8cc6505 100644
--- a/media-gfx/gmic/Manifest
+++ b/media-gfx/gmic/Manifest
@@ -1,2 +1,3 @@
 DIST gmic_2.9.2.tar.gz 6639693 BLAKE2B 
4b452cc5c82e8ea30a1bd65e51b6187fc12d9c7f8af6d0f8107a8d183c6e87dff11394f103eae7ac17daa00c6c9aa0f47ce78a92156e2da9bc4ee0fcacbf398d
 SHA512 
be8707b5c156b17189548c1f808b976afcb7b7cce20ff54ff4589eda9a76a8cddf81c64b7a53c332254b2c8c29fb8ca0926016cadcb1efb7131a38d857fce796
 DIST gmic_2.9.4.tar.gz 7279628 BLAKE2B 
ca5fc69a2990a86a340c4305dc406d4e9032ba04afa59819dc2c788b4c181d23bd03d3050380802fe1effa2b6389df60734f8b3523fac7b0ff6bc35b64a368a6
 SHA512 
76bb4798e91a68e76a985d7fbc488f8677facaa1efc4ab3a0b9c7d966aa3f5763d1ae1de80f572636d58f1831d9bdae1651ea0b6a76d49a18bf5ad6e12756d73
+DIST gmic_2.9.5.tar.gz 7304367 BLAKE2B 
5227aced76cc5ff0a0144f940c71daeeb947e282b6f8c28894ecfda6b863803d0c2227bac869362ba0710fa33fcf81a4c77ea582cbea77ab8a670f65eef9826c
 SHA512 
95d0642cad057eeaa8f7bdd4259719adf6f36189e7851e9e09399bb61f3a52722f0f83f0d2d5991c4e44a692fd3afc735fdb93e6fe45ae092d1e51a139560809

diff --git a/media-gfx/gmic/gmic-2.9.5.ebuild b/media-gfx/gmic/gmic-2.9.5.ebuild
new file mode 100644
index 00000000000..30c1bc1b4da
--- /dev/null
+++ b/media-gfx/gmic/gmic-2.9.5.ebuild
@@ -0,0 +1,191 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_BUILD_TYPE=Release
+
+inherit cmake bash-completion-r1 toolchain-funcs
+
+if [[ ${PV} == "9999" ]]; then
+       EGIT_REPO_URI="https://github.com/dtschump/gmic.git";
+       inherit git-r3
+else
+       SRC_URI="https://gmic.eu/files/source/${PN}_${PV}.tar.gz";
+       KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="GREYC's Magic Image Converter"
+HOMEPAGE="https://gmic.eu/ https://github.com/dtschump/gmic";
+
+LICENSE="CeCILL-2 GPL-3"
+SLOT="0"
+IUSE="cli curl digikam ffmpeg fftw gimp graphicsmagick jpeg krita opencv 
openexr openmp png qt5 static-libs tiff X zlib"
+REQUIRED_USE="
+       digikam? ( png zlib fftw X )
+       gimp? ( png zlib fftw X )
+       krita? ( png zlib fftw X )
+       qt5? ( png zlib 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=
+"
+COMMON_DEPEND="
+       curl? ( net-misc/curl )
+       digikam? (
+               media-gfx/digikam
+               ${QT_DEPEND}
+       )
+       fftw? ( sci-libs/fftw:3.0=[threads] )
+       gimp? (
+               media-gfx/gimp:0/2
+               ${QT_DEPEND}
+       )
+       graphicsmagick? ( media-gfx/graphicsmagick:0= )
+       jpeg? ( virtual/jpeg:0 )
+       krita? ( ${QT_DEPEND} )
+       opencv? ( >=media-libs/opencv-2.3.1a-r1:0= )
+       openexr? (
+               media-libs/ilmbase:0=
+               media-libs/openexr:0=
+       )
+       png? ( media-libs/libpng:0= )
+       qt5? ( ${QT_DEPEND} )
+       tiff? ( media-libs/tiff:0 )
+       X? (
+               x11-libs/libX11
+               x11-libs/libXext
+       )
+       zlib? ( sys-libs/zlib:0= )"
+RDEPEND="${COMMON_DEPEND}
+       ffmpeg? ( media-video/ffmpeg:0= )
+"
+DEPEND="${COMMON_DEPEND}
+       digikam? ( dev-qt/linguist-tools )
+       gimp? ( dev-qt/linguist-tools )
+       krita? ( dev-qt/linguist-tools )
+       qt5? ( dev-qt/linguist-tools )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.9.2_ipa-sra.patch
+)
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]]; then
+               if use openmp; then
+                       tc-has-openmp || die "Please switch to an openmp 
compatible compiler"
+               fi
+       fi
+}
+
+src_prepare() {
+       cmake_src_prepare
+       sed -i '/CMAKE_CXX_FLAGS/s/-g //' CMakeLists.txt || die
+
+       if use digikam || use gimp || use krita || use qt5; then
+               # respect user flags
+               sed -e '/CMAKE_CXX_FLAGS_RELEASE/d' \
+                       -e '/${CMAKE_EXE_LINKER_FLAGS} -s/d' \
+                       -i gmic-qt/CMakeLists.txt || die
+               local S="${S}/gmic-qt"
+               # Bug #753377
+               local PATCHES=()
+               cmake_src_prepare
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_LIB=ON
+               -DBUILD_LIB_STATIC=$(usex static-libs)
+               -DBUILD_CLI=$(usex cli)
+               -DBUILD_MAN=$(usex cli)
+               -DBUILD_BASH_COMPLETION=$(usex cli)
+               -DCUSTOM_CFLAGS=ON
+               -DENABLE_CURL=$(usex curl)
+               -DENABLE_X=$(usex X)
+               -DENABLE_FFMPEG=$(usex ffmpeg)
+               -DENABLE_FFTW=$(usex fftw)
+               -DENABLE_GRAPHICSMAGICK=$(usex graphicsmagick)
+               -DENABLE_JPEG=$(usex jpeg)
+               -DENABLE_OPENCV=$(usex opencv)
+               -DENABLE_OPENEXR=$(usex openexr)
+               -DENABLE_OPENMP=$(usex openmp)
+               -DENABLE_PNG=$(usex png)
+               -DENABLE_TIFF=$(usex tiff)
+               -DENABLE_ZLIB=$(usex zlib)
+               -DENABLE_DYNAMIC_LINKING=ON
+       )
+
+       cmake_src_configure
+
+       # configure gmic-qt frontends
+       local CMAKE_USE_DIR="${S}/gmic-qt"
+       mycmakeargs=(
+               -DENABLE_DYNAMIC_LINKING=ON
+               -DENABLE_CURL=$(usex curl)
+               -DGMIC_LIB_PATH="${BUILD_DIR}"
+               -DGMIC_PATH="${S}/src"
+       )
+
+       if use digikam; then
+               mycmakeargs+=( -DGMIC_QT_HOST=digikam )
+               BUILD_DIR="${BUILD_DIR}"/digikam cmake_src_configure
+       fi
+
+       if use gimp; then
+               mycmakeargs+=( -DGMIC_QT_HOST=gimp )
+               BUILD_DIR="${BUILD_DIR}"/gimp cmake_src_configure
+       fi
+
+       if use krita; then
+               mycmakeargs+=( -DGMIC_QT_HOST=krita )
+               BUILD_DIR="${BUILD_DIR}"/krita cmake_src_configure
+       fi
+
+       if use qt5; then
+               mycmakeargs+=( -DGMIC_QT_HOST=none )
+               BUILD_DIR="${BUILD_DIR}"/qt5 cmake_src_configure
+       fi
+}
+
+src_compile() {
+       cmake_src_compile
+
+       # build gmic-qt frontends
+       local S="${S}/gmic-qt"
+       use digikam && { BUILD_DIR="${BUILD_DIR}"/digikam cmake_src_compile || 
die "failed building digikam plugin" ; }
+       use gimp && { BUILD_DIR="${BUILD_DIR}"/gimp cmake_src_compile || die 
"failed building gimp plugin" ; }
+       use krita && { BUILD_DIR="${BUILD_DIR}"/krita cmake_src_compile || die 
"failed building krita plugin" ; }
+       use qt5 && { BUILD_DIR="${BUILD_DIR}"/qt5 cmake_src_compile || die 
"failed building qt5 GUI" ; }
+}
+
+src_install() {
+       cmake_src_install
+       dodoc README
+       use cli && newbashcomp "${BUILD_DIR}"/resources/gmic_bashcompletion.sh 
${PN}
+
+       local PLUGINDIR="/usr/$(get_libdir)/gimp/2.0/plug-ins"
+       insinto "${PLUGINDIR}"
+       doins resources/gmic_cluts.gmz
+
+       # install gmic-qt frontends
+       if use digikam; then
+               local DIGIKAMDIR="/usr/$(get_libdir)/qt5/plugins/digikam/editor"
+               exeinto "${DIGIKAMDIR}"
+               doexe "${BUILD_DIR}"/digikam/Editor_GmicQt_Plugin.so
+       fi
+       if use gimp; then
+               exeinto "${PLUGINDIR}"
+               doexe "${BUILD_DIR}"/gimp/gmic_gimp_qt
+       fi
+       use krita && dobin "${BUILD_DIR}"/krita/gmic_krita_qt
+       use qt5 && dobin "${BUILD_DIR}"/qt5/gmic_qt
+}

Reply via email to