summaryrefslogtreecommitdiff
blob: 12902e0c2553f00ed5c3512267e6f88ef40ff05b (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
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

DESCRIPTION="System headers provided by XNU-${PV}, macOS 10.14.3"
HOMEPAGE="https://opensource.apple.com/source/xnu"
SRC_URI="https://opensource.apple.com/tarballs/xnu/xnu-${PV}.tar.gz"

LICENSE="APSL-2"
SLOT="10.14"
KEYWORDS="~x64-macos"
IUSE="+man"

S=${WORKDIR}/xnu-${PV}

src_compile() {
	: ; # nothing to compile
}

src_install() {
	insinto /usr/include
	doins EXTERNAL_HEADERS/AssertMacros.h EXTERNAL_HEADERS/Availability*.h

	cd bsd || die

	get_datafiles() {
		local f="$1"/Makefile
		sed -n -e '/^DATAFILES \?=/,/^$/p' "${f}" \
			| sed -e '1s/^DATAFILES \?=//' -e '/\s*#/d' \
			| sed -e 's/\\$//'
	}

	local d
	local files
	for d in arm i386 machine miscfs/{devfs,specfs,union} net \
		netinet{,6} netkey nfs sys{,/_types} uuid vfs ; do
		insinto /usr/include/${d}
		files=( $(get_datafiles ${d}) )
		einfo "${d}:" ${files[*]}
		doins ${files[@]/#/$d/}
	done

	use man && doman man/man*/*.[234579]
}