# Maintainer: graysky # Maintainer: Oleg Rakhmanov # Maintainer: Kevin Mihelich pkgname=raspberrypi-firmware pkgver=20230420 pkgrel=1 _commitfirmware=c4122b8708d2d1e8a123e45b188d0bc2d0105bca _commituserland=cc1ca18fb0689b01cc2ca2aa4b400dcee624a213 pkgdesc="Firmware tools, libraries, and headers for Raspberry Pi" arch=('armv7h' 'aarch64') url="https://github.com/raspberrypi/firmware" license=('custom') makedepends_aarch64=('cmake') replaces=('raspberrypi-firmware-tools') provides=('raspberrypi-firmware-tools') options=(!strip) source=('00-raspberrypi-firmware.conf' '10-raspberrypi-firmware.rules' 'raspberrypi-firmware.sh') source_armv7h=("firmware-$pkgver-$pkgrel-${_commitfirmware:0:10}.tar.gz::https://github.com/raspberrypi/firmware/archive/$_commitfirmware.tar.gz") source_aarch64=("userland-$pkgver-$pkgrel-${_commituserland:0:10}.tar.gz::https://github.com/raspberrypi/userland/archive/$_commituserland.tar.gz" "https://raw.githubusercontent.com/raspberrypi/firmware/master/opt/vc/LICENCE") md5sums=('72e0d5818fc513ece1b964f25f7e7882' '4fd5a77d254c62a259edf8ff5194db6f' '60919cb17f31b4698b6650bbb46f18ed') md5sums_armv7h=('3c3d6b0a8c38647611fa350268c06e3c') md5sums_aarch64=('b34aa967501bfab932592af2583940cd' '86e53f5f5909ee66900418028de11780') build() { if [[ "${CARCH}" = 'aarch64' ]]; then cd "${srcdir}/userland-${_commituserland}" cmake -DCMAKE_BUILD_TYPE=Release -DARM64=ON make fi } package() { # setup permissions on video group for /opt/vc/bin/vcgencmd install -Dm0644 "$srcdir/10-raspberrypi-firmware.rules" "$pkgdir/usr/lib/udev/rules.d/10-raspberrypi-firmware.rules" # setup PATH to hit /opt/vc/bin/ install -Dt "$pkgdir/etc/profile.d" -m644 raspberrypi-firmware.sh mkdir -p "${pkgdir}"/opt/vc if [[ "${CARCH}" = 'aarch64' ]]; then cd ${srcdir}/userland-${_commituserland} make install DESTDIR="${pkgdir}" install -m644 ../LICENCE "${pkgdir}"/opt/vc/LICENCE rm -rf "${pkgdir}"/opt/vc/src # Remove executable flag on shared objects find "${pkgdir}" -type f -name '*.so' -print0 | xargs -0 chmod -x # Create lib links mkdir -p "${pkgdir}"/etc/ld.so.conf.d/ install -m644 ../00-raspberrypi-firmware.conf "${pkgdir}"/etc/ld.so.conf.d/00-raspberrypi-firmware.conf else cp -R "${srcdir}"/firmware-${_commitfirmware}/hardfp/opt/vc/{bin,include,lib,LICENCE} "${pkgdir}"/opt/vc cp -R "${srcdir}"/firmware-${_commitfirmware}/opt/vc/man "${pkgdir}"/opt/vc # Create lib links mkdir -p "${pkgdir}"/etc/ld.so.conf.d/ cp "${srcdir}/00-raspberrypi-firmware.conf" "${pkgdir}"/etc/ld.so.conf.d/ fi # Install man pages to /usr/share/man/ not to /opt/vc/man/ mkdir -p "${pkgdir}"/usr/share/man/man{1,7} mv "${pkgdir}"/opt/vc/man/man1/*.1 "${pkgdir}"/usr/share/man/man1 mv "${pkgdir}"/opt/vc/man/man7/*.7 "${pkgdir}"/usr/share/man/man7 rm -rf "${pkgdir}"/opt/vc/man }