commit:     95237a8720b367c230480d89cddb4bafd207d9a8
Author:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
AuthorDate: Sun Nov  8 12:19:02 2020 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
CommitDate: Sun Nov  8 12:19:02 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=95237a87

sci-visualization/scidavis: Scientific Data Analysis and Visualization

Bug: https://bugs.gentoo.org/556832
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> riseup.net>

 sci-visualization/scidavis/Manifest                |  1 +
 .../scidavis/files/scidavis-build.patch            | 39 +++++++++
 .../scidavis/files/scidavis-tests.patch            | 10 +++
 sci-visualization/scidavis/metadata.xml            | 24 ++++++
 sci-visualization/scidavis/scidavis-2.3.0.ebuild   | 93 ++++++++++++++++++++++
 5 files changed, 167 insertions(+)

diff --git a/sci-visualization/scidavis/Manifest 
b/sci-visualization/scidavis/Manifest
new file mode 100644
index 00000000..c31dbb3e
--- /dev/null
+++ b/sci-visualization/scidavis/Manifest
@@ -0,0 +1 @@
+DIST scidavis-2.3.0.tar.gz 9821439 BLAKE2B 
df542f570c4aa0ac93b8565dbd96937e6d3afe74d907d3f5145abd68cd44eff67f7d8892c70c21d9e9b308db119635050630efab9ca6ecffe70df38415711b86
 SHA512 
2ede70bcf5b910fc61e5a23ba36129bde11fd10b14470d4e8c9509eecb245c73242a3a1eec174b4f9a22abd21880e6ecbd9f0d1e492af87ff781163ad05e20cf

