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

EAPI=8

inherit autotools multilib-minimal

MY_PN=${PN}2
MY_P=${MY_PN}-${PV}

DESCRIPTION="The RDF Parser Toolkit"
HOMEPAGE="https://librdf.org/raptor/"
SRC_URI="https://download.librdf.org/source/${MY_P}.tar.gz"

LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
SLOT="2"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="+curl debug json static-libs"

DEPEND="
	dev-libs/libxml2[${MULTILIB_USEDEP}]
	dev-libs/libxslt[${MULTILIB_USEDEP}]
	dev-libs/icu:=[${MULTILIB_USEDEP}]
	sys-libs/zlib[${MULTILIB_USEDEP}]
	curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
	json? ( dev-libs/yajl[${MULTILIB_USEDEP}] )
"
RDEPEND="${DEPEND}
	!media-libs/raptor:0
"
BDEPEND="
	>=sys-devel/bison-3
	app-alternatives/lex
	virtual/pkgconfig
"

S="${WORKDIR}/${MY_P}"

DOCS=( AUTHORS ChangeLog NEWS NOTICE README )
HTML_DOCS=( {NEWS,README,RELEASE,UPGRADING}.html )

PATCHES=(
	"${FILESDIR}/${P}-heap-overflow.patch"
	"${FILESDIR}/${P}-dont_use_curl-config.patch" #552474
	"${FILESDIR}/0001-CVE-2020-25713-raptor2-malformed-input-file-can-lead.patch"
	"${FILESDIR}/${P}-use-pkg-config-libxml2.patch"
	"${FILESDIR}/${P}-use-pkg-config-icu.patch"
	"${FILESDIR}/${P}-use-pkg-config-libxslt.patch"
	"${FILESDIR}/${P}-clang-pointer-integer-warning.patch"
	"${FILESDIR}/${P}-configure-clang16.patch"
	"${FILESDIR}/${P}-libxml2-2.11.patch"
)

src_prepare() {
	default

	# bug #552474
	eautoreconf

	multilib_copy_sources
}

multilib_src_configure() {
	# FIXME: It should be possible to use net-nntp/inn for libinn.h and -linn!

	local myeconfargs=(
		--with-html-dir="${EPREFIX}"/usr/share/gtk-doc/html
		$(usex curl --with-www=curl --with-www=xml)
		$(use_enable debug)
		$(use_with json yajl)
		$(use_enable static-libs static)
	)

	econf "${myeconfargs[@]}"
}

multilib_src_test() {
	emake -j1 test
}

multilib_src_install() {
	default

	find "${ED}" -name '*.la' -delete || die
}