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: Sun, 13 May 2018 06:56:54
Message-Id: 1526194591.4ec4751bc2b6db26281215937509e4b476536682.asturm@gentoo
1 commit: 4ec4751bc2b6db26281215937509e4b476536682
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Sat May 12 15:44:17 2018 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Sun May 13 06:56:31 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ec4751b
7
8 x11-libs/qwt: Drop USE=qt4 and alpha/ia64
9
10 Package-Manager: Portage-2.3.36, Repoman-2.3.9
11
12 x11-libs/qwt/qwt-6.1.3-r2.ebuild | 154 +++++++++++++++++++++++++++++++++++++++
13 1 file changed, 154 insertions(+)
14
15 diff --git a/x11-libs/qwt/qwt-6.1.3-r2.ebuild b/x11-libs/qwt/qwt-6.1.3-r2.ebuild
16 new file mode 100644
17 index 00000000000..2159276a453
18 --- /dev/null
19 +++ b/x11-libs/qwt/qwt-6.1.3-r2.ebuild
20 @@ -0,0 +1,154 @@
21 +# Copyright 1999-2018 Gentoo Foundation
22 +# Distributed under the terms of the GNU General Public License v2
23 +
24 +EAPI=6
25 +
26 +inherit multibuild qmake-utils
27 +
28 +MY_P="${PN}-${PV/_/-}"
29 +
30 +DESCRIPTION="2D plotting library for Qt5"
31 +HOMEPAGE="http://qwt.sourceforge.net/"
32 +SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV/_/-}/${MY_P}.tar.bz2"
33 +
34 +LICENSE="qwt mathml? ( LGPL-2.1 Nokia-Qt-LGPL-Exception-1.1 )"
35 +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
36 +SLOT="6/1.3"
37 +IUSE="designer doc examples mathml opengl static-libs svg"
38 +
39 +DEPEND="
40 + dev-qt/qtconcurrent:5
41 + dev-qt/qtcore:5
42 + dev-qt/qtgui:5
43 + dev-qt/qtprintsupport:5
44 + dev-qt/qtwidgets:5
45 + designer? ( dev-qt/designer:5 )
46 + opengl? (
47 + dev-qt/qtopengl:5
48 + virtual/opengl
49 + )
50 + svg? ( dev-qt/qtsvg:5 )
51 +"
52 +RDEPEND="${DEPEND}
53 + !<x11-libs/qwt-5.2.3
54 + !x11-libs/qwt:5[doc]
55 + doc? ( !<media-libs/coin-3.1.3[doc] )
56 +"
57 +
58 +S="${WORKDIR}"/${MY_P}
59 +
60 +DOCS=( CHANGES-6.1 README )
61 +
62 +PATCHES=(
63 + "${FILESDIR}"/${PN}-6.0.2-invalid-read.patch
64 + "${FILESDIR}"/${PN}-6.1.1-pc-destdir.patch
65 +)
66 +
67 +pkg_setup() {
68 + MULTIBUILD_VARIANTS=( shared $(usev static-libs) )
69 +}
70 +
71 +src_prepare() {
72 + cat > qwtconfig.pri <<-EOF
73 + QWT_INSTALL_LIBS = "${EPREFIX}/usr/$(get_libdir)"
74 + QWT_INSTALL_HEADERS = "${EPREFIX}/usr/include/qwt6"
75 + QWT_INSTALL_DOCS = "${EPREFIX}/usr/share/doc/${PF}"
76 + QWT_CONFIG += QwtPlot QwtWidgets QwtPkgConfig
77 + VERSION = ${PV/_*}
78 + QWT_VERSION = ${PV/_*}
79 + EOF
80 +
81 + use designer && echo "QWT_CONFIG += QwtDesigner" >> qwtconfig.pri
82 + use mathml && echo "QWT_CONFIG += QwtMathML" >> qwtconfig.pri
83 + use opengl && echo "QWT_CONFIG += QwtOpenGL" >> qwtconfig.pri
84 + use svg && echo "QWT_CONFIG += QwtSvg" >> qwtconfig.pri
85 +
86 + cat > qwtbuild.pri <<-EOF
87 + QWT_CONFIG += qt warn_on thread release no_keywords
88 + EOF
89 +
90 + multibuild_copy_sources
91 +
92 + preparation() {
93 + if [[ ${MULTIBUILD_VARIANT} == shared ]]; then
94 + echo "QWT_CONFIG += QwtDll" >> qwtconfig.pri
95 + fi
96 +
97 + cat >> qwtconfig.pri <<-EOF
98 + QWT_INSTALL_PLUGINS = "${EPREFIX}$(qt5_get_plugindir)/designer"
99 + QWT_INSTALL_FEATURES = "${EPREFIX}$(qt5_get_mkspecsdir)/features"
100 + EOF
101 + sed \
102 + -e 's/target doc/target/' \
103 + -e "/^TARGET/s:(qwt):(qwt6-qt5):g" \
104 + -e "/^TARGET/s:qwt):qwt6-qt5):g" \
105 + -i src/src.pro || die
106 +
107 + sed \
108 + -e '/qwtAddLibrary/s:(qwt):(qwt6-qt5):g' \
109 + -e '/qwtAddLibrary/s:qwt):qwt6-qt5):g' \
110 + -i qwt.prf designer/designer.pro examples/examples.pri \
111 + textengines/mathml/qwtmathml.prf textengines/textengines.pri || die
112 +
113 + default
114 + }
115 +
116 + multibuild_foreach_variant run_in_build_dir preparation
117 +}
118 +
119 +src_configure() {
120 + multibuild_foreach_variant run_in_build_dir eqmake5
121 +}
122 +
123 +src_compile() {
124 + multibuild_foreach_variant run_in_build_dir default
125 +}
126 +
127 +src_test() {
128 + testing() {
129 + cd examples || die
130 + eqmake5 examples.pro
131 + emake
132 + }
133 + multibuild_foreach_variant run_in_build_dir testing
134 +}
135 +
136 +src_install () {
137 + rm -f doc/man/*/{_,deprecated}* || die
138 +
139 + multibuild_foreach_variant run_in_build_dir emake INSTALL_ROOT="${D}" install
140 +
141 + if use mathml; then
142 + sed \
143 + -e "s: -L\"${WORKDIR}\".* -lqwt6: -lqwt6:g" \
144 + -i "${ED}"/usr/$(get_libdir)/pkgconfig/qwtmathml.pc || die
145 + fi
146 +
147 + if use doc; then
148 + HTML_DOCS=( doc/html/. )
149 + else
150 + rm -rf "${ED}"/usr/share/doc/${PF}/html || die
151 + fi
152 +
153 + einstalldocs
154 +
155 + mkdir -p "${ED}"/usr/share/man/ || die
156 + mv "${ED}"/usr/share/doc/${PF}/man/man3 "${ED}"/usr/share/man/ && \
157 + rmdir "${ED}"/usr/share/doc/${PF}/man || die
158 +
159 + if use examples; then
160 + # don't build examples - fix the qt files to build once installed
161 + cat > examples/examples.pri <<-EOF
162 + include( qwtconfig.pri )
163 + TEMPLATE = app
164 + MOC_DIR = moc
165 + INCLUDEPATH += "${EPREFIX}/usr/include/qwt6"
166 + DEPENDPATH += "${EPREFIX}/usr/include/qwt6"
167 + LIBS += -lqwt6
168 + EOF
169 + sed -i -e 's:../qwtconfig:qwtconfig:' examples/examples.pro || die
170 + cp *.pri examples/ || die
171 + insinto /usr/share/${PN}6
172 + doins -r examples
173 + fi
174 +}