From a183b2f638953216757fd90627a9735b8198b277 Mon Sep 17 00:00:00 2001 From: TrainDoctor Date: Tue, 21 Nov 2023 17:44:10 -0800 Subject: [PATCH] SteamOS 3.5.5 and local act support --- .github/workflows/build.yml | 8 ++++++++ Dockerfile | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 07966c0..afb6abd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,6 +18,7 @@ jobs: fetch-depth: 0 - name: Login to GitHub Container Registry + if: ${{ !env.ACT }} run: | echo $GITHUB_TOKEN | docker login ghcr.io -u SteamDeckHomebrew --password-stdin env: @@ -33,29 +34,36 @@ jobs: run: rm -rf ./steamos_image ./steamos - name: Build Rust toolchain image + if: ${{ !env.ACT }} run: | cd languages docker build -t ghcr.io/steamdeckhomebrew/holo-toolchain-rust:latest -f ./rust.dockerfile . - name: Build Go toolchain image + if: ${{ !env.ACT }} run: | cd languages docker build -t ghcr.io/steamdeckhomebrew/holo-toolchain-go:latest -f ./go.dockerfile . - name: Wait for other runs to complete + if: ${{ !env.ACT }} uses: softprops/turnstyle@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Push Base image + if: ${{ !env.ACT }} run: docker push ghcr.io/steamdeckhomebrew/holo-base:latest - name: Push Rust toolchain image + if: ${{ !env.ACT }} run: docker push ghcr.io/steamdeckhomebrew/holo-toolchain-rust:latest - name: Push Go toolchain image + if: ${{ !env.ACT }} run: docker push ghcr.io/steamdeckhomebrew/holo-toolchain-go:latest - name: Log out of GitHub Container Registry + if: ${{ !env.ACT }} run: | docker logout ghcr.io diff --git a/Dockerfile b/Dockerfile index 892cd51..499da54 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ ADD ./steamos / ADD ./steamos/usr/share/factory / # not removing libcroco holo-desync holo-keyring holo-pacman holo-pipewire holo-sudo holo-wireplumber elfutils -RUN pacman -R --noconfirm accounts-qml-module accountsservice adobe-source-code-pro-fonts adwaita-icon-theme alsa-card-profiles alsa-lib alsa-plugins alsa-topology-conf alsa-ucm-conf alsa-utils amd-ucode anthy aom appstream appstream-glib appstream-qt arch-install-scripts archlinux-appstream-data ark aspell aspell-en assimp atkmm at-spi2-core attica avahi baloo baloo-widgets bash-bats bash-completion bluedevil bluez bluez-libs bluez-plugins bluez-qt bluez-utils bolt boost-libs breeze breeze-grub breeze-gtk breeze-icons btop btrfs-progs bubblewrap cairo cairomm cantarell-fonts caps casync-git cdparanoia cfitsio cifs-utils clang-libs convertlit cpio cpupower dav1d dbus-glib dbus-python dconf desktop-file-utils desync-git discount discover djvulibre dmidecode dmraid dnssec-anchors dolphin dos2unix dosfstools double-conversion dracut drkonqi ebook-tools editorconfig-core-c efibootmgr efivar ell enchant evtest exfat-utils exiv2 f3 fatresize fd ffmpeg fish flac flashrom flatpak fontconfig frameworkintegration freeglut freerdp freetype2 fribidi fuse2 fuse3 fuse-common fwupd gamemode gamescope gcab gdb gdb-common gdk-pixbuf2 geoclue geocode-glib giflib git ghostscript glew glfw-x11 glibmm glib-networking glslang glu gobject-introspection-runtime gpm gptfdisk gpu-trace graphene graphite grub gsettings-desktop-schemas gsm gst-plugins-base gst-plugins-base-libs drm_info gstreamer gtk3 gtkmm3 gtk-update-icon-cache gwenview harfbuzz hicolor-icon-theme hidapi htop hunspell ibus ibus-anthy ibus-hangul ibus-pinyin ibus-table ibus-table-cangjie-lite iniparser iotop iso-codes iw iwd jasper jbig2dec jq json-glib jupiter-dock-updater-bin jupiter-fan-control jupiter-hw-support jupiter-legacy-support kaccounts-integration kactivities kactivities-stats kactivitymanagerd karchive kate kauth kbookmarks kcmutils kcodecs kcolorpicker kcompletion kconfig kconfigwidgets kcontacts kcoreaddons kcrash kdbusaddons kdeclarative kde-cli-tools kdeconnect kdecoration kded kde-gtk-config kdelibs4support kdeplasma-addons kdesu kdialog kdnssd kdsoap kdsoap-ws-discovery-client kdump-steamos kemoticons kfilemetadata kgamma5 kglobalaccel kguiaddons kholidays khotkeys ki18n kiconthemes kidletime kimageannotator kinfocenter kio kio-extras kio-fuse kirigami2 kitemmodels kitemviews kitty-terminfo kjobwidgets kjs kmenuedit knewstuff knotifications knotifyconfig konsole kpackage kparts kpeople kpeoplevcard kpipewire kpmcore kpty kquickcharts krunner kscreen kscreenlocker kservice ksshaskpass ksystemstats ktexteditor ktextwidgets kunitconversion kuserfeedback kwallet kwallet-pam kwayland kwayland-integration kwidgetsaddons kwin kwindowsystem kwrited kxmlgui lame layer-shell-qt lcms2 ldb ldns lib32-alsa-lib lib32-alsa-plugins lib32-brotli lib32-bzip2 lib32-curl lib32-dbus lib32-e2fsprogs lib32-expat lib32-flac lib32-fontconfig lib32-freetype2 lib32-gamemode lib32-gcc-libs lib32-glib2 lib32-glibc lib32-harfbuzz lib32-icu lib32-keyutils lib32-krb5 lib32-libasyncns lib32-libcap lib32-libdrm lib32-libelf lib32-libffi lib32-libgcrypt lib32-libglvnd lib32-libgpg-error lib32-libice lib32-libidn2 lib32-libldap lib32-libnm lib32-libogg lib32-libpciaccess lib32-libpng lib32-libpsl lib32-libpulse lib32-libsm lib32-libsndfile lib32-libssh2 lib32-libtasn1 lib32-libtirpc lib32-libunistring lib32-libunwind lib32-libva lib32-libva-mesa-driver lib32-libvdpau lib32-libvorbis lib32-libx11 lib32-libxau lib32-libxcb lib32-libxcrypt lib32-libxdamage lib32-libxdmcp lib32-libxext lib32-libxfixes lib32-libxi lib32-libxinerama lib32-libxml2 lib32-libxshmfence lib32-libxss lib32-libxtst lib32-libxxf86vm lib32-llvm-libs lib32-lm_sensors lib32-mangohud lib32-mesa lib32-mesa-vdpau lib32-ncurses lib32-nspr lib32-nss lib32-openal lib32-openssl lib32-opus lib32-p11-kit lib32-pam lib32-pcre2 lib32-pipewire lib32-sqlite lib32-systemd lib32-util-linux lib32-vulkan-icd-loader lib32-vulkan-radeon lib32-wayland lib32-xz lib32-zlib lib32-zstd libaccounts-glib libaccounts-qt libaio libass libasyncns libatasmart libavc1394 libblockdev libbluray libbs2b libbsd libbytesize libcanberra libclc libcloudproviders libcolord libcups libdaemon libdatrie libdbusmenu-qt5 libdmtx libedit libepoxy libevdev libfakekey libfdk-aac libfontenc libfreeaptx libftdi libglvnd libgssglue libgudev libgusb libhangul libibus libical libice libiec61883 libimobiledevice libinih libinput libjcat libjpeg-turbo libkdcraw libkexiv2 libkscreen libksysguard libldac libmbim libmd libmfx libmm-glib libmodplug libmtp libndp libnewt libnm libnotify libogg libomxil-bellagio libspectre libdrm ds-inhibit libpciaccess libpgm libpipeline libplist libpng libproxy libpulse libqaccessibilityclient libqalculate libqmi libqrtr-glib libraw libraw1394 librsvg libsamplerate libsigc++ libsm libsndfile libsodium libsoup libsoup3 libsoxr libssh libstemmer libteam libthai libtheora libtiff libtommath libtraceevent libtracefs libunwind liburcu libusb libusbmuxd libutempter libva libva-intel-driver libva-mesa-driver libvdpau libvisual libvorbis libvpx libwacom libwebp libx11 libxau libxaw libxcb libxcomposite libxcursor libxcvt libxdamage libxdmcp libxext libxfixes libxfont2 libxft libxi libxinerama libxkbcommon libxkbcommon-x11 libxkbfile libxmlb libxmu libxpm libxrandr libxrender libxres libxshmfence libxslt libxss libxt libxtst libxv libxxf86vm libyaml libzip lilv linux-firmware-neptune linux-neptune llvm-libs lmdb lm_sensors lsb-release l-smash lsof lua luit lv2 lvm2 lzo maliit-framework maliit-keyboard man-db mangohud md4c mdadm media-player-info mesa mesa-unstable mesa-utils mesa-vdpau milou minizip mobile-broadband-provider-info modemmanager modemmanager-qt mtdev nano ndctl nethogs networkmanager networkmanager-qt noise-suppression-for-voice noto-fonts noto-fonts-cjk nspr nss nss-mdns ntfs-3g numactl nvme-cli ocl-icd okular oniguruma openal opencl-mesa opencore-amr openjpeg2 openssh openvpn opus orc ostree oxygen p7zip pango pangomm parted partitionmanager paru pavucontrol pcsclite perf perl-error perl-mailtools perl-timedate phonon-qt5 phonon-qt5-gstreamer pipewire pipewire-alsa pipewire-audio pipewire-jack pipewire-pulse pixman pkcs11-helper plasma-browser-integration plasma-desktop plasma-disks plasma-firewall plasma-framework plasma-integration plasma-meta plasma-nm plasma-pa plasma-systemmonitor plasma-thunderbolt plasma-vault plasma-wayland-protocols plasma-wayland-session plasma-workspace plasma-workspace-wallpapers plymouth polkit polkit-kde-agent polkit-qt5 poppler poppler-qt5 powerdevil powertop ppp presage prison pulseaudio-qt purpose python-aiohttp python-aiosignal python-async-timeout python-attrs python-chardet python-charset-normalizer python-click python-crcmod python-evdev python-frozenlist python-gobject python-hid python-idna python-multidict python-progressbar python-psutil python-pyaml python-pyenchant python-pyinotify python-semantic-version python-systemd python-sysv_ipc python-typing_extensions python-utils python-yaml python-yarl pyzy qca-qt5 qqc2-desktop-style qrencode qt5-base qt5-declarative qt5-feedback qt5-graphicaleffects qt5-location qt5-multimedia qt5-quickcontrols qt5-quickcontrols2 qt5-sensors qt5-speech qt5-svg qt5-tools qt5-translations qt5-wayland qt5-webchannel qt5-webengine qt5-webview qt5-x11extras rauc rav1e re2 ripgrep rsync rtkit rxvt-unicode-terminfo sbc sddm-kcm sddm-wayland sdl2 seatd serd shared-mime-info signond signon-kwallet-extension signon-plugin-oauth2 signon-ui slang smartmontools smbclient snappy socat solid sonnet sord sound-theme-freedesktop source-highlight spectacle speex speexdsp squashfs-tools sratom srt sshfs steamdeck-kde-presets steam-im-modules steam-jupiter-stable steamos-atomupd-client-git steamos-customizations-jupiter steamos-devkit-service steamos-efi strace svt-av1 syndication syntax-highlighting sysfsutils systemd-swap systemsettings taglib talloc tcl tdb tevent thin-provisioning-tools threadweaver tk trace-cmd tracker3 tree tslib ttf-dejavu ttf-hack ttf-twemoji-default udisks2 unrar unzip upower usbmuxd usbutils v4l-utils vid.stab vim vim-runtime vkmark-git vmaf volume_key vpower vulkan-icd-loader vulkan-radeon vulkan-tools wayland wayland-utils webrtc-audio-processing wget wireless-regdb wireless_tools wireplumber wpa_supplicant x264 x265 xbindkeys xbitmaps xcb-proto xcb-util xcb-util-cursor xcb-util-errors xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm xdg-dbus-proxy xdg-desktop-portal xdg-desktop-portal-kde xdg-user-dirs xdg-utils xdotool xf86-input-libinput xf86-video-amdgpu xfsprogs xkeyboard-config xorg-fonts-encodings xorgproto xorg-server xorg-server-common xorg-setxkbmap xorg-xauth xorg-xdpyinfo xorg-xhost xorg-xkbcomp xorg-xmessage xorg-xprop xorg-xrandr xorg-xrdb xorg-xset xorg-xsetroot xorg-xwayland-jupiter xorg-xwininfo xterm xvidcore xxhash zenity-light zeromq zimg zip zsh zxing-cpp renderdoc-minimal lib32-renderdoc-minimal lib32-xcb-util-keysyms \ +RUN pacman -R --noconfirm accounts-qml-module accountsservice adobe-source-code-pro-fonts adwaita-icon-theme alsa-card-profiles alsa-lib alsa-plugins alsa-topology-conf alsa-ucm-conf alsa-utils amd-ucode anthy aom appstream appstream-qt arch-install-scripts archlinux-appstream-data ark aspell aspell-en assimp at-spi2-core atkmm atomupd-daemon-git attica avahi baloo baloo-widgets bash-bats bash-completion bluedevil bluez bluez-libs bluez-plugins bluez-qt bluez-utils bolt boost-libs breeze breeze-grub breeze-gtk breeze-icons btop btrfs-progs bubblewrap cairo cairomm cantarell-fonts caps casync cdparanoia cfitsio cifs-utils clinfo convertlit cpupower criu crun dav1d dbus-python dconf desktop-file-utils discount discover djvulibre dmidecode dnssec-anchors dolphin dos2unix dosfstools double-conversion drkonqi drm_info ds-inhibit ebook-tools editorconfig-core-c efibootmgr efivar ell enchant evtest exfat-utils exiv2 f3 fatresize fd ffmpeg firewalld fish flac flashrom flatpak flatpak-kcm fontconfig frameworkintegration freeglut freerdp freetype2 fribidi fuse-common fuse-overlayfs fuse2 fuse3 fwupd gamemode gamescope gcab gdb gdb-common gdk-pixbuf2 geoclue ghostscript giflib git glew glfw-x11 glib-networking glibmm glu gobject-introspection-runtime gperftools gpm gpu-trace graphene graphite grub gsettings-desktop-schemas gsm gst-plugins-base gst-plugins-base-libs gstreamer gtk-update-icon-cache gtk3 gtkmm3 gwenview harfbuzz hicolor-icon-theme hidapi htop hunspell ibus ibus-anthy ibus-hangul ibus-pinyin ibus-table ibus-table-cangjie-lite iotop iso-codes iw iwd jasper jbig2dec jq json-glib jupiter-dock-updater-bin jupiter-fan-control jupiter-firewall jupiter-hw-support jupiter-legacy-support jupiter-steamos-log-submitter kaccounts-integration kactivities kactivities-stats kactivitymanagerd karchive kate kauth kbookmarks kcmutils kcodecs kcolorpicker kcompletion kconfig kconfigwidgets kcontacts kcoreaddons kcrash kdbusaddons kde-cli-tools kde-gtk-config kdeclarative kdeconnect kdecoration kded kdelibs4support kdeplasma-addons kdesu kdialog kdnssd kdsoap kdsoap-ws-discovery-client kdumpst kemoticons kfilemetadata kgamma5 kglobalaccel kguiaddons kholidays khotkeys ki18n kiconthemes kidletime kimageannotator kinfocenter kio kio-extras kio-fuse kirigami-addons kirigami2 kitemmodels kitemviews kitty-terminfo kjobwidgets kjs kmenuedit knewstuff knotifications knotifyconfig konsole kpackage kparts kpeople kpeoplevcard kpipewire kpmcore kpty kquickcharts krunner kscreen kscreenlocker kservice ksshaskpass ksystemstats ktexteditor ktextwidgets kunitconversion kuserfeedback kwallet kwallet-pam kwayland kwayland-integration kwidgetsaddons kwin kwindowsystem kwrited kxmlgui l-smash lame layer-shell-qt lcms2 ldb ldns lib32-alsa-lib lib32-alsa-plugins lib32-brotli lib32-bzip2 lib32-curl lib32-dbus lib32-e2fsprogs lib32-expat lib32-flac lib32-fontconfig lib32-freetype2 lib32-gamemode lib32-gamescope lib32-gcc-libs lib32-glib2 lib32-glibc lib32-harfbuzz lib32-icu lib32-keyutils lib32-krb5 lib32-libasyncns lib32-libcap lib32-libdrm lib32-libelf lib32-libffi lib32-libgcrypt lib32-libglvnd lib32-libgpg-error lib32-libidn2 lib32-libldap lib32-libnm lib32-libogg lib32-libpciaccess lib32-libpipewire lib32-libpng lib32-libpsl lib32-libpulse lib32-libsndfile lib32-libssh2 lib32-libtasn1 lib32-libtirpc lib32-libunistring lib32-libunwind lib32-libva lib32-libva-mesa-driver lib32-libvdpau lib32-libvorbis lib32-libx11 lib32-libxau lib32-libxcb lib32-libxcrypt lib32-libxcrypt-compat lib32-libxdamage lib32-libxdmcp lib32-libxext lib32-libxfixes lib32-libxi lib32-libxinerama lib32-libxml2 lib32-libxshmfence lib32-libxss lib32-libxtst lib32-libxxf86vm lib32-llvm-libs lib32-lm_sensors lib32-mangohud lib32-mesa lib32-mesa-vdpau lib32-ncurses lib32-nspr lib32-nss lib32-openal lib32-openssl lib32-opus lib32-p11-kit lib32-pam lib32-pcre2 lib32-pipewire lib32-renderdoc-minimal lib32-sqlite lib32-systemd lib32-util-linux lib32-vulkan-icd-loader lib32-vulkan-radeon lib32-wayland lib32-xcb-util-keysyms lib32-xz lib32-zlib lib32-zstd libaccounts-glib libaccounts-qt libass libasyncns libatasmart libavc1394 libblockdev libbluray libbs2b libbsd libbytesize libcanberra libcec libcloudproviders libcolord libcups libdaemon libdatrie libdbusmenu-qt5 libdecor libdmtx libdrm libedit libepoxy libfakekey libfdk-aac libfontenc libfreeaptx libftdi libglvnd libgudev libgusb libhangul libibus libical libice libiec61883 libimobiledevice libinih libinput libjcat libjpeg-turbo libjxl libkdcraw libkexiv2 libkscreen libksysguard libldac libmbim libmd libmfx libmm-glib libmodplug libmtp libndp libnewt libnm libnotify libogg libomxil-bellagio libopenmpt libpciaccess libpgm libplist libpng libproxy libpulse libqaccessibilityclient libqalculate libqmi libqrtr-glib libraw libraw1394 librsvg libsamplerate libsigc++ libsm libsndfile libsodium libsoup libsoup3 libsoxr libspectre libssh libstemmer libteam libthai libtheora libtiff libtommath libtraceevent libtracefs libunwind libusb libusbmuxd libva libva-intel-driver libva-mesa-driver libvdpau libvorbis libvpx libwacom libwbclient libwebp libx11 libxau libxaw libxcb libxcomposite libxcursor libxcvt libxdamage libxdmcp libxext libxfixes libxfont2 libxft libxi libxinerama libxkbcommon libxkbcommon-x11 libxkbfile libxmlb libxmu libxpm libxrandr libxrender libxres libxshmfence libxslt libxss libxt libxtst libxv libxxf86vm libyaml libzip lilv linux-firmware-neptune llvm-libs lm_sensors lmdb lsb-release lsof lua luit lv2 lzo maliit-framework maliit-keyboard mangohud md4c mdadm media-player-info mesa mesa-utils mesa-vdpau milou minizip mobile-broadband-provider-info modemmanager modemmanager-qt mpg123 mtdev nano nethogs networkmanager networkmanager-openvpn networkmanager-qt noise-suppression-for-voice noto-fonts noto-fonts-cjk nspr nss nss-mdns ntfs-3g numactl nvme-cli ocl-icd okular oniguruma openal opencore-amr openjpeg2 openssh openvpn opus orc ostree oxygen p7zip pango pangomm parted partitionmanager paru pavucontrol pcsclite perf perl-error perl-mailtools perl-timedate phonon-qt5 phonon-qt5-gstreamer pipewire pipewire-alsa pipewire-audio pipewire-jack pipewire-pulse pixman pkcs11-helper plasma-browser-integration plasma-desktop plasma-disks plasma-firewall plasma-framework plasma-integration plasma-meta plasma-nm plasma-pa plasma-remotecontrollers plasma-systemmonitor plasma-thunderbolt plasma-vault plasma-wayland-protocols plasma-wayland-session plasma-welcome plasma-workspace plasma-workspace-wallpapers podman polkit polkit-kde-agent polkit-qt5 poppler poppler-qt5 portaudio powerdevil powertop ppp prison pulseaudio-qt purpose python-aiohttp python-aiosignal python-anyio python-async-timeout python-attrs python-chardet python-charset-normalizer python-click python-crcmod python-evdev python-frozenlist python-gobject python-hid python-httpcore python-httpx python-idna python-multidict python-progressbar python-psutil python-pyalsa python-pyaml python-pyenchant python-pyinotify python-semantic-version python-systemd python-sysv_ipc python-typing_extensions python-utils python-yaml python-yarl pyzy qca-qt5 qqc2-desktop-style qrencode qt5-base qt5-declarative qt5-feedback qt5-graphicaleffects qt5-location qt5-multimedia qt5-quickcontrols qt5-quickcontrols2 qt5-sensors qt5-speech qt5-svg qt5-tools qt5-translations qt5-wayland qt5-webchannel qt5-webengine qt5-webview qt5-x11extras rauc rav1e re2 renderdoc-minimal ripgrep rtkit rxvt-unicode-terminfo sbc sddm-kcm sddm-wayland sdl2 seatd serd shared-mime-info signon-kwallet-extension signon-plugin-oauth2 signon-ui signond slang smartmontools smbclient snappy socat solid sonnet sord sound-theme-freedesktop source-highlight spectacle speex speexdsp squashfs-tools sratom srt sshfs steam-im-modules steam-jupiter-stable steamdeck-dsp steamdeck-kde-presets steamos-atomupd-client-git steamos-atomupd-client-git steamos-atomupd-client-git steamos-devkit-service steamos-efi steamos-kdumpst-layer steamos-log-submitter steamos-reset steamos-systemreport strace svt-av1 syndication syntax-highlighting systemd-swap systemsettings taglib talloc tcl tdb tevent threadweaver tk trace-cmd tracker3 tree tslib ttf-dejavu ttf-hack ttf-twemoji-default udisks2 unrar unzip upower usbutils v4l-utils vid.stab vim vim-runtime vkmark-git vmaf volume_key vpower vulkan-icd-loader vulkan-radeon vulkan-tools wayland wayland-utils webrtc-audio-processing wget wireless-regdb wireless_tools wireplumber wpa_supplicant x264 x265 xbindkeys xbitmaps xcb-proto xcb-util xcb-util-cursor xcb-util-errors xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm xdg-dbus-proxy xdg-desktop-portal xdg-desktop-portal-kde xdg-user-dirs xdg-utils xdotool xf86-input-libinput xf86-video-amdgpu xkeyboard-config xorg-fonts-encodings xorg-server xorg-server-common xorg-setxkbmap xorg-xauth xorg-xdpyinfo xorg-xhost xorg-xkbcomp xorg-xmessage xorg-xprop xorg-xrandr xorg-xrdb xorg-xset xorg-xsetroot xorg-xwayland-jupiter xorg-xwininfo xorgproto xterm xvidcore zenity-light zeromq zimg zip zsh zxing-cpp \ && sed -r -i 's/\[(jupiter|core|extra|community|multilib|holo)\]/\[\1-rel\]/g' /etc/pacman.conf \ && pacman-key --init \ && pacman-key --populate archlinux \