diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b788aa9..3059dc5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,7 +20,7 @@ variables: RUST_LOG_STYLE: always BB_SIGNING_DRIVER: sigstore BB_BUILD_PUSH: 'true' - # BB_BUILD_CHUNKED_OCI: 'true' + BB_BUILD_CHUNKED_OCI: 'true' CLICOLOR_FORCE: 1 TAG: main @@ -42,6 +42,8 @@ base-images: extends: - .build stage: base-images + variables: + BB_BUILD_CHUNKED_OCI_MAX_LAYERS: '64' rules: # Run when any of the base recipes change - changes: @@ -127,4 +129,3 @@ combo-nvidia-images: matrix: - RECIPE: - jp-desktop-nvidia.yml - diff --git a/files/scripts/build-spyro2-client.sh b/files/scripts/build-spyro2-client.sh new file mode 100644 index 0000000..1f5e539 --- /dev/null +++ b/files/scripts/build-spyro2-client.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +set -xeuo pipefail + +apt-get update +apt-get -y install git + +dotnet workload update + +mkdir -p /app +cd /app + +git clone https://github.com/Uroogla/Archipelago.Core.git + +cd Archipelago.Core + +git checkout 175b5dafb6904332b6cc6e63ba88c3cb98a9924c + +cd ../ + +git clone https://github.com/Uroogla/S2AP.git + +cd S2AP + +git checkout 59026d87e2865a1bbe85ff5f1c3f5d6dfa62e1a7 + +git apply ../linux-support.patch + +dotnet publish -f net8.0 -c Release -r linux-x64 --self-contained true /p:PublishSingleFile=true /p:EnableCompressionInSingleFile=true source/S2AP.Desktop/S2AP.Desktop.csproj + +ls source/S2AP.Desktop/bin/Release/net8.0/linux-x64/publish/ diff --git a/files/spyro2-client-patch/linux-support.patch b/files/spyro2-client-patch/linux-support.patch new file mode 100644 index 0000000..705fdd2 --- /dev/null +++ b/files/spyro2-client-patch/linux-support.patch @@ -0,0 +1,26 @@ +diff --git a/source/S2AP/App.axaml.cs b/source/S2AP/App.axaml.cs +index 609ebb9..77ba22d 100644 +--- a/source/S2AP/App.axaml.cs ++++ b/source/S2AP/App.axaml.cs +@@ -18,6 +18,7 @@ using ReactiveUI; + using S2AP.Models; + using Serilog; + using System; ++using System.Runtime.InteropServices; + using System.Collections.Generic; + using System.Linq; + using System.Reactive.Concurrency; +@@ -52,9 +53,10 @@ public partial class App : Application + } + private static bool IsRunningAsAdministrator() + { +- var identity = WindowsIdentity.GetCurrent(); +- var principal = new WindowsPrincipal(identity); +- return principal.IsInRole(WindowsBuiltInRole.Administrator); ++ return geteuid() == 0; ++ ++ [DllImport("libc")] ++ static extern uint geteuid(); + } + + public override void OnFrameworkInitializationCompleted() diff --git a/recipes/common/helix.yml b/recipes/common/helix.yml index 2254f92..f92517d 100644 --- a/recipes/common/helix.yml +++ b/recipes/common/helix.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://schema.blue-build.org/module-stage-list-v1.json stages: - name: helix from: rust diff --git a/recipes/common/spyro2-rando-client.yaml b/recipes/common/spyro2-rando-client.yaml new file mode 100644 index 0000000..ea94118 --- /dev/null +++ b/recipes/common/spyro2-rando-client.yaml @@ -0,0 +1,18 @@ +--- +# yaml-language-server: $schema=https://schema.blue-build.org/module-stage-list-v1.json +stages: + - from: mcr.microsoft.com/dotnet/sdk:8.0 + name: spyro2 + modules: + - type: files + files: + - source: spyro2-client-patch + destination: /app/ + - type: script + scripts: + - build-spyro2-client.sh +modules: + - type: copy + from: spyro2 + src: /app/S2AP/source/S2AP.Desktop/bin/Release/net8.0/linux-x64/publish/* + dest: /usr/lib/opt/S2AP/ diff --git a/recipes/cp-laptop.yml b/recipes/cp-laptop.yml index 2b7f8b5..e42cbe7 100644 --- a/recipes/cp-laptop.yml +++ b/recipes/cp-laptop.yml @@ -4,6 +4,8 @@ name: cp-laptop base-image: registry.gitlab.com/wunker-bunker/wunker-os/kinoite image-version: latest description: The image of Wunker OS for CP's laptop. +stages: + - from-file: common/spyro2-rando-client.yaml modules: - from-file: common/common.yml - type: dnf @@ -28,4 +30,5 @@ modules: - install-archipelago.sh - from-file: common/ms-fonts.yml - from-file: common/updates.yml + - from-file: common/spyro2-rando-client.yaml - from-file: common/post-build.yml diff --git a/recipes/jp-desktop-nvidia.yml b/recipes/jp-desktop-nvidia.yml index 79b4d21..3e86d98 100644 --- a/recipes/jp-desktop-nvidia.yml +++ b/recipes/jp-desktop-nvidia.yml @@ -8,6 +8,7 @@ blue-build-tag: none nushell-version: none stages: - from-file: common/helix.yml + - from-file: common/spyro2-rando-client.yaml # - name: cosmic-comp # from: rust # modules: @@ -20,10 +21,7 @@ stages: modules: - from-file: common/jp-desktop.yml - from-file: common/helix.yml - - type: dnf - install: - packages: - - ramalama + - from-file: common/spyro2-rando-client.yaml # - type: copy # from: cosmic-comp # src: /out/cosmic-comp