Gentoo Archives: gentoo-commits

From: Tim Harder <radhermit@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/gmic/, media-gfx/gmic/files/
Date: Sun, 30 Dec 2018 08:27:50
Message-Id: 1546158399.4de7949186333cfd1c8ef2c29ac015591f3fba28.radhermit@gentoo
1 commit: 4de7949186333cfd1c8ef2c29ac015591f3fba28
2 Author: Tim Harder <radhermit <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 30 08:06:08 2018 +0000
4 Commit: Tim Harder <radhermit <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 30 08:26:39 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4de79491
7
8 media-gfx/gmic: version bump to 2.4.3
9
10 Closes: https://bugs.gentoo.org/556116
11 Closes: https://bugs.gentoo.org/621270
12 Closes: https://bugs.gentoo.org/622466
13 Closes: https://bugs.gentoo.org/628318
14 Closes: https://bugs.gentoo.org/629194
15 Closes: https://bugs.gentoo.org/633950
16 Closes: https://bugs.gentoo.org/643090
17 Closes: https://bugs.gentoo.org/657764
18
19 Signed-off-by: Tim Harder <radhermit <AT> gentoo.org>
20
21 media-gfx/gmic/Manifest | 1 +
22 media-gfx/gmic/files/gmic-2.4.3-curl.patch | 100 +++++++++++++++++
23 media-gfx/gmic/gmic-2.4.3.ebuild | 170 +++++++++++++++++++++++++++++
24 media-gfx/gmic/metadata.xml | 1 +
25 4 files changed, 272 insertions(+)
26
27 diff --git a/media-gfx/gmic/Manifest b/media-gfx/gmic/Manifest
28 index f0fb1ad0b3d..c72ee5e76e0 100644
29 --- a/media-gfx/gmic/Manifest
30 +++ b/media-gfx/gmic/Manifest
31 @@ -1,3 +1,4 @@
32 DIST gmic_1.7.8.tar.gz 3013635 BLAKE2B 1e964b42358010d1c643ff976f70774e2418a42b09601f29f9838e594ba4a0145e4c019cba39523efa85846bb75df7bbc451fd2c23ababc94ace93f35587c535 SHA512 2bfa7bb9ff3a99a76c71f7c4e0d619e9c205dafc02b5a2d1f097b6285c141e5413f7016b92d974327f787010a6832d272ab21a89842eee2484151072c2d4c559
33 DIST gmic_1.7.9.tar.gz 3069082 BLAKE2B bc756258adbe468a4ceb347d546e1d283b6b21bb8bac4d3ec14b5c789fa375de37babded5862bdbbf86e83e4818c00c77758c13d10041ab90903d2d01e58ca6a SHA512 749611748c9fe2a141efc9b0a445411c1ece842f4c576b68b3b17cbbffdc1cf43a2aee55dc399b899dc03882f240289beaef96d9ec85b10ffc0ad986412cd4bc
34 DIST gmic_2.0.0.tar.gz 3181386 BLAKE2B 4e6300388e62c915bf41ed04f70e487de8f5e460855f2e087c20766ef186d7dd1a4b99a053d9bd4ab02dc3f391982a9bebb20bcdd9b1e4737ba2bff77bd84a62 SHA512 08cb3bb02d072db5881dc3b2c23be766ae9909a29042777b474733afe30efeaeff35582ac69e8c5f38258c563919a17ce22294c594cbe04f792769b6609b3efb
35 +DIST gmic_2.4.3.tar.gz 3816129 BLAKE2B 1c9dd6c7e45809d0cf8b8a45476a4b20ad321b5f34fbc5214cb149777c6e9a6aba845cd816cc1503010e281bda0b32e1059dd34d052afe2ebc086469163967be SHA512 482e70b0c82992799c5769ded1547904d16dbc9206d67279b6f524c1214258b97fa539678844a450d6f64144dc7a2715c754d6a1d85398e648bc34086fc3218f
36
37 diff --git a/media-gfx/gmic/files/gmic-2.4.3-curl.patch b/media-gfx/gmic/files/gmic-2.4.3-curl.patch
38 new file mode 100644
39 index 00000000000..f91f86ff0d4
40 --- /dev/null
41 +++ b/media-gfx/gmic/files/gmic-2.4.3-curl.patch
42 @@ -0,0 +1,100 @@
43 +Add curl support for the cli app and base library and make it truly optional
44 +for gmic-qt instead of automagic.
45 +
46 +--- gmic-2.4.3/CMakeLists.txt
47 ++++ gmic-2.4.3/CMakeLists.txt
48 +@@ -83,6 +83,7 @@
49 + option(BUILD_MAN "Build the manpage" ON)
50 + option(BUILD_BASH_COMPLETION "Build Bash completion" ON)
51 + option(CUSTOM_CFLAGS "Override default compiler optimization flags" OFF)
52 ++option(ENABLE_CURL "Add support for curl" ON)
53 + option(ENABLE_X "Add support for X11" ON)
54 + option(ENABLE_FFMPEG "Add support for FFMpeg" ON)
55 + option(ENABLE_FFTW "Add support for FFTW" ON)
56 +@@ -136,6 +137,16 @@
57 + link_directories(${ZLIB_LIBRARY_DIRS})
58 + endif()
59 +
60 ++# curl support
61 ++if(ENABLE_CURL)
62 ++ find_package(CURL)
63 ++endif()
64 ++if(CURL_FOUND)
65 ++ set(COMPILE_FLAGS "${COMPILE_FLAGS} -Dcimg_use_curl")
66 ++ include_directories(${CURL_INCLUDE_DIRS})
67 ++ link_directories(${CURL_LIBRARY_DIRS})
68 ++endif()
69 ++
70 + #X11 support
71 + if(ENABLE_X)
72 + find_package(X11)
73 +@@ -288,6 +299,7 @@
74 + ${OPENEXR_LIBRARIES}
75 + ${OPENCV_LIBRARIES}
76 + ${ZLIB_LIBRARIES}
77 ++ ${CURL_LIBRARIES}
78 + ${FFTW3_LIBRARIES}
79 + ${EXTRA_LIBRARIES}
80 + )
81 +@@ -316,6 +328,7 @@
82 + ${OPENEXR_LIBRARIES}
83 + ${OPENCV_LIBRARIES}
84 + ${ZLIB_LIBRARIES}
85 ++ ${CURL_LIBRARIES}
86 + ${FFTW3_LIBRARIES}
87 + ${EXTRA_LIBRARIES}
88 + )
89 +@@ -345,6 +358,7 @@
90 + ${OPENEXR_LIBRARIES}
91 + ${OPENCV_LIBRARIES}
92 + ${ZLIB_LIBRARIES}
93 ++ ${CURL_LIBRARIES}
94 + ${FFTW3_LIBRARIES}
95 + ${EXTRA_LIBRARIES}
96 + )
97 +--- gmic-2.4.3/gmic-qt/CMakeLists.txt
98 ++++ gmic-2.4.3/gmic-qt/CMakeLists.txt
99 +@@ -30,6 +30,7 @@
100 + message("G'MIC path: " ${GMIC_PATH})
101 +
102 + option(ENABLE_DYNAMIC_LINKING "Dynamically link the binaries to the GMIC shared library" OFF)
103 ++option(ENABLE_CURL "Add support for curl" ON)
104 + set (GMIC_LIB_PATH "${GMIC_PATH}" CACHE STRING "Define the path to the GMIC shared library")
105 +
106 + #
107 +@@ -149,10 +150,12 @@
108 + #
109 + # CURL
110 + #
111 +-find_package(CURL)
112 +-if (CURL_FOUND)
113 +- add_definitions(-Dcimg_use_curl)
114 +- include_directories(SYSTEM ${CURL_INCLUDE_DIRS} )
115 ++if(ENABLE_CURL)
116 ++ find_package(CURL)
117 ++ if (CURL_FOUND)
118 ++ add_definitions(-Dcimg_use_curl)
119 ++ include_directories(SYSTEM ${CURL_INCLUDE_DIRS} )
120 ++ endif()
121 + endif()
122 +
123 + #
124 +@@ -187,11 +190,13 @@
125 + ${ZLIB_LIBRARIES}
126 + )
127 +
128 +-if (CURL_FOUND)
129 +- set(gmic_qt_LIBRARIES
130 +- ${gmic_qt_LIBRARIES}
131 +- ${CURL_LIBRARIES}
132 +- )
133 ++if(ENABLE_CURL)
134 ++ if (CURL_FOUND)
135 ++ set(gmic_qt_LIBRARIES
136 ++ ${gmic_qt_LIBRARIES}
137 ++ ${CURL_LIBRARIES}
138 ++ )
139 ++ endif()
140 + endif()
141 +
142 + add_definitions(-Dgmic_build)
143
144 diff --git a/media-gfx/gmic/gmic-2.4.3.ebuild b/media-gfx/gmic/gmic-2.4.3.ebuild
145 new file mode 100644
146 index 00000000000..0b6b7df9acb
147 --- /dev/null
148 +++ b/media-gfx/gmic/gmic-2.4.3.ebuild
149 @@ -0,0 +1,170 @@
150 +# Copyright 1999-2018 Gentoo Authors
151 +# Distributed under the terms of the GNU General Public License v2
152 +
153 +EAPI=7
154 +
155 +CMAKE_BUILD_TYPE=Release
156 +CMAKE_MIN_VERSION=3.9
157 +
158 +inherit cmake-utils bash-completion-r1
159 +
160 +if [[ ${PV} == "9999" ]]; then
161 + EGIT_REPO_URI="https://github.com/dtschump/gmic.git"
162 + inherit git-r3
163 +else
164 + SRC_URI="https://gmic.eu/files/source/${PN}_${PV}.tar.gz"
165 + KEYWORDS="~amd64 ~x86"
166 +fi
167 +
168 +DESCRIPTION="GREYC's Magic Image Converter"
169 +HOMEPAGE="https://gmic.eu/ https://github.com/dtschump/gmic"
170 +
171 +LICENSE="CeCILL-2 GPL-3"
172 +SLOT="0"
173 +IUSE="+cli curl ffmpeg fftw gimp graphicsmagick jpeg krita opencv openexr openmp png qt5 static-libs tiff X zlib"
174 +REQUIRED_USE="
175 + || ( cli gimp krita qt5 )
176 + gimp? ( png zlib fftw X )
177 + krita? ( png zlib fftw X )
178 + qt5? ( png zlib fftw X )
179 +"
180 +
181 +MIN_QT_VER="5.2.0"
182 +QT_DEPEND="
183 + >=dev-qt/qtcore-${MIN_QT_VER}:5=
184 + >=dev-qt/qtgui-${MIN_QT_VER}:5=
185 + >=dev-qt/qtnetwork-${MIN_QT_VER}:5=
186 + >=dev-qt/qtwidgets-${MIN_QT_VER}:5=
187 +"
188 +COMMON_DEPEND="
189 + curl? ( net-misc/curl )
190 + fftw? ( sci-libs/fftw:3.0=[threads] )
191 + gimp? (
192 + >=media-gfx/gimp-2.8.0
193 + ${QT_DEPEND}
194 + )
195 + graphicsmagick? ( media-gfx/graphicsmagick:0= )
196 + jpeg? ( virtual/jpeg:0 )
197 + krita? ( ${QT_DEPEND} )
198 + opencv? ( >=media-libs/opencv-2.3.1a-r1:0= )
199 + openexr? (
200 + media-libs/ilmbase:0=
201 + media-libs/openexr:0=
202 + )
203 + png? ( media-libs/libpng:0= )
204 + qt5? ( ${QT_DEPEND} )
205 + tiff? ( media-libs/tiff:0 )
206 + X? (
207 + x11-libs/libX11
208 + x11-libs/libXext
209 + )
210 + zlib? ( sys-libs/zlib:0= )"
211 +RDEPEND="${COMMON_DEPEND}
212 + ffmpeg? ( media-video/ffmpeg:0= )
213 +"
214 +DEPEND="${COMMON_DEPEND}
215 + virtual/pkgconfig
216 + gimp? ( dev-qt/linguist-tools )
217 + krita? ( dev-qt/linguist-tools )
218 + qt5? ( dev-qt/linguist-tools )
219 +"
220 +
221 +pkg_pretend() {
222 + if use openmp ; then
223 + tc-has-openmp || die "Please switch to an openmp compatible compiler"
224 + fi
225 +
226 + if ! test-flag-CXX -std=c++11 ; then
227 + die "You need at least GCC 4.7.x or Clang >= 3.3 for C++11-specific compiler flags"
228 + fi
229 +}
230 +
231 +src_prepare() {
232 + local PATCHES=( "${FILESDIR}"/${P}-curl.patch )
233 + cmake-utils_src_prepare
234 + sed -i '/CMAKE_CXX_FLAGS/s/-g //' CMakeLists.txt || die
235 +
236 + if use gimp || use krita || use qt5; then
237 + sed -i '/CMAKE_CXX_FLAGS_RELEASE/d' gmic-qt/CMakeLists.txt || die
238 + local S="${S}/gmic-qt"
239 + PATCHES=()
240 + cmake-utils_src_prepare
241 + fi
242 +}
243 +
244 +src_configure() {
245 + local mycmakeargs=(
246 + -DBUILD_LIB=ON
247 + -DBUILD_LIB_STATIC=$(usex static-libs)
248 + -DBUILD_CLI=$(usex cli)
249 + -DBUILD_MAN=$(usex cli)
250 + -DCUSTOM_CFLAGS=ON
251 + -DENABLE_CURL=$(usex curl)
252 + -DENABLE_X=$(usex X)
253 + -DENABLE_FFMPEG=$(usex ffmpeg)
254 + -DENABLE_FFTW=$(usex fftw)
255 + -DENABLE_GRAPHICSMAGICK=$(usex graphicsmagick)
256 + -DENABLE_JPEG=$(usex jpeg)
257 + -DENABLE_OPENCV=$(usex opencv)
258 + -DENABLE_OPENEXR=$(usex openexr)
259 + -DENABLE_OPENMP=$(usex openmp)
260 + -DENABLE_PNG=$(usex png)
261 + -DENABLE_TIFF=$(usex tiff)
262 + -DENABLE_ZLIB=$(usex zlib)
263 + -DENABLE_DYNAMIC_LINKING=ON
264 + )
265 +
266 + cmake-utils_src_configure
267 +
268 + # configure gmic-qt frontends
269 + local CMAKE_USE_DIR="${S}/gmic-qt"
270 + mycmakeargs=(
271 + -DENABLE_DYNAMIC_LINKING=ON
272 + -DENABLE_CURL=$(usex curl)
273 + -DGMIC_LIB_PATH="${BUILD_DIR}"
274 + -DGMIC_PATH="${S}/src"
275 + )
276 +
277 + if use gimp; then
278 + mycmakeargs+=( -DGMIC_QT_HOST=gimp )
279 + BUILD_DIR="${BUILD_DIR}"/gimp cmake-utils_src_configure
280 + fi
281 +
282 + if use krita; then
283 + mycmakeargs+=( -DGMIC_QT_HOST=krita )
284 + BUILD_DIR="${BUILD_DIR}"/krita cmake-utils_src_configure
285 + fi
286 +
287 + if use qt5; then
288 + mycmakeargs+=( -DGMIC_QT_HOST=none )
289 + BUILD_DIR="${BUILD_DIR}"/qt5 cmake-utils_src_configure
290 + fi
291 +}
292 +
293 +src_compile() {
294 + cmake-utils_src_compile
295 +
296 + # build gmic-qt frontends
297 + local S="${S}/gmic-qt"
298 + use gimp && { BUILD_DIR="${BUILD_DIR}"/gimp cmake-utils_src_compile || die "failed building gimp plugin" ; }
299 + use krita && { BUILD_DIR="${BUILD_DIR}"/krita cmake-utils_src_compile || die "failed building krita plugin" ; }
300 + use qt5 && { BUILD_DIR="${BUILD_DIR}"/qt5 cmake-utils_src_compile || die "failed building qt5 GUI" ; }
301 +}
302 +
303 +src_install() {
304 + cmake-utils_src_install
305 + dodoc README
306 + use cli && newbashcomp "${BUILD_DIR}"/resources/gmic_bashcompletion.sh ${PN}
307 +
308 + local PLUGINDIR="/usr/$(get_libdir)/gimp/2.0/plug-ins"
309 + insinto "${PLUGINDIR}"
310 + doins resources/gmic_film_cluts.gmz
311 +
312 + # install gmic-qt frontends
313 + if use gimp; then
314 + exeinto "${PLUGINDIR}"
315 + doexe "${BUILD_DIR}"/gimp/gmic_gimp_qt
316 + fi
317 + use krita && dobin "${BUILD_DIR}"/krita/gmic_krita_qt
318 + use qt5 && dobin "${BUILD_DIR}"/qt5/gmic_qt
319 +}
320
321 diff --git a/media-gfx/gmic/metadata.xml b/media-gfx/gmic/metadata.xml
322 index 97ea96d2123..1cd8c96cdca 100644
323 --- a/media-gfx/gmic/metadata.xml
324 +++ b/media-gfx/gmic/metadata.xml
325 @@ -7,6 +7,7 @@
326 </maintainer>
327 <use>
328 <flag name="cli">Build CLI interface</flag>
329 + <flag name="krita">Build <pkg>media-gfx/krita</pkg> plugin</flag>
330 <flag name="opencv">Enable support for webcams using the OpenCV library</flag>
331 </use>
332 <upstream>