From 4ebf4797fb1e1deb8e5234fd97d6052978c4899b Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Mon, 22 Apr 2019 02:11:12 +0200 Subject: [PATCH] Build the Raspberry Pi VideoCode userland our selves We have to anyway since we use a different libc. Signed-off-by: David Oberhollenzer --- pkg/firmware-rpi/build | 10 +---- pkg/rpi-vc/build | 44 +++++++++++++++++++ pkg/{firmware-rpi => rpi-vc}/gles2-dev.desc | 0 pkg/{firmware-rpi => rpi-vc}/gles2-dev.files | 0 pkg/{firmware-rpi => rpi-vc}/gles2.desc | 0 pkg/{firmware-rpi => rpi-vc}/gles2.files | 0 pkg/{firmware-rpi => rpi-vc}/rpi-vc-dev.desc | 0 pkg/{firmware-rpi => rpi-vc}/rpi-vc-dev.files | 0 pkg/{firmware-rpi => rpi-vc}/rpi-vc.desc | 0 pkg/{firmware-rpi => rpi-vc}/rpi-vc.files | 21 ++++----- 10 files changed, 54 insertions(+), 21 deletions(-) create mode 100644 pkg/rpi-vc/build rename pkg/{firmware-rpi => rpi-vc}/gles2-dev.desc (100%) rename pkg/{firmware-rpi => rpi-vc}/gles2-dev.files (100%) rename pkg/{firmware-rpi => rpi-vc}/gles2.desc (100%) rename pkg/{firmware-rpi => rpi-vc}/gles2.files (100%) rename pkg/{firmware-rpi => rpi-vc}/rpi-vc-dev.desc (100%) rename pkg/{firmware-rpi => rpi-vc}/rpi-vc-dev.files (100%) rename pkg/{firmware-rpi => rpi-vc}/rpi-vc.desc (100%) rename pkg/{firmware-rpi => rpi-vc}/rpi-vc.files (94%) diff --git a/pkg/firmware-rpi/build b/pkg/firmware-rpi/build index 7fe12a2..bfc101a 100755 --- a/pkg/firmware-rpi/build +++ b/pkg/firmware-rpi/build @@ -4,7 +4,7 @@ TARBALL="${VERSION}.tar.gz" URL="https://github.com/raspberrypi/firmware/archive" SHA256SUM="6b6db5f15c400bc1224266fd44238dd9b2479fd09f8a55e36ccdac2120632f8f" DEPENDS="toolchain" -SUBPKG="boot-rpi boot-rpi-dtbo rpi-vc rpi-vc-dev boot-rpi-dtb gles2 gles2-dev" +SUBPKG="boot-rpi boot-rpi-dtbo boot-rpi-dtb" prepare() { return @@ -17,16 +17,8 @@ build() { deploy() { local SOURCE="$1" - cp -r "$SOURCE/hardfp/opt" "$PKGDEPLOYDIR" cp -r ${SOURCE}/boot/* "$PKGDEPLOYDIR/" cp $SCRIPTDIR/pkg/$PKGNAME/*.{files,desc} "$PKGDEPLOYDIR" - - strip_files ${PKGDEPLOYDIR}/opt/vc/bin/* - strip_files ${PKGDEPLOYDIR}/opt/vc/lib/*.so - strip_files ${PKGDEPLOYDIR}/opt/vc/lib/plugins/*.so - - mkdir -p "$PKGDEPLOYDIR/lib" - mv "$PKGDEPLOYDIR/opt/vc/lib/pkgconfig" "$PKGDEPLOYDIR/lib" } check_update() { diff --git a/pkg/rpi-vc/build b/pkg/rpi-vc/build new file mode 100644 index 0000000..8dbc591 --- /dev/null +++ b/pkg/rpi-vc/build @@ -0,0 +1,44 @@ +VERSION="1" +SRCDIR="rpi-userland-${VERSION}" +TARBALL="${SRCDIR}.tar.xz" +URL="http://infraroot.at/pygos" +SHA256SUM="4336d10e0ff93adfa2e93f3520e102a30c009ee0f823bb1d391edf9ab17b3f0f" +DEPENDS="toolchain" +SUBPKG="rpi-vc rpi-vc-dev gles2 gles2-dev" + +prepare() { + return +} + +build() { + local cflags="-O2 -Os" + local ldflags="" + + if [ "x$TC_HARDENING" = "xyes" ]; then + cflags="$cflags -fstack-protector-all" + ldflags="$ldflags -z noexecstack -z relro -z now" + fi + + CFLAGS="$cflags" LDFLAGS="$ldflags" \ + cmake -DCMAKE_TOOLCHAIN_FILE="$CMAKETCFILE" \ + -DCMAKE_INSTALL_PREFIX="" "$1" + + make -j $NUMJOBS +} + +deploy() { + make DESTDIR="$PKGDEPLOYDIR" install + + strip_files ${PKGDEPLOYDIR}/opt/vc/bin/* + strip_files ${PKGDEPLOYDIR}/opt/vc/lib/*.so + strip_files ${PKGDEPLOYDIR}/opt/vc/lib/plugins/*.so + + mkdir -p "$PKGDEPLOYDIR/lib" + mv "$PKGDEPLOYDIR/opt/vc/lib/pkgconfig" "$PKGDEPLOYDIR/lib" + + cp $SCRIPTDIR/pkg/$PKGNAME/*.{files,desc} "$PKGDEPLOYDIR" +} + +check_update() { + return +} diff --git a/pkg/firmware-rpi/gles2-dev.desc b/pkg/rpi-vc/gles2-dev.desc similarity index 100% rename from pkg/firmware-rpi/gles2-dev.desc rename to pkg/rpi-vc/gles2-dev.desc diff --git a/pkg/firmware-rpi/gles2-dev.files b/pkg/rpi-vc/gles2-dev.files similarity index 100% rename from pkg/firmware-rpi/gles2-dev.files rename to pkg/rpi-vc/gles2-dev.files diff --git a/pkg/firmware-rpi/gles2.desc b/pkg/rpi-vc/gles2.desc similarity index 100% rename from pkg/firmware-rpi/gles2.desc rename to pkg/rpi-vc/gles2.desc diff --git a/pkg/firmware-rpi/gles2.files b/pkg/rpi-vc/gles2.files similarity index 100% rename from pkg/firmware-rpi/gles2.files rename to pkg/rpi-vc/gles2.files diff --git a/pkg/firmware-rpi/rpi-vc-dev.desc b/pkg/rpi-vc/rpi-vc-dev.desc similarity index 100% rename from pkg/firmware-rpi/rpi-vc-dev.desc rename to pkg/rpi-vc/rpi-vc-dev.desc diff --git a/pkg/firmware-rpi/rpi-vc-dev.files b/pkg/rpi-vc/rpi-vc-dev.files similarity index 100% rename from pkg/firmware-rpi/rpi-vc-dev.files rename to pkg/rpi-vc/rpi-vc-dev.files diff --git a/pkg/firmware-rpi/rpi-vc.desc b/pkg/rpi-vc/rpi-vc.desc similarity index 100% rename from pkg/firmware-rpi/rpi-vc.desc rename to pkg/rpi-vc/rpi-vc.desc diff --git a/pkg/firmware-rpi/rpi-vc.files b/pkg/rpi-vc/rpi-vc.files similarity index 94% rename from pkg/firmware-rpi/rpi-vc.files rename to pkg/rpi-vc/rpi-vc.files index 4a32c9e..ec2f7ae 100644 --- a/pkg/firmware-rpi/rpi-vc.files +++ b/pkg/rpi-vc/rpi-vc.files @@ -1,33 +1,28 @@ dir opt 0755 0 0 dir opt/vc 0755 0 0 -dir opt/vc/bin 0755 0 0 dir opt/vc/lib 0755 0 0 -dir opt/vc/lib/plugins 0755 0 0 -slink opt/vc/lib/libGLESv1_CM.so 0777 0 0 libGLESv2.so -slink opt/vc/bin/dtparam 0777 0 0 dtoverlay -file opt/vc/LICENCE 0644 0 0 +file opt/vc/lib/libbcm_host.so 0755 0 0 file opt/vc/lib/libEGL.so 0755 0 0 file opt/vc/lib/libGLESv2.so 0755 0 0 file opt/vc/lib/libOpenVG.so 0755 0 0 -file opt/vc/lib/libWFC.so 0755 0 0 -file opt/vc/lib/libbcm_host.so 0755 0 0 file opt/vc/lib/libbrcmEGL.so 0755 0 0 file opt/vc/lib/libbrcmGLESv2.so 0755 0 0 file opt/vc/lib/libbrcmOpenVG.so 0755 0 0 file opt/vc/lib/libbrcmWFC.so 0755 0 0 +file opt/vc/lib/libopenmaxil.so 0755 0 0 file opt/vc/lib/libcontainers.so 0755 0 0 file opt/vc/lib/libdebug_sym.so 0755 0 0 file opt/vc/lib/libdtovl.so 0755 0 0 -file opt/vc/lib/libelftoolchain.so 0755 0 0 +file opt/vc/lib/libvchiq_arm.so 0755 0 0 file opt/vc/lib/libmmal.so 0755 0 0 file opt/vc/lib/libmmal_components.so 0755 0 0 file opt/vc/lib/libmmal_core.so 0755 0 0 file opt/vc/lib/libmmal_util.so 0755 0 0 file opt/vc/lib/libmmal_vc_client.so 0755 0 0 -file opt/vc/lib/libopenmaxil.so 0755 0 0 -file opt/vc/lib/libvchiq_arm.so 0755 0 0 file opt/vc/lib/libvcos.so 0755 0 0 file opt/vc/lib/libvcsm.so 0755 0 0 +file opt/vc/lib/libWFC.so 0755 0 0 +dir opt/vc/lib/plugins 0755 0 0 file opt/vc/lib/plugins/reader_asf.so 0755 0 0 file opt/vc/lib/plugins/reader_avi.so 0755 0 0 file opt/vc/lib/plugins/reader_binary.so 0755 0 0 @@ -52,6 +47,8 @@ file opt/vc/lib/plugins/writer_dummy.so 0755 0 0 file opt/vc/lib/plugins/writer_mp4.so 0755 0 0 file opt/vc/lib/plugins/writer_raw_video.so 0755 0 0 file opt/vc/lib/plugins/writer_simple.so 0755 0 0 +dir opt/vc/bin 0755 0 0 +slink opt/vc/bin/dtparam 0777 0 0 dtoverlay file opt/vc/bin/containers_check_frame_int 0755 0 0 file opt/vc/bin/containers_datagram_receiver 0755 0 0 file opt/vc/bin/containers_datagram_sender 0755 0 0 @@ -67,15 +64,15 @@ file opt/vc/bin/dtmerge 0755 0 0 file opt/vc/bin/dtoverlay 0755 0 0 file opt/vc/bin/dtoverlay-post 0755 0 0 file opt/vc/bin/dtoverlay-pre 0755 0 0 -file opt/vc/bin/edidparser 0755 0 0 file opt/vc/bin/mmal_vc_diag 0755 0 0 file opt/vc/bin/raspistill 0755 0 0 file opt/vc/bin/raspivid 0755 0 0 file opt/vc/bin/raspividyuv 0755 0 0 file opt/vc/bin/raspiyuv 0755 0 0 file opt/vc/bin/tvservice 0755 0 0 -file opt/vc/bin/vcdbg 0755 0 0 file opt/vc/bin/vcgencmd 0755 0 0 file opt/vc/bin/vchiq_test 0755 0 0 file opt/vc/bin/vcmailbox 0755 0 0 file opt/vc/bin/vcsmem 0755 0 0 +dir opt/vc/sbin 0755 0 0 +file opt/vc/sbin/vcfiled 0755 0 0