media-gfx/gmic: version bump to 2.8.1
authorTim Harder <radhermit@gentoo.org>
Fri, 3 Jan 2020 06:28:59 +0000 (23:28 -0700)
committerTim Harder <radhermit@gentoo.org>
Fri, 3 Jan 2020 06:31:38 +0000 (23:31 -0700)
And update from the cmake-utils to the cmake eclass.

Signed-off-by: Tim Harder <radhermit@gentoo.org>
media-gfx/gmic/Manifest
media-gfx/gmic/gmic-2.8.1.ebuild [new file with mode: 0644]

index dbb05f62c7b8bd164a0535515e23956e619c9e88..edf579caa7560ed207fbe95c14fb7ab371be3b6a 100644 (file)
@@ -1,3 +1,4 @@
 DIST gmic_2.7.0.tar.gz 5823828 BLAKE2B 5a59e247ca5eb5f1aad841597fb008d9816e3c968224b8f59e51bc443218292601f8b5eea76353429677eb3ddc3fcf8f8ff28eaedd3a8ec66d84ebeb825fe7d3 SHA512 8269540253774061b108b309463dfbadb76b925e36f5d62be59020fef4178fc83b79a221f32104880b51cd9d7aef67a698beb648c6e544e4e58b88796e46a0c4
 DIST gmic_2.7.1.tar.gz 5843308 BLAKE2B 8a348d9444ba0879816a438161c130e9fc706178f93c6a1202586209f2d3779dfce48d2bd3147b47dec9614e4a3687108913b45e6c91afc8bc6266aabee26012 SHA512 9a2f8536217ba449207022bb1dfc92d3826bea80f8e7a048880c5c4451070e7a09b21c0c17199941284040b8f3661dc93737d0f67975c58b6a7015038c49465e
 DIST gmic_2.7.2.tar.gz 5848157 BLAKE2B 192eb02c1079072064d67d4cc834e8d674b55e0ce663501775ca2d31a4627129d9c1075d217800049e150c3dc7b6059c2521be1a594034df04beef416c6d888a SHA512 d8e26720d30235d613a618ce01615bd82fe0caf73979e5797865a459d7d7f877169111da98db88bfff62d0383e0301789aae7d3449ca9869d43847c6a5cbd7fb
+DIST gmic_2.8.1.tar.gz 5995556 BLAKE2B 3f3c35290d18c927745b4b527f5297a9c3beb109a34b7e8b70dcff064f2587e022616e0fe5063d79e94b8fbd0ce3f70b6b5417ebaa0f0cc0f61891d79330afa9 SHA512 0f9ae9454c6f053026cdace43b24e32183f384d79099bc654c3b154647d24ef6541b1fae62cb17e27e527fb51ed8cef03a46490af3ace1551646fc8b3cd64eb9
diff --git a/media-gfx/gmic/gmic-2.8.1.ebuild b/media-gfx/gmic/gmic-2.8.1.ebuild
new file mode 100644 (file)
index 0000000..1d3205f
--- /dev/null
@@ -0,0 +1,173 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_BUILD_TYPE=Release
+inherit cmake bash-completion-r1
+
+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 ~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 ffmpeg fftw gimp graphicsmagick jpeg krita opencv openexr openmp png qt5 static-libs tiff X zlib"
+REQUIRED_USE="
+       || ( cli gimp krita qt5 )
+       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 )
+       fftw? ( sci-libs/fftw:3.0=[threads] )
+       gimp? (
+               >=media-gfx/gimp-2.8.0
+               ${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}
+       gimp? ( dev-qt/linguist-tools )
+       krita? ( dev-qt/linguist-tools )
+       qt5? ( dev-qt/linguist-tools )
+"
+BDEPEND="virtual/pkgconfig"
+
+pkg_pretend() {
+       if use openmp ; then
+               tc-has-openmp || die "Please switch to an openmp compatible compiler"
+       fi
+
+       if ! test-flag-CXX -std=c++11 ; then
+               die "You need at least GCC 4.7.x or Clang >= 3.3 for C++11-specific compiler flags"
+       fi
+}
+
+src_prepare() {
+       local PATCHES=( "${FILESDIR}"/${PN}-2.4.3-curl.patch )
+       cmake_src_prepare
+       sed -i '/CMAKE_CXX_FLAGS/s/-g //' CMakeLists.txt || die
+
+       if use gimp || use krita || use qt5; then
+               # respect user flags
+               sed -i '/CMAKE_CXX_FLAGS_RELEASE/d' gmic-qt/CMakeLists.txt || die
+
+               # fix linking with fftw when thread support is enabled
+               pushd "${S}"/gmic-qt > /dev/null || die
+               PATCHES=( "${FILESDIR}"/${PN}-2.7.1-qt-cmake.patch )
+               cmake_src_prepare
+               popd > /dev/null || die
+       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 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 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 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
+}