ncursesw-morphos/package/mingw-ncurses.nsi

190 lines
5.4 KiB
Plaintext
Raw Normal View History

ncurses 6.0 - patch 20180121 > terminfo changes: + add xterm+noalt, xterm+titlestack, xterm+alt1049, xterm+alt+title blocks from xterm #331 -TD + add xterm+direct, xterm+indirect, xterm-direct entries from xterm #331 -TD + modify xterm+256color and xterm+256setaf to use correct number of color pairs, for ncurses 6.1 -TD + add rs1 capability to xterm-256color -TD + modify xterm-r5, xterm-r6 and xterm-xf86-v32 to use xterm+kbs to match xterm #272, reflecting packager's changes -TD + remove "boolean" Se, Ss from st-0.7 -TD + add konsole-direct and st-direct -TD + remove unsupported "Tc" capability from st-0.7; use st-direct if direct-colors are wanted -TD + add vte-direct -TD + add XT, hpa, indn, and vpa to screen, and invis, E3 to tmux (patch by Pierre Carru) + use xterm+sm+1006 in xterm-new, vte-2014 -TD + use xterm+x11mouse in iterm, iterm2, mlterm3 because xterm's 1006 mode does not work with those programs. konsole is debatable -TD + add "termite" entry (report by Markus Pfeiffer) -TD > merge branch begun April 2, 2017 which provides these features: + support read/write new binary-format for terminfo which stores numeric capabilities as a signed 32-bit integer. The test programs such as picsmap, ncurses were created or updated during 2017 to use this feature. + the new format is written by the wide-character configuration of tic when it finds a numeric capability larger than 32767. + other applications such as infocmp built with the wide-character ncurses library work as expected. + applications built with the "narrow" (8-bit) configuration will read the new format, but will limit those extended values to 32767. + in either wide/narrow configuration, the structure defined in term.h still uses signed 16-bit values. + because it is incompatible with the legacy (mid-1980s) binary format, a new magic value is provided for the "file" program. + the term.5 manual page is updated to describe this new format. + the limit on file-size for compiled terminfo is increased in the wide-character configuration to 32768.
2018-01-22 09:39:40 +08:00
; $Id: mingw-ncurses.nsi,v 1.252 2018/01/21 00:48:08 tom Exp $
; TODO add examples
; TODO bump ABI to 6
; Define the application name
!define APPNAME "ncurses"
!define EXENAME "ncurses.exe"
!define VERSION_MAJOR "6"
!define VERSION_MINOR "0"
!define VERSION_YYYY "2018"
ncurses 6.0 - patch 20180121 > terminfo changes: + add xterm+noalt, xterm+titlestack, xterm+alt1049, xterm+alt+title blocks from xterm #331 -TD + add xterm+direct, xterm+indirect, xterm-direct entries from xterm #331 -TD + modify xterm+256color and xterm+256setaf to use correct number of color pairs, for ncurses 6.1 -TD + add rs1 capability to xterm-256color -TD + modify xterm-r5, xterm-r6 and xterm-xf86-v32 to use xterm+kbs to match xterm #272, reflecting packager's changes -TD + remove "boolean" Se, Ss from st-0.7 -TD + add konsole-direct and st-direct -TD + remove unsupported "Tc" capability from st-0.7; use st-direct if direct-colors are wanted -TD + add vte-direct -TD + add XT, hpa, indn, and vpa to screen, and invis, E3 to tmux (patch by Pierre Carru) + use xterm+sm+1006 in xterm-new, vte-2014 -TD + use xterm+x11mouse in iterm, iterm2, mlterm3 because xterm's 1006 mode does not work with those programs. konsole is debatable -TD + add "termite" entry (report by Markus Pfeiffer) -TD > merge branch begun April 2, 2017 which provides these features: + support read/write new binary-format for terminfo which stores numeric capabilities as a signed 32-bit integer. The test programs such as picsmap, ncurses were created or updated during 2017 to use this feature. + the new format is written by the wide-character configuration of tic when it finds a numeric capability larger than 32767. + other applications such as infocmp built with the wide-character ncurses library work as expected. + applications built with the "narrow" (8-bit) configuration will read the new format, but will limit those extended values to 32767. + in either wide/narrow configuration, the structure defined in term.h still uses signed 16-bit values. + because it is incompatible with the legacy (mid-1980s) binary format, a new magic value is provided for the "file" program. + the term.5 manual page is updated to describe this new format. + the limit on file-size for compiled terminfo is increased in the wide-character configuration to 32768.
2018-01-22 09:39:40 +08:00
!define VERSION_MMDD "0121"
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
!define MY_ABI "5"
!define MY_MODEL "w"
!define SUBKEY "ncurses"
!define INSTALL "${APPNAME} (Console)"
!define VERSION ${VERSION_MAJOR}.${VERSION_MINOR}
!define VERSION_FULL ${VERSION}-${VERSION_PATCH}
; Main Install settings
Name "${INSTALL}"
InstallDir "c:\mingw"
InstallDirRegKey HKLM "Software\${SUBKEY}" "$INSTDIR\bin"
OutFile "NSIS-Output\${APPNAME}-${VERSION_FULL}-setup.exe"
CRCCheck on
SetCompressor /SOLID lzma
VIAddVersionKey ProductName "${SUBKEY}"
VIAddVersionKey CompanyName "http://invisible-island.net"
VIAddVersionKey FileDescription "NCurses Installer (MinGW)"
VIAddVersionKey FileVersion ${VERSION_FULL}
VIAddVersionKey ProductVersion ${VERSION_FULL}
VIAddVersionKey Comments "This installer was built with NSIS and cross-compiling to MinGW."
VIAddVersionKey InternalName "${APPNAME}-${VERSION_FULL}-setup.exe"
; This is a dotted set of numbers limited to 16-bits each
VIProductVersion "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_YYYY}.${VERSION_MMDD}"
; Modern interface settings
!include "MUI.nsh"
!define MUI_ABORTWARNING
;!define MUI_FINISHPAGE_RUN
;"$INSTDIR\bin\${EXENAME}"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "..\COPYING"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
; Set languages (first is default language)
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_RESERVEFILE_LANGDLL
InstType "Full" ; SectionIn 1
InstType "Typical" ; SectionIn 2
InstType "Minimal" ; SectionIn 3
Section "${APPNAME}" Section1
SectionIn 1 2 3
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR\bin"
File ".\bin\*.dll"
SetOutPath "$INSTDIR\share\${APPNAME}"
File /oname=README.txt "..\README"
File /oname=README-mingw.txt "..\README.mingw"
CreateDirectory "$SMPROGRAMS\${INSTALL}"
CreateShortCut "$SMPROGRAMS\${INSTALL}\${APPNAME}.lnk" "$INSTDIR\bin\${EXENAME}"
CreateShortCut "$SMPROGRAMS\${INSTALL}\Uninstall.lnk" "$INSTDIR\uninstall.exe"
SectionEnd
Section "development" Section2
SectionIn 1 2
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR\share\${APPNAME}"
SetOutPath "$INSTDIR\include\${APPNAME}${MY_MODEL}"
File ".\include\${APPNAME}${MY_MODEL}\*.h"
SetOutPath "$INSTDIR\lib"
File ".\lib\*.a"
SectionEnd
Section "examples" Section3
SectionIn 1
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR\lib\${APPNAME}"
SectionEnd
Section -FinishSection
WriteRegStr HKLM "Software\${SUBKEY}" "" "$INSTDIR"
WriteRegStr HKLM "Software\${SUBKEY}" "Environment" ""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}" "DisplayName" "${APPNAME} ${VERSION_FULL} (Console)"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
; Modern install component descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${Section1} "${SUBKEY} runtime"
!insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Development headers and libraries"
!insertmacro MUI_DESCRIPTION_TEXT ${Section3} "Examples"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;Uninstall section
Section Uninstall
;Remove from registry...
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}"
DeleteRegKey HKLM "SOFTWARE\${SUBKEY}"
; Delete self
Delete "$INSTDIR\uninstall.exe"
; Delete Shortcuts
Delete "$SMPROGRAMS\${INSTALL}\${APPNAME}.lnk"
Delete "$SMPROGRAMS\${INSTALL}\Uninstall.lnk"
; Clean up application
Delete "$INSTDIR\bin\libform${MY_MODEL}${MY_ABI}.dll"
Delete "$INSTDIR\bin\libmenu${MY_MODEL}${MY_ABI}.dll"
Delete "$INSTDIR\bin\libncurses++${MY_MODEL}${MY_ABI}.dll"
Delete "$INSTDIR\bin\libncurses${MY_MODEL}${MY_ABI}.dll"
Delete "$INSTDIR\bin\libpanel${MY_MODEL}${MY_ABI}.dll"
Delete "$INSTDIR\include\${APPNAME}${MY_MODEL}\*.h"
Delete "$INSTDIR\lib\libform${MY_MODEL}.a"
Delete "$INSTDIR\lib\libmenu${MY_MODEL}.a"
Delete "$INSTDIR\lib\libncurses++${MY_MODEL}.a"
Delete "$INSTDIR\lib\libncurses${MY_MODEL}.a"
Delete "$INSTDIR\lib\libpanel${MY_MODEL}.a"
Delete "$INSTDIR\lib\libform${MY_MODEL}.dll.a"
Delete "$INSTDIR\lib\libmenu${MY_MODEL}.dll.a"
Delete "$INSTDIR\lib\libncurses++${MY_MODEL}.dll.a"
Delete "$INSTDIR\lib\libncurses${MY_MODEL}.dll.a"
Delete "$INSTDIR\lib\libpanel${MY_MODEL}.dll.a"
Delete "$INSTDIR\lib\${APPNAME}\*.exe"
Delete "$INSTDIR\share\${APPNAME}\*.*"
; Remove remaining directories
RMDir "$SMPROGRAMS\${INSTALL}"
RMDir "$INSTDIR\share\${APPNAME}"
RMDir "$INSTDIR\share"
RMDir "$INSTDIR\lib\${APPNAME}"
RMDir "$INSTDIR\lib"
RMDir "$INSTDIR\include\${APPNAME}${MY_MODEL}"
RMDir "$INSTDIR\include"
RMDir "$INSTDIR\bin"
RMDir "$INSTDIR\"
SectionEnd