ccf639f856
Headset jack events emit 2 events: 'Headset Microphone Jack' and 'Headphone Jack'. These were properly detected before, but not headphone jack events only: 'Headphone Jack'. This change allows to detect headphone jack events as well and act on these events by setting the headphones as default audio output while keeping the internal microphone as audio input. For headsets, the microphone is switched to the headset microphone as well.
205 lines
8.1 KiB
Text
205 lines
8.1 KiB
Text
# Reference: <https://postmarketos.org/devicepkg>
|
|
# Maintainer: Martijn Braam <martijn@brixit.nl>
|
|
# Co-Maintainer: Luca Weiss <luca@z3ntu.xyz>
|
|
# Co-Maintainer: Bart Ribbers <bribbers@disroot.org>
|
|
# Co-Maintainer: Clayton Craft <clayton@craftyguy.net>
|
|
pkgname=device-pine64-pinephone
|
|
pkgver=0.28
|
|
pkgrel=2
|
|
pkgdesc="PINE64 PinePhone"
|
|
url="https://postmarketos.org"
|
|
license="MIT"
|
|
arch="aarch64"
|
|
options="!check !archcheck"
|
|
subpackages="
|
|
$pkgname-nonfree-firmware:nonfree_firmware
|
|
$pkgname-phosh
|
|
$pkgname-shelli
|
|
$pkgname-plasma-mobile:plasma_mobile
|
|
$pkgname-upower
|
|
"
|
|
depends="
|
|
alsa-ucm-conf
|
|
atinout
|
|
eg25-manager
|
|
eg25-manager-openrc
|
|
gpsd
|
|
iw
|
|
linux-postmarketos-allwinner
|
|
mesa-dri-gallium
|
|
mesa-egl
|
|
postmarketos-base
|
|
u-boot-pinephone>=2021.01_git20201228-r2
|
|
u-boot-tools
|
|
"
|
|
makedepends="devicepkg-dev"
|
|
install="$pkgname.post-install $pkgname.post-upgrade"
|
|
source="
|
|
00_alsa_pinephone_dshare.conf
|
|
10-pinephone-proximity.rules
|
|
60-flashlight.rules
|
|
70-wifi-pm.rules
|
|
90-modem-eg25.rules
|
|
deviceinfo
|
|
gpsd_device-hook.sh
|
|
gpsd_pinephone.initd
|
|
gsk-renderer-gl.sh
|
|
hwtest.ini
|
|
kirigami-lowpower.sh
|
|
modemmanager.conf
|
|
setup-modem.sh
|
|
eg25-pinephone-1.0.toml
|
|
eg25-pinephone-1.1.toml
|
|
eg25-pinephone-1.2.toml
|
|
sysrq.conf
|
|
uboot-script.cmd
|
|
ucm/HiFi.conf
|
|
ucm/PinePhone.conf
|
|
ucm/VoiceCall.conf
|
|
UPower.conf
|
|
pulse-pinephone.conf
|
|
"
|
|
# 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
|
|
}
|
|
|
|
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
|
|
|
|
# Fix "sysrq: HELP..." messages in dmesg while playing audio
|
|
# (Headphone output interferes with the serial console on the headphone
|
|
# jack)
|
|
install -Dm644 "$srcdir"/sysrq.conf \
|
|
"$pkgdir"/etc/sysctl.d/sysrq.conf
|
|
|
|
# Alsa usecase manager config
|
|
install -Dm644 "$srcdir"/PinePhone.conf \
|
|
"$pkgdir"/usr/share/alsa/ucm2/PinePhone/PinePhone.conf
|
|
install -Dm644 "$srcdir"/HiFi.conf \
|
|
"$pkgdir"/usr/share/alsa/ucm2/PinePhone/HiFi.conf
|
|
install -Dm644 "$srcdir"/VoiceCall.conf \
|
|
"$pkgdir"/usr/share/alsa/ucm2/PinePhone/VoiceCall.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
|
|
install -Dm644 "$srcdir"/eg25-pinephone-1.0.toml \
|
|
"$pkgdir"/etc/eg25-manager/pine64,pinephone-1.0.toml
|
|
install -Dm644 "$srcdir"/eg25-pinephone-1.1.toml \
|
|
"$pkgdir"/etc/eg25-manager/pine64,pinephone-1.1.toml
|
|
install -Dm644 "$srcdir"/eg25-pinephone-1.2.toml \
|
|
"$pkgdir"/etc/eg25-manager/pine64,pinephone-1.2.toml
|
|
|
|
# Wifi / PM
|
|
install -Dm644 "$srcdir"/70-wifi-pm.rules -t \
|
|
"$pkgdir"/usr/lib/udev/rules.d/
|
|
|
|
# Prevent artifacts in GTK4 apps (pmaports#1069)
|
|
install -Dm755 "$srcdir"/gsk-renderer-gl.sh -t \
|
|
"$pkgdir"/etc/profile.d/
|
|
}
|
|
|
|
nonfree_firmware() {
|
|
pkgdesc="Wifi, Bluetooth and Autofocus firmware"
|
|
depends="
|
|
linux-firmware-rtlwifi
|
|
linux-firmware-rtl_bt
|
|
firmware-pine64-rtl8723bt
|
|
firmware-pine64-ov5640
|
|
"
|
|
mkdir "$subpkgdir"
|
|
}
|
|
|
|
phosh() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-phosh"
|
|
depends="wys-pinephone"
|
|
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
|
|
}
|
|
|
|
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
|
|
}
|
|
sha512sums="
|
|
5736444fd38ab4351d148ae96c479085f469bd1e51a692fb1827f8ac921a584389f7696985e1fba21c2deac88709910531f4ece282f45ff54e590c2b54b84ba3 00_alsa_pinephone_dshare.conf
|
|
b53cc6f2531854cc9c1e4c334185a20551d64c8675ee8a8eaa03b99d80808fad421a0f6e99e5be212a974d88c85f461a71ba59ac59c29f298c82f211e3be1ef4 10-pinephone-proximity.rules
|
|
9170da7ac869254644f2fc8d914102f2c16e917dbeb53e33b96c76936711d0540f55fa5c2526d73d5fe244500bc2728bc9d629e2524cf52c573d11e833aee666 60-flashlight.rules
|
|
8b6fa7b12c15f439c561901f3ffe24a1ef2a0c343401c0a79281060854ab29e08a1fb5e7adae8684b12aa9f535ed99e2dad993dce9724822cb0fbf2497dd86e5 70-wifi-pm.rules
|
|
7dc2b7c20b4a2b15f597a6417bd01797643dad84a3683b0dee648e030fb6326e9d020307643fdcdf1bb43fc44af9975697e417003bd359610bae2d8ce614fc00 90-modem-eg25.rules
|
|
018deaf7c42753257bb7abbd4e7977bcb74ad8ef6a9ff1fbae12240ccad262c6982454553f5e0073d98a561d5eb1f2150bf24be36cfbe78ad822886b3972cf5a deviceinfo
|
|
ccbc83b84b5028bc2c8e526759004ce71b50b2675ecffee98f5676c70a3332197a231ff9d2fd46444dd3c0a637ec08ce6125b18240fe6bfc13f624a15192e648 gpsd_device-hook.sh
|
|
1017fc3f325227da58c77abdc59e9735288d91a7ccc63ec784fe0241c523786b617a11ce8045dab2a74ca12a7dd70aaa334af91836418db1e96a3266fecaa4fd gpsd_pinephone.initd
|
|
9244687bfea20c78120f7c48388d141eff3e23a421e48504eac1479ec7f51197d9ca72468c9cc33c6e3d3fa32ee3514711545816e607d49870226e4a41a60a85 gsk-renderer-gl.sh
|
|
3dd6d612c381cb0002049d1974d8fb5aa5a53a1eb4d6bcbf62eb2ad52cfdc45f0f6ad24a699716d3513b0371aa1316f25dc72afc10d7176cc3b99d0965c3f030 hwtest.ini
|
|
6bc22b369b2d9058b702ac7a7862abaefaf8179b43491868bdb008d181b59104f1ded89db1da51a810e1ccdc803a579b924a438674283a65afc3a9c4d2894caf kirigami-lowpower.sh
|
|
3d6e9030125afc1dc3b654d1ce5d124ddd3ef3ad1a4d3e46c8168cf3f8a3762ffd0c75427759740ae26bd5c4f32b6704b7cf7e5806434884560fa704b7e72921 modemmanager.conf
|
|
fa063e2863afc48e627acc1a5b213a81499ba1dd30325f74f118a44e3964aec7e597b1f4bd318b7cf5bf14f27daf88e6ad9fc277ab106cbbe1189fdcc650d5c1 setup-modem.sh
|
|
f9386dfd902028988c9659bd6e001ba46ea87b35f5dce7723dd4cfbe971928c75f6fef9d706201d62cc24cca2d499a39c8c0fed58a3403e2cb848eb1aece0e19 eg25-pinephone-1.0.toml
|
|
cf7d4a611701745762f19746e40d87b6df14a6b24f2d466c4177b7ab5ee87a048bab719a6c66722198020e1aa73d3e12d3715b5588bc33bf207f3e86040dcc44 eg25-pinephone-1.1.toml
|
|
8adeca98002ff8ee850512f72f2e126348cfa817a1aefdd77d103aee76a6b2e6a024deffcbeef1235ee2fcc766003f55b67cedb3eb06ca92a58d5b81f2bf6848 eg25-pinephone-1.2.toml
|
|
f4b5509fd6a8b23f3667f5e7262b3a19c607a37cb9eaf7d0e93eb826d45c26ec12df4810879bacb8e4042bb83cc80b2b436224c8d47b6d67361369a724bbf7ee sysrq.conf
|
|
9d4bcc02c6c501b3a205516c8f276ef4293d88edea61ac725887ec28f9f6788320e9f9edd7f1cf29bbf6122acfad2ef5b3ad5e4b33763fe867bd23d2ac17ed5c uboot-script.cmd
|
|
f963898fa2ce66bc830e56feeec6ffc9888834e14cc1591d72908ef45ad82532bc3ef5fb32413e07b6722749c9d03e7cf92f06f1fcb859c38b9297cf58e5cedd HiFi.conf
|
|
e852b48a687f9b2a0eca444aa3d00a1818aead9f5e5d28e070b51c9d6f8ec648e66f1d88e2bfa94d74533f9ffb9aacc1703da2a06693f85fa04ff97fd7528012 PinePhone.conf
|
|
e093f71c37370927468de35a987150a3db3e1cc1c76c144bf58918a09c688c3da84303b5533241e691a6aa0758589e2a6498b1097974117782e909f0bbc6bf71 VoiceCall.conf
|
|
ed0e03f7e1c0348c06be9a7922414469245604ce813bbf0c8910ef211cb993bbb0d0d4615c9c961d50712415f85d6b73e0cf02780ac784666aac56e4889341e4 UPower.conf
|
|
9c472065b19141dd4c7555869b955de2e679b36e597f9fa3bdac18d0e9460986b0e2fffe1e04751301305f1b6474c1375803afb7d6212eeae91b4905d0bf8ff8 pulse-pinephone.conf
|
|
"
|