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