From 8025884e3be65e199857760b02940f32aa65ff8a Mon Sep 17 00:00:00 2001 From: deepend Date: Tue, 3 Feb 2026 22:00:51 -0700 Subject: [PATCH] fix windows build lua dependency. Add attempted Solus Build. --- .github/workflows/solus-eopkg-build.yml | 59 +++++++++++++++++++++++++ .github/workflows/windows-build.yml | 13 ++++-- packaging/solus/package.yml | 34 ++++++++++++++ 3 files changed, 102 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/solus-eopkg-build.yml create mode 100644 packaging/solus/package.yml diff --git a/.github/workflows/solus-eopkg-build.yml b/.github/workflows/solus-eopkg-build.yml new file mode 100644 index 00000000..72834b79 --- /dev/null +++ b/.github/workflows/solus-eopkg-build.yml @@ -0,0 +1,59 @@ +name: Solus eopkg build + +on: + workflow_dispatch: + inputs: + package_yml: + description: "Path to Solus package.yml for ypkg build" + required: false + default: "packaging/solus/package.yml" + solus_image: + description: "Solus container image" + required: false + default: "ghcr.io/getsolus/solus:latest" + push: + branches: + - main + - master + +jobs: + build-eopkg: + runs-on: ubuntu-latest + env: + SOLUS_IMAGE: ${{ inputs.solus_image || 'ghcr.io/getsolus/solus:latest' }} + PACKAGE_YML: ${{ inputs.package_yml || 'packaging/solus/package.yml' }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Build eopkg package in Solus container + run: | + if [ ! -f "$PACKAGE_YML" ]; then + echo "Expected Solus packaging file at $PACKAGE_YML" >&2 + echo "Available package.yml files:" >&2 + find . -name "package.yml" -print >&2 || true + echo "Add a package.yml (ypkg) file or update the workflow input PACKAGE_YML." >&2 + exit 1 + fi + + docker pull "$SOLUS_IMAGE" + + docker run --rm \ + -v "$PWD":/workspace \ + -w /workspace \ + "$SOLUS_IMAGE" \ + sh -lc ' + set -euo pipefail + eopkg update-repo -y + eopkg install -y ypkg git + ypkg build "$PACKAGE_YML" + mkdir -p /workspace/artifacts + find . -maxdepth 3 -name "*.eopkg" -type f -exec cp -v {} /workspace/artifacts/ \; + ' + + - name: Upload eopkg artifacts + uses: actions/upload-artifact@v4 + with: + name: solus-eopkg + path: artifacts/*.eopkg + if-no-files-found: error diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 1fe1b7a3..1a7a1a60 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -104,8 +104,13 @@ jobs: throw "Lua extraction failed; missing $luaExtractRoot." } + $luaMakefile = Get-ChildItem -Path $luaExtractRoot -Filter "Makefile.msc" -Recurse -File | Select-Object -First 1 + if (-not $luaMakefile) { + throw "Lua Makefile.msc not found under $luaExtractRoot." + } + $luaBuildRoot = $luaMakefile.Directory.FullName $luaBuildArch = if ($gvsPlatform -eq "x86") { "x86" } else { "amd64" } - cmd /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat`" -arch=$luaBuildArch && cd /d `"$luaExtractRoot\src`" && nmake -f Makefile.msc" + cmd /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat`" -arch=$luaBuildArch && pushd `"$luaBuildRoot`" && nmake -f Makefile.msc && popd" $luaDepsRoot = "C:\gtk-build\gtk\$gvsPlatform\release" $luaIncludeDir = Join-Path $luaDepsRoot "include\lua54" @@ -114,9 +119,9 @@ jobs: New-Item -Path $luaIncludeDir -ItemType Directory -Force | Out-Null New-Item -Path $luaLibDir -ItemType Directory -Force | Out-Null New-Item -Path $luaBinDir -ItemType Directory -Force | Out-Null - Copy-Item "$luaExtractRoot\src\*.h" $luaIncludeDir -Force - Copy-Item "$luaExtractRoot\src\lua54.lib" $luaLibDir -Force - Copy-Item "$luaExtractRoot\src\lua54.dll" $luaBinDir -Force + Copy-Item "$luaBuildRoot\*.h" $luaIncludeDir -Force + Copy-Item "$luaBuildRoot\lua54.lib" $luaLibDir -Force + Copy-Item "$luaBuildRoot\lua54.dll" $luaBinDir -Force - name: Build run: | diff --git a/packaging/solus/package.yml b/packaging/solus/package.yml new file mode 100644 index 00000000..2eda3b17 --- /dev/null +++ b/packaging/solus/package.yml @@ -0,0 +1,34 @@ +name : zoitechat +version : 2.17.4 +release : 1 +source : + - https://github.com/ZoiteChat/zoitechat/archive/refs/tags/zoitechat-2.17.4.tar.gz : 77d787cf00abd533326440eab01ca077c21cdfd2eb56807fc21d6fb70f34ada6 +homepage : https://zoitechat.zoite.net/ +license : GPL-2.0-only +component : network.irc +summary : HexChat-based IRC client +description: | + ZoiteChat is a HexChat-based IRC client for Windows and UNIX-like systems. +builddeps : + - pkgconfig(glib-2.0) + - pkgconfig(gmodule-2.0) + - pkgconfig(gtk+-3.0) + - pkgconfig(ayatana-appindicator3-0.1) + - pkgconfig(dbus-glib-1) + - pkgconfig(libcanberra) + - pkgconfig(openssl) + - pkgconfig(iso-codes) + - meson + - ninja + - pkgconfig + - gcc + - gettext +setup : | + %meson_configure \ + -Dgtk-frontend=true \ + -Dgtk3=true \ + -Dinstall-appdata=true +build : | + %ninja_build +install : | + %ninja_install