summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Alfredsen <crabbedhaloablution@icloud.com>2020-11-13 14:27:58 +0100
committerSam James <sam@gentoo.org>2020-11-23 04:42:03 +0000
commitd7fbeb6481a6ffda252f343cc3eeee03533fbad5 (patch)
tree012b3662c7e97cb876a9559cae9e6b494ec0978d /media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20201022.ebuild
parentsys-boot/raspberrypi-firmware: Bump to 20201022, keeping -9999 on par (diff)
downloadgentoo-d7fbeb6481a6ffda252f343cc3eeee03533fbad5.tar.gz
gentoo-d7fbeb6481a6ffda252f343cc3eeee03533fbad5.tar.bz2
gentoo-d7fbeb6481a6ffda252f343cc3eeee03533fbad5.zip
media-libs/raspberrypi-userland: Version bump 0_pre20201022
* Add -0_pre20201022, also update -9999 to same standard. * Patches described in ebuild. * raspberrypi-userland produces libEGL and libbrcmEGL, libGLESv2 and libbrcmGLESv2 libraries. Only the libbrcm variants are actually needed, plus the other variants collide with libglvnd. Thanks to KalleBlom on IRC for reporting. * More closely sync with Raspbian which libs we don't install. The source for this package is a mess. We build all kinds of things that just aren't installed, and by default install many things that shouldn't be. * Many .so files are not built on arm64, but currently we install the .pc files anyway. Fix by including the .pc files in the ARM64 conditional. Closes: https://bugs.gentoo.org/754249 Closes: https://bugs.gentoo.org/718366 Closes: https://bugs.gentoo.org/671492 Closes: https://bugs.gentoo.org/620774 Signed-off-by: Peter Alfredsen <crabbedhaloablution@icloud.com> Package-Manager: Portage-3.0.9, Repoman-3.0.2 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20201022.ebuild')
-rw-r--r--media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20201022.ebuild69
1 files changed, 69 insertions, 0 deletions
diff --git a/media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20201022.ebuild b/media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20201022.ebuild
new file mode 100644
index 000000000000..9242ae883fc6
--- /dev/null
+++ b/media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20201022.ebuild
@@ -0,0 +1,69 @@
+# 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 off Raspbian's
+ #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.
+ #Now 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"
+IUSE=""
+
+DEPEND=""
+RDEPEND="acct-group/video
+ !media-libs/raspberrypi-userland-bin"
+
+#Install in $(get_libdir)
+#See https://github.com/raspberrypi/userland/pull/650
+PATCHES=( "${FILESDIR}/${PN}-libdir.patch" )
+#Don't install includes that collide.
+PATCHES+=( "${FILESDIR}/${PN}-include.patch" )
+#See https://github.com/raspberrypi/userland/pull/655
+PATCHES+=( "${FILESDIR}/${PN}-libfdt-static.patch" )
+#See https://github.com/raspberrypi/userland/pull/659
+PATCHES+=( "${FILESDIR}/${PN}-pkgconf-arm64.patch" )
+
+pkg_setup() {
+ append-ldflags $(no-as-needed)
+
+ mycmakeargs=(
+ -DVMCS_INSTALL_PREFIX="/usr"
+ -DARM64=$(usex arm64 ON OFF)
+ )
+}
+
+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_install() {
+ cmake_src_install
+ udev_dorules "${FILESDIR}/92-local-vchiq-permissions.rules"
+}