summaryrefslogtreecommitdiff
path: root/sys-firmware/raspberrypi-boot/raspberrypi-firmware-9999.ebuild
blob: 2b88c9ca7d38e3684ad32791717b16db7413fd66 (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
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="4"

DESCRIPTION="Proprietary libraries for the Broadcom BCM2835 SoC (including the Raspberry Pi computer)"
HOMEPAGE="http://www.broadcom.com/ http://www.raspberrypi.org/"

inherit git-2

EGIT_REPO_URI="git://github.com/raspberrypi/firmware.git"
EGIT_PROJECT="raspberrypi-firmware.git"

SLOT="0"

KEYWORDS="arm"

# TODO: Make the samples actually optional
IUSE="X +hardfp +samples"

DEPEND="!media-libs/bcm2835-libs
	X? ( || ( <media-libs/mesa-8.0[-egl,-gles,-openvg] >=media-libs/mesa-8.0[-egl,-gles1,-gles2,-openvg] ) )"
RDEPEND="${DEPEND}"

RESTRICT="mirror strip test"

# QA Silencing
QA_TEXTRELS="
	opt/vc/lib/libbcm_host.so
	opt/vc/lib/libGLESv2.so
	opt/vc/lib/libluammal.so
	opt/vc/lib/libmmal.so
	opt/vc/lib/libEGL.so
	opt/vc/lib/libopenmaxil.so
"

QA_EXECSTACK="
	opt/vc/bin/vchiq_test
	opt/vc/bin/vcdbg
	opt/vc/bin/vcmemmap
	opt/vc/bin/tvservice
	opt/vc/bin/edidparser
	opt/vc/bin/vcgencmd
	opt/vc/sbin/vcfiled
"

src_install() {
	if use hardfp; then
		cd "${S}/hardfp/opt/vc"
	else
		cd "${S}/opt/vc"
	fi
	insinto /opt/vc
	doins -r include lib
	use samples && doins -r src
	exeinto /opt/vc/bin
	doexe bin/*
	exeinto /opt/vc/sbin
	doexe sbin/*

	dodoc "LICENCE"

	# Create symlinks for header files
	local vcos_include_dir
	vcos_include_dir="/opt/vc/include/interface/vcos"
	local vcos_includes
	vcos_includes="vcos_futex_mutex.h"
	vcos_includes+=" vcos_platform.h"
	vcos_includes+=" vcos_platform_types.h"
	for vcos_include in ${vcos_includes}; do
		dosym "${vcos_include_dir}/pthreads/${vcos_include}" \
			"${vcos_include_dir}/${vcos_include}"
	done

	local bcm_includes
	bcm_includes="bcm_host.h"
	bcm_includes+=" EGL GLES GLES2 IL"
	bcm_includes+=" interface KHR"
	bcm_includes+=" vcinclude VG"
	for bcm_include in ${bcm_includes}; do
		dosym /opt/vc/include/${bcm_include} /usr/include/${bcm_include}
	done

	insinto /etc/env.d
	newins "${FILESDIR}/${PN}.envd" "02${PN}"
}