pmaports/device/community/device-nokia-n900/APKBUILD
Linus Walleij eb8a6b0cd0
device-nokia-n900: Add Finnish/Swedish keymap (MR 1519)
This adds a Finnish/Swedish key map for the Nokia n900.
The same keymap is used for Finnish and Swedish.

This makes the keyboard work in the console. To fix the
XkbLayout other changes are needed to pmbootstrap.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2020-09-07 18:24:07 +02:00

194 lines
9.2 KiB
Text

# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Martijn Braam <martijn@brixit.nl>
# Co-Maintainer: Daniele Debernardi <drebrez@gmail.com>
pkgname=device-nokia-n900
pkgver=7
pkgrel=0
pkgdesc="Nokia N900"
url="https://postmarketos.org"
arch="armv7"
license="MIT"
depends="postmarketos-base linux-nokia-n900 uboot-tools kbd kbd-bkeymaps ofono mesa-dri-swrast alsa-utils"
makedepends="devicepkg-dev uboot-tools kbd kbd-bkeymaps"
install="$pkgname.post-install"
subpackages="
$pkgname-weston
$pkgname-x11
$pkgname-i3wm
$pkgname-xfce4
$pkgname-nonfree-firmware:nonfree_firmware
"
source="
deviceinfo
uboot-script.cmd
backlight-enable.sh
udev/90-touchscreen-dev.rules
udev/10-nokia-modem.rules
acpi_handler.sh
acpi.map
keymaps/rx51_us.map
keymaps/rx51_ch.map
keymaps/rx51_it.map
keymaps/rx51_fise.map
keymaps/40-xkb.conf
pointercal
asound.state.speakers
asound.state.headset
weston.ini
i3wm/scripts/battery-bq27200
i3wm/scripts/ofono
i3wm/scripts/calendar
i3wm/scripts/wifi
i3wm/conky.conf
i3wm/i3wm.conf
i3wm/i3blocks.conf
i3wm/protip_shell.sh
xorg.conf
10-noroot-suspend
10-initfs-keymap.files
10-initfs-keymap.sh
device-nokia-n900.start
"
options="!check !archcheck"
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
mkdir "$srcdir"/keymaps
loadkeys -b "$srcdir"/rx51_us.map > "$srcdir"/keymaps/rx51_us.bmap
gzip "$srcdir"/keymaps/rx51_us.bmap
loadkeys -b "$srcdir"/rx51_ch.map > "$srcdir"/keymaps/rx51_ch.bmap
gzip "$srcdir"/keymaps/rx51_ch.bmap
loadkeys -b "$srcdir"/rx51_it.map > "$srcdir"/keymaps/rx51_it.bmap
gzip "$srcdir"/keymaps/rx51_it.bmap
# Finnish and Swedish use the same mapping
loadkeys -b "$srcdir"/rx51_fise.map > "$srcdir"/keymaps/rx51_fi.bmap
gzip "$srcdir"/keymaps/rx51_fi.bmap
loadkeys -b "$srcdir"/rx51_fise.map > "$srcdir"/keymaps/rx51_se.bmap
gzip "$srcdir"/keymaps/rx51_se.bmap
return 0
}
package() {
devicepkg_package $startdir $pkgname
install -D -m644 "$srcdir"/boot.scr \
"$pkgdir"/boot/boot.scr
install -D -m644 "$srcdir"/backlight-enable.sh \
"$pkgdir"/etc/postmarketos-mkinitfs/hooks/00-$pkgname-backlight.sh
install -D -m644 "$srcdir"/pointercal \
"$pkgdir"/etc/pointercal
install -D -m644 "$srcdir"/asound.state.speakers \
"$pkgdir"/var/lib/alsa/asound.state.speakers
install -D -m644 "$srcdir"/asound.state.headset \
"$pkgdir"/var/lib/alsa/asound.state.headset
install -Dm644 "$srcdir"/10-initfs-keymap.files \
"$pkgdir"/etc/postmarketos-mkinitfs/files/10-initfs-keymap.files
install -Dm644 "$srcdir"/10-initfs-keymap.sh \
"$pkgdir"/etc/postmarketos-mkinitfs/hooks/10-initfs-keymap.sh
install -Dm755 "$srcdir"/$pkgname.start \
"$pkgdir"/etc/local.d/$pkgname.start
# Udev rules
install -D -m644 "$srcdir"/90-touchscreen-dev.rules \
"$pkgdir"/etc/udev/rules.d/90-touchscreen-dev.rules
install -D -m644 "$srcdir"/10-nokia-modem.rules \
"$pkgdir"/etc/udev/rules.d/10-nokia-modem.rules
# ACPI
mkdir "$pkgdir"/etc/acpi
install -D -m755 "$srcdir"/acpi_handler.sh \
"$pkgdir"/etc/acpi/handler.sh
install -D -m644 "$srcdir"/acpi.map \
"$pkgdir"/etc/acpi.map
# Keymap
install -D -m644 "$srcdir"/keymaps/rx51_us.bmap.gz \
"$pkgdir"/usr/share/bkeymaps/us/rx51_us.bmap.gz
install -D -m644 "$srcdir"/keymaps/rx51_ch.bmap.gz \
"$pkgdir"/usr/share/bkeymaps/ch/rx51_ch.bmap.gz
install -D -m644 "$srcdir"/keymaps/rx51_it.bmap.gz \
"$pkgdir"/usr/share/bkeymaps/it/rx51_it.bmap.gz
install -D -m644 "$srcdir"/keymaps/rx51_fi.bmap.gz \
"$pkgdir"/usr/share/bkeymaps/fi/rx51_fi.bmap.gz
install -D -m644 "$srcdir"/keymaps/rx51_se.bmap.gz \
"$pkgdir"/usr/share/bkeymaps/se/rx51_se.bmap.gz
}
weston() {
install_if="$pkgname weston"
install -Dm644 "$srcdir"/weston.ini \
"$subpkgdir"/etc/xdg/weston/weston.ini
}
x11() {
install_if="$pkgname xorg-server"
install -D -m644 "$srcdir"/40-xkb.conf \
"$subpkgdir"/etc/X11/xorg.conf.d/40-xkb.conf
install -D -m644 "$srcdir"/xorg.conf \
"$subpkgdir"/etc/X11/xorg.conf.d/11-n900.conf
}
i3wm() {
install_if="$pkgname postmarketos-ui-i3wm"
depends="unclutter-xfixes conky feh postmarketos-artwork-wallpapers pm-utils i3blocks"
install -D -m644 "$srcdir"/i3wm.conf \
"$subpkgdir"/etc/skel/.config/i3/config
install -D -m644 "$srcdir"/i3blocks.conf \
"$subpkgdir"/etc/skel/.config/i3blocks/config
install -D -m755 "$srcdir"/battery-bq27200 \
"$subpkgdir"/etc/skel/.config/i3blocks/battery-bq27200
install -D -m755 "$srcdir"/ofono \
"$subpkgdir"/etc/skel/.config/i3blocks/ofono
install -D -m755 "$srcdir"/calendar \
"$subpkgdir"/etc/skel/.config/i3blocks/calendar
install -D -m755 "$srcdir"/wifi \
"$subpkgdir"/etc/skel/.config/i3blocks/wifi
install -D -m755 "$srcdir"/protip_shell.sh \
"$subpkgdir"/etc/skel/.protip_shell.sh
install -D -m644 "$srcdir"/conky.conf \
"$subpkgdir"/etc/skel/.config/conky/conky.conf
install -D -m440 "$srcdir"/10-noroot-suspend \
"$subpkgdir"/etc/sudoers.d/10-noroot-suspend
}
xfce4() {
install_if="$pkgname postmarketos-ui-xfce4"
install="$subpkgname.post-install"
mkdir "$subpkgdir"
}
nonfree_firmware() {
pkgdesc="Wifi firmware"
depends="linux-firmware-ti-connectivity"
mkdir "$subpkgdir"
}
sha512sums="be33e64dd429329adb877a7081e75903d6db77019bd4ec63075a7f9b6e1e50ebc59562062656299ca9c703d5b7452b8bf0a849ba3aa173274ba9da18fe88fb72 deviceinfo
01520977509df36248d0e44b3b2c18db0cefeb65e9ed5df96508eb0ed08304458a58ecd2bd21117771fe71e765b5f811c583909cad9a2c210de687a161e7234b uboot-script.cmd
3d55e34b95791636e44a5f41754f3d0de039dbba41f7a556d43a95c9e64afcfa930046b4b96b40020b6f196096ffba93514682927e32fa4488686fdd19c6da5a backlight-enable.sh
c6012aef28b096141b924fced226ec99fb93eb53b69c064a8887d8fecdf8dc08a3ba3db399e18d88374c6ef4c59013a30699c7e4d76e5cb771040582573a0527 90-touchscreen-dev.rules
9e72035c88632d12895534e5aa5746f2c130c7dcdafa8702748d62b71ed0e1b5911b6e1f07f9b9e39b6072bbb662f66aead585baa1dcacb7d8c8953ca89b6762 10-nokia-modem.rules
cd5ff582e935c4d28ba359944b197b5486645451790f59e96d9faa4136bf9010c425bfd3c8e46d4b490b4f36fd3336c1d49dd18bc0e2c5738b81520f356adf20 acpi_handler.sh
b3612348af1465c6dc21ce30153fc7e2cce3ae7f9bf9ff34d5a560e173e174275c1701dd7c45337fa56caaadb252b9494bddf997a698d665d3a8c01cde6955c7 acpi.map
e440ed7a3070c17e003b86b72dbe6d8194d01b577ca8dd56dd066f216b6dda32bb965c780950f1789a66f7c948290016b048da9f1cf63aba9e11d7e7fd6873ba rx51_us.map
dc585e11bf4e06e36c5c62bcc024eaacecc30437d9da5257df14be05e247a2f2bc208874be3058edc6f87cc2877da2ecafd2f627d9b465d4fd24475fc21fdc71 rx51_ch.map
082a5166e38296b097e873b0b4aeaf007e594d3bf4470c74e91ee3efedcf28ad25cd55c23dd63e460339898ae08e77e111b0e1092fa5e661db90bb40732103a1 rx51_it.map
0a3e58a3a81c463937caf508a76461b4cc43f593f0817a52b6581fdd132cc894c0960fe7b950b6e6bfac1fad15cd9dd230c103fcf08a30b44ef7d8fbe31cea28 rx51_fise.map
181187db6d88b872233f594759373f32fd08065ee340b60f0c3ff06396d99f4b1250192d70a054fcc9e51e067f6cc063c62b7d8dfff3427b292f1d0c766db206 40-xkb.conf
143c21f0b18a016d37cb44178e9daea09f128a90769b48353c03c3f245cb9b1f7e773b9ccee084973fc78ddd7a18c2642e54888a85bda7c7daecddc9a8c62eff pointercal
67acc17a33bc75113300393b4a5bba15319014032407e774d079abf310368e75f4f697dbb4856ba2d2d8ea184b056bb33561f42918de3ee91ab6a77df89a133c asound.state.speakers
5b87071834313a389f83d29f86f6e3ea108d0921f17dc918be7a46de7e74c73a4418044ef600a0fbf72c8fad22b7730dcd5bfe3d6d01d76bf01556f8540f0b32 asound.state.headset
7f48d1a044f8c02f7b1d11487ec1f83978d9b0ea12529156e7418f82be556d9baee32b70c4d911174e388bb4941dc19519e93e7551d00ffcd825c848665ff096 weston.ini
2ae4771eda9b151de3b47dc4e3081eb86b92fc04c4be4b4fbb98c28016762d24008e935bbba8f95ea0732019f615ee43f5d93dacb21bdc3471e505a07a684e26 battery-bq27200
82038d38f94cb975a8d38914afca49b64957446bef7490ab684efa1df47ede2ea1c769045789bb9fded673345eea01911fbbf85fdb54c28685cad8022bfaafac ofono
d9ef88c714e9fce8822f63b7a9d7fc3e1ed472c8c876b44ba524d44efea322839f13ddd2fa652420608427ecf7279bfaac302c9b67667f32796ca21da332164d calendar
9791ea5f3f0d1ad4f74e2bc18af2ceccb4b8df6262f1566c67f1fd292928bfc75504d0deed32d24495a0d58ca52a52a97ae5ecd2efc34688631af04b131867ad wifi
16c31bf28b9dcc256821b153de199bd27decc76e4bde63130c1d1556a63cf2cafb64c4d4df42e00690564fce801c5216e8e97e4262a546440fd4bc2e14eaae1c conky.conf
7e8a92b828a3cb823b8df0c67ff3cb72d220f2fdc4557a613ad051baaf7e6e3d0865cdfb5eadff7f4b04302ac650bc485863e26f4d54485d5a1c2389ac0793e3 i3wm.conf
826a3790b49324c1e61c75b6c0ffc043a2a1d7c13a8c554fb5eae4977af47a1ca93d70ef8c783d712b953b70e18ae58fa4c6a49bf97263398a01a0c4f91ebc8f i3blocks.conf
0b80af9fd1f36e6bc06bdfdf48352897234ac7457210649016665da8570a5a64b8a0841b4fbeb64fd7054a5246a64718cf4412f8a53024ce39b28a80984972d8 protip_shell.sh
a91f98daa60efa2beb2ff6b405097f92edca5f1bbb9e7675499139be52ca2570712f8f06f9032ef29f636f99c8f8da8b992f746eab6424aac04260c16158bcc2 xorg.conf
38ecdf876b5aa9df2e5ea61c7ebb6f9ca871bdf433029808d028d563dfd740232b3dc21dba098a7622453212af1272e2e782be861b4a96a49fd475a618442d45 10-noroot-suspend
6b475c12eca8563be48c562a1cb4ad8ca6a05d70fc54b21288b2dd7435a80a6f53351aa870db96d5bbecf1b1c5cb00dfe35f5066e6d3fd0ad0369e66aeef5a21 10-initfs-keymap.files
4656d3b3ced0a86e2d6315c89322899f646a689e9cb64609aa8ad5a676b23d93706d8a37f3be6f6b12c6b1e8501b7d26ecafecf27322333850513a6805c61910 10-initfs-keymap.sh
e6bbac8de1a198ba716f44ade76606e1e0adcc574156b855ac41be5eb5308389d3277fd89cc34b119fbc33d9801ab9f79a6ff213392596bff40bc17e931c05ef device-nokia-n900.start"