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
with:
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:
runs-on: windows-latest

View File

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

View File

@@ -10,6 +10,7 @@ import re
# Hack for building on Fedora/WSL; executables get the .exe extension,
# build the build system detects it as Linux.
import build.toolchain
toolchain.Toolchain.EXE = "$(EXT)"
package(name="protobuf_lib", package="protobuf")
@@ -108,6 +109,13 @@ export(
"brother240tool$(EXT)": "tools+brother240tool",
"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,
)

View File

@@ -57,13 +57,13 @@ cxxprogram(
if config.osx:
simplerule(
name="fluxengine_pkg",
name="fluxengine_app_zip",
ins=[
".+gui",
"extras+fluxengine_icns",
"extras+fluxengine_template",
],
outs=["=FluxEngine.pkg"],
outs=["=FluxEngine.app.zip"],
commands=[
"rm -rf $[outs[0]]",
"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 libtiff)/LICENSE.md FluxEngine.app/Contents/libs/libtiff.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",
)
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",
)