summaryrefslogtreecommitdiff
path: root/media-gfx/gmic
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
commit93a93e9a3b53c1a73142a305ea1f8136846942ee (patch)
treeb9791a06ab3284e27b568412c59316c66240c682 /media-gfx/gmic
parent2771f79232c273bc2a57d23bf335dd81ccf6af28 (diff)
gentoo resync : 22.12.2021
Diffstat (limited to 'media-gfx/gmic')
-rw-r--r--media-gfx/gmic/Manifest3
-rw-r--r--media-gfx/gmic/files/gmic-3.0.0_ipa-sra.patch16
-rw-r--r--media-gfx/gmic/gmic-3.0.0.ebuild172
3 files changed, 191 insertions, 0 deletions
diff --git a/media-gfx/gmic/Manifest b/media-gfx/gmic/Manifest
index 16fd694e4054..b478513d78ca 100644
--- a/media-gfx/gmic/Manifest
+++ b/media-gfx/gmic/Manifest
@@ -1,4 +1,7 @@
AUX gmic-2.9.2_ipa-sra.patch 665 BLAKE2B b61fa87ac2da5fd5956c89cb4a6c128f266a175dca70cd34ff4bed0483c934241a375131eaddd6ebd5f3afb52e694d4fc6839d20718bc06463c0e263f15b6d5a SHA512 6f04cac4de5914cedd269655fe58ca406199c042bdbab6e706cfea49516d0a7e1234e61c51b6a142341a7984dd96e97c4b8f13c2efbe427627be26539af8653e
+AUX gmic-3.0.0_ipa-sra.patch 665 BLAKE2B d1b47e2f0e8e63251172ee6cbc2c5b1bd86d100904a3d7bb0c5df39c051769b8b6c0aa0bb1f81010fd9ca195886a0dbce41528d31a811627ee28d1af58a83432 SHA512 4677fc93e72ed5e71a91197d364a04e1f8c6c13bb3f5b6eb5402a03c0d6ab395b54788669e028b932e207986121138419a58ed5f4333c0a45cbe6c0b9638ed96
DIST gmic_2.9.9.tar.gz 7325061 BLAKE2B 256b4f1180edfc8ebb3a3e7f7666c7b44d95cd36a52c1b5539a355f022471eeef776c77b820864ca05b2ccc4a58a2e85970994cfdbce9e55aff31112af4e6000 SHA512 fcc129f5acfb32a3154d4c987f574c18ad68dd35e9e357fdc391166211747f5d7eed63a2fcde29c110a79e8665f2a6d1e70b68c81e19bb02be43a84ec7f1cc64
+DIST gmic_3.0.0.tar.gz 10225122 BLAKE2B 1066c62c2c56fafbfd11608eb9e3b7c7e9a87b404aae1e7e673e21d9b7b76a599e241f16656786bfa35687f3b3921fcba96368227753105aa25e2fa451962bfa SHA512 89353d16d6304e322400c93bafb50f7557df93c933ed2994f33a17d877e4e12ec511a355b38058680f356bccab5aa84b607fab225354c19d4b8ab3e64424c87c
EBUILD gmic-2.9.9.ebuild 4259 BLAKE2B 5958f96d7bab5481fe3b3800a2f7327e1d4d6fe4b46e318206379ecf3b4b2e6e6a34963568eafe35e9426732a9fe81d6b45be6f80d6f2385a6f44b1fb3210234 SHA512 01867f8b3377db39ffb365033d2545bd2c73a4684bd4e3fd1a3b1b8ad4996f7a2fb036a44096aaee09123e9596ba635f9435a04791b973c40f084bef7c05bdb0
+EBUILD gmic-3.0.0.ebuild 4207 BLAKE2B 2c57f970c3267a82f13cab009ba59285f95db21baeeccf8a0eb84e1026341e2d8be1f7429513dc2cc903751d1ed77bd0b94bb5a456af819a75f888664b771253 SHA512 076726fa59a2b6d083ea0ef855532305d914611c081cb1967783b31ca9a7059e3b0842280257460bd8a66be8d41e14418c08976e9a5b79ee46a5039fa4708c74
MISC metadata.xml 534 BLAKE2B f229329b6cd7c9a79b7be93c64ce6e84e65391084c7d76b99ada95762c643fc445fe12fa55acc9b355b5f1fb86de7c0845ec34f921494df8cba3d90ca8c2a408 SHA512 e36403a679467cba0b0580810a27076214d676a74deb09a55f13a38bc06f5ff0999560e1ae00629047a682bcbf3b9e73243db8da3eaa24b275c24a0d1995fe3c
diff --git a/media-gfx/gmic/files/gmic-3.0.0_ipa-sra.patch b/media-gfx/gmic/files/gmic-3.0.0_ipa-sra.patch
new file mode 100644
index 000000000000..04cfa560f193
--- /dev/null
+++ b/media-gfx/gmic/files/gmic-3.0.0_ipa-sra.patch
@@ -0,0 +1,16 @@
+A GCC-specific setting from years ago. gcc-9 quietly ignores it (the
+resulting binaries appear to be the same whether -fno-ipa-sra has been
+specified or not), clang fails on it as not recognised.
+Just get rid of it altogether.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -100,7 +100,7 @@
+ if(APPLE)
+ list(APPEND GMIC_CXX_COMPILE_FLAGS -mmacosx-version-min=10.8 -stdlib=libc++ -Wno-error=c++11-narrowing -Wc++11-extensions -fpermissive)
+ else()
+- list(APPEND GMIC_CXX_COMPILE_FLAGS -Wno-error=narrowing -fno-ipa-sra -fpermissive)
++ list(APPEND GMIC_CXX_COMPILE_FLAGS -Wno-error=narrowing -fpermissive)
+ endif()
+
+ if(NOT "${PRERELEASE_TAG}" STREQUAL "")
diff --git a/media-gfx/gmic/gmic-3.0.0.ebuild b/media-gfx/gmic/gmic-3.0.0.ebuild
new file mode 100644
index 000000000000..8f9fa857f2b0
--- /dev/null
+++ b/media-gfx/gmic/gmic-3.0.0.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 ffmpeg fftw gimp graphicsmagick jpeg krita opencv openexr openmp png qt5 tiff X zlib"
+REQUIRED_USE="
+ 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: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}
+ gimp? ( dev-qt/linguist-tools )
+ krita? ( dev-qt/linguist-tools )
+ qt5? ( dev-qt/linguist-tools )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.0_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 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=no
+ -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
+}