public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Marek Szuba" <marecki@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/gmic/, media-gfx/gmic/files/
Date: Fri,  6 Nov 2020 17:18:27 +0000 (UTC)	[thread overview]
Message-ID: <1604682993.3e75f48e522d2e576921c7c6d5082a4124260147.marecki@gentoo> (raw)

commit:     3e75f48e522d2e576921c7c6d5082a4124260147
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Fri Nov  6 16:26:26 2020 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Fri Nov  6 17:16:33 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e75f48e

media-gfx/gmic: bump to 2.9.2

Includes USE=digikam support by Siuchung Cheung + fix for building under
clang.

Closes: https://bugs.gentoo.org/730932
Closes: https://bugs.gentoo.org/745225
Closes: https://bugs.gentoo.org/746221
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 media-gfx/gmic/Manifest                       |   1 +
 media-gfx/gmic/files/gmic-2.9.2_ipa-sra.patch |  15 ++
 media-gfx/gmic/gmic-2.9.2.ebuild              | 190 ++++++++++++++++++++++++++
 media-gfx/gmic/metadata.xml                   |   1 +
 4 files changed, 207 insertions(+)

diff --git a/media-gfx/gmic/Manifest b/media-gfx/gmic/Manifest
index c36aae8a862..37a45bd8dc3 100644
--- a/media-gfx/gmic/Manifest
+++ b/media-gfx/gmic/Manifest
@@ -1,2 +1,3 @@
 DIST gmic_2.9.0.tar.gz 6195597 BLAKE2B 3e1f83aa7e2024c545cab16c15cbd108ecaa33e7b0423c37cbb7e19fc9179280dfb31d819926110f06ff10a8b2b3e22b3c7f6c3e8bdece8b51c7295b8e78a974 SHA512 3b3703520998e5ad547316683158d7b60541a8cea2a7c1e7118f8de88492e0961bf1fe1da360dfb26d0ba7eaf997e7005a864364297db2bb405d532dedc4241d
 DIST gmic_2.9.1.tar.gz 6212626 BLAKE2B cb948987629f9bf07f3e756eb5f90526ac2012a7bd2c11021a3fbc253709d9e62ecd60a2f3a9f9fd9a8605f0f2a73497143c4f121e27d1cb5aa4f3a455916c56 SHA512 dc6a90bb130b50164f7696a2e0c702ee24267f1559f52b77d4040fa0477c452b52eb140263bb3abb49673638246784b356004866e13f6d0660feff759688b45b
+DIST gmic_2.9.2.tar.gz 6639693 BLAKE2B 4b452cc5c82e8ea30a1bd65e51b6187fc12d9c7f8af6d0f8107a8d183c6e87dff11394f103eae7ac17daa00c6c9aa0f47ce78a92156e2da9bc4ee0fcacbf398d SHA512 be8707b5c156b17189548c1f808b976afcb7b7cce20ff54ff4589eda9a76a8cddf81c64b7a53c332254b2c8c29fb8ca0926016cadcb1efb7131a38d857fce796

diff --git a/media-gfx/gmic/files/gmic-2.9.2_ipa-sra.patch b/media-gfx/gmic/files/gmic-2.9.2_ipa-sra.patch
new file mode 100644
index 00000000000..384856a0464
--- /dev/null
+++ b/media-gfx/gmic/files/gmic-2.9.2_ipa-sra.patch
@@ -0,0 +1,15 @@
+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)
+    set(COMPILE_FLAGS "${COMPILE_FLAGS} -mmacosx-version-min=10.8 -stdlib=libc++ -Wno-error=c++11-narrowing -Wc++11-extensions -fpermissive")
+ else()
+-  set(COMPILE_FLAGS "${COMPILE_FLAGS} -Wno-error=narrowing -fno-ipa-sra -fpermissive")
++  set(COMPILE_FLAGS "${COMPILE_FLAGS} -Wno-error=narrowing -fpermissive")
+ endif()
+ 
+ if(NOT "${PRERELEASE_TAG}" STREQUAL "")

diff --git a/media-gfx/gmic/gmic-2.9.2.ebuild b/media-gfx/gmic/gmic-2.9.2.ebuild
new file mode 100644
index 00000000000..260962b2dc1
--- /dev/null
+++ b/media-gfx/gmic/gmic-2.9.2.ebuild
@@ -0,0 +1,190 @@
+# 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 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 ~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="
+	|| ( cli digikam gimp krita qt5 )
+	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-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}
+	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"
+		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
+}

diff --git a/media-gfx/gmic/metadata.xml b/media-gfx/gmic/metadata.xml
index aa4cb5a5a51..e2159e098bb 100644
--- a/media-gfx/gmic/metadata.xml
+++ b/media-gfx/gmic/metadata.xml
@@ -4,6 +4,7 @@
 	<!-- maintainer-needed -->
 	<use>
 		<flag name="cli">Build CLI interface</flag>
+		<flag name="digikam">Build <pkg>media-gfx/digikam</pkg> plugin</flag>
 		<flag name="krita">Build <pkg>media-gfx/krita</pkg> plugin</flag>
 		<flag name="opencv">Enable support for webcams using the OpenCV library</flag>
 	</use>


             reply	other threads:[~2020-11-06 17:18 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-06 17:18 Marek Szuba [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-06-10 10:35 [gentoo-commits] repo/gentoo:master commit in: media-gfx/gmic/, media-gfx/gmic/files/ Marek Szuba
2023-01-31 23:15 Marek Szuba
2022-11-10 23:26 Marek Szuba
2022-09-01 23:22 Marek Szuba
2022-09-01 14:54 Marek Szuba
2022-02-15 19:51 Sam James
2021-12-12 19:52 Marek Szuba
2019-09-04 13:32 Tim Harder
2019-07-02 21:06 Tim Harder
2018-12-30  8:27 Tim Harder
2018-12-30  8:27 Tim Harder
2016-10-29  4:49 Tim Harder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1604682993.3e75f48e522d2e576921c7c6d5082a4124260147.marecki@gentoo \
    --to=marecki@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox