Skip to content
Snippets Groups Projects
Verified Commit 79d66bd5 authored by Luca Weiss's avatar Luca Weiss Committed by Newbyte
Browse files

main/postmarketos-ui-lomiri: new aport (MR 4496)


Co-developed-by: default avatarAster Boese <asterboese@mailbox.org>

[ci:skip-build]: already built successfully in CI
parent da678d4c
Branches
No related tags found
1 merge request!4496Add Lomiri UI package
Pipeline #214227 passed
Showing
with 333 additions and 0 deletions
[org.gnome.desktop.background]
picture-uri='file:///usr/share/wallpapers/postmarketos/contents/images/1660x1660.png'
[org.gnome.desktop.interface]
cursor-theme='Yaru'
gtk-theme='Yaru'
icon-theme='Yaru'
[org.gnome.desktop.wm.preferences]
button-layout=''
[org.ayatana.indicator.session]
suppress-logout-menuitem=true
show-desktop-help=false
show-bug-report=false
user-show-menu=false
show-device-info=false
show-distro-help=false
[com.lomiri.Shell.Launcher]
logo-picture-uri='file:///usr/share/lomiri/Launcher/graphics/postmarketos-logo-monochrome.svg'
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=postmarketos-ui-lomiri
pkgver=1
pkgrel=0
pkgdesc="(Wayland) The convergent desktop environment (Experimental)"
url="https://lomiri.com/"
arch="noarch !armhf !riscv64"
license="GPL-3.0-or-later"
depends="
bluez
hfd-service
lomiri
lomiri-indicator-location
lomiri-location-service
lomiri-notifications
lomiri-system-settings
networkmanager
pipewire
polkit
postmarketos-base-ui
postmarketos-base-ui-networkmanager
postmarketos-base-ui-qt-tweaks
postmarketos-base-ui-qt-wayland
postmarketos-base-ui-tinydm
postmarketos-base-ui-wifi
repowerd
sensorfw
superd
tinydm
wireplumber
xwayland
"
_pmb_recommends="
ayatana-indicator-messages
ayatana-indicator-sound
deviceinfo-converter
font-droid-nonlatin
font-noto
font-noto-extra
font-noto-emoji
lomiri-calculator-app
lomiri-docviewer-app
lomiri-filemanager-app
lomiri-sounds
lomiri-weather-app
maliit-keyboard
pipewire-alsa
pipewire-pulse
postmarketos-artwork-wallpapers
ttyescape
xdg-user-dirs
yaru-icon-theme
yaru-theme
"
subpackages="
$pkgname-openrc
"
source="
000-gschema.override
logo.svg
lomiri.desktop
set-xdg-env.sh
start_lomiri.sh
superd/ayatana-indicator-bluetooth.service
superd/ayatana-indicator-datetime.service
superd/ayatana-indicator-messages.service
superd/ayatana-indicator-power.service
superd/ayatana-indicator-session.service
superd/ayatana-indicator-sound.service
superd/lomiri-indicator-location.service
superd/lomiri-indicator-network.service
"
options="!check"
package() {
install -Dm644 "$srcdir"/000-gschema.override \
"$pkgdir"/usr/share/glib-2.0/schemas/000-postmarketos.gschema.override
install -Dm644 "$srcdir"/lomiri.desktop \
"$pkgdir"/usr/share/wayland-sessions/lomiri.desktop
install -Dm755 "$srcdir"/start_lomiri.sh \
"$pkgdir"/usr/bin/start_lomiri
install -Dm755 "$srcdir"/set-xdg-env.sh \
"$pkgdir"/etc/profile.d/set-xdg-env.sh
# Disable setup wizard
mkdir -p "$pkgdir"/etc/skel/.config/lomiri
touch "$pkgdir"/etc/skel/.config/lomiri/wizard-has-run
# Replace the launcher logo
mkdir -p "$pkgdir"/usr/share/lomiri/Launcher/graphics/
# TODO: Replace with logo_monochrome.svg from postmarketos-artwork
install -Dm644 "$srcdir"/logo.svg \
"$pkgdir"/usr/share/lomiri/Launcher/graphics/
}
openrc() {
install_if="$pkgname openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="
postmarketos-base-ui-bluez-openrc
polkit-elogind
postmarketos-base-ui-elogind
"
# superd is only needed on OpenRC
mkdir -p "$subpkgdir"/etc/superd/services/
for file in "$srcdir"/*.service; do
filename=$(basename $file)
# Install service
install -Dm644 "$file" \
"$subpkgdir"/usr/share/superd/services/"$filename"
# Enable by default
ln -s /usr/share/superd/services/"$filename" \
"$subpkgdir"/etc/superd/services/"$filename"
done
}
sha512sums="
2d709d90ca0d4b6b35893ad10e7da8c2b61987c27b66de092e5f937fcb9012d75f87e8d199d2ae98865a7d3c7628cea79ebbbaa2dce7a9034e0de619ec588163 000-gschema.override
f3760c336d56073cceffa807f37a353125110b9976b1f420c2cefb741fa840ec44435fd03ef72d5a0fb018bac4d1d53d579aefc62df514a29d0e05465331e462 logo.svg
26d677d1b4e1e4d358e947bce880746b6bad6f7c4700f7e675acf126c5125004d4d6b1508810fa39526fa3a0a2e5547c64cd6d41f1dfeec09a6a549dcbdb97c8 lomiri.desktop
2272a77324d1b04aac5f9ab47f083e5200290ec4281617f553725083f010cb359bbdd3376894cc3b8d30e428355eeedea88f22af98a59986af1b64fb97f4de27 set-xdg-env.sh
a2871258ea90ac03193b734839b3b1e2d92690083853687856466268d868075ef9cae765909de01649cdb99e2ae62ab4f9b11ac3af209ef0e9e7251a48bd0ebb start_lomiri.sh
d1daa16ca8a8e23db5d3cf26de555393e9104904bbe7bafd3c147cc6a0b6ff7b77ae8799b4ad46389d4457d1e331be5d5867821673af0a6063a032345a7cb70e ayatana-indicator-bluetooth.service
bfb29d9940b7f23801dae31ead72d0f5c2a149d89d2e562d6303a865461f81e028c634461fdf6288cf2685c7a374c4a284b1bd991566be370f5f03c0ad550178 ayatana-indicator-datetime.service
6ad5a28e27509296054dfd356a8a3fe54dd836b297c6a3a5fb1d43ab43350e549bc0f3367ba186ea69aa244bb9db80f8189a8257cff2b5bbfa809e82d7125d9e ayatana-indicator-messages.service
2b793f473d7e670951e0fda21b6ac3dd3b62a33e8195f3583c2c1c264f872fbe9edd52b37dfd675a0ab61028c5a247702b17f0e2a06153dc0ee24a6910117a94 ayatana-indicator-power.service
4ab675d03d698c0414b38e7d0a1119d8096f8f22371daa997788893f5a36183b89bf03ce28c63253bf97f4a79c628eb2f1c21cf4823fda00e6f9d008e3e89ad3 ayatana-indicator-session.service
24dc86bc4884739844906b28071ca4d7a153e8c34fbc1105110733a18680115bc84de419c982ad9b38e04b7412c6d7bab997380f185cb6cb1f4544fe8adaee19 ayatana-indicator-sound.service
5ebf604a3966bf61ee9dbc88edf9ea45491b0a4991a0d0f333c1bcb53ebac13f16a34f7328458603ee7a7986034c81f368f23cfd6794ed6e1a15b186af142964 lomiri-indicator-location.service
7b58606410ba852dde9cb94ec5592a2089d8bf4b68bfafc752d84672b2ec2bf884bd8de2ae68c235e5c9d01f6b5dcf719521af37348fd6eca138fcd6713c5dbc lomiri-indicator-network.service
"
<?xml version="1.0" encoding="UTF-8"?>
<svg width="320" height="320" version="1.1" viewBox="0 0 320 320" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(-3.1902 0 0 -3.1902 319.51 292.12)" fill="#fff">
<polygon points="29.8 17 29.7 17.5 25.9 27.8 15 26 0 0 65 0 58 8.5 65 17"/>
<g transform="rotate(120 50 28.868)">
<polygon points="29.8 17 29.7 17.5 25.9 27.8 15 26 0 0 65 0 58 8.5 65 17" fill="#fff"/>
</g>
<g transform="rotate(240 50 28.868)">
<polygon points="29.8 17 29.7 17.5 25.9 27.8 15 26 0 0 65 0 58 8.5 65 17" fill="#fff"/>
</g>
</g>
</svg>
[Desktop Entry]
Exec=/usr/bin/dbus-run-session /usr/bin/start_lomiri
Name=Lomiri
#!/bin/sh
rc-update add bluetooth default
rc-update add elogind default
rc-update add hfd-service default
rc-update add hkdm default
rc-update add networkmanager default
rc-update add polkit default
rc-update add repowerd default
rc-update add sensorfw default
rc-update add sleep-inhibitor default
rc-update add tinydm default
tinydm-set-session -s /usr/share/wayland-sessions/lomiri.desktop
postmarketos-ui-lomiri-openrc.post-install
\ No newline at end of file
#!/bin/sh
# Lomiri doesn't set XDG variables automatically, so we do it here.
export XDG_CONFIG_HOME="${HOME}/.config"
export XDG_CACHE_HOME="${HOME}/.cache"
export XDG_DATA_HOME="${HOME}/.local/share"
export XDG_STATE_HOME="${HOME}/.local/state"
export XDG_DATA_DIRS="${HOME}/.local/share/:${HOME}/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/"
XDG_RUNTIME_DIR="/run/user/$(id -u)"
export XDG_RUNTIME_DIR
#!/bin/sh
# shellcheck disable=SC1091,SC2154
export MIR_SERVER_CURSOR=null
# Set maliit-keyboard as the input module
export QT_IM_MODULE=maliit
export MALIIT_FORCE_DBUS_CONNECTION=1
# Declare the Lomiri UI Toolkit icon theme
export UITK_ICON_THEME=suru
# logind only sets DISPLAY so we need to set this
export WAYLAND_DISPLAY=wayland-0
# Use logind for session management
export LOMIRI_AS_SYSTEMD_UNIT=1
# Applications require unthrottled touch input
export QML_NO_TOUCH_COMPRESSION=1
# Enable Xwayland
export MIR_SERVER_ENABLE_X11=1
export MIR_SERVER_XWAYLAND_PATH=/usr/bin/Xwayland
# Setup base HOME directories
xdg-user-dirs-update
# Debug environment variables
#export G_MESSAGES_DEBUG=all
#export env QT_LOGGING_RULES='qt.qpa.miral.*=true'
#export env QT_LOGGING_RULES='qt.qpa.miroil.*=true'
#export env QT_LOGGING_RULES='qtmir.*=true'
# Pass required env variables to dbus
dbus-update-activation-environment MALIIT_FORCE_DBUS_CONNECTION=1
dbus-update-activation-environment WAYLAND_DISPLAY
# Device-specific adjustments
. /usr/share/misc/source_deviceinfo
if [ "$deviceinfo_codename" = "qemu-amd64" ]; then
export MIR_MESA_KMS_DISABLE_MODESET_PROBE=1
elif [ "$deviceinfo_codename" = "pine64-pinephone" ]; then
export MIR_MESA_KMS_USE_DRM_DEVICE=card1
export QT_SCALE_FACTOR=2 # TODO: Automatically set this based upon device scaling factor instead of adding it in a per-device adjustment
fi
superd &
# Start Pipewire
/usr/libexec/pipewire-launcher &
lomiri
[Unit]
Description=Ayatana Indicator Bluetooth Service
PartOf=graphical-session.target
PartOf=ayatana-indicators.target lomiri-indicators.target
[Service]
ExecStart=/usr/libexec/ayatana-indicator-bluetooth/ayatana-indicator-bluetooth-service
Restart=on-failure
[Install]
WantedBy=ayatana-indicators.target lomiri-indicators.target
[Unit]
Description=Ayatana Indicator DateTime Service
PartOf=graphical-session.target
PartOf=ayatana-indicators.target lomiri-indicators.target
[Service]
ExecStart=/usr/libexec/ayatana-indicator-datetime/ayatana-indicator-datetime-service
Restart=on-failure
[Install]
WantedBy=ayatana-indicators.target lomiri-indicators.target
[Unit]
Description=Ayatana Indicator Messages Service
PartOf=graphical-session.target
PartOf=ayatana-indicators.target lomiri-indicators.target
[Service]
ExecStart=/usr/libexec/ayatana-indicator-messages/ayatana-indicator-messages-service
Restart=on-failure
[Install]
WantedBy=ayatana-indicators.target lomiri-indicators.target
[Unit]
Description=Ayatana Indicator Power
PartOf=graphical-session.target
PartOf=ayatana-indicators.target lomiri-indicators.target
[Service]
ExecStart=/usr/libexec/ayatana-indicator-power/ayatana-indicator-power-service
Restart=on-failure
[Install]
WantedBy=ayatana-indicators.target lomiri-indicators.target
[Unit]
Description=Ayatana Indicator Session Service
PartOf=graphical-session.target
PartOf=ayatana-indicators.target lomiri-indicators.target
[Service]
ExecStart=/usr/libexec/ayatana-indicator-session/ayatana-indicator-session-service
Restart=on-failure
[Install]
WantedBy=ayatana-indicators.target lomiri-indicators.target
[Unit]
Description=Ayatana Indicator Sound Service
PartOf=graphical-session.target
PartOf=ayatana-indicators.target lomiri-indicators.target
[Service]
ExecStart=/usr/libexec/ayatana-indicator-sound/ayatana-indicator-sound-service
Restart=on-failure
[Install]
WantedBy=ayatana-indicators.target lomiri-indicators.target
[Unit]
Description=Lomiri Indicator Location Backend
PartOf=graphical-session.target
PartOf=lomiri-indicators.target
[Service]
ExecStart=/usr/libexec/indicator-location/indicator-location-service
Restart=on-failure
[Install]
WantedBy=lomiri-indicators.target
[Unit]
Description=Indicator Network Backend
PartOf=graphical-session.target
PartOf=ayatana-indicators.target
Wants=lomiri-indicator-network-secret-agent.service
[Service]
BusName=com.lomiri.connectivity1
ExecStart=/usr/libexec/lomiri-indicator-network/lomiri-indicator-network-service
Restart=on-failure
[Install]
Alias=dbus-com.lomiri.connectivity1.service
WantedBy=lomiri-indicators.target
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment