# Contributor: macmpi # Maintainer: macmpi pkgname=raspberrypi-utils pkgver=0.20250416 pkgrel=0 _commit="f92b9735ba3141103c73cd0bf9781644caa91e42" pkgdesc="Collection of Raspberry Pi utilities (scripts and simple applications)" url="https://github.com/raspberrypi/utils" arch="armhf armv7 aarch64" license="BSD-3-Clause" makedepends="cmake samurai dtc-dev" source="$pkgname-$_commit.tar.gz::https://github.com/raspberrypi/utils/archive/$_commit.tar.gz do-not-build-piolib.patch.txt " builddir="$srcdir/utils-$_commit" # does not have any tests options="!check" subpackages=" $pkgname-dtmerge $pkgname-dtmerge-doc:dtmerge_doc:noarch $pkgname-eeptools $pkgname-kdtc::noarch $pkgname-otpset::noarch $pkgname-overlaycheck::noarch $pkgname-ovmerge::noarch $pkgname-pinctrl $pkgname-pinctrl-bash-completion:pinctrl_bashcomp:noarch $pkgname-pinctrl-dev:pinctrl_dev $pkgname-raspinfo::noarch $pkgname-vcgencmd $pkgname-vcgencmd-bash-completion:vcgencmd_bashcomp:noarch $pkgname-vcgencmd-doc:vcgencmd_doc:noarch $pkgname-vclog $pkgname-vcmailbox $pkgname-vcmailbox-doc:vcmailbox_doc:noarch " # piolib is specific to Pi 5 (aarch64) [ "$CARCH" = "aarch64" ] && subpackages="$subpackages $pkgname-piolib $pkgname-piolib-dev:piolib_dev" prepare() { default_prepare # piolib is specific to Pi 5 (aarch64) [ "$CARCH" = "aarch64" ] || patch -p1 < "$srcdir/do-not-build-piolib.patch.txt" } build() { cmake -B build -G Ninja \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_DATADIR=/usr/share \ -DCMAKE_BUILD_TYPE=MinSizeRel cmake --build build } package() { depends=" $pkgname-dtmerge=$pkgver-r$pkgrel $pkgname-eeptools=$pkgver-r$pkgrel $pkgname-kdtc=$pkgver-r$pkgrel $pkgname-otpset=$pkgver-r$pkgrel $pkgname-overlaycheck=$pkgver-r$pkgrel $pkgname-ovmerge=$pkgver-r$pkgrel $pkgname-pinctrl=$pkgver-r$pkgrel $pkgname-raspinfo=$pkgver-r$pkgrel $pkgname-vcgencmd=$pkgver-r$pkgrel $pkgname-vclog=$pkgver-r$pkgrel $pkgname-vcmailbox=$pkgver-r$pkgrel " # piolib is specific to Pi 5 (aarch64) [ "$CARCH" = "aarch64" ] && depends="$depends $pkgname-piolib=$pkgver-r$pkgrel" DESTDIR="$pkgdir" cmake --install build } dtmerge() { pkgdesc="A tool for applying compiled DT overlays (*.dtbo) to base Device Tree files (*.dtb)." depends="" amove usr/bin/dt* } dtmerge_doc() { pkgdesc="Documentation for $pkgname-dtmerge" depends="$pkgname-dtmerge=$pkgver-r$pkgrel" install_if="$pkgname-dtmerge=$pkgver-r$pkgrel docs" gzip -n -9 "$pkgdir"/usr/share/man/man1/dt*.1 amove usr/share/man/man1/dt*.1.gz } eeptools() { pkgdesc="Tools for creating and managing EEPROMs for HAT+ and HAT board." depends="" amove usr/bin/eep* } kdtc() { pkgdesc="A tool for compiling overlays with #includes, etc., as used in the kernel tree." depends=" dtc perl " amove usr/bin/kdtc } otpset() { pkgdesc="A short script to help with reading and setting the customer OTP bits." depends=" python3 $pkgname-vcmailbox=$pkgver-r$pkgrel " amove usr/bin/otpset } overlaycheck() { pkgdesc="A tool for validating the overlay files and README in a kernel source tree." depends=" $pkgname-dtmerge=$pkgver-r$pkgrel $pkgname-ovmerge=$pkgver-r$pkgrel dtc perl " amove usr/bin/overlaycheck amove usr/bin/overlaycheck_exclusions.txt } ovmerge() { pkgdesc="A tool for merging DT overlay source files (*-overlay.dts), flattening and sorting .dts files for easy comparison, displaying the include tree, etc." depends="perl" amove usr/bin/ovmerge } pinctrl() { pkgdesc="A tool for displaying and modifying the GPIO and pin muxing state of a system, bypassing the kernel." depends="" amove usr/bin/pinctrl } pinctrl_bashcomp() { depends="$pkgname-pinctrl=$pkgver-r$pkgrel" pkgdesc="Bash completions for $pkgname-pinctrl" install_if="$pkgname-pinctrl=$pkgver-r$pkgrel bash-completion" amove usr/share/bash-completion/completions/pinctrl } pinctrl_dev() { pkgdesc="gpiolib static library for Raspberry Pi devices (development files)" depends="" amove usr/include/gpiolib.h amove usr/lib/libgpiolib.a } piolib() { pkgdesc="Sample utilities leveraging Pi 5's PIO hardware." depends="" amove usr/bin/apitest \ usr/bin/dpi_csync \ usr/bin/pio* \ usr/bin/quadenc \ usr/bin/rp1sm } piolib_dev() { pkgdesc="piolib static library for accessing Pi 5's PIO hardware (development files)" depends="" amove usr/include/piolib amove usr/lib/libpio.a } raspinfo() { pkgdesc="A short script to dump information about the Pi. Intended for the submission of bug reports." depends=" $pkgname-vclog=$pkgver-r$pkgrel $pkgname-pinctrl=$pkgver-r$pkgrel $pkgname-vcgencmd=$pkgver-r$pkgrel bash sudo-virt usbutils " # missing https://github.com/raspberrypi/rpi-eeprom amove usr/bin/raspinfo } vcgencmd() { pkgdesc="A tool used to output information from the VideoCore GPU on the Raspberry Pi" depends="" amove usr/bin/vcgencmd } vcgencmd_bashcomp() { depends="$pkgname-vcgencmd=$pkgver-r$pkgrel" pkgdesc="Bash completions for $pkgname-vcgencmd" install_if="$pkgname-vcgencmd=$pkgver-r$pkgrel bash-completion" amove usr/share/bash-completion/completions/vcgencmd } vcgencmd_doc() { pkgdesc="Documentation for $pkgname-vcgencmd" depends="$pkgname-vcgencmd=$pkgver-r$pkgrel" install_if="$pkgname-vcgencmd=$pkgver-r$pkgrel docs" gzip -n -9 "$pkgdir"/usr/share/man/man1/vcgencmd.1 amove usr/share/man/man1/vcgencmd.1.gz } vclog() { pkgdesc="A tool to get VideoCore 'assert' or 'msg' logs with optional -f to wait for new logs to arrive." depends="" amove usr/bin/vclog } vcmailbox() { pkgdesc="Utility for driving mailbox interface to VideoCore GPU on the Raspberry Pi" depends="" amove usr/bin/vcmailbox } vcmailbox_doc() { pkgdesc="Documentation for $pkgname-vcmailbox" depends="$pkgname-vcmailbox=$pkgver-r$pkgrel" install_if="$pkgname-vcmailbox=$pkgver-r$pkgrel docs" gzip -n -9 "$pkgdir"/usr/share/man/man1/vcmailbox.1 amove usr/share/man/man1/vcmailbox.1.gz gzip -n -9 "$pkgdir"/usr/share/man/man7/vcmailbox.7 amove usr/share/man/man7/vcmailbox.7.gz gzip -n -9 "$pkgdir"/usr/share/man/man7/raspi*.7 amove usr/share/man/man7/raspi*.7.gz } sha512sums=" 8196e82ebd0bccadbc5d0c929d8421a55ea4d2b97cc764cc220aab169470b7d39dd8283c1e4332d9ab1c9ae6a7b0857bda171a331d5bc323d0b6f4027168fba3 raspberrypi-utils-f92b9735ba3141103c73cd0bf9781644caa91e42.tar.gz 33f9b8a140c7dd966abcbc019c3880efb16a4f7a91b6b40c624c5ce14dbf983aacb555919c5d520b56ea5e98e4026794116c2669549aaa9a117ca804bdcd4cb6 do-not-build-piolib.patch.txt "