@petersasi,
Here's my updated scripts to look through some time if wanted.
First, there's a portable.zip file that should be moved to C:\deluge2 and extracted therein with 7-zip and select yes to all to overwrite old files. This adds some changed things, in stuff you haven't changed, so no issues with that on your end. Please backup anyway, regardless. (For openssl, to avoid needing admin-rights, I started with changing to using alternative msi installer and doing msiexec /a extraction on it, but since extracts into additional payload exe with the actual install files, then resorted to the opensource inno-setup cli unpacker tool instead)
Then theres the rest of changed scripts in changed.zip.
Build-menu.cmd, I only deleted the line that auto-raises UAC prompt, as no script needs admin rights anymore, except install/uninstall-compoenents.cmd.
Install-components.cmd I changed the openssl install to instead call openssl-build\openssl.cmd, and changed uninstall_components.cmd to not uninstall openssl anymore, but just delete folder.
As per my deluge build-scripts, then you should remember delete the line installing future with pip.exe(saves a little space with only using 'past' module of future, which is also only relevant part for py3 anyway, which I included previously from portable.zip into overlay\lib\site-packages folder, and so I didn't need to hunt down actual module path needed to hardcode sys.path for install to not error out, which now is needed because running fully isolated). Also, delete the part that uses git to clone deluge repo and build plugins, as not needed anymore, as was a deluge bug happening previously because of installing in path with space in. It's important to remember the line that gets the version now, since not using git nomore i.e. the 'dir /b' on deluge folder.
I updated the libtorrent 1.2.x script to newest boost 1.74 also, which builds fine.
That should be it. Personally I wouldn't bother myself check if python is installed or newest, when now not installing and goes quick, but you could just check 'C:\python\python.exe --version' if EQ or NEQ %var2% or whatever variable name that holds latest python and proceed accordingly. Also because I want a fresh python e.g. for the deluge builds, and not one with unneeded packages already installed etc. Note, I used nuget python for the other stuff and embedded zip for deluge, as the other stuff had extra requirements than embedded zip included by default. Yes to your previous question about nuget getting updates regularly like official python. If wanting the pyds away from main dir in built deluge's, then that's easy, just give me a shout, though as I stated before, I kept them there since mimics an official freezed installer better, as likewise seen in deluge v1.3.15.
https://gofile.io/d/uJPR75
https://gofile.io/d/bKS8m8
Edit: I might as well also change NSIS to be a portable component on host system also, so now should only be msvc-build-tools needing install, but haven't looked into if possible extracting/running-portable with that. Anyway, I changed the uninstall-components.cmd, to instead just do 'rd /s /q C:\nsis'(doubled just in case). Then the scripts under installer-build, I changed the makensis path, to instead 'C:\nsis\makensis'. Finally, I changed install_components.cmd, with instead the following: (Could have used more effecient/fewer lines, but was lazy and just changed original lines to new ones):
Code: Select all
cd "%~dp0"
curl -LO https://prdownloads.sourceforge.net/nsis/nsis-3.06.1-setup.exe
"%programfiles%\7-Zip\7z.exe" x -oC:\nsis -x!$PLUGINSDIR\* nsis-3.06.1-setup.exe
curl.exe -kO https://nsis.sourceforge.io/mediawiki/images/1/18/NsProcess.zip
"%programfiles%\7-Zip\7z.exe" x NsProcess.zip -onsprocess
move nsprocess\Plugin\nsProcessW.dll C:\nsis\Plugins\x86-unicode\nsProcess.dll
move nsprocess\Include\nsProcess.nsh C:\nsis\Include
curl.exe -k https://git.landicorp.com/electron-downloadtool/electron-downloadtool/-/raw/5da62a7d62329bd9afe7a1bfda3f759d6bc04c80/node_modules/electron-builder/templates/nsis/include/StrContains.nsh > C:\nsis\Include\strContains.nsh
del nsis-3.06.1-setup.exe NsProcess.zip
rd /s /q nsprocess
rd /s /q nsprocess
(I still btw, have been to lazy to exchange my 7z.exe lines away from my own personal 7-Zip install and instead into using a portable recent 7za.exe in deluge2 folder, or your solution with p7zip from msys2. On that note, if doing this with the msys2 p7zip, then initial msys2 can be "installed" without 7z support, with exchanging it's "install-part" in install_components.cmd with this here instead:
Code: Select all
curl -LO https://github.com/msys2/msys2-installer/releases/download/nightly-x86_64/msys2-base-x86_64-latest.sfx.exe
msys2-base-x86_64-latest.sfx.exe
move msys64 C:\
del msys2-base-x86_64-latest.sfx.exe
)