1- #! /bin/sh
1+ #! /bin/bash
22
33set -eu
44
@@ -21,7 +21,7 @@ usage() {
2121 OPTIONS
2222 -a <arch> Set architecture (or platform) in the image
2323 -b <variant> One of base, enlightenment, xfce, mate, cinnamon, gnome, kde,
24- lxde, or lxqt (default: base). May be specified multiple times
24+ lxde, lxqt, or xfce-wayland (default: base). May be specified multiple times
2525 to build multiple variants
2626 -d <date> Override the datestamp on the generated image (YYYYMMDD format)
2727 -t <arch-date-variant>
@@ -100,25 +100,30 @@ build_variant() {
100100 x86_64* |i686* )
101101 GRUB_PKGS=" grub-i386-efi grub-x86_64-efi"
102102 GFX_PKGS=" xorg-video-drivers"
103+ GFX_WL_PKGS=" mesa-dri"
103104 WANT_INSTALLER=yes
104105 TARGET_ARCH=" $ARCH "
105106 ;;
106107 aarch64* )
107108 GRUB_PKGS=" grub-arm64-efi"
108109 GFX_PKGS=" xorg-video-drivers"
110+ GFX_WL_PKGS=" mesa-dri"
109111 TARGET_ARCH=" $ARCH "
110112 ;;
111113 asahi* )
112114 GRUB_PKGS=" asahi-base asahi-scripts grub-arm64-efi"
113115 GFX_PKGS=" mesa-asahi-dri"
116+ GFX_WL_PKGS=" mesa-asahi-dri"
114117 KERNEL_PKG=" linux-asahi"
115118 TARGET_ARCH=" aarch64${ARCH# asahi} "
116119 ;;
117120 esac
118121
119122 A11Y_PKGS=" espeakup void-live-audio brltty"
120123 PKGS=" dialog cryptsetup lvm2 mdadm void-docs-browse xtools-minimal xmirror chrony tmux $A11Y_PKGS $GRUB_PKGS "
121- XORG_PKGS=" $GFX_PKGS xorg-minimal xorg-input-drivers setxkbmap xauth font-misc-misc terminus-font dejavu-fonts-ttf orca"
124+ FONTS=" font-misc-misc terminus-font dejavu-fonts-ttf"
125+ WAYLAND_PKGS=" $GFX_WL_PKGS $FONTS orca"
126+ XORG_PKGS=" $GFX_PKGS $FONTS xorg-minimal xorg-input-drivers setxkbmap xauth orca"
122127 SERVICES=" sshd chronyd"
123128
124129 LIGHTDM_SESSION=' '
@@ -132,10 +137,15 @@ build_variant() {
132137 SERVICES=" $SERVICES acpid dhcpcd wpa_supplicant lightdm dbus polkitd"
133138 LIGHTDM_SESSION=enlightenment
134139 ;;
135- xfce)
136- PKGS=" $PKGS $XORG_PKGS lightdm lightdm-gtk3 -greeter xfce4 gnome-themes-standard gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox xfce4-pulseaudio-plugin"
140+ xfce* )
141+ PKGS=" $PKGS $XORG_PKGS lightdm lightdm-gtk -greeter xfce4 gnome-themes-standard gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox xfce4-pulseaudio-plugin"
137142 SERVICES=" $SERVICES dbus lightdm NetworkManager polkitd"
138143 LIGHTDM_SESSION=xfce
144+
145+ if [ " $variant " == " xfce-wayland" ]; then
146+ PKGS=" $PKGS $WAYLAND_PKGS labwc"
147+ LIGHTDM_SESSION=" xfce-wayland"
148+ fi
139149 ;;
140150 mate)
141151 PKGS=" $PKGS $XORG_PKGS lightdm lightdm-gtk3-greeter mate mate-extra gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox"
@@ -204,10 +214,7 @@ if [ ! -x mklive.sh ]; then
204214fi
205215
206216if [ -n " $TRIPLET " ]; then
207- VARIANT=" ${TRIPLET##* -} "
208- REST=" ${TRIPLET% -* } "
209- DATE=" ${REST##* -} "
210- ARCH=" ${REST% -* } "
217+ IFS=: read -r ARCH DATE VARIANT _ < <( echo " $TRIPLET " | sed -Ee ' s/^(.+)-([0-9rc]+)-(.+)$/\1:\2:\3/' )
211218 build_variant " $VARIANT " " $@ "
212219else
213220 for image in $IMAGES ; do
0 commit comments