diff options
Diffstat (limited to 'packaging/win/build-node-runtime.ps1')
| -rw-r--r-- | packaging/win/build-node-runtime.ps1 | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/packaging/win/build-node-runtime.ps1 b/packaging/win/build-node-runtime.ps1 index 371311b..1171146 100644 --- a/packaging/win/build-node-runtime.ps1 +++ b/packaging/win/build-node-runtime.ps1 @@ -109,6 +109,22 @@ if (-not (Test-Path (Join-Path $frozen "meshbay-node.exe"))) { throw "PyInstaller did not produce meshbay-node.exe at $frozen" } +# --- 3b. licences ---------------------------------------------------- +# The frozen tree is a distribution of every package in it, so each one's +# licence goes with it: MeshBay's own (AGPL for the node, LGPL for the common +# library it embeds) and THIRD-PARTY-NOTICES.txt, generated from the build +# venv's own metadata -- PyAV's wheel, for one, grafts in a GPL FFmpeg build +# (libx264, libx265) that its BSD licence does not mention. PyInstaller's +# bootloader and the interpreter ship too, without being a requirement. +Step "writing licence notices" +Copy-Item (Join-Path $Repo "LICENSE") (Join-Path $frozen "LICENSE.txt") +Copy-Item (Join-Path $Repo "packages\meshbay-common\COPYING.LESSER") (Join-Path $frozen "LICENSE-meshbay-common.txt") +Copy-Item (Join-Path $Repo "packages\meshbay-common\COPYING") (Join-Path $frozen "LICENSE-GPL-3.0.txt") +& $Python (Join-Path $Repo "packaging\third_party_notices.py") ` + -o (Join-Path $frozen "THIRD-PARTY-NOTICES.txt") ` + meshbay-node tzdata --extra pyinstaller --with-python +if ($LASTEXITCODE -ne 0) { throw "third_party_notices.py failed" } + # --- 4. ffmpeg (bundled by default) ----------------------------------- if ($SkipFfmpeg -or $env:MESHBAY_SKIP_FFMPEG -eq "1") { Write-Host " !! ffmpeg not bundled (-SkipFfmpeg) -- the node will look for it on PATH, and streaming needs it installed separately" -ForegroundColor Yellow |