Commit 9e4e2c24 authored by ian@well-typed.com's avatar ian@well-typed.com

Remove the Windows installer

We now leave making installers to the Haskell Platform.
parent db14f97e
...@@ -901,7 +901,7 @@ if grep ' ' compiler/ghc.cabal.in 2>&1 >/dev/null; then ...@@ -901,7 +901,7 @@ if grep ' ' compiler/ghc.cabal.in 2>&1 >/dev/null; then
AC_MSG_ERROR([compiler/ghc.cabal.in contains tab characters; please remove them]) AC_MSG_ERROR([compiler/ghc.cabal.in contains tab characters; please remove them])
fi fi
AC_CONFIG_FILES([mk/config.mk mk/install.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal utils/runghc/runghc.cabal ghc.spec settings docs/users_guide/ug-book.xml docs/users_guide/ug-ent.xml docs/index.html libraries/prologue.txt distrib/ghc.iss distrib/configure.ac]) AC_CONFIG_FILES([mk/config.mk mk/install.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal utils/runghc/runghc.cabal ghc.spec settings docs/users_guide/ug-book.xml docs/users_guide/ug-ent.xml docs/index.html libraries/prologue.txt distrib/configure.ac])
AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h]) AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h])
AC_OUTPUT AC_OUTPUT
......
; Inno Setup documentation: http://www.jrsoftware.org/ishelp/
[Setup]
AppName=GHC
AppVerName=GHC @ProjectVersion@
DefaultDirName={sd}\ghc\ghc-@ProjectVersion@
UsePreviousAppDir=no
DefaultGroupName=GHC
UninstallDisplayIcon={app}\bin\ghci.exe
Compression=lzma
SolidCompression=yes
PrivilegesRequired=none
ChangesAssociations=yes
ChangesEnvironment=yes
LicenseFile=distrib/windows-installer-licences.txt
; tasks can be disabled selectively
[Tasks]
Name: fileassoc; Description: "Associate with .hs/.lhs files"
Name: fileassoc\default; Description: "Make this version of GHCi the default"
Name: fileassoc\addon; Description: "Add versioned GHCi to right-click menu"
Name: fileassoc\icon; Description: "Add icon"
Name: path; Description: "Add bin directories to PATH"
; install main payload, license file and icon
[Files]
Source: "bindistprep\ghc-@ProjectVersion@\*"; DestDir: "{app}"; Flags: recursesubdirs
Source: "distrib\windows-installer-licences.txt"; DestDir: "{app}\doc"
Source: "distrib\hsicon.ico"; DestDir: "{app}\icons"
; Start Menu shortcuts
[Icons]
Name: "{group}\@ProjectVersion@\GHCi"; Filename: "{app}\bin\ghci.exe"; WorkingDir: "{app}\bin"
Name: "{group}\@ProjectVersion@\GHC Documentation"; Filename: "{app}\doc\html\index.html"
Name: "{group}\@ProjectVersion@\GHC Library Documentation"; Filename: "{app}\doc\html\libraries\index.html"
Name: "{group}\@ProjectVersion@\GHC Flag Reference"; Filename: "{app}\doc\html\users_guide\flag-reference.html"
[Registry]
; set up file associations
; this does _not_ entirely follow the "play nice" proposal (cf. ticket #916)
; future version should
Root: HKCR; Subkey: ".hs"; ValueType: string; ValueName: ""; ValueData: "ghc_haskell"; Flags: uninsdeletevalue; Tasks: fileassoc
Root: HKCR; Subkey: ".lhs"; ValueType: string; ValueName: ""; ValueData: "ghc_haskell"; Flags: uninsdeletevalue; Tasks: fileassoc
Root: HKCR; Subkey: "ghc_haskell"; ValueType: string; ValueName: ""; ValueData: "Haskell Source File"; Flags: uninsdeletekeyifempty; Tasks: fileassoc
; make this GHCi the default action
Root: HKCR; Subkey: "ghc_haskell\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ghci.exe"" ""%1"""; Flags: uninsdeletevalue; Tasks: fileassoc\default
; add versioned GHCi entry to right-click menu
Root: HKCR; Subkey: "ghc_haskell\shell\Open with GHCi @ProjectVersion@"; ValueType: none; ValueName: ""; ValueData: ""; Flags: uninsdeletekey; Tasks: fileassoc\addon
Root: HKCR; Subkey: "ghc_haskell\shell\Open with GHCi @ProjectVersion@\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ghci.exe"" ""%1"""; Flags: uninsdeletevalue; Tasks: fileassoc\addon
; associate file type with icon
Root: HKCR; Subkey: "ghc_haskell\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\icons\hsicon.ico"; Tasks: fileassoc\icon
; these flags were always set in the past, by the installer
; some programs may rely on them to find GHC
Root: HKCU; Subkey: "Software\Haskell\GHC\ghc-@ProjectVersion@"; ValueType: string; ValueName: "InstallDir"; ValueData: "{app}"; Flags: uninsdeletekey
Root: HKCU; Subkey: "Software\Haskell\GHC"; ValueType: string; ValueName: "InstallDir"; ValueData: "{app}"; Flags: uninsdeletevalue
; set the PATH variable, for both GHC and Cabal
Root: HKCU; Subkey: "Environment"; ValueName: "Path"; ValueType: "string"; ValueData: "{app}\bin;{olddata}"; Check: NotOnPathAlready('{app}\bin'); Flags: preservestringtype; Tasks: path
Root: HKCU; Subkey: "Environment"; ValueName: "Path"; ValueType: "string"; ValueData: "{pf}\Haskell\bin;{olddata}"; Check: NotOnPathAlready('{pf}\Haskell\bin'); Flags: preservestringtype; Tasks: path
; stolen from Gtk2Hs, I'm sure they like us :-)
; @dcoutts++
[Code]
function NotOnPathAlready(NewValue : String): Boolean;
var
Path: String;
begin
// Log('Checking if Gtk2Hs\bin dir is already on the %PATH%');
if RegQueryStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', Path) then
begin // Successfully read the value
// Log('HKCU\Environment\PATH = ' + Path);
NewValue := ExpandConstant(NewValue);
// Log('Looking for Gtk2Hs\bin dir in %PATH%: ' + BinDir + ' in ' + Path);
if Pos(LowerCase(NewValue), Lowercase(Path)) = 0 then
begin
// Log('Did not find Gtk2Hs\bin dir in %PATH% so will add it');
Result := True;
end
else
begin
// Log('Found Gtk2Hs bin dir in %PATH% so will not add it again');
Result := False;
end
end
else // The key probably doesn't exist
begin
// Log('Could not access HKCU\Environment\PATH so assume it is ok to add it');
Result := True;
end;
end;
This diff is collapsed.
...@@ -999,13 +999,6 @@ windows-binary-dist-prep: ...@@ -999,13 +999,6 @@ windows-binary-dist-prep:
$(MAKE) prefix=$(TOP)/$(BIN_DIST_PREP_DIR) install $(MAKE) prefix=$(TOP)/$(BIN_DIST_PREP_DIR) install
cd bindistprep && "$(TAR_CMD)" cf - $(BIN_DIST_NAME) | bzip2 -c > ../$(BIN_DIST_PREP_TAR_BZ2) cd bindistprep && "$(TAR_CMD)" cf - $(BIN_DIST_NAME) | bzip2 -c > ../$(BIN_DIST_PREP_TAR_BZ2)
windows-installer:
ifeq "$(ISCC_CMD)" ""
@echo No ISCC_CMD, so not making installer
else
"$(ISCC_CMD)" /O. /Fbindistprep/$(WINDOWS_INSTALLER_BASE) - < distrib/ghc.iss
endif
# tryTimes tries to run its third argument multiple times, until it # tryTimes tries to run its third argument multiple times, until it
# succeeds. Don't call it directly; call try10Times instead. # succeeds. Don't call it directly; call try10Times instead.
# The first and second argument to tryTimes are lists of values. # The first and second argument to tryTimes are lists of values.
...@@ -1023,9 +1016,6 @@ try10Times = $(call tryTimes,,x x x x x x x x x x,$1) { echo Failed; false; } ...@@ -1023,9 +1016,6 @@ try10Times = $(call tryTimes,,x x x x x x x x x x,$1) { echo Failed; false; }
.PHONY: publish-binary-dist .PHONY: publish-binary-dist
publish-binary-dist: publish-binary-dist:
$(call try10Times,$(PublishCp) $(BIN_DIST_TAR_BZ2) $(PublishLocation)/dist) $(call try10Times,$(PublishCp) $(BIN_DIST_TAR_BZ2) $(PublishLocation)/dist)
ifeq "$(mingw32_TARGET_OS)" "1"
$(call try10Times,$(PublishCp) $(WINDOWS_INSTALLER) $(PublishLocation)/dist)
endif
ifeq "$(mingw32_TARGET_OS)" "1" ifeq "$(mingw32_TARGET_OS)" "1"
DOCDIR_TO_PUBLISH = $(BIN_DIST_INST_DIR)/doc DOCDIR_TO_PUBLISH = $(BIN_DIST_INST_DIR)/doc
......
...@@ -385,9 +385,6 @@ BIN_DIST_PREP_TAR_BZ2 = $(BIN_DIST_PREP_TAR).bz2 ...@@ -385,9 +385,6 @@ BIN_DIST_PREP_TAR_BZ2 = $(BIN_DIST_PREP_TAR).bz2
BIN_DIST_TAR_BZ2 = $(BIN_DIST_NAME)-$(TARGETPLATFORM).tar.bz2 BIN_DIST_TAR_BZ2 = $(BIN_DIST_NAME)-$(TARGETPLATFORM).tar.bz2
BIN_DIST_LIST = bindist-list BIN_DIST_LIST = bindist-list
WINDOWS_INSTALLER_BASE = ghc-$(ProjectVersion)-$(TargetArch_CPP)-windows
WINDOWS_INSTALLER = $(WINDOWS_INSTALLER_BASE)$(exeext)
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Utilities programs: flags # Utilities programs: flags
...@@ -686,10 +683,6 @@ HSCOLOUR_CMD = @HSCOLOUR@ ...@@ -686,10 +683,6 @@ HSCOLOUR_CMD = @HSCOLOUR@
TIME_CMD = @TimeCmd@ TIME_CMD = @TimeCmd@
# Set this if you want to use Inno Setup to build a Windows installer
# when you make a bindist
ISCC_CMD =
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# DocBook XML stuff # DocBook XML stuff
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment