summaryrefslogtreecommitdiff
blob: ef0e7918d2f3e0dc35aa978bc9825587e0ef0ddc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

DOCS_BUILDER="doxygen"
DOCS_DEPEND="media-gfx/graphviz"

PYTHON_COMPAT=( python3_{7..9} )

inherit python-single-r1 docs qmake-utils xdg

DESCRIPTION="Application for Scientific Data Analysis and Visualization"
HOMEPAGE="http://scidavis.sourceforge.net/ https://github.com/SciDAVis/scidavis/"
SRC_URI="https://github.com/SciDAVis/scidavis/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="GPL-2+ ZLIB"
KEYWORDS="~amd64"
SLOT="0"

IUSE="assistant doc origin python test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
# RESTRICT="!test? ( test )"
# Looks like we have an incompatible version of gtest in the tree, fails to
# compile with CONFIG+="test"
RESTRICT="test"

RDEPEND="
	dev-cpp/muParser
	dev-qt/qtcore:5
	dev-qt/qtgui:5
	dev-qt/qtopengl:5
	dev-qt/qtprintsupport:5
	dev-qt/qtwidgets:5
	sci-libs/gsl
	sys-libs/zlib[minizip]
	x11-libs/qwt: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="test? (
	dev-libs/unittest++
	dev-cpp/gtest
)"

PATCHES=(
	"${FILESDIR}/${PN}-build.patch"
)

src_prepare() {
	default

	# Fix small upstream typo
	sed -i -e 's/grabFramebuffer/grabFrameBuffer/g' libscidavis/src/Graph3D.cpp || die

	# Remove things which are packaged elsewhere
	rm -r 3rdparty/qwt5-qt5 3rdparty/qwtplot3d 3rdparty/liborigin || die

	# 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
	docs_compile
}

src_install () {
	emake INSTALL_ROOT="${ED}" install
	einstalldocs
	use python && python_optimize
}