commit:     82d884b2f7bca6f66cabb008ce573873df46f4ef
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 21 10:53:55 2022 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Oct 21 15:04:47 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82d884b2

x11-libs/qwt: add polar use flag

Closes: https://bugs.gentoo.org/877757
Co-authored-by: Craig Tong <craigtong04 <AT> gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 x11-libs/qwt/metadata.xml        |   1 +
 x11-libs/qwt/qwt-6.2.0-r2.ebuild | 128 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 129 insertions(+)

diff --git a/x11-libs/qwt/metadata.xml b/x11-libs/qwt/metadata.xml
index 3a84e892fae0..4ae06e042f79 100644
--- a/x11-libs/qwt/metadata.xml
+++ b/x11-libs/qwt/metadata.xml
@@ -15,6 +15,7 @@
   <use>
     <flag name="designer">Installs <pkg>dev-qt/designer</pkg> plugin.</flag>
     <flag name="mathml">Use the MathML renderer of the Qt solutions 
package.</flag>
+    <flag name="polar">Install the QwtPolar headers</flag>
   </use>
   <upstream>
     <remote-id type="sourceforge">qwt</remote-id>

diff --git a/x11-libs/qwt/qwt-6.2.0-r2.ebuild b/x11-libs/qwt/qwt-6.2.0-r2.ebuild
new file mode 100644
index 000000000000..cea9701a4b9a
--- /dev/null
+++ b/x11-libs/qwt/qwt-6.2.0-r2.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DIR="doc"
+DOCS_CONFIG_NAME="Doxyfile"
+DOCS_DEPEND="media-gfx/graphviz"
+
+inherit qmake-utils docs
+
+DESCRIPTION="2D plotting library for Qt5"
+HOMEPAGE="https://qwt.sourceforge.io/";
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.bz2"
+
+LICENSE="qwt"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+SLOT="6/2.0"
+IUSE="designer doc examples opengl polar svg"
+
+DEPEND="
+       dev-qt/qtconcurrent:5
+       dev-qt/qtcore:5
+       dev-qt/qtgui:5
+       dev-qt/qtprintsupport:5
+       dev-qt/qtwidgets:5
+       designer? ( dev-qt/designer:5 )
+       opengl? (
+               dev-qt/qtopengl:5
+               virtual/opengl
+       )
+       svg? ( dev-qt/qtsvg:5 )
+"
+RDEPEND="${DEPEND}"
+
+# tests require package to be already installed
+RESTRICT="test"
+
+DOCS=( CHANGES-6.2 README )
+
+src_prepare() {
+       default
+
+       cat > qwtconfig.pri <<-EOF || die
+               QWT_INSTALL_LIBS = "${EPREFIX}/usr/$(get_libdir)"
+               QWT_INSTALL_HEADERS = "${EPREFIX}/usr/include/qwt6"
+               QWT_INSTALL_DOCS = "${EPREFIX}/usr/share/doc/${PF}"
+               QWT_CONFIG += QwtPlot QwtWidgets QwtPkgConfig
+               VER_MAJ = $(ver_cut 1)
+               VER_MIN = $(ver_cut 2)
+               VER_PAT = $(ver_cut 3)
+               VERSION = ${PV/_*}
+               QWT_VER_MAJ = $(ver_cut 1)
+               QWT_VER_MIN = $(ver_cut 2)
+               QWT_VER_PAT = $(ver_cut 3)
+               QWT_VERSION = ${PV/_*}
+       EOF
+
+       use designer && echo "QWT_CONFIG += QwtDesigner" >> qwtconfig.pri
+       use opengl && echo "QWT_CONFIG += QwtOpenGL" >> qwtconfig.pri
+       use polar && echo "QWT_CONFIG += QwtPolar" >> qwtconfig.pri
+       use svg && echo "QWT_CONFIG += QwtSvg" >> qwtconfig.pri
+
+       cat > qwtbuild.pri <<-EOF || die
+               QWT_CONFIG += qt warn_on thread release no_keywords
+               DEFINES += QWT_MOC_INCLUDE=1
+       EOF
+
+       echo "QWT_CONFIG += QwtDll" >> qwtconfig.pri
+
+       cat >> qwtconfig.pri <<-EOF || die
+               QWT_INSTALL_PLUGINS   = 
"${EPREFIX}$(qt5_get_plugindir)/designer"
+               QWT_INSTALL_FEATURES  = 
"${EPREFIX}$(qt5_get_mkspecsdir)/features"
+       EOF
+       sed \
+               -e 's/target doc/target/' \
+               -e "/^TARGET/s:(qwt):(qwt6-qt5):g" \
+               -e "/^TARGET/s:qwt):qwt6-qt5):g" \
+               -e "s:QWT_SONAME=libqwt.so:QWT_SONAME=libqwt6-qt5.so:g" \
+               -i src/src.pro || die
+
+       sed \
+               -e '/qwtAddLibrary/s:(qwt):(qwt6-qt5):g' \
+               -e '/qwtAddLibrary/s:qwt):qwt6-qt5):g' \
+               -i qwt.prf designer/designer.pro examples/examples.pri || die
+}
+
+src_configure() {
+       eqmake5
+}
+
+src_compile() {
+       default
+       # need doxyfilter.sh in PATH
+       PATH="${PATH}:${S}/doc/" docs_compile
+}
+
+src_test() {
+       cd tests || die
+       eqmake5 tests.pro
+       emake
+}
+
+src_install() {
+       emake INSTALL_ROOT="${D}" install
+       einstalldocs
+
+       mkdir -p "${ED}"/usr/share/man/ || die
+       mv "${ED}"/usr/share/doc/${PF}/man/man3 "${ED}"/usr/share/man/ && \
+               rmdir "${ED}"/usr/share/doc/${PF}/man || die
+
+       if use examples; then
+               # don't build examples - fix the qt files to build once 
installed
+               cat > examples/examples.pri <<-EOF || die
+                       include( qwtconfig.pri )
+                       TEMPLATE     = app
+                       MOC_DIR      = moc
+                       INCLUDEPATH += "${EPREFIX}/usr/include/qwt6"
+                       DEPENDPATH  += "${EPREFIX}/usr/include/qwt6"
+                       LIBS        += -lqwt6
+               EOF
+               sed -i -e 's:../qwtconfig:qwtconfig:' examples/examples.pro || 
die
+               cp *.pri examples/ || die
+               insinto /usr/share/${PN}6
+               doins -r examples
+       fi
+}

Reply via email to