Ship the GPL text, and show it in the installer

The repository declared GPL-3.0-or-later and carried no copy of it;
the Arch package pointed at the system's shared text and nothing else
needed one. The installer does: a licence page needs a file to show,
and the moment before installation is where the terms can still change
a decision. The standard text, at the root where every convention
looks for it, converted to CRLF at packaging time because a Windows
edit control draws a bare LF as nothing.
This commit is contained in:
2026-09-12 07:34:10 +02:00
parent b396096787
commit 6609aa9acf
3 changed files with 241 additions and 6 deletions
+6 -6
View File
@@ -6,13 +6,8 @@
;
; makensis -DVERSION=0.12.0 -DSTAGE=/path/to/staging -DOUT=/path/to/setup.exe darkroom.nsi
;
; STAGE holds exactly what §5.2 installs: darkroom.exe and models\.
; STAGE holds exactly what §5.2 installs: darkroom.exe, models\ and LICENSE.
; package.sh assembles it and applies the LFS-pointer guard before this runs.
;
; No licence page yet: the repository carries no LICENSE file (the Arch package
; points at the system's shared GPL text), and a page needs a file to show.
; Adding one at the root is the whole change; `!insertmacro MUI_PAGE_LICENSE`
; then goes before the directory page.
; A 64-bit installer, not NSIS's default 32-bit stub. The application is
; x86_64 only, so nothing is lost; and it means the smoke test runs under a
@@ -60,6 +55,9 @@ VIAddVersionKey "FileDescription" "${NAME} installer"
!include "MUI2.nsh"
!define MUI_ABORTWARNING
; The GPL, shown rather than linked, for the same reason faces.md §2.2 gives
; for the model grant: the moment it can still change a decision.
!insertmacro MUI_PAGE_LICENSE "${STAGE}\LICENSE"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_UNPAGE_CONFIRM
@@ -70,6 +68,7 @@ Section "DarkRoom" SecMain
SectionIn RO
SetOutPath "$INSTDIR"
File "${STAGE}\darkroom.exe"
File "${STAGE}\LICENSE"
; The seven model files (four face, three scene), beside the executable,
; which is where `library::system_face_models_dirs` looks on Windows —
@@ -112,6 +111,7 @@ Section "Uninstall"
; building is the destructive default this project argues against
; everywhere else, so the confirm page says where those directories are.
Delete "$INSTDIR\darkroom.exe"
Delete "$INSTDIR\LICENSE"
Delete "$INSTDIR\uninstall.exe"
RMDir /r "$INSTDIR\models"
RMDir "$INSTDIR"