pmaports/device/main/device-pine64-pinephone/APKBUILD
Pablo Correa Gómez 0007ee331c
main/device-pine64-pinephone: add logind and upower fwupd plugins (MR 3320)
Otherwise, an update could be allowed even if the phone is not
connected to AC and it might also suspend in the middle of the upgrade
2022-07-27 10:57:31 -04:00

241 lines
9.1 KiB
Text

# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Martijn Braam <martijn@brixit.nl>
# Co-Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
# Co-Maintainer: Luca Weiss <luca@z3ntu.xyz>
# Co-Maintainer: Dylan Van Assche <me@dylanvanassche.be>
pkgname=device-pine64-pinephone
pkgver=0.42
pkgrel=1
pkgdesc="PINE64 PinePhone"
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
subpackages="
$pkgname-gnome
$pkgname-nonfree-firmware:nonfree_firmware
$pkgname-shelli
$pkgname-plasma-mobile:plasma_mobile
$pkgname-upower
$pkgname-vccq-mod:vccq_mod
$pkgname-sensorfw
"
depends="
alsa-ucm-conf>=1.2.6.2
atinout
eg25-manager
eg25-manager-openrc
gpsd
iw
linux-postmarketos-allwinner>=5.14
mesa-dri-gallium
mesa-egl
postmarketos-base
u-boot-pinephone>=2021.01_git20201228-r2
u-boot-tools
fwupd
fwupd-plugin-fastboot
fwupd-plugin-logind
fwupd-plugin-modem_manager
fwupd-plugin-upower
"
makedepends="devicepkg-dev dtc"
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-upgrade"
source="
00_alsa_pinephone_dshare.conf
10-pinephone-proximity.rules
50_sleep.gschema.override
51_keyboard.gschema.override
60-flashlight.rules
70-wifi-pm.rules
90-modem-eg25.rules
UPower.conf
deviceinfo
gpsd_device-hook.sh
gpsd_pinephone.initd
hwtest.ini
kirigami-lowpower.sh
modemmanager.conf
pinephone-vccq-mod.dts
pulse-pinephone.conf
sensorfw/90-pinephone.conf
sensorfw/primaryuse.conf
setup-modem.sh
uboot-script.cmd
uboot-user.cmd
ucm/HiFi.conf
ucm/PinePhone.conf
ucm/VoiceCall.conf
ppkb.sh
"
# workaround to purge the -elogind subpackage that was previously
# created/installed
provides="$pkgname-elogind=$pkgver-r$pkgrel"
build() {
devicepkg_build $startdir $pkgname
mkimage \
-A arm \
-O linux \
-T script \
-C none \
-a 0 \
-e 0 \
-n postmarketos \
-d "$srcdir"/uboot-script.cmd \
"$srcdir"/boot.scr
# Build user U-boot script for vccq-mod
mkimage \
-A arm \
-O linux \
-T script \
-C none \
-a 0 \
-e 0 \
-n postmarketos-user \
-d "$srcdir"/uboot-user.cmd \
"$srcdir"/user.scr
# Build Device Tree Overlay for vccq-mod
dtc \
-@ \
-I dts \
-O dtb \
-o "$srcdir"/pinephone-vccq-mod.dtbo \
"$srcdir"/pinephone-vccq-mod.dts
}
package() {
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/boot.scr \
"$pkgdir"/boot/boot.scr
# Make /boot/allwinner/sun50i-a64-pine64-pinephone*.dtb resolve to
# /boot/sun50i-a64-pine64-pinephone*.dtb. This is because the device tree
# names in u-boot include the vendor and the one in postmarketOS doesn't.
ln -s .. "$pkgdir"/boot/allwinner
install -Dm644 "$srcdir"/hwtest.ini \
"$pkgdir"/usr/share/hwtest.ini
# GPS
install -Dm755 "$srcdir"/gpsd_pinephone.initd \
"$pkgdir"/etc/init.d/gpsd_pinephone
install -Dm755 "$srcdir"/gpsd_device-hook.sh \
"$pkgdir"/etc/gpsd/device-hook
install -D -m644 "$srcdir"/10-pinephone-proximity.rules \
"$pkgdir"/usr/lib/udev/rules.d/10-pinephone-proximity.rules
# Alsa usecase manager config
install -Dm644 -t "$pkgdir"/usr/share/alsa/ucm2/PinePhone \
"$srcdir"/HiFi.conf \
"$srcdir"/PinePhone.conf \
"$srcdir"/VoiceCall.conf
mkdir -p "$pkgdir"/usr/share/alsa/ucm2/conf.d/simple-card
ln -s /usr/share/alsa/ucm2/PinePhone/PinePhone.conf \
"$pkgdir"/usr/share/alsa/ucm2/conf.d/simple-card/PinePhone.conf
# Pulseaudio config
install -Dm644 "$srcdir"/pulse-pinephone.conf \
"$pkgdir"/etc/pulse/daemon.conf.d/89-pinephone.conf
# Modem
install -Dm755 "$srcdir"/setup-modem.sh \
"$pkgdir"/usr/bin/pinephone_setup-modem
install -Dm644 "$srcdir"/90-modem-eg25.rules -t \
"$pkgdir"/usr/lib/udev/rules.d/
install -Dm644 "$srcdir"/modemmanager.conf \
"$pkgdir"/etc/conf.d/modemmanager
# Wifi / PM
install -Dm644 "$srcdir"/70-wifi-pm.rules -t \
"$pkgdir"/usr/lib/udev/rules.d/
# Keyboard config
install -Dm755 "$srcdir"/ppkb.sh "$pkgdir"/etc/profile.d/ppkb.sh
}
nonfree_firmware() {
pkgdesc="Wifi, Bluetooth and Autofocus firmware"
depends="
linux-firmware-rtlwifi
linux-firmware-rtl_bt
firmware-pine64-rtl8723bt
firmware-pine64-ov5640
"
mkdir "$subpkgdir"
}
plasma_mobile() {
install_if="$pkgname=$pkgver-r$pkgrel kirigami2"
install -Dm644 "$srcdir"/60-flashlight.rules -t "$subpkgdir"/usr/lib/udev/rules.d/
install -Dm644 "$srcdir"/kirigami-lowpower.sh "$subpkgdir"/etc/profile.d/kirigami-lowpower.sh
}
gnome() {
install_if="$pkgname=$pkgver-r$pkgrel gnome-control-center"
install -Dm644 "$srcdir"/50_sleep.gschema.override \
"$subpkgdir"/usr/share/glib-2.0/schemas/50_sleep.gschema.override
install -Dm644 "$srcdir"/51_keyboard.gschema.override -t \
"$subpkgdir"/usr/share/glib-2.0/schemas
}
upower() {
install_if="$pkgname=$pkgver-r$pkgrel upower"
replaces="upower"
# Shutdown when PMIC reports critical battery level
install -Dm644 "$srcdir"/UPower.conf \
"$subpkgdir"/etc/UPower/UPower.conf
}
shelli() {
install_if="$pkgname=$pkgver-r$pkgrel shelli"
# Alsa default audio must be stereo
install -Dm644 "$srcdir"/00_alsa_pinephone_dshare.conf \
"$subpkgdir"/etc/alsa/conf.d/00_alsa_pinephone_dshare.conf
}
vccq_mod() {
pkgdesc="Install only if you have done the Vccq hardware mod https://postmarketos.org/pp-vccq-mod"
install -Dm644 "$srcdir"/user.scr \
"$subpkgdir"/boot/user.scr
install -Dm644 "$srcdir"/pinephone-vccq-mod.dtbo \
"$subpkgdir"/boot/pinephone-vccq-mod.dtbo
}
sensorfw() {
install_if="$pkgname=$pkgver-r$pkgrel sensorfw"
install -Dm644 -t "$subpkgdir"/etc/sensorfw \
"$srcdir"/primaryuse.conf
install -Dm644 -t "$subpkgdir"/etc/sensorfw/sensord.conf.d \
"$srcdir"/90-pinephone.conf
}
sha512sums="
5736444fd38ab4351d148ae96c479085f469bd1e51a692fb1827f8ac921a584389f7696985e1fba21c2deac88709910531f4ece282f45ff54e590c2b54b84ba3 00_alsa_pinephone_dshare.conf
b53cc6f2531854cc9c1e4c334185a20551d64c8675ee8a8eaa03b99d80808fad421a0f6e99e5be212a974d88c85f461a71ba59ac59c29f298c82f211e3be1ef4 10-pinephone-proximity.rules
bac664c504d9a3adc6e3d25f24ac63cf7c449a82374544a5b56c259dc25af580897b9dc992865ac83f854f95d17c439b7deb47bfb9557aabcb2e80c3942e22be 50_sleep.gschema.override
2d68ffe143f633a86670f30e45dbad1cc313f219f22b7cd3319ab44bb7209c20cb29f2ff2c60c92390154af9c9a6815c4186be555364cf31552005eba024c0e7 51_keyboard.gschema.override
9170da7ac869254644f2fc8d914102f2c16e917dbeb53e33b96c76936711d0540f55fa5c2526d73d5fe244500bc2728bc9d629e2524cf52c573d11e833aee666 60-flashlight.rules
8b6fa7b12c15f439c561901f3ffe24a1ef2a0c343401c0a79281060854ab29e08a1fb5e7adae8684b12aa9f535ed99e2dad993dce9724822cb0fbf2497dd86e5 70-wifi-pm.rules
9cb52e3c5d63dde68296f4c1f9b691629182f82181a7f0877a72aad6870698ea9e7d628309970afbcce01041274054d304de1ee3faf8c1d101f7f8e988a43098 90-modem-eg25.rules
ed0e03f7e1c0348c06be9a7922414469245604ce813bbf0c8910ef211cb993bbb0d0d4615c9c961d50712415f85d6b73e0cf02780ac784666aac56e4889341e4 UPower.conf
4a3e607a8e8249668195c472ba181149add65be515360b4d0f465b9c798e7bf8b2f2e431eb3e95cd8620c2a580779c665762f0386239b2fb2a64352e46702edb deviceinfo
ccbc83b84b5028bc2c8e526759004ce71b50b2675ecffee98f5676c70a3332197a231ff9d2fd46444dd3c0a637ec08ce6125b18240fe6bfc13f624a15192e648 gpsd_device-hook.sh
1017fc3f325227da58c77abdc59e9735288d91a7ccc63ec784fe0241c523786b617a11ce8045dab2a74ca12a7dd70aaa334af91836418db1e96a3266fecaa4fd gpsd_pinephone.initd
3dd6d612c381cb0002049d1974d8fb5aa5a53a1eb4d6bcbf62eb2ad52cfdc45f0f6ad24a699716d3513b0371aa1316f25dc72afc10d7176cc3b99d0965c3f030 hwtest.ini
6bc22b369b2d9058b702ac7a7862abaefaf8179b43491868bdb008d181b59104f1ded89db1da51a810e1ccdc803a579b924a438674283a65afc3a9c4d2894caf kirigami-lowpower.sh
c5006c38828eb519917d57756f7831c4552feffef2d4922a384073f6a551535f615ad397d784e313818e0b943e1f6212bcca0aff9ce37da60b29547b1631f24b modemmanager.conf
d66ecef1fa5481ff138fe4e12b194903ceacab9d0649e716049f32e56ec6d9be09b97e2ff769ebc5c9fbced542986b9214f47ed14511ad761d80a41b19e02df7 pinephone-vccq-mod.dts
9c472065b19141dd4c7555869b955de2e679b36e597f9fa3bdac18d0e9460986b0e2fffe1e04751301305f1b6474c1375803afb7d6212eeae91b4905d0bf8ff8 pulse-pinephone.conf
967e3a43c7e91ed37fc932a7c580cd168ca11d8ec7f60ff60ece7f286e5144f27faead95162fa7d571a2317ed0da970fd86f5bc9ed0235a25c0be9182d42d64d 90-pinephone.conf
8e362f48fc5db58dc37d035f80f5ab0b09a20c82e6859e9662affdc192e2aa0bc7a259a9b0c63db330b3873d8b1f22af3f9193a0b7d79068354d1a788391376c primaryuse.conf
420ee1d7522d4d56c2909580fd6ba7580483ca5455b13eb6d22e700063ce0c1a5c6d2f5b161dfce0d777636fe9a712aa82f38a0585f2feabea3785b02bae7515 setup-modem.sh
24b241b6a30ecde8ec66b45f08d09d17d8ab0753cc5e8c75142b850af21d829d1f45e83e6b892f5cbad40f4fa3550de23e2b4d21f7727ada0e79751b0b0a1010 uboot-script.cmd
f28902517bebe16f7ddbdbf9f4c52d5c97319e3b5ba7326ba96ed0e094d3d2a39c87061326893cdc34336bbfd56de084b2f217918ebba7ca6a080088cd0bd409 uboot-user.cmd
f963898fa2ce66bc830e56feeec6ffc9888834e14cc1591d72908ef45ad82532bc3ef5fb32413e07b6722749c9d03e7cf92f06f1fcb859c38b9297cf58e5cedd HiFi.conf
4b0c51ab169aebe8177c5c43eba41afa90370098a5a54e710d17e97ec1651869a20cb5d780a6132028c864916609e3b4f4a13158835310d0441bdb4915872372 PinePhone.conf
e093f71c37370927468de35a987150a3db3e1cc1c76c144bf58918a09c688c3da84303b5533241e691a6aa0758589e2a6498b1097974117782e909f0bbc6bf71 VoiceCall.conf
43f67e94491791685cdbb4874bb3034b1d297bdf3d23e7405c45ba8c58de72b4fb6a9943b79f46ef7b8f4dbc4d9db254ebec8eb3453d720a5a8fad277c6a9d88 ppkb.sh
"