2ccd927e23
Based on some new (to me...) info from Purism's Sebastian K, there are apparently Evergreen devices that return different values for board rev, so we shouldn't assume only r4 are Evergreen, and default to the r2 DT. But many earlier devices (Birch, Chestnut, Dogwood) may or may not have the board rev set either. Who knows! Defaulting to the Evergreen DT on these devices is bad too, but there weren't many of those shipped (I guess?), at least not compared to the number of Evergreens that aren't properly identifiable in u-boot... so this using this DT by default is the best of the two bad options we have. This comment thread has more info: https://gitlab.com/postmarketOS/pmaports/-/issues/1643#note_1147248594 fixes #1643 [ci:skip-build] already built successfully in CI
178 lines
7.1 KiB
Text
178 lines
7.1 KiB
Text
# Reference: <https://postmarketos.org/devicepkg>
|
|
# Maintainer: Clayton Craft <clayton@craftyguy.net>
|
|
# Co-Maintainer: Bhushan Shah <bshah@kde.org>
|
|
pkgname=device-purism-librem5
|
|
pkgdesc="Purism Librem 5 Phone"
|
|
pkgver=1.35
|
|
pkgrel=0
|
|
_confver=52
|
|
_purismrel=1
|
|
# <librem5-base ver>.<purism release>
|
|
_purismver=${_confver}pureos$_purismrel
|
|
url="https://postmarketos.org"
|
|
license="MIT"
|
|
arch="aarch64"
|
|
options="!check !archcheck"
|
|
depends="
|
|
alsa-ucm-conf
|
|
gnss-share
|
|
i2c-tools
|
|
iw
|
|
linux-purism-librem5
|
|
mesa-egl
|
|
postmarketos-base
|
|
u-boot-librem5
|
|
u-boot-tools
|
|
"
|
|
makedepends="devicepkg-dev"
|
|
builddir=$srcdir/librem5-base-pureos-$_confver
|
|
source="
|
|
https://source.puri.sm/Librem5/librem5-base/-/archive/pureos/$_purismver/librem5-base-pureos-$_purismver.tar.gz
|
|
00-mesa.sh
|
|
70-wifi-pm.rules
|
|
77-mm-broadmobi-port-types.rules
|
|
deviceinfo
|
|
flash_script.lst
|
|
modprobe.d_rsi.conf
|
|
modules-load.d_librem5.conf
|
|
pcscd-librem5-reader.conf
|
|
pcscd-librem5.initd
|
|
uboot-script.cmd
|
|
xorg.conf
|
|
70-librem5-xwayland-accel.sh
|
|
0002-udev-cameras-use-correct-path-for-modprobe-on-Alpine.patch
|
|
l5-ship-mode.initd
|
|
"
|
|
subpackages="
|
|
$pkgname-nonfree-firmware:nonfree_firmware
|
|
$pkgname-phosh
|
|
$pkgname-pulseaudio
|
|
$pkgname-smartcard
|
|
$pkgname-tinydm
|
|
$pkgname-usbguard
|
|
$pkgname-x11
|
|
"
|
|
install="$pkgname.post-install $pkgname.post-upgrade"
|
|
|
|
builddir="$srcdir/librem5-base-pureos-$_purismver"
|
|
|
|
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/
|
|
}
|
|
|
|
tinydm() {
|
|
pkgdesc="Tinydm config for the Librem 5"
|
|
install_if="$pkgname tinydm"
|
|
install -Dm755 "$srcdir"/70-librem5-xwayland-accel.sh \
|
|
"$subpkgdir"/etc/tinydm.d/env-wayland.d/70-librem5-xwayland-accel.sh
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
usbguard() {
|
|
pkgdesc="USB guard support for the Librem 5"
|
|
install_if="$pkgname usbguard"
|
|
install -Dm600 "$builddir"/default/usbguard/librem5.conf \
|
|
-t "$subpkgdir"/etc/usbguard/rules.d/
|
|
}
|
|
|
|
x11() {
|
|
install_if="$pkgname xorg-server"
|
|
install -Dm644 "$srcdir"/xorg.conf \
|
|
"$subpkgdir"/etc/X11/xorg.conf.d/10-video.conf
|
|
}
|
|
|
|
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
|
|
|
|
# udev
|
|
for f in "$builddir"/debian/*.udev; do
|
|
# rename the udev rules, dropping the default prefix and (arbitrarily...) using "85-"
|
|
install -Dm644 "$f" \
|
|
"$pkgdir"/usr/lib/udev/rules.d/85-"$(basename ${f//librem5-base-defaults./})"
|
|
done
|
|
|
|
# Wifi / PM
|
|
install -Dm644 "$srcdir"/70-wifi-pm.rules -t "$pkgdir"/usr/lib/udev/rules.d/
|
|
|
|
# install audio config files from Purism
|
|
install -Dm644 "$builddir"/default/audio/ucm2/simple-card/Librem\ 5.conf \
|
|
"$pkgdir"/usr/share/alsa/ucm2/NXP/iMX8/Librem_5/Librem\ 5.conf
|
|
install -Dm644 "$builddir"/default/audio/ucm2/simple-card/HiFi.conf \
|
|
"$pkgdir"/usr/share/alsa/ucm2/NXP/iMX8/Librem_5/HiFi.conf
|
|
mkdir -p "$pkgdir"/usr/share/alsa/ucm2/conf.d/simple-card
|
|
# relative path seems to be required or else alsa-lib can't figure it out
|
|
ln -s ../../NXP/iMX8/Librem_5/Librem\ 5.conf \
|
|
"$pkgdir"/usr/share/alsa/ucm2/conf.d/simple-card/Librem\ 5.conf
|
|
|
|
# ship mode service
|
|
install -Dm755 "$builddir"/default/shipmode/l5-poweroff-shipmode \
|
|
-t "$pkgdir"/usr/sbin/
|
|
|
|
install -D -m755 "$srcdir"/l5-ship-mode.initd \
|
|
"$pkgdir"/etc/init.d/l5-ship-mode
|
|
|
|
devicepkg_package $startdir $pkgname
|
|
}
|
|
|
|
nonfree_firmware() {
|
|
pkgdesc="Wifi and Bluetooth firmware"
|
|
depends="firmware-siliconlabs-rs9116 firmware-brcm43752"
|
|
mkdir "$subpkgdir"
|
|
}
|
|
|
|
sha512sums="
|
|
fb1bf84a36db29dcd70753e6f5b3d5b574f89efd2277676d89574400da84ca825fae548cbc3d76af1b3a8a38430fc611933ecb7c27ee78c47957313f057ce754 librem5-base-pureos-52pureos1.tar.gz
|
|
2e72d9a084ecd6c96cafbbd8fda461ae8b2ebd14ffda601d9f36d73f08f04088213de17da078293ddd958d4c76d33148c7af6e252eb0709f6934855a55578509 00-mesa.sh
|
|
8b6fa7b12c15f439c561901f3ffe24a1ef2a0c343401c0a79281060854ab29e08a1fb5e7adae8684b12aa9f535ed99e2dad993dce9724822cb0fbf2497dd86e5 70-wifi-pm.rules
|
|
00355d9ad085a77e157f3c62eb4f1bcac2823d3b341e34d1128edbfb1444fba83e8eacd263ea61da9f6d853f1328ab7fbe5ea63bd08c8a1bc9b8eaf44ae1f1c6 77-mm-broadmobi-port-types.rules
|
|
3a5ded0cc86a0c3cb0b1fd91816a0b3479ab8eb8eae09494b7db5b778fc73e449bec29d983930e0b1425826a47fd91c3f093e1aff7eb877f7993701ea5cca70c deviceinfo
|
|
ccb47fd421c5e35a8def8e6fb61dad99e42cf542690068a68f90c257e41d33f45f1069db0a8d89372d9029681812957033995639a6a8a5e3eed48019325e0f4d flash_script.lst
|
|
3f62c04eb92d850e32d5e1b17534dec753563342ea6c4f9dc2572700d4f6eeb8ae8cd8e8e4f1b0f5c61f21d87bc61c02212f27313986157220003d78e2d69505 modprobe.d_rsi.conf
|
|
a0740e405781ec6ef765fdc9f5700c95adbb241c45c97b9384ba68cdece662cb216ca5918640042f6e65a5d1b1a9099936382c99b49a44303f7b6d77a075a471 modules-load.d_librem5.conf
|
|
8ef4ec7a9e9a4fb801d207e7d94b627aacc9243a93b0ec28e0823a6f44b8102416c040e4ddf499f87bb9dfa960cf6f627b008b79f197f6814b3fd881e18ae8ef pcscd-librem5-reader.conf
|
|
2618b40eebd3602066ee75ab85cbdbb4cfee498def9879c95a304f05a6eeedf1ab28c5dd9fa5efc8f88c790f49c96458c61d5dfe8a3ca0f96bcc0e244313ab01 pcscd-librem5.initd
|
|
66960a2693a2ee9d09163e9fc7e28b3d19021bfc61d1d9643b4dc49ea69fe5e5a15144790fb647ce09db4ba6c060db0b5d4f8dd187140c9c21a8154d6dbeaa89 uboot-script.cmd
|
|
1cbc65cf2cb8fad4b0332d012a0256a266205b9b64371f5c0dae09dbb7f1e45b254e8c43993b896097e9d7035a72d547d9bce1ab2133addc56a5abdb80b44616 xorg.conf
|
|
fad386071fc45f9880a94cc8004fabd5d98b3e6a12606c98d8e72e0208f22ab54f03b921f5967a959782507e2bff67d2fa92e46d8cd242011a3afcdbda529279 70-librem5-xwayland-accel.sh
|
|
b45749fcddfd65a302b502bcabfa5828d1b63e45d844fd50e44009a756b919db20fe9526102947c0f0dfcdffe4a037e5050fe1b24fb915933ce0837f49759378 0002-udev-cameras-use-correct-path-for-modprobe-on-Alpine.patch
|
|
c723764d507ccd4b04aa5ce79b1d1ebc131873cdc37a943cb0f92b8a08a3c69eb9e0d31fcd4589fd8c40a9676bae9897e4f12ec2ebe4db8214ac85669ef35a53 l5-ship-mode.initd
|
|
"
|