Gentoo Archives: gentoo-commits

From: Marek Szuba <marecki@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/gmic/
Date: Thu, 09 Sep 2021 10:46:02
Message-Id: 1631184335.f6a737ecacba2202fd0a08feec4501c0e4b15eb5.marecki@gentoo
1 commit: f6a737ecacba2202fd0a08feec4501c0e4b15eb5
2 Author: Marek Szuba <marecki <AT> gentoo <DOT> org>
3 AuthorDate: Thu Sep 9 10:41:51 2021 +0000
4 Commit: Marek Szuba <marecki <AT> gentoo <DOT> org>
5 CommitDate: Thu Sep 9 10:45:35 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6a737ec
7
8 media-gfx/gmic: add 2.9.9
9
10 Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>
11
12 media-gfx/gmic/Manifest | 1 +
13 media-gfx/gmic/gmic-2.9.9.ebuild | 174 +++++++++++++++++++++++++++++++++++++++
14 2 files changed, 175 insertions(+)
15
16 diff --git a/media-gfx/gmic/Manifest b/media-gfx/gmic/Manifest
17 index 430b2b2df6d..56fcb91b08c 100644
18 --- a/media-gfx/gmic/Manifest
19 +++ b/media-gfx/gmic/Manifest
20 @@ -1 +1,2 @@
21 DIST gmic_2.9.8.tar.gz 7311372 BLAKE2B 6438198cbaefe1de712ccd85179887b858ec1f7e039a080f0070e5ed454fd52b9414ecbd7c93dce740261df501f086634ab0bd291b70bb18778979faf2331486 SHA512 588362de60d51b1814cbe08f7402b143b656712bf2b4dc33830196068d7464394fe314d1c0dcee608a7408c7b7507596e88dee588a54f0eff1cad9e826b19bb3
22 +DIST gmic_2.9.9.tar.gz 7325061 BLAKE2B 256b4f1180edfc8ebb3a3e7f7666c7b44d95cd36a52c1b5539a355f022471eeef776c77b820864ca05b2ccc4a58a2e85970994cfdbce9e55aff31112af4e6000 SHA512 fcc129f5acfb32a3154d4c987f574c18ad68dd35e9e357fdc391166211747f5d7eed63a2fcde29c110a79e8665f2a6d1e70b68c81e19bb02be43a84ec7f1cc64
23
24 diff --git a/media-gfx/gmic/gmic-2.9.9.ebuild b/media-gfx/gmic/gmic-2.9.9.ebuild
25 new file mode 100644
26 index 00000000000..b58559de375
27 --- /dev/null
28 +++ b/media-gfx/gmic/gmic-2.9.9.ebuild
29 @@ -0,0 +1,174 @@
30 +# Copyright 1999-2021 Gentoo Authors
31 +# Distributed under the terms of the GNU General Public License v2
32 +
33 +EAPI=8
34 +
35 +CMAKE_BUILD_TYPE=Release
36 +
37 +inherit cmake bash-completion-r1 toolchain-funcs
38 +
39 +if [[ ${PV} == "9999" ]]; then
40 + EGIT_REPO_URI="https://github.com/dtschump/gmic.git"
41 + inherit git-r3
42 +else
43 + SRC_URI="https://gmic.eu/files/source/${PN}_${PV}.tar.gz"
44 + KEYWORDS="~amd64 ~arm64 ~x86"
45 +fi
46 +
47 +DESCRIPTION="GREYC's Magic Image Converter"
48 +HOMEPAGE="https://gmic.eu/ https://github.com/dtschump/gmic"
49 +
50 +LICENSE="CeCILL-2 GPL-3"
51 +SLOT="0"
52 +IUSE="cli curl ffmpeg fftw gimp graphicsmagick jpeg krita opencv openexr openmp png qt5 static-libs tiff X zlib"
53 +REQUIRED_USE="
54 + gimp? ( png zlib fftw X )
55 + krita? ( png zlib fftw X )
56 + qt5? ( png zlib fftw X )
57 +"
58 +
59 +MIN_QT_VER="5.2.0"
60 +QT_DEPEND="
61 + >=dev-qt/qtcore-${MIN_QT_VER}:5=
62 + >=dev-qt/qtgui-${MIN_QT_VER}:5=
63 + >=dev-qt/qtnetwork-${MIN_QT_VER}:5=
64 + >=dev-qt/qtwidgets-${MIN_QT_VER}:5=
65 +"
66 +COMMON_DEPEND="
67 + curl? ( net-misc/curl )
68 + fftw? ( sci-libs/fftw:3.0=[threads] )
69 + gimp? (
70 + media-gfx/gimp:0/2
71 + ${QT_DEPEND}
72 + )
73 + graphicsmagick? ( media-gfx/graphicsmagick:0= )
74 + jpeg? ( virtual/jpeg:0 )
75 + krita? ( ${QT_DEPEND} )
76 + opencv? ( >=media-libs/opencv-2.3.1a-r1:0= )
77 + openexr? (
78 + media-libs/ilmbase:0=
79 + media-libs/openexr:0=
80 + )
81 + png? ( media-libs/libpng:0= )
82 + qt5? ( ${QT_DEPEND} )
83 + tiff? ( media-libs/tiff:0 )
84 + X? (
85 + x11-libs/libX11
86 + x11-libs/libXext
87 + )
88 + zlib? ( sys-libs/zlib:0= )"
89 +RDEPEND="${COMMON_DEPEND}
90 + ffmpeg? ( media-video/ffmpeg:0= )
91 +"
92 +DEPEND="${COMMON_DEPEND}
93 + gimp? ( dev-qt/linguist-tools )
94 + krita? ( dev-qt/linguist-tools )
95 + qt5? ( dev-qt/linguist-tools )
96 +"
97 +BDEPEND="virtual/pkgconfig"
98 +
99 +PATCHES=(
100 + "${FILESDIR}"/${PN}-2.9.2_ipa-sra.patch
101 +)
102 +
103 +pkg_pretend() {
104 + if [[ ${MERGE_TYPE} != binary ]]; then
105 + if use openmp; then
106 + tc-has-openmp || die "Please switch to an openmp compatible compiler"
107 + fi
108 + fi
109 +}
110 +
111 +src_prepare() {
112 + cmake_src_prepare
113 + sed -i '/CMAKE_CXX_FLAGS/s/-g //' CMakeLists.txt || die
114 +
115 + if use gimp || use krita || use qt5; then
116 + # respect user flags
117 + sed -e '/CMAKE_CXX_FLAGS_RELEASE/d' \
118 + -e '/${CMAKE_EXE_LINKER_FLAGS} -s/d' \
119 + -i gmic-qt/CMakeLists.txt || die
120 + local S="${S}/gmic-qt"
121 + # Bug #753377
122 + local PATCHES=()
123 + cmake_src_prepare
124 + fi
125 +}
126 +
127 +src_configure() {
128 + local mycmakeargs=(
129 + -DBUILD_LIB=ON
130 + -DBUILD_LIB_STATIC=$(usex static-libs)
131 + -DBUILD_CLI=$(usex cli)
132 + -DBUILD_MAN=$(usex cli)
133 + -DBUILD_BASH_COMPLETION=$(usex cli)
134 + -DCUSTOM_CFLAGS=ON
135 + -DENABLE_CURL=$(usex curl)
136 + -DENABLE_X=$(usex X)
137 + -DENABLE_FFMPEG=$(usex ffmpeg)
138 + -DENABLE_FFTW=$(usex fftw)
139 + -DENABLE_GRAPHICSMAGICK=$(usex graphicsmagick)
140 + -DENABLE_JPEG=$(usex jpeg)
141 + -DENABLE_OPENCV=$(usex opencv)
142 + -DENABLE_OPENEXR=$(usex openexr)
143 + -DENABLE_OPENMP=$(usex openmp)
144 + -DENABLE_PNG=$(usex png)
145 + -DENABLE_TIFF=$(usex tiff)
146 + -DENABLE_ZLIB=$(usex zlib)
147 + -DENABLE_DYNAMIC_LINKING=ON
148 + )
149 +
150 + cmake_src_configure
151 +
152 + # configure gmic-qt frontends
153 + local CMAKE_USE_DIR="${S}/gmic-qt"
154 + mycmakeargs=(
155 + -DENABLE_DYNAMIC_LINKING=ON
156 + -DENABLE_CURL=$(usex curl)
157 + -DGMIC_LIB_PATH="${BUILD_DIR}"
158 + -DGMIC_PATH="${S}/src"
159 + )
160 +
161 + if use gimp; then
162 + mycmakeargs+=( -DGMIC_QT_HOST=gimp )
163 + BUILD_DIR="${BUILD_DIR}"/gimp cmake_src_configure
164 + fi
165 +
166 + if use krita; then
167 + mycmakeargs+=( -DGMIC_QT_HOST=krita )
168 + BUILD_DIR="${BUILD_DIR}"/krita cmake_src_configure
169 + fi
170 +
171 + if use qt5; then
172 + mycmakeargs+=( -DGMIC_QT_HOST=none )
173 + BUILD_DIR="${BUILD_DIR}"/qt5 cmake_src_configure
174 + fi
175 +}
176 +
177 +src_compile() {
178 + cmake_src_compile
179 +
180 + # build gmic-qt frontends
181 + local S="${S}/gmic-qt"
182 + use gimp && { BUILD_DIR="${BUILD_DIR}"/gimp cmake_src_compile || die "failed building gimp plugin" ; }
183 + use krita && { BUILD_DIR="${BUILD_DIR}"/krita cmake_src_compile || die "failed building krita plugin" ; }
184 + use qt5 && { BUILD_DIR="${BUILD_DIR}"/qt5 cmake_src_compile || die "failed building qt5 GUI" ; }
185 +}
186 +
187 +src_install() {
188 + cmake_src_install
189 + dodoc README
190 + use cli && newbashcomp "${BUILD_DIR}"/resources/gmic_bashcompletion.sh ${PN}
191 +
192 + local PLUGINDIR="/usr/$(get_libdir)/gimp/2.0/plug-ins"
193 + insinto "${PLUGINDIR}"
194 + doins resources/gmic_cluts.gmz
195 +
196 + # install gmic-qt frontends
197 + if use gimp; then
198 + exeinto "${PLUGINDIR}"
199 + doexe "${BUILD_DIR}"/gimp/gmic_gimp_qt
200 + fi
201 + use krita && dobin "${BUILD_DIR}"/krita/gmic_krita_qt
202 + use qt5 && dobin "${BUILD_DIR}"/qt5/gmic_qt
203 +}