From 83eacc133eb412c6f4a8c374527251ac830e3c25 Mon Sep 17 00:00:00 2001 From: tomo Date: Tue, 30 May 2006 07:08:40 +0000 Subject: [PATCH] Initial revision --- nt/XEmacs.iss | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 nt/XEmacs.iss diff --git a/nt/XEmacs.iss b/nt/XEmacs.iss new file mode 100644 index 0000000..8862b66 --- /dev/null +++ b/nt/XEmacs.iss @@ -0,0 +1,105 @@ +; This script generates an installation kit for a Windows-native XEmacs, version 21.4. +; This script runs with Inno Setup version 5.1.6, see http://www.jrsoftware.org/ for more info. +; +; Version History +; 2006-01-26 Vin Shelton Don't append XEmacs binary directory to system path. +; 2006-01-21 Vin Shelton Append XEmacs binary directory to system path; this is not currently deleted on uninstall. +; Get built kit from C:\XEmacs-built. +; 2005-12-26 Vin Shelton Packages are now installed directly into {app}\xemacs-packages, etc. As of 21.4.19, the package root is found automatically, so EMACSPACKAGEPATH is no longer necessary. +; 2005-12-17 Vin Shelton Move packages out of the version-specific tree +; 2005-12-13 Vin Shelton Created. + +[Setup] +AppName=XEmacs +AppVersion={code:XEmacsVersion} +AppVerName=XEmacs {code:XEmacsVersion} +AppPublisher=The XEmacs Development Team +AppPublisherURL=http://www.xemacs.org +AppSupportURL=http://www.xemacs.org +AppUpdatesURL=http://www.xemacs.org +DefaultDirName={pf}\XEmacs +DefaultGroupName=XEmacs +AllowNoIcons=yes +OutputDir=. +OutputBaseFilename=XEmacs Setup 21.4.19 +Compression=lzma +SolidCompression=yes +InfoAfterFile=README + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked +Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Files] +; Before you run this script, XEmacs-21.4 must be installed in C:\XEmacs-built\XEmacs-21.4.xx +; and any packages you want to include must be installed in C:\XEmacs-built\{xemacs,mule,site}-packages +Source: "C:\XEmacs-built\*"; Excludes: "C:\XEmacs-built\XEmacs-21.5*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[INI] +Filename: "{app}\xemacs.url"; Section: "InternetShortcut"; Key: "URL"; String: "http://www.xemacs.org" + +[Icons] +Name: "{group}\XEmacs"; Filename: "{app}\XEmacs-{code:XEmacsVersion}\i586-pc-win32\xemacs.exe" +Name: "{group}\{cm:ProgramOnTheWeb,XEmacs}"; Filename: "{app}\xemacs.url" +Name: "{group}\{cm:UninstallProgram,XEmacs}"; Filename: "{uninstallexe}" +Name: "{userdesktop}\XEmacs"; Filename: "{app}\XEmacs-{code:XEmacsVersion}\i586-pc-win32\xemacs.exe"; Tasks: desktopicon +Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\XEmacs"; Filename: "{app}\XEmacs-{code:XEmacsVersion}\i586-pc-win32\xemacs.exe"; Tasks: quicklaunchicon + +[Registry] +; Set a registry key to point to the packages so they can be shared between multiple installed versions of XEmacs +; This is no longer necessary as of version 21.4.19. +;Root: HKLM; Subkey: "Software\XEmacs\XEmacs"; ValueType: string; ValueName: "EMACSPACKAGEPATH"; ValueData: "{app}\Packages"; Flags: uninsdeletekey +; Don't fiddle with the system path +;Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\XEmacs-{code:XEmacsVersion}\i586-pc-win32" + + +[Run] +Filename: "{app}\XEmacs-{code:XEmacsVersion}\i586-pc-win32\xemacs.exe"; Description: "{cm:LaunchProgram,XEmacs}"; Flags: nowait postinstall skipifsilent + +[UninstallDelete] +Type: files; Name: "{app}\xemacs.url" + +[Code] +function XEmacsVersion(Param: String): String; +begin + Result := '21.4.19'; +end; + +procedure CurStepChanged(CurStep: TSetupStep); +var + BinDir: String; + EtcDir: String; + InstallBase: String; + SiteStart: String; +begin + + // Create a site-start.el file to allow easy package downloading in the future and to add the binary directory to exec-path. + // E.g, here's what we're going to add to lisp\site-start.el: + // (setq package-get-package-index-file-location "C:\\Program Files\XEmacs\\XEmacs-21.4.98\\etc") + // ; Uncomment the next line to select the primary XEmacs package download site + // ;(setq package-get-remote '("ftp.xemacs.org" "pub/xemacs/packages")) + if CurStep = ssPostInstall then begin + + // Convert directory names to lisp format by doubling each backslash + InstallBase := WizardDirValue + '\XEmacs-' + XEmacsVersion(''); + StringChange(InstallBase, '\', '\\'); + EtcDir := InstallBase + '\\etc'; + //BinDir := InstallBase + '\\i586-pc-win32\\'; + + SiteStart := WizardDirValue + '\site-packages\lisp'; + CreateDir(SiteStart); + SiteStart := SiteStart + '\site-start.el'; + + SaveStringToFile(SiteStart, #13#10 + '(setq package-get-package-index-file-location "' + EtcDir + '")' + #13#10, True); + SaveStringToFile(SiteStart, '; Uncomment the next line to select the primary XEmacs package download site' + #13#10, True); + SaveStringToFile(SiteStart, ';(setq package-get-remote ' + Chr(39) + '("ftp.xemacs.org" "pub/xemacs/packages"))' + #13#10, True); + + //SaveStringToFile(SiteStart, '(pushnew "' + BinDir + '" exec-path)' + #13#10, True); + end; +end; + + -- 1.7.10.4