You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-libs/raspberrypi-userland/raspberrypi-userland-0_pre2...

72 lines
2.1 KiB

# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake flag-o-matic udev
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${PN/-//}.git"
SRC_URI=""
else
# We base our versioning on Raspbian
# Go to https://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-userland/
# Example:
# * libraspberrypi-bin-dbgsym_2+git20201022~151804+e432bc3-1_arm64.deb
# * "e432bc3" is the first 7 hex digits of the commit hash.
# * Go to https://github.com/raspberrypi/userland/commits/master and find the full hash
GIT_COMMIT="e432bc3400401064e2d8affa5d1454aac2cf4a00"
SRC_URI="https://github.com/raspberrypi/userland/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="arm arm64"
S="${WORKDIR}/userland-${GIT_COMMIT}"
fi
DESCRIPTION="Raspberry Pi userspace tools and libraries"
HOMEPAGE="https://github.com/raspberrypi/userland"
LICENSE="BSD"
SLOT="0"
DEPEND=""
RDEPEND="acct-group/video
!media-libs/raspberrypi-userland-bin"
PATCHES=(
# Install in $(get_libdir)
# See https://github.com/raspberrypi/userland/pull/650
"${FILESDIR}/${PN}-libdir.patch"
# Don't install includes that collide.
"${FILESDIR}/${PN}-include.patch"
# See https://github.com/raspberrypi/userland/pull/655
"${FILESDIR}/${PN}-libfdt-static.patch"
# See https://github.com/raspberrypi/userland/pull/659
"${FILESDIR}/${PN}-pkgconf-arm64.patch"
)
src_prepare() {
cmake_src_prepare
sed -i \
-e 's:DESTINATION ${VMCS_INSTALL_PREFIX}/src:DESTINATION ${VMCS_INSTALL_PREFIX}/'"share/doc/${PF}:" \
"${S}/makefiles/cmake/vmcs.cmake" || die "Failed sedding makefiles/cmake/vmcs.cmake"
sed -i \
-e 's:^install(TARGETS EGL GLESv2 OpenVG WFC:install(TARGETS:' \
-e '/^install(TARGETS EGL_static GLESv2_static/d' \
"${S}/interface/khronos/CMakeLists.txt" || die "Failed sedding interface/khronos/CMakeLists.txt"
}
src_configure() {
append-ldflags $(no-as-needed)
mycmakeargs=(
-DVMCS_INSTALL_PREFIX="${EPREFIX}/usr"
-DARM64=$(usex arm64)
)
cmake_src_configure
}
src_install() {
cmake_src_install
udev_dorules "${FILESDIR}/92-local-vchiq-permissions.rules"
}