pmaports/device/community/device-purism-librem5/APKBUILD
Clayton Craft 3ed8a1b07c
device-purism-librem5: add smartcard reader support (MR 1993)
This adds a new subpackage that installs dependencies and configures the
smartcard reader on the librem 5. Some setup is required before this
will work (e.g. upgrading reader firmware), the L5 wiki page will have
this information.

The pcsc init script was forked into this package to allow for powering
on the reader *before* the service started. Doing this in a separate
init script would have caused the reader to power on regardless of
whether the pcsc service was set to start, which is not desirable since
it should *only* be powered on when pcsc is starting
2021-02-28 10:50:36 +03:00

130 lines
5.5 KiB
Text

# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=device-purism-librem5
pkgdesc="Purism Librem 5 Phone"
pkgver=1.14
pkgrel=0
_confver=35
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
alsa-ucm-conf
gpsd
iw
linux-purism-librem5
mesa-dri-gallium
mesa-egl
postmarketos-base
u-boot-librem5
uboot-tools
"
makedepends="devicepkg-dev"
builddir=$srcdir/librem5-base-pureos-$_confver
source="
https://source.puri.sm/Librem5/librem5-base/-/archive/pureos/$_confver/librem5-base-pureos-$_confver.tar.gz
00-mesa.sh
70-wifi-pm.rules
77-mm-broadmobi-port-types.rules
deviceinfo
flash_script.lst
librem5-shipmode.initd
modprobe.d_rsi.conf
modules-load.d_librem5.conf
pcscd-librem5-reader.conf
pcscd-librem5.initd
uboot-script.cmd
xorg.conf
"
subpackages="
$pkgname-phosh
$pkgname-pulseaudio
$pkgname-smartcard
"
install="$pkgname.post-install"
build() {
mkimage -A arm64 -C none -O linux -T script -d "$srcdir/uboot-script.cmd" "$srcdir/boot.scr"
devicepkg_build $startdir $pkgname
}
phosh() {
pkgdesc="Phosh support for the Librem 5"
install_if="$pkgname phosh"
depends="
wys
"
install -D -m644 "$builddir"/default/org.freedesktop.ModemManager1.pkla \
"$subpkgdir"/var/lib/polkit-1/localauthority/10-vendor.d/org.freedesktop.ModemManager1.pkla
}
pulseaudio() {
pkgdesc="Pulseaudio support for the Librem 5"
install_if="$pkgname pulseaudio"
# install config files from upstream Purism
mkdir -p "$subpkgdir"/etc/pulse/
cp -r "$builddir"/default/audio/pulse/daemon.conf.d "$subpkgdir"/etc/pulse/
install -D -m644 "$builddir"/default/audio/pulse/librem5.pa "$subpkgdir"/etc/pulse/librem5.pa
mkdir -p "$subpkgdir"/usr/share/pulseaudio/alsa-mixer
cp -r "$builddir"/default/audio/profile-sets "$subpkgdir"/usr/share/pulseaudio/alsa-mixer/
}
smartcard() {
pkgdesc="OpenPGP SmartCard support for the Librem 5"
depends="$pkgname ccid gnupg-scdaemon pcsc-lite pcsc-tools"
install_if="$pkgname pcsc-tools"
install="$install $subpkgname.post-install"
install -D -m644 "$srcdir"/pcscd-librem5-reader.conf \
"$subpkgdir"/etc/reader.conf.d/librem5-ttxs-reader
install -D -m755 "$srcdir"/pcscd-librem5.initd \
"$subpkgdir"/etc/init.d/pcscd-librem5
}
package() {
install -D -m644 "$srcdir"/boot.scr \
"$pkgdir"/boot/boot.scr
install -D -m644 "$srcdir"/modprobe.d_rsi.conf "$pkgdir"/etc/modprobe.d/rsi.conf
install -D -m644 "$srcdir"/modules-load.d_librem5.conf "$pkgdir"/etc/modules-load.d/librem5.conf
install -D -m644 "$srcdir"/00-mesa.sh "$pkgdir"/etc/profile.d/00-mesa.sh
install -D -m644 "$srcdir"/flash_script.lst "$pkgdir"/usr/share/uuu/flash_script.lst
install -Dm644 "$srcdir"/xorg.conf \
"$pkgdir"/etc/X11/xorg.conf.d/10-video.conf
# udev
install -D -m644 "$builddir"/debian/librem5-base-defaults.librem5-pm.udev \
"$pkgdir"/usr/lib/udev/rules.d/librem5-pm.rules
install -D -m644 "$builddir"/debian/librem5-base-defaults.librem5-modem.udev \
"$pkgdir"/usr/lib/udev/rules.d/librem5-modem.rules
install -D -m644 "$builddir"/default/gpsd/99-gnss.rules \
"$pkgdir"/usr/lib/udev/rules.d/librem5-gnss.rules
# Wifi / PM
install -Dm644 "$srcdir"/70-wifi-pm.rules -t "$pkgdir"/usr/lib/udev/rules.d/
# install audio config files from upstream Purism
mkdir -p "$pkgdir"/usr/share/alsa/ucm2
cp -r "$builddir"/default/audio/ucm2 "$pkgdir"/usr/share/alsa/
# device-specific services
install -Dm755 "$builddir"/default/shipmode/l5-poweroff-shipmode \
"$pkgdir"/usr/bin/librem5-shipmode
install -Dm755 "$srcdir"/librem5-shipmode.initd \
"$pkgdir"/etc/init.d/librem5-shipmode
devicepkg_package $startdir $pkgname
}
sha512sums="1c1b5074982f622cdfc22ead07dfdccb2cadf0eaa9700947161d779c7d05e9caa7e4016e4324345d4062e2de66673321cf909314f9ca841ada87cb0cdaec2997 librem5-base-pureos-35.tar.gz
5e0536a53ba5a33af6ddff3a5f5d866c09ae54dd6754e6b17e61fde0b141b3165379a598de562c89568a1de9ae9ae03a4f876c53002b87f09d7b56013345ab27 00-mesa.sh
8b6fa7b12c15f439c561901f3ffe24a1ef2a0c343401c0a79281060854ab29e08a1fb5e7adae8684b12aa9f535ed99e2dad993dce9724822cb0fbf2497dd86e5 70-wifi-pm.rules
00355d9ad085a77e157f3c62eb4f1bcac2823d3b341e34d1128edbfb1444fba83e8eacd263ea61da9f6d853f1328ab7fbe5ea63bd08c8a1bc9b8eaf44ae1f1c6 77-mm-broadmobi-port-types.rules
73bc79b6ed1db6a8f581d18ae529f3ebfa2bd86f6b24ec1a9e12f8ddd657480eabfe554996636ef68a31477b8bfdfb2378bf8c03f1293196496683c195f78598 deviceinfo
d033df2b9125622c946af67dad83070473c86937b5825f57ad272c9145b594071dd6913949127803c45af4ea3226526551718d40739f9f1ee4bfe6446e62c856 flash_script.lst
76b06cc1ac82c3fc0e298c9d7d5c9139624b1269bf846fe3bc07b9af877d882362b60ba90028ad3182cb1d6426aacdb560fe060b026778a56e7f038d495eadd4 librem5-shipmode.initd
9dc018f0de523cbfe5a49cbe831aa30e975a8dd34635197bb52582f072ac356ef2c02223fc794d970380091a69a83a74c3fbe34520190c8536e77f9ea98c7659 modprobe.d_rsi.conf
a0740e405781ec6ef765fdc9f5700c95adbb241c45c97b9384ba68cdece662cb216ca5918640042f6e65a5d1b1a9099936382c99b49a44303f7b6d77a075a471 modules-load.d_librem5.conf
8ef4ec7a9e9a4fb801d207e7d94b627aacc9243a93b0ec28e0823a6f44b8102416c040e4ddf499f87bb9dfa960cf6f627b008b79f197f6814b3fd881e18ae8ef pcscd-librem5-reader.conf
2618b40eebd3602066ee75ab85cbdbb4cfee498def9879c95a304f05a6eeedf1ab28c5dd9fa5efc8f88c790f49c96458c61d5dfe8a3ca0f96bcc0e244313ab01 pcscd-librem5.initd
aa06920d47ca3781d76473a8a4efebd243ebb1c1d81e1714ef5ade3fed91e0a7a7113e5fa00c7c77163556745962e57102469517f9ea3ad868bc4033387bf428 uboot-script.cmd
1cbc65cf2cb8fad4b0332d012a0256a266205b9b64371f5c0dae09dbb7f1e45b254e8c43993b896097e9d7035a72d547d9bce1ab2133addc56a5abdb80b44616 xorg.conf"