Hello GHDL developers, Dear GHDL users for the Windows platform,
I had a look into the NuPackage / Chocolatey / OneGet package management system. I think it can be used to deploy GHDL for Windows users. Here is a short summary: The NuPkg is a kind of meta package management. It’s a zip file containing meta information like name, author, version and dependencies. It also comes with a set of PowerShell scripts for installation and uninstallation, which are invoked by for example the ‘choco’ command. Normally, the *.nupkg file contains URL references to where to download the program. A program can be a *.msi file or a *.zip file. Additionally, it contains the commands to extract the zip or to launch MS installer in quiet mode. It’s also possible to include the *.msi or *.zip file in the nupkg file (up to 20 MiB are supported => GHDL.zip has currently 2.1 MiB on Windows) NuPkg is a distributed system. Like apt, it’s possible to use/register multiple download sources. One public repository provider is myget (http://www.myget.org). So besides Chocolatey (https://chocolatey.org/) there is a set of package providers. And if needed it’s possible to switch to another provider. 1) So here is my first question: Do you wish that the package downloads each GHDL installation from sourceforge via URL, OR can we include the small 2 MiB zip file within the *.nupkg file. I would recommend the latter solution Pros: - One file, containing all data - No secondary downloads Cons: - It generates less downloads on sourceforge => statistics I’m going to extend the current build scripts for the windows platform to create a zip-package for the download via sourceforge. This zip will contain the *.exe files, the prepared *.vhdl libraries and a Powershell script for the installation process: 1. Copy all needed files to the specified directory (or if unset to a default directory) 2. Register the GHDL installation path in %PATH% so ghdl.exe can be used in command line shells (if not deactivated) 3. Create a registry folder GHDL => this can be used to track all installed version 4. Create a registry key (InstallationPath) => this can be used to find GHDL for uninstallation => it’s also needed to clean-up %PATH% after deinstallation So a user only needs to download GHDL.zip, extract it’s content and launch the install.ps1 script. Next Questions: 2) What is the default installation directory for GHDL? Good Windows programs install themselves to C:\Program Files\<Vendor>\<Product>, but GHDL has no vendor, hasn’t it? I would recommend this path: C:\Program Files\GHDL\<Version>, so it’s possible to use multiple GHDL versions on a system. If it’s ok, I would extend the install script, with an option - Normal installation changes %PATH% to the path of the newest GHDL version. - If step 2 from above is deactivated => don’t update %PATH% => the old GHDL stays the ‘active’ one 3) Is a ‘bin’ sub-folder necessary, because GHDL has only 2 executables? - Solution 1: C:\Program Files\GHDL\0.33\bin\ghdl.exe C:\Program Files\GHDL\0.33\bin\ghdlfilter.exe C:\Program Files\GHDL\0.33\lib\v87\... C:\Program Files\GHDL\0.33\lib\v93\... C:\Program Files\GHDL\0.33\lib\v08\... - Solution 2: C:\Program Files\GHDL\0.33\ghdl.exe C:\Program Files\GHDL\0.33\ghdlfilter.exe C:\Program Files\GHDL\0.33\lib\v87\... C:\Program Files\GHDL\0.33\lib\v93\... C:\Program Files\GHDL\0.33\lib\v08\... The *.nupkg file can be assembled after creating the *.zip file. The default PowerShell scripts will have 2 instructions: - Extract the embedded zip-file into a temp folder - Call the above mentioned install routine with default parameters. So how does it look like for a normal GHDL user? 1. Open a PowerShell window 2. Execute this line: choco install ghdl 3. that’s it. How does it look like for a package maintainer? cd dist\mcode .\winbuild.ps1 –Compile .\winbuild.ps1 –CreatePackage –Zip .\winbuild.ps1 –CreatePackage –NuPkg .\winbuild.ps1 -Release Question 4: To which branch should I upload the changed PowerShell scripts? @All readers Any suggestions, change requests, wishes for the windows build process and the NuPkg packages? Regards Patrick ----------------------------------- Wissenschaftliche Hilfskraft Technische Universität Dresden Fakultät Informatik Institut für Technische Informatik Lehrstuhl VLSI-Entwurfssysteme, Diagnostik und Architektur 01062 Dresden Tel.: +49 351 463-38451 Fax: +49 351 463-38324 Raum: APB-1020 E-Mail: <mailto:[email protected]> [email protected] WWW: <http://vlsi-eda.inf.tu-dresden.de/> http://vlsi-eda.inf.tu-dresden.de
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Ghdl-discuss mailing list [email protected] https://mail.gna.org/listinfo/ghdl-discuss
