From 56b38a461e89fb1438f9406a1f1f44aa3681bdf6 Mon Sep 17 00:00:00 2001 From: "Andrew D. France" Date: Wed, 10 Jun 2026 18:47:59 -0500 Subject: [PATCH 1/6] fennel: Add version 1.6.1 --- bucket/fennel.json | 65 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 bucket/fennel.json diff --git a/bucket/fennel.json b/bucket/fennel.json new file mode 100644 index 00000000000000..3e1b5a423664ea --- /dev/null +++ b/bucket/fennel.json @@ -0,0 +1,65 @@ +{ + "version": "1.6.1", + "description": "A lisp that compiles to Lua. Brings together the speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and macro system.", + "homepage": "https://fennel-lang.org", + "license": "MIT", + "url": "https://git.sr.ht/~technomancy/fennel/archive/1.6.1.tar.gz", + "hash": "sha256:f0f188e9a4424851d9263ab69302b6b2ffc5c6efb67a25fffc52187a29c94024", + "extract_dir": "fennel-1.6.1", + "depends": [ + "lua", + "gnupg" + ], + "pre_install": [ + "Push-Location \"$dir\"", + "$gpg_exe = (Get-Command gpg.exe | Where-Object { $_.Source -notmatch 'mingw|usr.bin' } | Select-Object -First 1).Source", + "if (-not $gpg_exe) { throw 'gpg.exe not found; install gnupg via Scoop' }", + "$gnupg_home = Join-Path $dir '.gnupg'", + "New-Item -ItemType Directory -Force -Path $gnupg_home | Out-Null", + "$gpg_wrapper = Join-Path $dir 'gpg-verify.cmd'", + "[System.IO.File]::WriteAllText($gpg_wrapper, \"@echo off`r`n`\"$gpg_exe`\" --homedir `\"$gnupg_home`\" %*`r`n\")", + "& $gpg_exe --homedir $gnupg_home --keyserver hkps://keys.openpgp.org --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F", + "if ($LASTEXITCODE -ne 0) { throw 'GPG key fetch failed' }", + "Write-Output '9D13D9426A0814B3373CF5E3D8A8243577A7859F:6:' | & $gpg_exe --homedir $gnupg_home --import-ownertrust", + "if ($LASTEXITCODE -ne 0) { throw 'GPG ownertrust import failed' }", + "git init", + "git config --local gpg.program $gpg_wrapper", + "git remote add origin https://git.sr.ht/~technomancy/fennel", + "git fetch --depth 1 origin tag $version", + "git verify-tag $version", + "if ($LASTEXITCODE -ne 0) { throw 'signature verification failed' }", + "git reset --hard $version", + "$env:FENNEL_PATH = 'src/?.fnl'", + "$env:FENNEL_MACRO_PATH = 'src/?.fnl'", + "cmd.exe /c \"lua bootstrap/aot.lua src/fennel/view.fnl > bootstrap/view.lua\"", + "if ($LASTEXITCODE -ne 0) { throw 'failed to precompile view' }", + "cmd.exe /c \"lua bootstrap/aot.lua src/fennel/macros.fnl --macro > bootstrap/macros.lua\"", + "if ($LASTEXITCODE -ne 0) { throw 'failed to precompile macros' }", + "cmd.exe /c \"lua bootstrap/aot.lua src/fennel/match.fnl --macro > bootstrap/match.lua\"", + "if ($LASTEXITCODE -ne 0) { throw 'failed to precompile match' }", + "$header = \"#!/usr/bin/env lua`n-- SPDX-License-Identifier: MIT`n-- SPDX-FileCopyrightText: Calvin Rose and contributors`n\"", + "[System.IO.File]::WriteAllText(\"$dir\\fennel.lua\", $header)", + "cmd.exe /c \"lua bootstrap/aot.lua src/launcher.fnl --require-as-include >> fennel.lua\"", + "if ($LASTEXITCODE -ne 0) { throw 'fennel compilation failed' }", + "$cmd = \"@echo off`r`nlua `\"%~dp0fennel.lua`\" %*\"", + "[System.IO.File]::WriteAllText(\"$dir\\fennel.cmd\", $cmd)", + "Pop-Location" + ], + "bin": [ + [ + "fennel.cmd", + "fennel" + ] + ], + "checkver": { + "url": "https://git.sr.ht/~technomancy/fennel", + "regex": ">(\\d+\\.\\d+\\.\\d+)<\\/a>\\s*·\\s*release notes" + }, + "autoupdate": { + "url": "https://git.sr.ht/~technomancy/fennel/archive/$version.tar.gz", + "extract_dir": "fennel-$version", + "hash": { + "url": "$url.sha256" + } + } +} \ No newline at end of file From 4f615331eb60808a079d499bdc02af4a7c033e21 Mon Sep 17 00:00:00 2001 From: "Andrew D. France" Date: Wed, 10 Jun 2026 19:18:25 -0500 Subject: [PATCH 2/6] fix(fennel): update checkver regex and autoupdate config --- bucket/fennel.json | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/bucket/fennel.json b/bucket/fennel.json index 3e1b5a423664ea..4ea9ad04c31bde 100644 --- a/bucket/fennel.json +++ b/bucket/fennel.json @@ -52,14 +52,11 @@ ] ], "checkver": { - "url": "https://git.sr.ht/~technomancy/fennel", - "regex": ">(\\d+\\.\\d+\\.\\d+)<\\/a>\\s*·\\s*release notes" + "url": "https://git.sr.ht/~technomancy/fennel/refs", + "regex": "archive/([\\d.]+)\\.tar\\.gz" }, "autoupdate": { "url": "https://git.sr.ht/~technomancy/fennel/archive/$version.tar.gz", - "extract_dir": "fennel-$version", - "hash": { - "url": "$url.sha256" - } + "extract_dir": "fennel-$version" } } \ No newline at end of file From 19071dd2219f643e98353c0226f2e99d5f1e9d83 Mon Sep 17 00:00:00 2001 From: "Andrew D. France" Date: Wed, 10 Jun 2026 19:27:47 -0500 Subject: [PATCH 3/6] Another Change. --- bucket/fennel.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bucket/fennel.json b/bucket/fennel.json index 4ea9ad04c31bde..d22fd2d64e44a9 100644 --- a/bucket/fennel.json +++ b/bucket/fennel.json @@ -12,20 +12,20 @@ ], "pre_install": [ "Push-Location \"$dir\"", + "function Invoke-Retry([scriptblock]$Script, [string]$ErrorMsg) { for($i=1; $i -le 3; $i++) { & $Script; if ($LASTEXITCODE -eq 0) { return }; if ($i -lt 3) { Write-Host \"Attempt $i failed, retrying in $($i*2)s...\"; Start-Sleep -Seconds ($i*2) } }; throw $ErrorMsg }", "$gpg_exe = (Get-Command gpg.exe | Where-Object { $_.Source -notmatch 'mingw|usr.bin' } | Select-Object -First 1).Source", "if (-not $gpg_exe) { throw 'gpg.exe not found; install gnupg via Scoop' }", "$gnupg_home = Join-Path $dir '.gnupg'", "New-Item -ItemType Directory -Force -Path $gnupg_home | Out-Null", "$gpg_wrapper = Join-Path $dir 'gpg-verify.cmd'", "[System.IO.File]::WriteAllText($gpg_wrapper, \"@echo off`r`n`\"$gpg_exe`\" --homedir `\"$gnupg_home`\" %*`r`n\")", - "& $gpg_exe --homedir $gnupg_home --keyserver hkps://keys.openpgp.org --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F", - "if ($LASTEXITCODE -ne 0) { throw 'GPG key fetch failed' }", + "Invoke-Retry { & $gpg_exe --homedir $gnupg_home --keyserver hkps://keys.openpgp.org --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F } 'GPG key fetch failed'", "Write-Output '9D13D9426A0814B3373CF5E3D8A8243577A7859F:6:' | & $gpg_exe --homedir $gnupg_home --import-ownertrust", "if ($LASTEXITCODE -ne 0) { throw 'GPG ownertrust import failed' }", "git init", "git config --local gpg.program $gpg_wrapper", "git remote add origin https://git.sr.ht/~technomancy/fennel", - "git fetch --depth 1 origin tag $version", + "Invoke-Retry { git fetch --depth 1 origin tag $version } 'Git fetch failed'", "git verify-tag $version", "if ($LASTEXITCODE -ne 0) { throw 'signature verification failed' }", "git reset --hard $version", From bacc7c9591963bd2d320f9b4519d91a553e27b84 Mon Sep 17 00:00:00 2001 From: "Andrew D. France" Date: Wed, 10 Jun 2026 19:39:16 -0500 Subject: [PATCH 4/6] fix(fennel):remove Write-Host for the linter . --- bucket/fennel.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bucket/fennel.json b/bucket/fennel.json index d22fd2d64e44a9..6a84f602450576 100644 --- a/bucket/fennel.json +++ b/bucket/fennel.json @@ -12,7 +12,7 @@ ], "pre_install": [ "Push-Location \"$dir\"", - "function Invoke-Retry([scriptblock]$Script, [string]$ErrorMsg) { for($i=1; $i -le 3; $i++) { & $Script; if ($LASTEXITCODE -eq 0) { return }; if ($i -lt 3) { Write-Host \"Attempt $i failed, retrying in $($i*2)s...\"; Start-Sleep -Seconds ($i*2) } }; throw $ErrorMsg }", + "function Invoke-Retry([scriptblock]$Script, [string]$ErrorMsg) { for($i=1; $i -le 3; $i++) { & $Script; if ($LASTEXITCODE -eq 0) { return }; if ($i -lt 3) { Start-Sleep -Seconds ($i*2) } }; throw $ErrorMsg }", "$gpg_exe = (Get-Command gpg.exe | Where-Object { $_.Source -notmatch 'mingw|usr.bin' } | Select-Object -First 1).Source", "if (-not $gpg_exe) { throw 'gpg.exe not found; install gnupg via Scoop' }", "$gnupg_home = Join-Path $dir '.gnupg'", From b3668d9e789c0ee3a03bae7fe326d9b2398c5b9c Mon Sep 17 00:00:00 2001 From: "Andrew D. France" Date: Wed, 10 Jun 2026 19:45:53 -0500 Subject: [PATCH 5/6] style(fennel): format manifest via formatjson.ps11 --- bucket/fennel.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bucket/fennel.json b/bucket/fennel.json index 6a84f602450576..5422f3049bd9f4 100644 --- a/bucket/fennel.json +++ b/bucket/fennel.json @@ -59,4 +59,4 @@ "url": "https://git.sr.ht/~technomancy/fennel/archive/$version.tar.gz", "extract_dir": "fennel-$version" } -} \ No newline at end of file +} From ea682f09d6d3b01aa300408cddc1700d2b60d6c9 Mon Sep 17 00:00:00 2001 From: "Andrew D. France" Date: Wed, 10 Jun 2026 19:57:28 -0500 Subject: [PATCH 6/6] removed Push-Location and Pop-Location --- bucket/fennel.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/bucket/fennel.json b/bucket/fennel.json index 5422f3049bd9f4..bf8a8c324f5be9 100644 --- a/bucket/fennel.json +++ b/bucket/fennel.json @@ -8,10 +8,10 @@ "extract_dir": "fennel-1.6.1", "depends": [ "lua", - "gnupg" + "gnupg", + "git" ], "pre_install": [ - "Push-Location \"$dir\"", "function Invoke-Retry([scriptblock]$Script, [string]$ErrorMsg) { for($i=1; $i -le 3; $i++) { & $Script; if ($LASTEXITCODE -eq 0) { return }; if ($i -lt 3) { Start-Sleep -Seconds ($i*2) } }; throw $ErrorMsg }", "$gpg_exe = (Get-Command gpg.exe | Where-Object { $_.Source -notmatch 'mingw|usr.bin' } | Select-Object -First 1).Source", "if (-not $gpg_exe) { throw 'gpg.exe not found; install gnupg via Scoop' }", @@ -42,8 +42,7 @@ "cmd.exe /c \"lua bootstrap/aot.lua src/launcher.fnl --require-as-include >> fennel.lua\"", "if ($LASTEXITCODE -ne 0) { throw 'fennel compilation failed' }", "$cmd = \"@echo off`r`nlua `\"%~dp0fennel.lua`\" %*\"", - "[System.IO.File]::WriteAllText(\"$dir\\fennel.cmd\", $cmd)", - "Pop-Location" + "[System.IO.File]::WriteAllText(\"$dir\\fennel.cmd\", $cmd)" ], "bin": [ [