summaryrefslogtreecommitdiff
blob: 3864d5a4a6fc5e74f2b853d2b16ddbd171019290 (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
105
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=6

WX_GTK_VER=3.0

PYTHON_COMPAT=( python2_7 python3_6 )

inherit fdo-mime python-r1 wxwidgets

DESCRIPTION="General-purpose nonlinear curve fitting and data analysis"
HOMEPAGE="http://fityk.nieto.pl/"
SRC_URI="https://github.com/wojdyr/${PN}/releases/download/v${PV}/${P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="gnuplot nlopt python readline static-libs wxwidgets"

REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"

CDEPEND="
	>=dev-lang/lua-5.1:0
	dev-libs/boost:=
	>=sci-libs/xylib-1
	nlopt? ( sci-libs/nlopt )
	python? ( ${PYTHON_DEPS} )
	readline? ( sys-libs/readline:0= )
	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER} )"
DEPEND="${CDEPEND}
	dev-lang/swig"
RDEPEND="${CDEPEND}
	gnuplot? ( sci-visualization/gnuplot )"

pkg_setup() {
	use wxwidgets && setup-wxwidgets
}

src_prepare() {
	default
	use python && python_copy_sources
}

src_configure() {
	common_confargs=(
		--with-wx-config=wx-config-${WX_GTK_VER}
	)

	econf \
		"${common_confargs[@]}" \
		--disable-python \
		$(use_enable nlopt) \
		$(use_enable wxwidgets GUI) \
		$(use_with readline) \
		$(use_enable static-libs static)

	if use python; then
		python_configure() {
			econf \
				"${common_confargs[@]}" \
				--enable-python \
				--disable-nlopt \
				--disable-GUI \
				--without-readline
		}
		python_foreach_impl run_in_build_dir python_configure
	fi
}

src_compile() {
	default

	if use python; then
		python_compilation() {
			emake -C fityk swig/_fityk.la
		}
		python_foreach_impl run_in_build_dir python_compilation
	fi
}

src_install() {
	default

	if use python; then
		python_installation() {
			emake DESTDIR="${D}" -C fityk install-pyexecLTLIBRARIES
			rm "${D%/}"/$(python_get_sitedir)/*.la || die
		}
		python_foreach_impl run_in_build_dir python_installation
	fi

	# No .pc file / libfityk.a has dependencies -> need .la file
	if ! use static-libs; then
		find "${D}" -name '*.la' -delete || die
	fi
}

pkg_postinst() {
	fdo-mime_desktop_database_update
}

pkg_postrm() {
	fdo-mime_desktop_database_update
}