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: Tue, 02 Jul 2019 21:06:12
Message-Id: 1562101506.23a04f77b1ab7d3d5dcc3c4f08dedfd0d044b4ee.radhermit@gentoo
1 commit: 23a04f77b1ab7d3d5dcc3c4f08dedfd0d044b4ee
2 Author: Tim Harder <radhermit <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jul 2 21:03:44 2019 +0000
4 Commit: Tim Harder <radhermit <AT> gentoo <DOT> org>
5 CommitDate: Tue Jul 2 21:05:06 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23a04f77
7
8 media-gfx/gmic: version bump to 2.6.7
9
10 Closes: https://bugs.gentoo.org/687662
11
12 Signed-off-by: Tim Harder <radhermit <AT> gentoo.org>
13
14 media-gfx/gmic/Manifest | 1 +
15 media-gfx/gmic/files/gmic-2.6.7-qt-cmake.patch | 54 ++++++++
16 media-gfx/gmic/gmic-2.6.7.ebuild | 171 +++++++++++++++++++++++++
17 3 files changed, 226 insertions(+)
18
19 diff --git a/media-gfx/gmic/Manifest b/media-gfx/gmic/Manifest
20 index 7504d64e6e4..fc20d5e7d3c 100644
21 --- a/media-gfx/gmic/Manifest
22 +++ b/media-gfx/gmic/Manifest
23 @@ -1,3 +1,4 @@
24 DIST gmic_2.4.3.tar.gz 3816129 BLAKE2B 1c9dd6c7e45809d0cf8b8a45476a4b20ad321b5f34fbc5214cb149777c6e9a6aba845cd816cc1503010e281bda0b32e1059dd34d052afe2ebc086469163967be SHA512 482e70b0c82992799c5769ded1547904d16dbc9206d67279b6f524c1214258b97fa539678844a450d6f64144dc7a2715c754d6a1d85398e648bc34086fc3218f
25 DIST gmic_2.4.5.tar.gz 3819428 BLAKE2B 71d19bf6d79ca00bf95006bd96595b83ee28caadf46a9c899176dcd96c5da1b3b9fa7b2150ea2383262c1db2357838c4c716c8ab09060c6c06faa5f7c52975c8 SHA512 39f7c35303704c579d62377f491830f6d310be672f3015aafbd6715c5fa1185d64671f841fd5e0cb818dfc96851afc6dbdbbb99f9b5156ccaeab91e7e1b08033
26 DIST gmic_2.5.3.tar.gz 5278154 BLAKE2B 9549798eac0cf0cd869dcaeb14fca184bee3587ec8ac03f80e7f48002dfcd0afe4ad61f2c6a6f1929fb91c010aee3960d6301a0c6c6b6a2f32a7b62db9ddecb0 SHA512 fede101892d6867b83a8995dbc2b7f9e502401bf1ea952fbf95c459c932bb447693d6434e9562b00c9d96f109cbbb35d9ee876fa1f6ec9dfc52186276033e5a5
27 +DIST gmic_2.6.7.tar.gz 5810623 BLAKE2B 407349683a7871937a37735aef81665ef5b06e5a88d5135e0d4264ce231ddba7ab088645049b1378dd73a7e6b45ada58958986b3282916aba19f7d7735c8bdaa SHA512 18088e33c133ddfa9642295af331d1808e0a618df8a7d3bb7f93d9933d4b6ec2f53a96e5a0f2bca5f1a53b4c7c0628ac7906503be007860fc37907db47029567
28
29 diff --git a/media-gfx/gmic/files/gmic-2.6.7-qt-cmake.patch b/media-gfx/gmic/files/gmic-2.6.7-qt-cmake.patch
30 new file mode 100644
31 index 00000000000..e268558a95e
32 --- /dev/null
33 +++ b/media-gfx/gmic/files/gmic-2.6.7-qt-cmake.patch
34 @@ -0,0 +1,54 @@
35 +Fix linking with fftw when thread support is enabled and fix source code file
36 +name typo.
37 +
38 +--- gmic-qt/CMakeLists.txt
39 ++++ gmic-qt/CMakeLists.txt
40 +@@ -13,6 +13,7 @@
41 + set(CMAKE_AUTOUIC OFF)
42 + set(CMAKE_AUTORCC ON)
43 + set(CMAKE_INCLUDE_CURRENT_DIR ON)
44 ++set(EXTRA_LIBRARIES)
45 +
46 + set (GMIC_QT_HOST "gimp" CACHE STRING "Define for which host qmic-qt will be built: gimp, krita or none.")
47 + if (${GMIC_QT_HOST} STREQUAL "none")
48 +@@ -143,8 +144,13 @@
49 + #
50 + find_package(FFTW3 REQUIRED)
51 + add_definitions(-Dcimg_use_fftw3 )
52 +-add_definitions(-Dcimg_use_fftw3_singlethread )
53 + include_directories(${FFTW3_INCLUDE_DIR})
54 ++find_library(FFTW3_THREADS_LIB fftw3_threads PATHS ${FFTW3_LIBRARY_DIRS})
55 ++if(FFTW3_THREADS_LIB STREQUAL "FFTW3_THREADS_LIB-NOTFOUND")
56 ++ add_definitions(-Dcimg_use_fftw3_singlethread)
57 ++else()
58 ++ list(APPEND EXTRA_LIBRARIES "-lfftw3_threads")
59 ++endif()
60 +
61 + #
62 + # CURL
63 +@@ -185,6 +191,7 @@
64 + ${PNG_LIBRARIES}
65 + ${FFTW3_LIBRARIES}
66 + ${ZLIB_LIBRARIES}
67 ++ ${EXTRA_LIBRARIES}
68 + )
69 +
70 + if (CURL_FOUND)
71 +@@ -278,7 +285,7 @@
72 + src/FilterParameters/ChoiceParameter.h
73 + src/FilterParameters/ColorParameter.h
74 + src/FilterParameters/ConstParameter.h
75 +- src/FilterParameters/CustomDoubleSpinbox.h
76 ++ src/FilterParameters/CustomDoubleSpinBox.h
77 + src/FilterParameters/FileParameter.h
78 + src/FilterParameters/FilterParametersWidget.h
79 + src/FilterParameters/FloatParameter.h
80 +@@ -350,7 +357,7 @@
81 + src/FilterParameters/ChoiceParameter.cpp
82 + src/FilterParameters/ColorParameter.cpp
83 + src/FilterParameters/ConstParameter.cpp
84 +- src/FilterParameters/CustomDoubleSpinbox.cpp
85 ++ src/FilterParameters/CustomDoubleSpinBox.cpp
86 + src/FilterParameters/FileParameter.cpp
87 + src/FilterParameters/FilterParametersWidget.cpp
88 + src/FilterParameters/FloatParameter.cpp
89
90 diff --git a/media-gfx/gmic/gmic-2.6.7.ebuild b/media-gfx/gmic/gmic-2.6.7.ebuild
91 new file mode 100644
92 index 00000000000..2a1fe822e6e
93 --- /dev/null
94 +++ b/media-gfx/gmic/gmic-2.6.7.ebuild
95 @@ -0,0 +1,171 @@
96 +# Copyright 1999-2019 Gentoo Authors
97 +# Distributed under the terms of the GNU General Public License v2
98 +
99 +EAPI=7
100 +
101 +CMAKE_BUILD_TYPE=Release
102 +CMAKE_MIN_VERSION=3.9
103 +
104 +inherit cmake-utils bash-completion-r1
105 +
106 +if [[ ${PV} == "9999" ]]; then
107 + EGIT_REPO_URI="https://github.com/dtschump/gmic.git"
108 + inherit git-r3
109 +else
110 + SRC_URI="https://gmic.eu/files/source/${PN}_${PV}.tar.gz"
111 + KEYWORDS="~amd64 ~x86"
112 +fi
113 +
114 +DESCRIPTION="GREYC's Magic Image Converter"
115 +HOMEPAGE="https://gmic.eu/ https://github.com/dtschump/gmic"
116 +
117 +LICENSE="CeCILL-2 GPL-3"
118 +SLOT="0"
119 +IUSE="+cli curl ffmpeg fftw gimp graphicsmagick jpeg krita opencv openexr openmp png qt5 static-libs tiff X zlib"
120 +REQUIRED_USE="
121 + || ( cli gimp krita qt5 )
122 + gimp? ( png zlib fftw X )
123 + krita? ( png zlib fftw X )
124 + qt5? ( png zlib fftw X )
125 +"
126 +
127 +MIN_QT_VER="5.2.0"
128 +QT_DEPEND="
129 + >=dev-qt/qtcore-${MIN_QT_VER}:5=
130 + >=dev-qt/qtgui-${MIN_QT_VER}:5=
131 + >=dev-qt/qtnetwork-${MIN_QT_VER}:5=
132 + >=dev-qt/qtwidgets-${MIN_QT_VER}:5=
133 +"
134 +COMMON_DEPEND="
135 + curl? ( net-misc/curl )
136 + fftw? ( sci-libs/fftw:3.0=[threads] )
137 + gimp? (
138 + >=media-gfx/gimp-2.8.0
139 + ${QT_DEPEND}
140 + )
141 + graphicsmagick? ( media-gfx/graphicsmagick:0= )
142 + jpeg? ( virtual/jpeg:0 )
143 + krita? ( ${QT_DEPEND} )
144 + opencv? ( >=media-libs/opencv-2.3.1a-r1:0= )
145 + openexr? (
146 + media-libs/ilmbase:0=
147 + media-libs/openexr:0=
148 + )
149 + png? ( media-libs/libpng:0= )
150 + qt5? ( ${QT_DEPEND} )
151 + tiff? ( media-libs/tiff:0 )
152 + X? (
153 + x11-libs/libX11
154 + x11-libs/libXext
155 + )
156 + zlib? ( sys-libs/zlib:0= )"
157 +RDEPEND="${COMMON_DEPEND}
158 + ffmpeg? ( media-video/ffmpeg:0= )
159 +"
160 +DEPEND="${COMMON_DEPEND}
161 + virtual/pkgconfig
162 + gimp? ( dev-qt/linguist-tools )
163 + krita? ( dev-qt/linguist-tools )
164 + qt5? ( dev-qt/linguist-tools )
165 +"
166 +
167 +pkg_pretend() {
168 + if use openmp ; then
169 + tc-has-openmp || die "Please switch to an openmp compatible compiler"
170 + fi
171 +
172 + if ! test-flag-CXX -std=c++11 ; then
173 + die "You need at least GCC 4.7.x or Clang >= 3.3 for C++11-specific compiler flags"
174 + fi
175 +}
176 +
177 +src_prepare() {
178 + local PATCHES=( "${FILESDIR}"/${PN}-2.4.3-curl.patch )
179 + cmake-utils_src_prepare
180 + sed -i '/CMAKE_CXX_FLAGS/s/-g //' CMakeLists.txt || die
181 +
182 + if use gimp || use krita || use qt5; then
183 + sed -i '/CMAKE_CXX_FLAGS_RELEASE/d' gmic-qt/CMakeLists.txt || die
184 + local S="${S}/gmic-qt"
185 + PATCHES=( "${FILESDIR}"/${P}-qt-cmake.patch )
186 + cmake-utils_src_prepare
187 + fi
188 +}
189 +
190 +src_configure() {
191 + local mycmakeargs=(
192 + -DBUILD_LIB=ON
193 + -DBUILD_LIB_STATIC=$(usex static-libs)
194 + -DBUILD_CLI=$(usex cli)
195 + -DBUILD_MAN=$(usex cli)
196 + -DBUILD_BASH_COMPLETION=$(usex cli)
197 + -DCUSTOM_CFLAGS=ON
198 + -DENABLE_CURL=$(usex curl)
199 + -DENABLE_X=$(usex X)
200 + -DENABLE_FFMPEG=$(usex ffmpeg)
201 + -DENABLE_FFTW=$(usex fftw)
202 + -DENABLE_GRAPHICSMAGICK=$(usex graphicsmagick)
203 + -DENABLE_JPEG=$(usex jpeg)
204 + -DENABLE_OPENCV=$(usex opencv)
205 + -DENABLE_OPENEXR=$(usex openexr)
206 + -DENABLE_OPENMP=$(usex openmp)
207 + -DENABLE_PNG=$(usex png)
208 + -DENABLE_TIFF=$(usex tiff)
209 + -DENABLE_ZLIB=$(usex zlib)
210 + -DENABLE_DYNAMIC_LINKING=ON
211 + )
212 +
213 + cmake-utils_src_configure
214 +
215 + # configure gmic-qt frontends
216 + local CMAKE_USE_DIR="${S}/gmic-qt"
217 + mycmakeargs=(
218 + -DENABLE_DYNAMIC_LINKING=ON
219 + -DENABLE_CURL=$(usex curl)
220 + -DGMIC_LIB_PATH="${BUILD_DIR}"
221 + -DGMIC_PATH="${S}/src"
222 + )
223 +
224 + if use gimp; then
225 + mycmakeargs+=( -DGMIC_QT_HOST=gimp )
226 + BUILD_DIR="${BUILD_DIR}"/gimp cmake-utils_src_configure
227 + fi
228 +
229 + if use krita; then
230 + mycmakeargs+=( -DGMIC_QT_HOST=krita )
231 + BUILD_DIR="${BUILD_DIR}"/krita cmake-utils_src_configure
232 + fi
233 +
234 + if use qt5; then
235 + mycmakeargs+=( -DGMIC_QT_HOST=none )
236 + BUILD_DIR="${BUILD_DIR}"/qt5 cmake-utils_src_configure
237 + fi
238 +}
239 +
240 +src_compile() {
241 + cmake-utils_src_compile
242 +
243 + # build gmic-qt frontends
244 + local S="${S}/gmic-qt"
245 + use gimp && { BUILD_DIR="${BUILD_DIR}"/gimp cmake-utils_src_compile || die "failed building gimp plugin" ; }
246 + use krita && { BUILD_DIR="${BUILD_DIR}"/krita cmake-utils_src_compile || die "failed building krita plugin" ; }
247 + use qt5 && { BUILD_DIR="${BUILD_DIR}"/qt5 cmake-utils_src_compile || die "failed building qt5 GUI" ; }
248 +}
249 +
250 +src_install() {
251 + cmake-utils_src_install
252 + dodoc README
253 + use cli && newbashcomp "${BUILD_DIR}"/resources/gmic_bashcompletion.sh ${PN}
254 +
255 + local PLUGINDIR="/usr/$(get_libdir)/gimp/2.0/plug-ins"
256 + insinto "${PLUGINDIR}"
257 + doins resources/gmic_cluts.gmz
258 +
259 + # install gmic-qt frontends
260 + if use gimp; then
261 + exeinto "${PLUGINDIR}"
262 + doexe "${BUILD_DIR}"/gimp/gmic_gimp_qt
263 + fi
264 + use krita && dobin "${BUILD_DIR}"/krita/gmic_krita_qt
265 + use qt5 && dobin "${BUILD_DIR}"/qt5/gmic_qt
266 +}