From 11bafa9b2a5a32bdaa7deee266107998112e6ae6 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Fri, 17 Jul 2026 13:33:59 -0600 Subject: [PATCH 1/4] `webmapper.spec`: fix app bundle for macos --- webmapper.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/webmapper.spec b/webmapper.spec index 58279c0..fa6fb91 100644 --- a/webmapper.spec +++ b/webmapper.spec @@ -74,6 +74,10 @@ coll = COLLECT( ) # Build a .app if on OS X if sys.platform == 'darwin': - app = BUNDLE(exe, - name='webmapper.app', - icon=None) + app = BUNDLE( + coll, # instead of exe otherwise dependencies are not bundled + name='webmapper.app', + icon='images/libmapper.icns', + bundle_identifier=None, + version=libmapper.__version__, # until a webmapper version is defined +) From 59f5d47cf3f97842b1106f7cd02366b4df4b897a Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Fri, 17 Jul 2026 13:34:43 -0600 Subject: [PATCH 2/4] `.github/workflows/ci.yml`: `MacOS`: cleanup build to only upload app --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a58f2c1..dc53940 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,11 +47,13 @@ jobs: - name: build standalone run: pyinstaller webmapper.spec + - name: cleanup build + run: + rm -frv dist/webmapper - uses: actions/upload-artifact@v4 with: name: webmapper-macosx-standalone - path: dist/webmapper - + path: dist/ Windows-Latest: runs-on: windows-latest steps: From a9163739a45420fd68c9deebdced745274049f7d Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Fri, 17 Jul 2026 13:51:22 -0600 Subject: [PATCH 3/4] `README.md`: To build a standalone application: update for `pyinstaller` and generalize --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c4870ec..38939a9 100644 --- a/README.md +++ b/README.md @@ -55,10 +55,12 @@ By default webmapper will open a browser window when it is launched, but there m python3 webmapper.py --no-browser --stay-alive ~~~ -## To build a standalone application for macOS: +## To build a standalone application: ~~~ -python3 setup.py py2app +pip3 install -r requirements.txt +pip3 install pyinstaller +pyinstaller webmapper.spec ~~~ --- From b13016543d0c137b5e3720c3bd35293cfe9cfc07 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Fri, 17 Jul 2026 13:51:47 -0600 Subject: [PATCH 4/4] `html/webmapper_help.html`: To build a standalone application: update for `pyinstaller` --- html/webmapper_help.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/html/webmapper_help.html b/html/webmapper_help.html index 006c7dd..3a25242 100644 --- a/html/webmapper_help.html +++ b/html/webmapper_help.html @@ -538,10 +538,12 @@

To run:

If the browser doesn't open, open it manually and type "localhost:#####" into the address bar, where ##### is the same string of numbers displayed in the terminal

-

To build standalone application:

+

To build a standalone application:

    -
  1. $ python setup.py py2app
  2. +
  3. $ pip3 install -r requirements.txt
  4. +
  5. $ pip3 install pyinstaller
  6. +
  7. $ pyinstaller webmapper.spec

Saving and loading: