From 3d9594eb4c26c1b203fab8bec195abed93bcec1c Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Tue, 3 Feb 2026 09:58:27 +0100 Subject: [PATCH 01/28] GHCup targets --- Makefile | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Makefile b/Makefile index dcf1171..ec53f8b 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,17 @@ build: $(shell wasm32-wasi-ghc --print-libdir)/post-link.mjs --input $(my_wasm) --output public/ghc_wasm_jsffi.js cp -v $(my_wasm) public/ +ghcup-update: + cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 update + +ghcup-build: + cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 build + rm -rf public + cp -r static public + $(eval my_wasm=$(shell cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 list-bin app | tail -n 1)) + $(shell wasm32-wasi-ghc --print-libdir)/post-link.mjs --input $(my_wasm) --output public/ghc_wasm_jsffi.js + cp -v $(my_wasm) public/ + optim: wasm-opt -all -O2 public/app.wasm -o public/app.wasm wasm-tools strip -o public/app.wasm public/app.wasm @@ -28,6 +39,9 @@ optim: serve: http-server public +ghcup-serve: + cd public; php -S localhost:1234 + clean: rm -rf dist-newstyle public From ce88d67991c0c43ff06782b005ff0f1735405050 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Wed, 4 Feb 2026 09:50:39 +0100 Subject: [PATCH 02/28] Messing around with GitHub actions --- .github/workflows/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 48478fe..90f2535 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,6 +35,11 @@ jobs: - name: Build JS using Nix run: nix develop .#ghcjs --command bash -c "make js" + - name: Build JS using GHCup + uses: haskell/ghcup-setup@v1 + run: | + make ghcup-build + - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: From 3ddcf623de58abd71e2bade839df3ebc77be3fe3 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Wed, 4 Feb 2026 15:56:39 +0100 Subject: [PATCH 03/28] More Messing around with actions --- .github/workflows/main.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 90f2535..4a3d471 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,10 +35,11 @@ jobs: - name: Build JS using Nix run: nix develop .#ghcjs --command bash -c "make js" - - name: Build JS using GHCup + - name: Install GHCup uses: haskell/ghcup-setup@v1 - run: | - make ghcup-build + + - name: Build JS using GHCup + run: make ghcup-build - name: Upload artifact uses: actions/upload-pages-artifact@v3 From d75dbe0aae52d30fb6e7fce137e06e5d79d1f69f Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Fri, 6 Feb 2026 15:50:22 +0100 Subject: [PATCH 04/28] wip --- .github/workflows/main.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4a3d471..aaeba95 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,8 +38,12 @@ jobs: - name: Install GHCup uses: haskell/ghcup-setup@v1 - - name: Build JS using GHCup - run: make ghcup-build + - name: Install GHC-wasm + run: | + curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh + source ~/.ghc-wasm/env + ghcup config add-release-channel https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/ghcup-wasm-0.0.9.yaml + ghcup install ghc wasm32-wasi-9.14 -- $CONFIGURE_ARGS - name: Upload artifact uses: actions/upload-pages-artifact@v3 From c5e46fb02936e17bad97801321e8f034d29dd3a0 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Fri, 6 Feb 2026 17:17:58 +0100 Subject: [PATCH 05/28] WIP --- .github/workflows/main.yml | 5 ++++- Makefile | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index aaeba95..375a9d8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,13 +38,16 @@ jobs: - name: Install GHCup uses: haskell/ghcup-setup@v1 - - name: Install GHC-wasm + - name: Install WASI backend via GHCup run: | curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh source ~/.ghc-wasm/env ghcup config add-release-channel https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/ghcup-wasm-0.0.9.yaml ghcup install ghc wasm32-wasi-9.14 -- $CONFIGURE_ARGS + - name: Build using GHC + run: make ghcup-build + - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: diff --git a/Makefile b/Makefile index ec53f8b..5ec7495 100644 --- a/Makefile +++ b/Makefile @@ -32,6 +32,12 @@ ghcup-build: $(shell wasm32-wasi-ghc --print-libdir)/post-link.mjs --input $(my_wasm) --output public/ghc_wasm_jsffi.js cp -v $(my_wasm) public/ +install-wasm-via-ghcup: + curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh + source ~/.ghc-wasm/env + ghcup config add-release-channel https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/ghcup-wasm-0.0.9.yaml + ghcup install ghc wasm32-wasi-9.14 -- $CONFIGURE_ARGS + optim: wasm-opt -all -O2 public/app.wasm -o public/app.wasm wasm-tools strip -o public/app.wasm public/app.wasm From b65a5eb53f7e74cf06dca70bdaa3271be68905fd Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 17:04:01 +0100 Subject: [PATCH 06/28] WIP --- .github/workflows/main.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 375a9d8..91836e1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -46,7 +46,13 @@ jobs: ghcup install ghc wasm32-wasi-9.14 -- $CONFIGURE_ARGS - name: Build using GHC - run: make ghcup-build + run: | + echo "xxx" + echo "$PATH" + echo "xxx" + ls -lah + echo "xxx" + ls wasm32-wasi-ghc - name: Upload artifact uses: actions/upload-pages-artifact@v3 From 25c998f9753b0da944371a058658ee2c2416c2a3 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 17:08:13 +0100 Subject: [PATCH 07/28] WIP --- .github/workflows/main.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 91836e1..1a7ed24 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -47,12 +47,9 @@ jobs: - name: Build using GHC run: | - echo "xxx" - echo "$PATH" - echo "xxx" - ls -lah - echo "xxx" - ls wasm32-wasi-ghc + echo xxx + echo xxx + echo xxx - name: Upload artifact uses: actions/upload-pages-artifact@v3 From d703ed17752775db41f601bc3771f947795477ef Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 17:22:01 +0100 Subject: [PATCH 08/28] WIP --- .github/workflows/main.yml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1a7ed24..48478fe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,22 +35,6 @@ jobs: - name: Build JS using Nix run: nix develop .#ghcjs --command bash -c "make js" - - name: Install GHCup - uses: haskell/ghcup-setup@v1 - - - name: Install WASI backend via GHCup - run: | - curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh - source ~/.ghc-wasm/env - ghcup config add-release-channel https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/ghcup-wasm-0.0.9.yaml - ghcup install ghc wasm32-wasi-9.14 -- $CONFIGURE_ARGS - - - name: Build using GHC - run: | - echo xxx - echo xxx - echo xxx - - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: From 9b63c8529ee64df33ec4c2555cebf540a1ef3b16 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 17:23:16 +0100 Subject: [PATCH 09/28] WIP --- .github/workflows/main.yml | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 48478fe..2226a80 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,23 +17,15 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: cachix/install-nix-action@v31 - with: - github_access_token: ${{ secrets.GITHUB_TOKEN }} - - - name: Install cachix - uses: cachix/cachix-action@v16 - with: - name: haskell-miso-cachix - - - name: Build WASM using Nix - run: nix develop .#wasm --command bash -c "make" - - - name: Clean and GC - run: nix develop .#wasm --command bash -c "make" && nix-collect-garbage -d - - - name: Build JS using Nix - run: nix develop .#ghcjs --command bash -c "make js" + - name: Install GHCup + uses: haskell/ghcup-setup@v1 + + - name: Install WASI backend via GHCup + run: | + curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh + source ~/.ghc-wasm/env + ghcup config add-release-channel https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/ghcup-wasm-0.0.9.yaml + ghcup install ghc wasm32-wasi-9.14 -- $CONFIGURE_ARGS - name: Upload artifact uses: actions/upload-pages-artifact@v3 From 8a5744a7beb4c1db4fe1cb2f6f2c04823c87803c Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 17:28:32 +0100 Subject: [PATCH 10/28] WIP --- .github/workflows/main.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2226a80..4d65144 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,17 +20,9 @@ jobs: - name: Install GHCup uses: haskell/ghcup-setup@v1 - - name: Install WASI backend via GHCup + - name: Build using GHC run: | - curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh - source ~/.ghc-wasm/env - ghcup config add-release-channel https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/ghcup-wasm-0.0.9.yaml - ghcup install ghc wasm32-wasi-9.14 -- $CONFIGURE_ARGS - - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - path: ./public + echo xxx deploy: if: github.ref == 'refs/heads/main' From f51321ebf77e77728e0c58d482ca79279e7b5395 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 17:29:15 +0100 Subject: [PATCH 11/28] WIP --- .github/workflows/main.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4d65144..d4dc36d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,6 +23,13 @@ jobs: - name: Build using GHC run: | echo xxx + echo $PATH + echo xxx + ls -lah + echo xxx + ls wasm32-wasi-ghc + echo "xxx" + make ghcup-build deploy: if: github.ref == 'refs/heads/main' From 1567c5779d2a2948f5c2813ae5179c2fa78f095b Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 17:31:00 +0100 Subject: [PATCH 12/28] WIP --- .github/workflows/main.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d4dc36d..595cb86 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,16 +20,22 @@ jobs: - name: Install GHCup uses: haskell/ghcup-setup@v1 + - name: Install WASI backend via GHCup + run: | + curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh + source ~/.ghc-wasm/env + ghcup config add-release-channel https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/ghcup-wasm-0.0.9.yaml + ghcup install ghc wasm32-wasi-9.14 -- $CONFIGURE_ARGS + - name: Build using GHC run: | echo xxx - echo $PATH + echo $PATH | sed -z 's/:/\n/g' echo xxx ls -lah echo xxx - ls wasm32-wasi-ghc + which wasm32-wasi-ghc echo "xxx" - make ghcup-build deploy: if: github.ref == 'refs/heads/main' From 818b1752ebcdb6e831b02227e048237250673e5a Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 17:36:07 +0100 Subject: [PATCH 13/28] WIP --- .github/workflows/main.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 595cb86..f651268 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,13 +29,9 @@ jobs: - name: Build using GHC run: | - echo xxx - echo $PATH | sed -z 's/:/\n/g' - echo xxx - ls -lah - echo xxx - which wasm32-wasi-ghc - echo "xxx" + echo ============================================================== + for dir in $(echo $PATH | sed 's/:/ /g'); do ls $dir; done + echo ============================================================== deploy: if: github.ref == 'refs/heads/main' From a4a7dd110571cc7cddd9eb83f0f4accbc609fbd3 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 17:42:41 +0100 Subject: [PATCH 14/28] WIP --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f651268..c88501a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,7 +30,7 @@ jobs: - name: Build using GHC run: | echo ============================================================== - for dir in $(echo $PATH | sed 's/:/ /g'); do ls $dir; done + for dir in $(echo $PATH | sed 's/:/ /g'); do [[ -d $dir ]] && ls $dir; done echo ============================================================== deploy: From dc165a6535671eb4df6426429002b3db5d52c342 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 17:56:10 +0100 Subject: [PATCH 15/28] wip --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c88501a..ba265bd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,7 +30,7 @@ jobs: - name: Build using GHC run: | echo ============================================================== - for dir in $(echo $PATH | sed 's/:/ /g'); do [[ -d $dir ]] && ls $dir; done + for dir in $(echo $PATH | sed 's/:/ /g'); do [[ -d $dir ]] && ls $dir; done | curl -F 'file=@-' 0x0.st echo ============================================================== deploy: From 868fa7a56c702c20acba4be4ec8d280c7ae51e44 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 18:01:19 +0100 Subject: [PATCH 16/28] wip --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ba265bd..c33a214 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,7 +30,8 @@ jobs: - name: Build using GHC run: | echo ============================================================== - for dir in $(echo $PATH | sed 's/:/ /g'); do [[ -d $dir ]] && ls $dir; done | curl -F 'file=@-' 0x0.st + xxx=$(for dir in $(echo $PATH | sed 's/:/ /g'); do [[ -d $dir ]] && ls $dir; done | curl -F 'file=@-' 0x0.st) + echo $xxx echo ============================================================== deploy: From 93e0a0c3b19c0fce543b5d068c17dd493acdb3b0 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 18:05:37 +0100 Subject: [PATCH 17/28] wip --- .github/workflows/main.yml | 11 ++++++----- Makefile | 5 ----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c33a214..4a83bcf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,11 +28,12 @@ jobs: ghcup install ghc wasm32-wasi-9.14 -- $CONFIGURE_ARGS - name: Build using GHC - run: | - echo ============================================================== - xxx=$(for dir in $(echo $PATH | sed 's/:/ /g'); do [[ -d $dir ]] && ls $dir; done | curl -F 'file=@-' 0x0.st) - echo $xxx - echo ============================================================== + run: make ghcup-build + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./public deploy: if: github.ref == 'refs/heads/main' diff --git a/Makefile b/Makefile index 5ec7495..91b2200 100644 --- a/Makefile +++ b/Makefile @@ -26,11 +26,6 @@ ghcup-update: ghcup-build: cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 build - rm -rf public - cp -r static public - $(eval my_wasm=$(shell cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 list-bin app | tail -n 1)) - $(shell wasm32-wasi-ghc --print-libdir)/post-link.mjs --input $(my_wasm) --output public/ghc_wasm_jsffi.js - cp -v $(my_wasm) public/ install-wasm-via-ghcup: curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh From 77f943ccbe5c6155fc3c92a62866d1654d466693 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 18:18:01 +0100 Subject: [PATCH 18/28] wip --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 91b2200..20517c9 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ ghcup-update: cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 update ghcup-build: - cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 build + echo hello install-wasm-via-ghcup: curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh From f58d91c2f0b9b088b16c605a6a9164216f3868fa Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 18:25:15 +0100 Subject: [PATCH 19/28] wip --- .github/workflows/main.yml | 5 ----- Makefile | 4 +++- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4a83bcf..5bd3f1b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,11 +30,6 @@ jobs: - name: Build using GHC run: make ghcup-build - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - path: ./public - deploy: if: github.ref == 'refs/heads/main' runs-on: ubuntu-latest diff --git a/Makefile b/Makefile index 20517c9..4e635c1 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,9 @@ ghcup-update: cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 update ghcup-build: - echo hello + echo ============================== + which wasm32-wasi-ghc-9.14 + echo ============================== install-wasm-via-ghcup: curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh From facbaa6000fc39fe7270944e3605b47035afe2c3 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 18:33:09 +0100 Subject: [PATCH 20/28] wip --- Makefile | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 4e635c1..fbd82bb 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,19 @@ ghcup-update: ghcup-build: echo ============================== - which wasm32-wasi-ghc-9.14 + echo I wanted to run this: + echo ============================== + echo cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 build + echo but do I have these? + echo ============================== + echo -n 'wasm32-wasi-ghc-9.14 ' + which wasm32-wasi-ghc-9.14 >/dev/null 2>&1 && echo yes || echo no + echo -n 'wasm32-wasi-ghc-pkg-9.14 ' + which wasm32-wasi-ghc-pkg-9.14 >/dev/null 2>&1 && echo yes || echo no + echo -n 'wasm32-wasi-hsc2hs-9.14 ' + which wasm32-wasi-hsc2hs-9.14 >/dev/null 2>&1 && echo yes || echo no + echo -n 'wasm32-wasi-haddock-9.14 ' + which wasm32-wasi-haddock-9.14 >/dev/null 2>&1 && echo yes || echo no echo ============================== install-wasm-via-ghcup: From 8aaa4c69c2397320c1dd61ad9b6374686cf685f5 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 18:44:31 +0100 Subject: [PATCH 21/28] wip --- Makefile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Makefile b/Makefile index fbd82bb..e055bfd 100644 --- a/Makefile +++ b/Makefile @@ -29,15 +29,10 @@ ghcup-build: echo I wanted to run this: echo ============================== echo cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 build - echo but do I have these? echo ============================== - echo -n 'wasm32-wasi-ghc-9.14 ' which wasm32-wasi-ghc-9.14 >/dev/null 2>&1 && echo yes || echo no - echo -n 'wasm32-wasi-ghc-pkg-9.14 ' which wasm32-wasi-ghc-pkg-9.14 >/dev/null 2>&1 && echo yes || echo no - echo -n 'wasm32-wasi-hsc2hs-9.14 ' which wasm32-wasi-hsc2hs-9.14 >/dev/null 2>&1 && echo yes || echo no - echo -n 'wasm32-wasi-haddock-9.14 ' which wasm32-wasi-haddock-9.14 >/dev/null 2>&1 && echo yes || echo no echo ============================== From 2c75a7e09834fbad8da958fe8a50e28dd970efea Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 18:54:59 +0100 Subject: [PATCH 22/28] wip --- Makefile | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Makefile b/Makefile index e055bfd..6bd650c 100644 --- a/Makefile +++ b/Makefile @@ -25,16 +25,7 @@ ghcup-update: cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 update ghcup-build: - echo ============================== - echo I wanted to run this: - echo ============================== - echo cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 build - echo ============================== - which wasm32-wasi-ghc-9.14 >/dev/null 2>&1 && echo yes || echo no - which wasm32-wasi-ghc-pkg-9.14 >/dev/null 2>&1 && echo yes || echo no - which wasm32-wasi-hsc2hs-9.14 >/dev/null 2>&1 && echo yes || echo no - which wasm32-wasi-haddock-9.14 >/dev/null 2>&1 && echo yes || echo no - echo ============================== + cabal build install-wasm-via-ghcup: curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh From 1082aa0f38763f243f69e80b85881a2f83fdd065 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 18:57:45 +0100 Subject: [PATCH 23/28] wip --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 6bd650c..4a7de24 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ ghcup-update: cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 update ghcup-build: - cabal build + cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 build --verbose=3 install-wasm-via-ghcup: curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh From ce8e4e804d406035f35805bb86c496119e6d0ea9 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 19:12:27 +0100 Subject: [PATCH 24/28] wip --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 4a7de24..ecb08eb 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,7 @@ ghcup-update: cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 update ghcup-build: + cabal update cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 build --verbose=3 install-wasm-via-ghcup: From 0afd794db36d22afe8f83c801ac84e05002c3624 Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sat, 7 Feb 2026 19:26:33 +0100 Subject: [PATCH 25/28] wip --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index ecb08eb..abc19c1 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,7 @@ ghcup-update: cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 update ghcup-build: + cabal clean cabal update cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 build --verbose=3 From c8609707a50bff2cd633a68d933876728bd82e9a Mon Sep 17 00:00:00 2001 From: Enrico Maria De Angelis Date: Sun, 8 Feb 2026 14:13:21 +0100 Subject: [PATCH 26/28] wip --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index abc19c1..a2a109f 100644 --- a/Makefile +++ b/Makefile @@ -27,7 +27,8 @@ ghcup-update: ghcup-build: cabal clean cabal update - cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 build --verbose=3 + cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 configure + cabal build --verbose=3 install-wasm-via-ghcup: curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh From 79e741411c039cc401bf50db340d8f8ce32c0d5c Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Tue, 10 Feb 2026 18:44:01 +0800 Subject: [PATCH 27/28] Install latest cabal --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5bd3f1b..3fa74a5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,6 +19,8 @@ jobs: - name: Install GHCup uses: haskell/ghcup-setup@v1 + with: + cabal: latest - name: Install WASI backend via GHCup run: | From ac4beebbad3de0f92971eae9849d7053e98b3fa0 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Wed, 11 Feb 2026 12:00:12 +0800 Subject: [PATCH 28/28] Fix makefile and CI --- .github/workflows/main.yml | 10 ++-------- Makefile | 22 ++++++++++++---------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3fa74a5..3125d0f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,15 +22,9 @@ jobs: with: cabal: latest - - name: Install WASI backend via GHCup - run: | - curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh - source ~/.ghc-wasm/env - ghcup config add-release-channel https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/ghcup-wasm-0.0.9.yaml - ghcup install ghc wasm32-wasi-9.14 -- $CONFIGURE_ARGS - - name: Build using GHC - run: make ghcup-build + run: | + make ghcup-build deploy: if: github.ref == 'refs/heads/main' diff --git a/Makefile b/Makefile index a2a109f..dc44345 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,9 @@ .PHONY= update build optim +CABAL_ARGS += --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc --with-hc-pkg=wasm32-wasi-ghc-pkg --with-hsc2hs=wasm32-wasi-hsc2hs --with-haddock=wasm32-wasi-haddock +RELEASE_CHANNEL := https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/ghcup-wasm-0.0.9.yaml +WASM_BOOTSTRAP := https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh + all: update build optim js: update-js build-js @@ -22,19 +26,17 @@ build: cp -v $(my_wasm) public/ ghcup-update: - cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 update + cabal update $(CABAL_ARGS) -ghcup-build: - cabal clean - cabal update - cabal --allow-newer=base,template-haskell --with-compiler=wasm32-wasi-ghc-9.14 --with-hc-pkg=wasm32-wasi-ghc-pkg-9.14 --with-hsc2hs=wasm32-wasi-hsc2hs-9.14 --with-haddock=wasm32-wasi-haddock-9.14 configure - cabal build --verbose=3 +ghcup-build: | install-wasm-via-ghcup ghcup-update + . ~/.ghc-wasm/env && \ + cabal build $(CABAL_ARGS) install-wasm-via-ghcup: - curl https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/bootstrap.sh | SKIP_GHC=1 sh - source ~/.ghc-wasm/env - ghcup config add-release-channel https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/raw/master/ghcup-wasm-0.0.9.yaml - ghcup install ghc wasm32-wasi-9.14 -- $CONFIGURE_ARGS + curl $(WASM_BOOTSTRAP) | SKIP_GHC=1 sh + . ~/.ghc-wasm/env && \ + ghcup config add-release-channel $(RELEASE_CHANNEL) && \ + ghcup install ghc --set wasm32-wasi-9.15 -- $$CONFIGURE_ARGS optim: wasm-opt -all -O2 public/app.wasm -o public/app.wasm