Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-libs/qwt/
Date: Mon, 23 Jan 2017 23:21:27
Message-Id: 1485213603.b38f9fedee0d1bb53ceea7e8ef7eb2f47b644ef8.asturm@gentoo
1 commit: b38f9fedee0d1bb53ceea7e8ef7eb2f47b644ef8
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jan 23 23:07:12 2017 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 23 23:20:03 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b38f9fed
7
8 x11-libs/qwt: Add missing einstalldocs, drop unused eclasses
9
10 Gentoo-bug: 606452
11
12 Use qt{4,5}_get_{plugin,mkspecs}dir functions provided by qmake-utils,
13 changes install path for Qt5 mkspecs.
14
15 Package-Manager: portage-2.3.0
16
17 x11-libs/qwt/qwt-6.1.3-r1.ebuild | 212 +++++++++++++++++++++++++++++++++++++++
18 1 file changed, 212 insertions(+)
19
20 diff --git a/x11-libs/qwt/qwt-6.1.3-r1.ebuild b/x11-libs/qwt/qwt-6.1.3-r1.ebuild
21 new file mode 100644
22 index 00000000..a198f19
23 --- /dev/null
24 +++ b/x11-libs/qwt/qwt-6.1.3-r1.ebuild
25 @@ -0,0 +1,212 @@
26 +# Copyright 1999-2017 Gentoo Foundation
27 +# Distributed under the terms of the GNU General Public License v2
28 +# $Id$
29 +
30 +EAPI=6
31 +
32 +inherit multibuild qmake-utils
33 +
34 +MY_P="${PN}-${PV/_/-}"
35 +
36 +DESCRIPTION="2D plotting library for Qt4 and Qt5"
37 +HOMEPAGE="http://qwt.sourceforge.net/"
38 +SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV/_/-}/${MY_P}.tar.bz2"
39 +
40 +LICENSE="qwt mathml? ( LGPL-2.1 Nokia-Qt-LGPL-Exception-1.1 )"
41 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
42 +SLOT="6/1.3"
43 +IUSE="designer doc examples mathml opengl qt4 qt5 static-libs svg"
44 +
45 +REQUIRED_USE="|| ( qt4 qt5 )"
46 +
47 +DEPEND="
48 + !<x11-libs/qwt-5.2.3
49 + qt4? (
50 + dev-qt/qtcore:4
51 + dev-qt/qtgui:4
52 + designer? ( dev-qt/designer:4 )
53 + opengl? ( dev-qt/qtopengl:4 )
54 + svg? ( dev-qt/qtsvg:4 )
55 + )
56 + qt5? (
57 + dev-qt/qtconcurrent:5
58 + dev-qt/qtcore:5
59 + dev-qt/qtgui:5
60 + dev-qt/qtprintsupport:5
61 + dev-qt/qtwidgets:5
62 + designer? ( dev-qt/designer:5 )
63 + opengl? ( dev-qt/qtopengl:5 )
64 + svg? ( dev-qt/qtsvg:5 )
65 + )
66 + doc? ( !<media-libs/coin-3.1.3[doc] )
67 + opengl? ( virtual/opengl )
68 + "
69 +RDEPEND="${DEPEND}"
70 +
71 +S="${WORKDIR}"/${MY_P}
72 +
73 +DOCS=( CHANGES-6.1 README )
74 +
75 +PATCHES=(
76 + "${FILESDIR}"/${PN}-6.0.2-invalid-read.patch
77 + "${FILESDIR}"/${PN}-6.1.1-pc-destdir.patch
78 + )
79 +
80 +src_prepare() {
81 + cat > qwtconfig.pri <<-EOF
82 + QWT_INSTALL_LIBS = "${EPREFIX}/usr/$(get_libdir)"
83 + QWT_INSTALL_HEADERS = "${EPREFIX}/usr/include/qwt6"
84 + QWT_INSTALL_DOCS = "${EPREFIX}/usr/share/doc/${PF}"
85 + QWT_CONFIG += QwtPlot QwtWidgets QwtPkgConfig
86 + VERSION = ${PV/_*}
87 + QWT_VERSION = ${PV/_*}
88 + EOF
89 +
90 + use designer && echo "QWT_CONFIG += QwtDesigner" >> qwtconfig.pri
91 + use mathml && echo "QWT_CONFIG += QwtMathML" >> qwtconfig.pri
92 + use opengl && echo "QWT_CONFIG += QwtOpenGL" >> qwtconfig.pri
93 + use svg && echo "QWT_CONFIG += QwtSvg" >> qwtconfig.pri
94 +
95 + cat > qwtbuild.pri <<-EOF
96 + QWT_CONFIG += qt warn_on thread release no_keywords
97 + EOF
98 +
99 + MULTIBUILD_VARIANTS=( )
100 +
101 + if use qt4; then
102 + use static-libs && MULTIBUILD_VARIANTS+=( qt4-static )
103 + MULTIBUILD_VARIANTS+=( qt4-shared )
104 + fi
105 +
106 + if use qt5; then
107 + use static-libs && MULTIBUILD_VARIANTS+=( qt5-static )
108 + MULTIBUILD_VARIANTS+=( qt5-shared )
109 + fi
110 +
111 + multibuild_copy_sources
112 +
113 + preparation() {
114 + if [[ ${MULTIBUILD_VARIANT} == *-shared ]]; then
115 + echo "QWT_CONFIG += QwtDll" >> qwtconfig.pri
116 + fi
117 +
118 + case "${MULTIBUILD_VARIANT}" in
119 + qt4-*)
120 + cat >> qwtconfig.pri <<-EOF
121 + QWT_INSTALL_PLUGINS = "${EPREFIX}$(qt4_get_plugindir)/designer"
122 + QWT_INSTALL_FEATURES = "${EPREFIX}$(qt4_get_mkspecsdir)/features"
123 + EOF
124 + sed \
125 + -e 's/target doc/target/' \
126 + -e "/^TARGET/s:(qwt):(qwt6-qt4):g" \
127 + -e "/^TARGET/s:qwt):qwt6-qt4):g" \
128 + -i src/src.pro || die
129 +
130 + sed \
131 + -e '/qwtAddLibrary/s:(qwt):(qwt6-qt4):g' \
132 + -e '/qwtAddLibrary/s:qwt):qwt6-qt4):g' \
133 + -i qwt.prf designer/designer.pro examples/examples.pri \
134 + textengines/mathml/qwtmathml.prf textengines/textengines.pri || die
135 +
136 + ;;
137 + qt5-*)
138 + cat >> qwtconfig.pri <<-EOF
139 + QWT_INSTALL_PLUGINS = "${EPREFIX}$(qt5_get_plugindir)/designer"
140 + QWT_INSTALL_FEATURES = "${EPREFIX}$(qt5_get_mkspecsdir)/features"
141 + EOF
142 + sed \
143 + -e 's/target doc/target/' \
144 + -e "/^TARGET/s:(qwt):(qwt6-qt5):g" \
145 + -e "/^TARGET/s:qwt):qwt6-qt5):g" \
146 + -i src/src.pro || die
147 +
148 + sed \
149 + -e '/qwtAddLibrary/s:(qwt):(qwt6-qt5):g' \
150 + -e '/qwtAddLibrary/s:qwt):qwt6-qt5):g' \
151 + -i qwt.prf designer/designer.pro examples/examples.pri \
152 + textengines/mathml/qwtmathml.prf textengines/textengines.pri || die
153 + ;;
154 + esac
155 + default
156 + }
157 +
158 + multibuild_foreach_variant run_in_build_dir preparation
159 +}
160 +
161 +src_configure() {
162 + configuration() {
163 + case "${MULTIBUILD_VARIANT}" in
164 + qt4-*)
165 + eqmake4
166 + ;;
167 + qt5-*)
168 + eqmake5
169 + ;;
170 + esac
171 + }
172 + multibuild_foreach_variant run_in_build_dir configuration
173 +}
174 +
175 +src_compile() {
176 + multibuild_foreach_variant run_in_build_dir default
177 +}
178 +
179 +src_test() {
180 + testing() {
181 + cd examples || die
182 + case "${MULTIBUILD_VARIANT}" in
183 + qt4-*)
184 + eqmake4 examples.pro
185 + ;;
186 + qt5-*)
187 + eqmake5 examples.pro
188 + ;;
189 + esac
190 + emake
191 + }
192 + multibuild_foreach_variant run_in_build_dir testing
193 +}
194 +
195 +src_install () {
196 + rm -f doc/man/*/{_,deprecated}* || die
197 +
198 + multibuild_foreach_variant run_in_build_dir emake INSTALL_ROOT="${D}" install
199 +
200 + if use qt4; then
201 + mv "${ED}"/usr/$(get_libdir)/pkgconfig/qwt6{-qt4,}.pc || die
202 + fi
203 +
204 + if use mathml; then
205 + sed \
206 + -e "s: -L\"${WORKDIR}\".* -lqwt6: -lqwt6:g" \
207 + -i "${ED}"/usr/$(get_libdir)/pkgconfig/qwtmathml.pc || die
208 + fi
209 +
210 + if use doc; then
211 + HTML_DOCS=( doc/html/. )
212 + else
213 + rm -rf "${ED}"/usr/share/doc/${PF}/html || die
214 + fi
215 +
216 + einstalldocs
217 +
218 + mkdir -p "${ED}"/usr/share/man/ || die
219 + mv "${ED}"/usr/share/doc/${PF}/man/man3 "${ED}"/usr/share/man/ && \
220 + rmdir "${ED}"/usr/share/doc/${PF}/man || die
221 +
222 + if use examples; then
223 + # don't build examples - fix the qt files to build once installed
224 + cat > examples/examples.pri <<-EOF
225 + include( qwtconfig.pri )
226 + TEMPLATE = app
227 + MOC_DIR = moc
228 + INCLUDEPATH += "${EPREFIX}/usr/include/qwt6"
229 + DEPENDPATH += "${EPREFIX}/usr/include/qwt6"
230 + LIBS += -lqwt6
231 + EOF
232 + sed -i -e 's:../qwtconfig:qwtconfig:' examples/examples.pro || die
233 + cp *.pri examples/ || die
234 + insinto /usr/share/${PN}6
235 + doins -r examples
236 + fi
237 +}