Expose the .app on OSX (in a zipfile).

Closes: #800
This commit is contained in:
David Given
2025-08-20 00:02:43 +02:00
parent d1524f78fb
commit 206e85a356
4 changed files with 31 additions and 5 deletions

View File

@@ -70,7 +70,9 @@ jobs:
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: ${{ github.event.repository.name }}.${{ github.sha }}.fluxengine.${{ runner.arch }}.pkg name: ${{ github.event.repository.name }}.${{ github.sha }}.fluxengine.${{ runner.arch }}.pkg
path: fluxengine/FluxEngine.pkg path: |
fluxengine/FluxEngine.pkg
fluxengine/FluxEngine.app.zip
build-windows: build-windows:
runs-on: windows-latest runs-on: windows-latest

View File

@@ -99,6 +99,7 @@ jobs:
run: | run: |
gmake gmake
mv FluxEngine.pkg FluxEngine-${{ runner.arch }}.pkg mv FluxEngine.pkg FluxEngine-${{ runner.arch }}.pkg
mv FluxEngine.app.zip FluxEngine-${{ runner.arch }}.app.zip
- name: tag - name: tag
uses: EndBug/latest-tag@latest uses: EndBug/latest-tag@latest
@@ -115,6 +116,7 @@ jobs:
tag: dev tag: dev
assets: | assets: |
FluxEngine-${{ runner.arch }}.pkg FluxEngine-${{ runner.arch }}.pkg
FluxEngine-${{ runner.arch }}.app.zip
fail-if-no-assets: false fail-if-no-assets: false
- name: release - name: release
@@ -123,6 +125,7 @@ jobs:
name: Development build ${{ env.RELEASE_DATE }} name: Development build ${{ env.RELEASE_DATE }}
files: | files: |
FluxEngine-${{ runner.arch }}.pkg FluxEngine-${{ runner.arch }}.pkg
FluxEngine-${{ runner.arch }}.app.zip
tag_name: dev tag_name: dev
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -10,6 +10,7 @@ import re
# Hack for building on Fedora/WSL; executables get the .exe extension, # Hack for building on Fedora/WSL; executables get the .exe extension,
# build the build system detects it as Linux. # build the build system detects it as Linux.
import build.toolchain import build.toolchain
toolchain.Toolchain.EXE = "$(EXT)" toolchain.Toolchain.EXE = "$(EXT)"
package(name="protobuf_lib", package="protobuf") package(name="protobuf_lib", package="protobuf")
@@ -108,6 +109,13 @@ export(
"brother240tool$(EXT)": "tools+brother240tool", "brother240tool$(EXT)": "tools+brother240tool",
"upgrade-flux-file$(EXT)": "tools+upgrade-flux-file", "upgrade-flux-file$(EXT)": "tools+upgrade-flux-file",
} }
| ({"FluxEngine.pkg": "src/gui+fluxengine_pkg"} if config.osx else {}), | (
{
"FluxEngine.pkg": "src/gui+fluxengine_pkg",
"FluxEngine.app.zip": "src/gui+fluxengine_app_zip",
}
if config.osx
else {}
),
deps=["tests", "src/formats+docs", "scripts+mkdocindex"] + corpustests, deps=["tests", "src/formats+docs", "scripts+mkdocindex"] + corpustests,
) )

View File

@@ -57,13 +57,13 @@ cxxprogram(
if config.osx: if config.osx:
simplerule( simplerule(
name="fluxengine_pkg", name="fluxengine_app_zip",
ins=[ ins=[
".+gui", ".+gui",
"extras+fluxengine_icns", "extras+fluxengine_icns",
"extras+fluxengine_template", "extras+fluxengine_template",
], ],
outs=["=FluxEngine.pkg"], outs=["=FluxEngine.app.zip"],
commands=[ commands=[
"rm -rf $[outs[0]]", "rm -rf $[outs[0]]",
"unzip -q $[ins[2]]", # creates FluxEngine.app "unzip -q $[ins[2]]", # creates FluxEngine.app
@@ -79,7 +79,20 @@ if config.osx:
"cp $$(brew --prefix abseil)/LICENSE FluxEngine.app/Contents/libs/abseil.txt", "cp $$(brew --prefix abseil)/LICENSE FluxEngine.app/Contents/libs/abseil.txt",
"cp $$(brew --prefix libtiff)/LICENSE.md FluxEngine.app/Contents/libs/libtiff.txt", "cp $$(brew --prefix libtiff)/LICENSE.md FluxEngine.app/Contents/libs/libtiff.txt",
"cp $$(brew --prefix zstd)/LICENSE FluxEngine.app/Contents/libs/zstd.txt", "cp $$(brew --prefix zstd)/LICENSE FluxEngine.app/Contents/libs/zstd.txt",
"pkgbuild --quiet --install-location /Applications --component FluxEngine.app $[outs[0]]", "zip -rq $[outs[0]] FluxEngine.app",
], ],
label="MKAPP", label="MKAPP",
) )
simplerule(
name="fluxengine_pkg",
ins=[
".+fluxengine_app_zip",
],
outs=["=FluxEngine.pkg"],
commands=[
"unzip -q $[ins[0]]",
"pkgbuild --quiet --install-location /Applications --component FluxEngine.app $[outs[0]]",
],
label="MKPKG",
)