summaryrefslogtreecommitdiff
blob: 9abff2ab71eec99b7e96d2eff4b93861bd25dff9 (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
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

WX_GTK_VER="3.0-gtk3"
PLOCALES="ca cs da de el en es fi fr gl hu it ja kab nb pl pt_BR ru tr uk zh_CN zh_TW"
inherit cmake plocale wxwidgets xdg

DESCRIPTION="Graphical frontend to Maxima, using the wxWidgets toolkit"
HOMEPAGE="https://wxmaxima-developers.github.io/wxmaxima/"
SRC_URI="https://github.com/wxMaxima-developers/wxmaxima/archive/Version-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}"/${PN}-Version-${PV}

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"

DEPEND="
	dev-libs/libxml2:2
	x11-libs/wxGTK:${WX_GTK_VER}"
RDEPEND="${DEPEND}
	media-fonts/jsmath
	sci-visualization/gnuplot[wxwidgets]
	sci-mathematics/maxima"

src_prepare() {
	setup-wxwidgets
	cmake_src_prepare

	sed -e "s|GPL.txt ||g" -e "s|share/doc/${PN}|share/doc/${PF}|g" -i CMakeLists.txt \
		|| die "sed CMakeLists.txt failed"
	sed -e "s|share/doc/${PN}|share/doc/${PF}|g" -i info/CMakeLists.txt \
		|| die "sed info/CMakeLists.txt failed"

	# locales
	rm_po() {
		rm locales/wxMaxima/${1}.po || die "rm ${1}.po failed"
		rm -f locales/manual/${1}.po
		rm -f info/${PN}.${1}.md
		rm -f info/${PN}.${1}.html
		sed -e "\\|/${1}/wxmaxima.1|d" -i data/CMakeLists.txt
	}
	plocale_find_changes locales/wxMaxima '' '.po'
	plocale_for_each_disabled_locale rm_po
}

src_configure() {
	local mycmakeargs=(
		-DWXM_UNIT_TESTS=$(usex test)
	)

	cmake_src_configure
}

src_test() {
	# Just run the unit tests manually for now as tests fail in a non-descriptive
	# way even with virtualx
	# bug #736695
	cd "${BUILD_DIR}/test/unit_tests" || die

	local tests=(
		AFontSize
		CellPtr
		ImgCell
	)

	local test
	for test in "${tests[@]}" ; do
		./test_${test} || die "Unit test ${test} failed!"
	done
}

src_install() {
	docompress -x /usr/share/doc/${PF}
	cmake_src_install
}