diff options
3 files changed, 89 insertions, 0 deletions
diff --git a/media-libs/raspberrypi-userland/Manifest b/media-libs/raspberrypi-userland/Manifest index 730152c7ce1d..b4e59eac6b33 100644 --- a/media-libs/raspberrypi-userland/Manifest +++ b/media-libs/raspberrypi-userland/Manifest @@ -2,3 +2,4 @@ DIST raspberrypi-userland-0_pre20130705.tar.xz 31966608 SHA256 6307cc9d6103cd8af DIST raspberrypi-userland-0_pre20140117.tar.xz 31998784 SHA256 2999d711465ddbc6b70d429a0253b8a9c1f838351a96f2b25cc86109a879005f SHA512 5c3dfebdcb36a2a17da94cafcc92067b24b454d5694b0bd216dd0d6752c4f505840880094c22125ab5da60f7b53b9114e8d04359a223e9e00be967cb8585e42e WHIRLPOOL 5179758c2be4b45f640eb8759554e19ea4fc8c83e63b0d4396ae84e67ae82e97824bf12f0766df5a70e2ca5b80e90be80e5c9b2eaa968752829765463d3f6d0d DIST raspberrypi-userland-0_pre20140830.tar.xz 32066536 SHA256 f9a06d2ca7d41cdc700b83eeb7c3e06d3ea6bd3fd187880a563144a6bf6ee901 SHA512 775005177e760fff611d7ce7e4beb466ea111dfc4652b97593d1061b97b1ded32979f8666a0aada6338791abab988883bbfd902f267eba5734e8aa932ebcf487 WHIRLPOOL 3066272a88b868ef20f27614f6f680aa6eb8a43cd2e281a7a930b99be341b037fa843a1c36bfdc6be619544e5b4b8751e5ab58c853b1baff44894b39284bfa55 DIST raspberrypi-userland-0_pre20150921.tar.xz 32395092 SHA256 771bf96111d40c3b86cf2590f22d02306e5f56668f6ee11ace389c719bfccb2b SHA512 0aad096f5c6d54ef1d494708e80f8fb921e30e0d93ced79b4e939afffa8e824e35347595d6f925d1d7ee86917e72fa0b160ad56c8a4df7711d5e87b5cc399be1 WHIRLPOOL 2204dd8f8acf79c3d8baab770e133d18596f00fbf714e9ab46bf4a5ae1a1c0cf9edcbf763bf7fc0403126bb0ca9de7f422a3427dd429d849df6aee1be08b4b6a +DIST raspberrypi-userland-0_pre20160305.tar.gz 32888927 SHA256 01cc6dfb5ee50733d58e6cb1ba0f79cb90ab7ef46718c302cbac0fd9e3a09b6a SHA512 8621f48d699b2736d4a22f03e5cdde6be564b8d2100f46ab85d3f6e0fc958634436fafc8d218f55a114a37acaf6dbe21b5cf2bf57c258a3067af2720d63d0c27 WHIRLPOOL 109aabddfc483900741758a737f93c1f3bc4074de2e2f0d25d28a620f8381adb44d21b5fa8eb3f59a69eb3a9903b95b32e3a5d9d9353560d42e37d19aaa9b085 diff --git a/media-libs/raspberrypi-userland/files/92-local-vchiq-permissions.rules b/media-libs/raspberrypi-userland/files/92-local-vchiq-permissions.rules new file mode 100644 index 000000000000..bacea0e0665e --- /dev/null +++ b/media-libs/raspberrypi-userland/files/92-local-vchiq-permissions.rules @@ -0,0 +1 @@ +SUBSYSTEM=="vchiq",GROUP="video",MODE="0660" diff --git a/media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20160305.ebuild b/media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20160305.ebuild new file mode 100644 index 000000000000..5676f12be23b --- /dev/null +++ b/media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20160305.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit cmake-utils + +DESCRIPTION="Raspberry Pi userspace tools and libraries" +HOMEPAGE="https://github.com/raspberrypi/userland" + +if [[ ${PV} == 9999* ]]; then + inherit git-2 + EGIT_REPO_URI="git://github.com/${PN/-//}.git" + SRC_URI="" + KEYWORDS="" +else + GIT_COMMIT="8369e39" + SRC_URI="https://github.com/raspberrypi/userland/tarball/${GIT_COMMIT} -> ${P}.tar.gz" + KEYWORDS="~arm" + S="${WORKDIR}/raspberrypi-userland-${GIT_COMMIT}" +fi + +IUSE="examples" +LICENSE="BSD" +SLOT="0" + +# TODO: +# * port vcfiled init script +# * stuff is still installed to hardcoded /opt/vc location, investigate whether +# anything else depends on it being there +# * live ebuild + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-2_src_unpack + else + default + fi +} + +src_prepare() { + # init script for Debian, not useful on Gentoo + sed -i "/DESTINATION \/etc\/init.d/,+2d" interface/vmcs_host/linux/vcfiled/CMakeLists.txt || die +} + +src_install() { + cmake-utils_src_install + + doenvd "${FILESDIR}"/04${PN} + + dodir /etc/udev/rules.d + insinto /etc/udev/rules.d + doins "${FILESDIR}"/92-local-vchiq-permissions.rules + + # enable dynamic switching of the GL implementation + dodir /usr/lib/opengl + dosym ../../../opt/vc /usr/lib/opengl/${PN} + + # tell eselect opengl that we do not have libGL + touch "${ED}"/opt/vc/.gles-only + + # some #include instructions are wrong so we need to fix them + einfo "Fixing #include \"vcos_platform_types.h\"" + for file in $(grep -l "#include \"vcos_platform_types.h\"" "${D}"/opt/vc/include/* -r); do + einfo " Fixing file ${file}" + sed -i "s%#include \"vcos_platform_types.h\"%#include \"interface/vcos/pthreads/vcos_platform_types.h\"%g" ${file} + done + einfo "Fixing #include \"vcos_platform.h\"" + for file in $(grep -l "#include \"vcos_platform.h\"" "${D}"/opt/vc/include/* -r); do + einfo " Fixing file ${file}" + sed -i "s%#include \"vcos_platform.h\"%#include \"interface/vcos/pthreads/vcos_platform.h\"%g" ${file} + done + einfo "Fixing #include \"vchost_config.h\"" + for file in $(grep -l "#include \"vchost_config.h\"" "${D}"/opt/vc/include/* -r); do + einfo " Fixing file ${file}" + sed -i "s%#include \"vchost_config.h\"%#include \"interface/vmcs_host/linux/vchost_config.h\"%g" ${file} + done + + if use examples ; then + dodir /usr/share/doc/${PF}/examples + mv "${D}"/opt/vc/src/hello_pi "${D}"/usr/share/doc/${PF}/examples/ || die + rm -fr "${D}"/opt/vc/src + else + rm -fr "${D}/opt/vc/src" + fi +} |