Simplify windows setup builder a bit (#983)

* Optimise setup file
* Shorten windows setup file name
This commit is contained in:
Veronica Berglyd Olsen
2022-02-04 23:58:01 +01:00
committed by GitHub
parent a0cdf44deb
commit 07c92b4bc3
2 changed files with 39 additions and 63 deletions
+38 -62
View File
@@ -518,7 +518,7 @@ def makeMinimalPackage(targetOS):
numVers, _, _ = extractVersion() numVers, _, _ = extractVersion()
pkgVers = compactVersion(numVers) pkgVers = compactVersion(numVers)
zipFile = f"novelWriter-{pkgVers}-minimal{targName}.zip" zipFile = f"novelwriter-{pkgVers}-minimal{targName}.zip"
outFile = os.path.join(bldDir, zipFile) outFile = os.path.join(bldDir, zipFile)
if os.path.isfile(outFile): if os.path.isfile(outFile):
os.unlink(outFile) os.unlink(outFile)
@@ -952,19 +952,18 @@ def makeWindowsEmbedded(sysArgs):
print("Updating starting script ...") print("Updating starting script ...")
with open(os.path.join(outDir, "novelWriter.pyw"), mode="w") as outFile: writeFile(os.path.join(outDir, "novelWriter.pyw"), (
outFile.write( "#!/usr/bin/env python3\n"
"#!/usr/bin/env python3\n" "import os\n"
"import os\n" "import sys\n"
"import sys\n" "\n"
"\n" "os.curdir = os.path.abspath(os.path.dirname(__file__))\n"
"os.curdir = os.path.abspath(os.path.dirname(__file__))\n" "sys.path.insert(0, os.path.join(os.curdir, \"lib\"))\n"
"sys.path.insert(0, os.path.join(os.curdir, \"lib\"))\n" "\n"
"\n" "if __name__ == \"__main__\":\n"
"if __name__ == \"__main__\":\n" " import novelwriter\n"
" import novelwriter\n" " novelwriter.main(sys.argv[1:])\n"
" novelwriter.main(sys.argv[1:])\n" ))
)
print("Done") print("Done")
print("") print("")
@@ -986,29 +985,21 @@ def makeWindowsEmbedded(sysArgs):
print("========================") print("========================")
print("") print("")
print("Dictionaries") pyQt5Dir = os.path.join(libDir, "PyQt5")
dictDir = os.path.join(libDir, "enchant", "data", "mingw64", "share", "enchant", "hunspell") bindDir = os.path.join(pyQt5Dir, "bindings")
qt5Dir = os.path.join(pyQt5Dir, "Qt5")
binDir = os.path.join(qt5Dir, "bin")
plugDir = os.path.join(qt5Dir, "plugins")
qmDir = os.path.join(qt5Dir, "translations")
dictDir = os.path.join(libDir, "enchant", "data", "mingw64", "share", "enchant", "hunspell")
for dictFile in os.listdir(dictDir): for dictFile in os.listdir(dictDir):
dictPath = os.path.join(dictDir, dictFile) if not dictFile.startswith(("en_GB", "en_US")):
if not os.path.isfile(dictPath): unlinkIfFound(os.path.join(dictDir, dictFile))
continue
if dictFile.startswith("en_GB"):
continue
if dictFile.startswith("en_US"):
continue
unlinkIfFound(dictPath)
print("Translations")
qmDir = os.path.join(libDir, "PyQt5", "Qt5", "translations")
for qmFile in os.listdir(qmDir): for qmFile in os.listdir(qmDir):
qmPath = os.path.join(qmDir, qmFile) if not qmFile.startswith("qtbase"):
if not os.path.isfile(qmPath): unlinkIfFound(os.path.join(qmDir, qmFile))
continue
if qmFile.startswith("qtbase"):
continue
unlinkIfFound(qmPath)
print("")
delQt5 = [ delQt5 = [
"Qt5Bluetooth", "Qt5DBus", "Qt5Designer", "Qt5Designer", "Qt5Help", "Qt5Location", "Qt5Bluetooth", "Qt5DBus", "Qt5Designer", "Qt5Designer", "Qt5Help", "Qt5Location",
@@ -1020,16 +1011,15 @@ def makeWindowsEmbedded(sysArgs):
"Qt5SerialPort", "Qt5Sql", "Qt5Test", "Qt5TextToSpeech", "Qt5WebChannel", "Qt5WebSockets", "Qt5SerialPort", "Qt5Sql", "Qt5Test", "Qt5TextToSpeech", "Qt5WebChannel", "Qt5WebSockets",
"Qt5WebView", "Qt5Xml", "Qt5XmlPatterns" "Qt5WebView", "Qt5Xml", "Qt5XmlPatterns"
] ]
pyQt5Dir = os.path.join(libDir, "PyQt5") for qt5Item in delQt5:
bindDir = os.path.join(pyQt5Dir, "bindings") qtItem = qt5Item.replace("Qt5", "Qt")
qt5Dir = os.path.join(pyQt5Dir, "Qt5") unlinkIfFound(os.path.join(binDir, qt5Item+".dll"))
binDir = os.path.join(qt5Dir, "bin") unlinkIfFound(os.path.join(pyQt5Dir, qtItem+".pyd"))
plugDir = os.path.join(qt5Dir, "plugins") unlinkIfFound(os.path.join(pyQt5Dir, qtItem+".pyi"))
deleteFolder(os.path.join(bindDir, qtItem))
delFiles = [ delList = [
os.path.join(binDir, "opengl32sw.dll") os.path.join(binDir, "opengl32sw.dll"),
]
delFolders = [
os.path.join(qt5Dir, "qml"), os.path.join(qt5Dir, "qml"),
os.path.join(plugDir, "geoservices"), os.path.join(plugDir, "geoservices"),
os.path.join(plugDir, "playlistformats"), os.path.join(plugDir, "playlistformats"),
@@ -1040,25 +1030,11 @@ def makeWindowsEmbedded(sysArgs):
os.path.join(plugDir, "texttospeech"), os.path.join(plugDir, "texttospeech"),
os.path.join(plugDir, "webview"), os.path.join(plugDir, "webview"),
] ]
for delItem in delList:
for qt5Item in delQt5: if os.path.isfile(delItem):
print("Qt5 Component %s" % qt5Item) unlinkIfFound(delItem)
qtItem = qt5Item.replace("Qt5", "Qt") elif os.path.isdir(delItem):
unlinkIfFound(os.path.join(binDir, qt5Item+".dll")) deleteFolder(delItem)
unlinkIfFound(os.path.join(pyQt5Dir, qtItem+".pyd"))
unlinkIfFound(os.path.join(pyQt5Dir, qtItem+".pyi"))
deleteFolder(os.path.join(bindDir, qtItem))
print("")
print("Additional Files")
for delItem in delFiles:
unlinkIfFound(delItem)
print("")
print("Additional Folders")
for delItem in delFolders:
deleteFolder(delItem)
print("")
print("Done") print("Done")
print("") print("")
+1 -1
View File
@@ -24,7 +24,7 @@ DisableProgramGroupPage=yes
UsedUserAreasWarning=no UsedUserAreasWarning=no
PrivilegesRequiredOverridesAllowed=dialog PrivilegesRequiredOverridesAllowed=dialog
OutputDir={#nwAppDir} OutputDir={#nwAppDir}
OutputBaseFilename=novelwriter-{#nwAppVersion}-win10-amd64-standalone-setup OutputBaseFilename=novelwriter-{#nwAppVersion}-win10-amd64-setup
Compression=lzma Compression=lzma
SolidCompression=yes SolidCompression=yes
WizardStyle=modern WizardStyle=modern