Changeset View
Changeset View
Standalone View
Standalone View
bin/Packager/NullsoftInstallerPackager.py
Show First 20 Lines • Show All 64 Lines • ▼ Show 20 Line(s) | 63 | def __init__(self, whitelists=None, blacklists=None): | |||
---|---|---|---|---|---|
65 | self.nsisExe = None | 65 | self.nsisExe = None | ||
66 | self._isInstalled = False | 66 | self._isInstalled = False | ||
67 | 67 | | |||
68 | def _setDefaults(self, defines): | 68 | def _setDefaults(self, defines): | ||
69 | defines = dict(defines) | 69 | defines = dict(defines) | ||
70 | defines.setdefault("architecture", CraftCore.compiler.architecture) | 70 | defines.setdefault("architecture", CraftCore.compiler.architecture) | ||
71 | defines.setdefault("company", "KDE") | 71 | defines.setdefault("company", "KDE") | ||
72 | defines.setdefault("defaultinstdir", "$PROGRAMFILES64" if CraftCore.compiler.isX64() else "$PROGRAMFILES") | 72 | defines.setdefault("defaultinstdir", "$PROGRAMFILES64" if CraftCore.compiler.isX64() else "$PROGRAMFILES") | ||
73 | defines.setdefault("multiuser_use_programfiles64", "!define MULTIUSER_USE_PROGRAMFILES64" if CraftCore.compiler.isX64() else "") | ||||
73 | defines.setdefault("icon", os.path.join(CraftCore.standardDirs.craftBin(), "data", "icons", "craft.ico")) | 74 | defines.setdefault("icon", os.path.join(CraftCore.standardDirs.craftBin(), "data", "icons", "craft.ico")) | ||
74 | defines.setdefault("license", "") | 75 | defines.setdefault("license", "") | ||
75 | defines.setdefault("productname", self.subinfo.displayName) | 76 | defines.setdefault("productname", self.subinfo.displayName) | ||
76 | defines.setdefault("setupname", self.binaryArchiveName(fileType="exe", includeRevision=True)) | 77 | defines.setdefault("setupname", self.binaryArchiveName(fileType="exe", includeRevision=True)) | ||
77 | defines.setdefault("srcdir", self.archiveDir()) | 78 | defines.setdefault("srcdir", self.archiveDir()) | ||
78 | defines.setdefault("version", self.sourceRevision() if self.subinfo.hasSvnTarget() else self.version) | 79 | defines.setdefault("version", self.sourceRevision() if self.subinfo.hasSvnTarget() else self.version) | ||
79 | defines.setdefault("website", self.subinfo.webpage if self.subinfo.webpage else "https://community.kde.org/Craft") | 80 | defines.setdefault("website", self.subinfo.webpage if self.subinfo.webpage else "https://community.kde.org/Craft") | ||
80 | defines.setdefault("registy_hook", "") | 81 | defines.setdefault("registy_hook", "") | ||
▲ Show 20 Lines • Show All 42 Lines • ▼ Show 20 Line(s) | 117 | def generateNSISInstaller(self): | |||
123 | # provide the actual installation size in kb, ignore the 7z size as it gets removed after the install | 124 | # provide the actual installation size in kb, ignore the 7z size as it gets removed after the install | ||
124 | defines["installSize"] = str(int((self.folderSize(self.archiveDir()) - os.path.getsize(self.setupName)) / 1000)) | 125 | defines["installSize"] = str(int((self.folderSize(self.archiveDir()) - os.path.getsize(self.setupName)) / 1000)) | ||
125 | 126 | | |||
126 | defines["installerIcon"] = f"""!define MUI_ICON "{defines["icon"]}" """ | 127 | defines["installerIcon"] = f"""!define MUI_ICON "{defines["icon"]}" """ | ||
127 | defines["iconname"] = os.path.basename(defines["icon"]) | 128 | defines["iconname"] = os.path.basename(defines["icon"]) | ||
128 | if not defines["license"] == "": | 129 | if not defines["license"] == "": | ||
129 | defines["license"] = f"""!insertmacro MUI_PAGE_LICENSE "{defines["license"]}" """ | 130 | defines["license"] = f"""!insertmacro MUI_PAGE_LICENSE "{defines["license"]}" """ | ||
130 | 131 | | |||
131 | defines["HKLM"] = "HKLM32" if CraftCore.compiler.isX86() else "HKLM64" | | |||
132 | defines["HKCR"] = "HKCR32" if CraftCore.compiler.isX86() else "HKCR64" | | |||
133 | defines["HKCU"] = "HKCU32" if CraftCore.compiler.isX86() else "HKCU64" | | |||
134 | | ||||
135 | | ||||
136 | shortcuts = [] | 132 | shortcuts = [] | ||
137 | if "executable" in defines: | 133 | if "executable" in defines: | ||
138 | shortcuts.append(self._createShortcut(defines["productname"], defines["executable"])) | 134 | shortcuts.append(self._createShortcut(defines["productname"], defines["executable"])) | ||
139 | del defines["executable"] | 135 | del defines["executable"] | ||
140 | 136 | | |||
141 | for short in self.shortcuts: | 137 | for short in self.shortcuts: | ||
142 | shortcuts.append(self._createShortcut(**short)) | 138 | shortcuts.append(self._createShortcut(**short)) | ||
143 | defines["shortcuts"] = "".join(shortcuts) | 139 | defines["shortcuts"] = "".join(shortcuts) | ||
▲ Show 20 Lines • Show All 43 Lines • Show Last 20 Lines |