pmaports/device/downstream/device-sqfmi-beepy/APKBUILD
2026-07-06 20:41:42 +02:00

150 lines
5.3 KiB
Text

maintainer="Adam Thiede <me@adamthiede.com>"
pkgname=device-sqfmi-beepy
pkgdesc="SQFMI Beepy"
pkgver=6
pkgrel=0
_kbdmodname=beepy-kbd
_kbdmodver=2.11
_kbdcommit="e65472734decd59450e2448d1218c4f69babcea8"
_dispmodname=sharp-drm
_dispmodver=1.6
_dispcommit="b8e7a86e962541b5d741c8fcc18152305279f118"
_overlaycommit="910b9f59c2bbe5e7f33725370ceff0a4c18777af"
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
install="$pkgname.post-install $pkgname.post-upgrade $pkgname-openrc.post-install $pkgname-modules.post-install"
depends="
postmarketos-base
raspberrypi-bootloader
linux-rpi
kbd
dtc
"
makedepends="dtc devicepkg-dev libdrm-dev"
source="
deviceinfo
kernel-cmdline.conf
modules-initfs
usercfg.txt
$pkgname-$_kbdcommit.tar.gz::https://github.com/ardangelo/beepberry-keyboard-driver/archive/$_kbdcommit.tar.gz
$pkgname-$_overlaycommit.tar.gz::https://github.com/ardangelo/beepy-symbol-overlay/archive/$_overlaycommit.tar.gz
$pkgname-$_dispcommit.tar.gz::https://github.com/ardangelo/sharp-drm-driver/archive/$_dispcommit.tar.gz
keyboard-driver.patch
symbol-overlay.patch
"
subpackages="$pkgname-overlay $pkgname-modules $pkgname-openrc"
builddir="$srcdir"
# define working directories for different components
_dispdir="$srcdir/sharp-drm-driver"
_kbddir="$srcdir/beepberry-keyboard-driver"
_overlaydir="$srcdir/beepy-symbol-overlay"
prepare() {
# rename directories to generic name for patches to apply
mv "$srcdir"/sharp-drm-driver-$_dispcommit $_dispdir
mv "$srcdir/beepy-symbol-overlay-$_overlaycommit" $_overlaydir
mv "$srcdir/beepberry-keyboard-driver-$_kbdcommit" $_kbddir
default_prepare
# setting KERNELRELEASE in akmbuild to ensure newest kernel is always used for building the module
# add an akmbuild to display driver
cat >$_dispdir/AKMBUILD <<-EOF
modname=$_dispmodname
modver=$_dispmodver
built_modules=$_dispmodname.ko
build() {
KERNELRELEASE=\$(find /lib/modules -type d -iname '*-rpi' -mindepth 1 -maxdepth 1 -exec basename {} \;|sort|tail -n1) make
}
EOF
# add an akmbuild to keyboard driver
cat >$_kbddir/AKMBUILD <<-EOF
modname=$_kbdmodname
modver=$_kbdmodver
built_modules=$_kbdmodname.ko
build() {
KERNELRELEASE=\$(find /lib/modules -type d -iname '*-rpi' -mindepth 1 -maxdepth 1 -exec basename {} \;|sort|tail -n1) make
}
EOF
}
build() {
devicepkg_build $startdir $pkgname
# compile dtbo for display
cd $_dispdir
dtc -@ -I dts -O dtb -W no-unit_address_vs_reg -o sharp-drm.dtbo sharp-drm.dts
# compile dtbo for keyboard
cd $_kbddir
dtc -@ -I dts -O dtb -W no-unit_address_vs_reg -o beepy-kbd.dtbo beepy-kbd.dts
# build keyboard symbol overlay binary
cd $_overlaydir
make symbol-overlay
}
package() {
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/usercfg.txt "$pkgdir"/boot/usercfg.txt
# install keyboard files
install -Dm644 "$_kbddir"/beepy-kbd.map "$pkgdir"/usr/share/kbd/keymaps/beepy-kbd.map
install -Dm644 "$_kbddir"/beepy-kbd.dtbo "$pkgdir"/boot/overlays/beepy-kbd.dtbo
local kbddestdir="$pkgdir/usr/src/$_kbdmodname"
install -Dm644 -t "$kbddestdir" $_kbddir/AKMBUILD $_kbddir/Makefile
cp -r "$_kbddir"/src "$_kbddir"/beepy-kbd.dts "$kbddestdir"
# install display files
install -Dm755 "$_dispdir"/monoset "$pkgdir"/usr/bin/monoset
install -Dm644 "$_dispdir"/sharp-drm.dtbo "$pkgdir"/boot/overlays/sharp-drm.dtbo
local dispdestdir="$pkgdir/usr/src/$_dispmodname"
install -Dm644 -t "$dispdestdir" $_dispdir/AKMBUILD $_dispdir/Makefile
cp -r $_dispdir/src $_dispdir/sharp-drm.dts "$dispdestdir"
# install symbol-overlay
install -Dm755 $_overlaydir/symbol-overlay "$pkgdir"/sbin/symbol-overlay
}
modules() {
install_if="$pkgname=$pkgver-r$pkgrel"
depends="linux-rpi-dev akms build-base"
amove boot/overlays
amove usr/src
}
overlay() {
install_if="$pkgname=$pkgver-r$pkgrel"
amove sbin/symbol-overlay
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
mkdir -p "$subpkgdir"
}
sha512sums="
4487836d288e8d0d27383f2dc458cb7831c90950491cc6493ebc149a3e56b14ebd8fbf51b180ff1343c1b5d309e0dbc044099a69085d0213109aabc5fefe2931 deviceinfo
8074edca423726da1903595992bae9e5fa0dd5aa180d7865e9f9aef786d24da394c8bfdda09e788d2f95718b95924c7b302c5ff6938e7e831c3d37ac06d03d56 kernel-cmdline.conf
3ab0bad9c7f38369457c5896fab2533049a2ad6ddb7cec8e7df3b2ac7f3751bd54dc275da8a7c0eedd7e7aafa79a766cac93750375eed4cb3e8c36612a649a39 modules-initfs
2b387eeb9afddef25a9bb757ec4481c446e213cd1da88291c5b0af0e631bc0bd224588fe6cecb79620bc58820eefa37d0a234ed1b417af2946af48d8f3254d38 usercfg.txt
d3060bcbca3e90aa26c8a8d6772d8b07116e0cc4f0ae97d44d896434510493367966f23bb86d82f9719723b3bc7ee6b7a9e4b93b5185822b32ffaf4ee0411813 device-sqfmi-beepy-e65472734decd59450e2448d1218c4f69babcea8.tar.gz
442703affd913e0bdbbfe5d5eedd49a8b743832702a6fb8e96d49530dd172a7bcdbc36d908b93c61cb455824c85be8ffaa2c67506ae72827e874129f0ba6f912 device-sqfmi-beepy-910b9f59c2bbe5e7f33725370ceff0a4c18777af.tar.gz
ab3b5ee73040c03fa2e5481b893a8ff9be808cd1b27f538ed45df18dada09aa14ead8fbf3fa18863ef9f44d8703fff182a2e5e3107511d728864bba8f31ae292 device-sqfmi-beepy-b8e7a86e962541b5d741c8fcc18152305279f118.tar.gz
68a38d0e9e0716b995fc3761766ae40195986b0b621fb9e22a07ed3016e56058570cea12d1ae88aaf8dc69dacd428b4465541e315cba1cd2c9d31fb50df292d1 keyboard-driver.patch
fc3c720c5c8af33f2bfd8a745340547c29effc458df761cacfa9e6bed7e09f5f5ecea98e5a6c25d630cefc2a4b3e31016d42839c640759cd715bcb81d9560f38 symbol-overlay.patch
"