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

EAPI=7

inherit cmake toolchain-funcs

MY_PN="CuraEngine"

DESCRIPTION="A 3D model slicing engine for 3D printing"
HOMEPAGE="https://github.com/Ultimaker/CuraEngine"
SRC_URI="https://github.com/Ultimaker/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc test"
RESTRICT="!test? ( test )"

BDEPEND="|| ( <sys-devel/gcc-9 <sys-devel/clang-8 )
	doc? ( app-doc/doxygen )"
RDEPEND="${PYTHON_DEPS}
	~dev-libs/libarcus-${PV}:*
	dev-libs/protobuf
	dev-libs/stb"
DEPEND="${RDEPEND}"

DOCS=( README.md )

S="${WORKDIR}/${MY_PN}-${PV}"

pkg_pretend() {
	if [[ $(tc-getCC) == clang ]] && [[ $(clang-major-version) -ge 8 ]]; then
		eerror "Compilation with sys-devel/clang-8 or newer is not supported"
		eerror "See https://github.com/Ultimaker/CuraEngine/issues/984 for more information"
		eerror ""
		die "Incompatible clang version found"
	elif [[ $(gcc-major-version) -ge 9 ]]; then
		eerror "Compilation with sys-devel/gcc-9 or newer is not supported"
		eerror "See https://github.com/Ultimaker/CuraEngine/issues/984 for more information"
		eerror ""
		die "Incompatible gcc version found"
	fi
}

src_configure() {
	local mycmakeargs=( "-DBUILD_TESTS=$(usex test ON OFF)" )
	cmake_src_configure
}

src_compile() {
	cmake_build
	if use doc; then
		doxygen
		mv docs/html . || die
		find html -name '*.md5' -or -name '*.map' -delete || die
		DOCS+=( html )
	fi
}