This topic was split off and is based on this reply.
The reason for the split is that setting up Windows Package Manager for SWI-Prolog is a subset of the question posted by @JCR
Perhaps after SWI-Prolog is installable via Windows Package Manager other packages could be made based on that with one of those meeting the needs of JCR.
Someone willing to set this up? Seems it shouldn’t be too hard if it accepts NSIS installers. Changing the installer type requires some CMake hacking. If anyone is familiar with that and Windows installer practices, please contribute.
I don’t mind taking the time to see what winget can do for Windows. I don’t plan to explore modifying the build instructions for SWI-Prolog to possibly make an MSI file. I could see that taking me a week or more.
For Macs I can only be a bystander as I don’t have a Mac.
As noted in the original post, the goal is to not only install SWI-Prolog but install SWI-Prolog with some packages and also install VSCode with the extensions and specifically VSC-Prolog.
I do recall that Keivan Beigi publicly posted his own personal account of the whole ordeal but I can’t find it; this seems to be a news story based on that posting.
Do not take this to mean I am opposed to Microsoft, just passing the story along.
Windows Package Manager and the winget tool are in public preview and may be substantially modified before they are generally available. Microsoft makes no warranties, express or implied, with respect to the information provided here.
(ref)
List of software package management systems (Wikipedia)
Windows Package Manager AKA Winget (Wikipedia)
Windows Package Manager (Documentation)
winget-cli (GitHub) - The source code for the Windows Package Manager Client (aka winget.exe).
winget-pkgs (GitHub) - Contains the manifest files for the Windows Package Manager
Join the Windows Package Manager Insiders Program (ref)
an automated process will validate your manifest file and check to make sure the package is not known to be malicious.
(ref)
That could be a problem as the SWI-Prolog install file is considered malicious by some scanners. (ref)
As said, for the Mac there is Macport, Homebrew and a position-independent binary bundle for each release. There is not yet binary support for the M1. It compiles fine from source though.
Linux distributions are supported fine IMO. Several distributions have it as part of their standard packages (be it often pretty outdated ). For Ubuntu there are PPAs, for almost all distros there i a snap, (both for each release) there are Docker images and as all dependencies and build tools are readily available a source build is pretty easy.
Perhaps it is worth noting that at TerminusDB, we install SWI-Prolog through Chocolatey as part of our continuous integration. This seems to work pretty well.
Windows Package Manager and the winget tool are in public preview and may be substantially modified before they are generally available. (ref)
So when I tried this the version of winget on my machines is out of date with the current version on GitHub and to install and build Winget on my machine would require me to reinstall Visual Studio (not Visual Studio Cocde) and other parts of the tool chain, etc. which is not something I care to do now or in the next few weeks. As such I am putting this on hold until I either have more time and the desire to install the tool chain, or winget is updated on my machine to a production version via the Windows update process.