diff --git a/sci-visualization/scidavis/files/scidavis-build.patch 
b/sci-visualization/scidavis/files/scidavis-build.patch
new file mode 100644
index 00000000..cb1e2600
--- /dev/null
+++ b/sci-visualization/scidavis/files/scidavis-build.patch
@@ -0,0 +1,39 @@
+diff --git a/config.pri b/config.pri
+index 2b8d943..6034b6a 100644
+--- a/config.pri
++++ b/config.pri
+@@ -278,30 +278,13 @@ osx_dist {
+ 
+ contains(PRESET, linux_package) {
+       ### dynamically link against Qwt(3D) installed system-wide
+-
+-        exists(/usr/include/qt5/qwt5-qt5)      
{INCLUDEPATH+=/usr/include/qt5/qwt5-qt5}
+-        exists(/usr/include/qt5/qwtplot3d-qt5) 
{INCLUDEPATH+=/usr/include/qt5/qwtplot3d-qt5}
+-        exists(/usr/include/qwt5-qt5) {INCLUDEPATH+=/usr/include/qwt5-qt5}
+-        exists(/usr/include/qwtplot3d) {INCLUDEPATH+=/usr/include/qwtplot3d}
+-
+-        system (ls /usr/lib*/libqwt5-qt5.so) {LIBS+=-lqwt5-qt5}
+-        system (ls /usr/lib*/*/libqwt5-qt5.so) {LIBS+=-lqwt5-qt5}
+-        system (ls /usr/lib*/libqwt-qt5.so) {LIBS+=-lqwt-qt5}
+-        system (ls /usr/lib*/libqwtplot3d-qt5.so) {LIBS+=-lqwtplot3d-qt5}
+-        system (ls /usr/lib*/*/libqwtplot3d-qt5.so) {LIBS+=-lqwtplot3d-qt5}
+-
+-
++      INCLUDEPATH  +=/usr/include/qwt5
++      INCLUDEPATH  +=/usr/include/qwtplot3d
++      LIBS         +=-lqwt5-qt5
++      LIBS         +=-lqwtplot3d
+       LIBS         += -lz -lGLU 
+-
+-      INCLUDEPATH  += /usr/include/muParser
+       LIBS         += -lgsl -lgslcblas
+       LIBS         += -lmuparser 
+-
+-        # enable user installed packages
+-        INCLUDEPATH = "$(HOME)/usr/include" $$INCLUDEPATH
+-        QMAKE_LIBDIR = "$(HOME)/usr/lib" $$QMAKE_LIBDIR
+-
+-
+ }
+ 
+ contains(PRESET, self_contained) {

diff --git a/sci-visualization/scidavis/files/scidavis-tests.patch 
b/sci-visualization/scidavis/files/scidavis-tests.patch
new file mode 100644
index 00000000..2c9fa009
--- /dev/null
+++ b/sci-visualization/scidavis/files/scidavis-tests.patch
@@ -0,0 +1,10 @@
+diff --git a/test/testPaintDevice.cpp b/test/testPaintDevice.cpp
+index 8657307..89693b0 100644
+--- a/test/testPaintDevice.cpp
++++ b/test/testPaintDevice.cpp
+@@ -1,4 +1,5 @@
+ #include "testPaintDevice.h"
++#include <QPainterPath>
+ using namespace std;
+ 
+ namespace

diff --git a/sci-visualization/scidavis/metadata.xml 
b/sci-visualization/scidavis/metadata.xml
new file mode 100644
index 00000000..089e4b03
--- /dev/null
+++ b/sci-visualization/scidavis/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Andrew Ammerlaan</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>[email protected]</email>
+               <name>Gentoo Science Project</name>
+       </maintainer>
+       <longdescription lang="en">
+               SciDAVis is a user-friendly data analysis and visualization 
program primarily aimed at high-quality plotting of scientific data.
+               It strives to combine an intuitive, easy-to-use graphical user 
interface with powerful features such as Python scriptability.
+       </longdescription>
+       <use>
+               <flag name="assistant">Compile with QAssistant (documentation 
broweser) support from <pkg>dev-qt/assistant</pkg>.</flag>
+               <flag name="origin">Add support for reading OriginLab OPJ 
project files through <pkg>sci-libs/liborigin</pkg>.</flag>
+               <flag name="python">Build support for python scripting.</flag>
+       </use>
+       <upstream>
+               <remote-id type="sourceforge">SciDAVis</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git a/sci-visualization/scidavis/scidavis-2.3.0.ebuild 
b/sci-visualization/scidavis/scidavis-2.3.0.ebuild
new file mode 100644
index 00000000..d794b7e1
--- /dev/null
+++ b/sci-visualization/scidavis/scidavis-2.3.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+inherit python-single-r1 qmake-utils xdg
+
+DESCRIPTION="Application for Scientific Data Analysis and Visualization"
+HOMEPAGE="http://scidavis.sourceforge.net/";
+SRC_URI="mirror://sourceforge/${PN}/SciDAVis/$(ver_cut 1)/$(ver_cut 
1-2)/${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+IUSE="assistant doc origin python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       dev-cpp/muParser
+       dev-qt/qtgui:5
+       dev-qt/qtopengl:5
+       sci-libs/gsl
+       sys-libs/zlib[minizip]
+       x11-libs/qwt5-qt5:5
+       x11-libs/qwtplot3d
+       assistant? ( dev-qt/assistant )
+       origin? ( sci-libs/liborigin )
+       python? (
+               ${PYTHON_DEPS}
+               $(python_gen_cond_dep '
+               dev-python/PyQt5[${PYTHON_USEDEP}]
+               dev-python/PyQt5-sip[${PYTHON_USEDEP}]
+               dev-python/sip[${PYTHON_USEDEP}]
+               ')
+       )
+"
+BDEPEND="
+       doc? ( app-doc/doxygen )
+       test? ( dev-libs/unittest++ )
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-build.patch"
+       "${FILESDIR}/${PN}-tests.patch"
+)
+
+src_prepare() {
+       default
+
+       # OF has been renamed in Gentoo https://bugs.gentoo.org/383179
+       # Note this is *not* packaged in sys-libs/zlib[minizip] because
+       # this file resides in the test directory in upstream zlib
+       sed -i -r 's:\<(O[FN])\>:_Z_\1:g' 3rdparty/minigzip/minigzip.c || die
+
+       # fix paths
+       cat >> config.pri <<-EOF
+               # install docs to ${PF} instead of ${PN}
+               documentation.path = "\$\$INSTALLBASE/share/doc/${PF}"
+
+               # install python files in Gentoo specific directories
+               pythonconfig.path = "$(python_get_scriptdir)"
+               pythonutils.path = "$(python_get_scriptdir)"
+
+               # /usr/share/appdata is deprecated
+               appdata.path = "\$\$INSTALLBASE/share/metainfo"
+       EOF
+}
+
+src_configure() {
+       INSTALLBASE="${EPREFIX}/usr" eqmake5 \
+               $(usex assistant  " " " CONFIG+=noassistant ") \
+               $(usex origin " CONFIG+=liborigin " " ") \
+               $(usex python " CONFIG+=python " " ") \
+               $(usex test " CONFIG+=test " " ")
+}
+
+src_compile() {
+       default
+       if use doc ; then
+               doxygen Doxyfile || die "doxygen failed"
+               HTML_DOCS="API/html"
+       fi
+}
+
+src_install () {
+       emake INSTALL_ROOT="${D}" install || die "install failed"
+       einstalldocs
+       use python && python_optimize
+}

Reply via email to