Skip to content
This repository was archived by the owner on Oct 29, 2024. It is now read-only.

Commit 0d9675f

Browse files
committed
Add optional component for installing the docs.
They are still installed by default, but can be manually deselected.
1 parent 796397d commit 0d9675f

File tree

2 files changed

+28
-8
lines changed

2 files changed

+28
-8
lines changed

CHANGES.md

+10-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,19 @@ Changelog for the Windows Installer
44
0.5.0 (unreleased)
55
------------------
66

7+
* Debug symbols, which are not needed at runtime, are stripped from most
8+
binaries, resulting in a noticeably smaller install footprint. Now the
9+
installer and the installation itself are smaller despite packing in more
10+
features!
11+
712
* Includes a copy of `git` in the SageMath Shell, so no need to install a
813
separate Git or integrate an existing Git for Windows installation.
914

15+
* Installing the HTML documentation is now optional. Although some help
16+
features won't work without it, it saves about 600 MB of installation
17+
size, and if you have an internet connection you can still read the docs
18+
at doc.sagemath.org.
19+
1020
* Updates to use a few more Cygwin system packages rather than including
1121
Sage-specific copies, including:
1222

@@ -22,9 +32,6 @@ Changelog for the Windows Installer
2232
We still build our own copies of MPIR and anything that depends on it,
2333
as there are still too many bugs with the system GMP on Cygwin.
2434

25-
* Debug symbols, which are not needed at runtime, are stripped from most
26-
binaries, resulting in a noticeably smaller install footprint.
27-
2835

2936
0.4.3 (2019-05-06)
3037
------------------

SageMath.iss

+18-5
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,12 @@
5656

5757
#define Runtime "{app}\runtime"
5858
#define Bin Runtime + "\bin"
59-
#define SageRootWin Runtime + "\opt\sagemath-" + MyAppVersion
59+
#define SageRoot "\opt\sagemath-" + MyAppVersion
60+
#define SageRootWin Runtime + SageRoot
6061
#define SageRootPosix "/opt/sagemath-" + MyAppVersion
6162

63+
#define SageDoc SageRoot + "\local\share\doc\sage\html"
64+
6265
[Setup]
6366
AppCopyright={#MyAppPublisher}
6467
AppId={#MyAppName}-{#MyAppVersion}
@@ -79,6 +82,7 @@ DisableWelcomePage=no
7982
DiskSpanning={#DiskSpanning}
8083
OutputDir={#OutputDir}
8184
OutputBaseFilename={#MyAppName}-{#MyAppVersion}-Installer-v{#InstallerVersion}
85+
OutputManifestFile=SageMath-Manifest.txt
8286
PrivilegesRequired=lowest
8387
Compression={#Compression}
8488
SolidCompression=yes
@@ -94,14 +98,23 @@ LicenseFile="{#Source}\opt\sagemath-{#SageVersion}\COPYING.txt"
9498
[Languages]
9599
Name: "english"; MessagesFile: "compiler:Default.isl"
96100

101+
[Types]
102+
Name: "full"; Description: "Full installation"
103+
Name: "custom"; Description: "Custom installation"; Flags: iscustom
104+
105+
[Components]
106+
Name: "sage"; Description: "SageMath Core"; Types: full custom; Flags: fixed
107+
Name: "sagedoc"; Description: "SageMath HTML Documentation"; Types: full
108+
97109
[Tasks]
98110
Name: startmenu; Description: "Create &start menu icons"; GroupDescription: "Additional icons"
99111
Name: desktop; Description: "Create &desktop icons"; GroupDescription: "Additional icons"
100112

101113
[Files]
102-
Source: "dot_sage\*"; DestDir: "{#SageRootWin}\dot_sage"; Flags: recursesubdirs ignoreversion
103-
Source: "{#Source}\*"; DestDir: "{#Runtime}"; Excludes: "{#SageExcludes}"; Flags: recursesubdirs ignoreversion
104-
Source: "resources\sagemath.ico"; DestDir: "{app}"; Flags: ignoreversion; AfterInstall: PostInstall
114+
Source: "dot_sage\*"; DestDir: "{#SageRootWin}\dot_sage"; Flags: recursesubdirs ignoreversion; Components: sage
115+
Source: "{#Source}\*"; DestDir: "{#Runtime}"; Excludes: "{#SageExcludes},{#SageDoc}"; Flags: recursesubdirs ignoreversion; Components: sage
116+
Source: "{#Source}{#SageDoc}\*"; DestDir: "{#Runtime}"; Flags: recursesubdirs ignoreversion; Components: sagedoc
117+
Source: "resources\sagemath.ico"; DestDir: "{app}"; Flags: ignoreversion; AfterInstall: PostInstall; Components: sage
105118

106119
; InnoSetup will not create empty directories found when including files
107120
; recursively in the [Files] section, so any directories that must exist
@@ -125,7 +138,7 @@ Name: "{#Runtime}\home\sage"; Permissions: users-modify
125138
Type: filesandordirs; Name: "{#Runtime}\etc\fstab.d"
126139
Type: filesandordirs; Name: "{#Runtime}\dev\shm"
127140
Type: filesandordirs; Name: "{#Runtime}\dev\mqueue"
128-
Type: files; Name: "{#Runtime}\*.stackdump
141+
Type: files; Name: "{#Runtime}\*.stackdump"
129142

130143
#define RunSage "/bin/bash --login -c '" + SageRootPosix + "/sage'"
131144
#define RunSageName "SageMath " + SageVersion

0 commit comments

Comments
 (0)