Skip to content


Add section to download cURL in Windows installer #7

merged 2 commits into from

2 participants

D Programming Language member

@WalterBright This pull request relies on being uploaded to before it should be merged.

D Programming Language member

@eco, @WalterBright: that won't fly as Walter's build and upload procedures are manual and extremely error-prone as they are. Walter did introduce some automation but it's his own scripts that are not in github. We need to have Walter commit to github his scripts, and then update the scripts to upload the curl lib.

D Programming Language member

@andralex It's just a one time manual upload he'd need to do. I'd like to switch all the download links over to use the Github URL since it's several times faster but figured that was a different issue that could be addressed separately.

@andralex andralex merged commit 05bb97c into D-Programming-Language:master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Showing with 30 additions and 1 deletion.
  1. +30 −1 windows/dinstaller.nsi
31 windows/dinstaller.nsi
@@ -5,19 +5,22 @@
; Version
;!define Version1 "1.046"
;!define Version2 "2.031"
+!define VersionCurl "7.24.0"
; Download zip from website, or include the compressed zip?
!define Download
; If Download, the urls of the and
!define DownloadDmd1ZipUrl "${Version1}.zip"
-!define DownloadDmd2ZipUrl "${Version2}.zip"
+!define DownloadDmd2ZipUrl "${Version2}.zip"
!define DownloadDmcZipUrl ""
+!define DownloadCurlZipUrl "${VersionCurl}" ;""
; If not Download, the paths of and
!define DmdZipPath1 "dmd.${Version1}.zip"
!define DmdZipPath2 "dmd.${Version2}.zip"
!define DmcZipPath ""
+!define CurlZipPath "curl-${VersionCurl}"
; Includes
@@ -178,6 +181,32 @@ Section "D 2" Dmd2Files
+Section "cURL support for D 2" cURLFiles
+ ; This section is mandatory
+ ;SectionIn RO
+ SetOutPath $INSTDIR
+ ; Create installation directory
+ CreateDirectory "$INSTDIR"
+ !ifdef Download
+ ; Download the zip files
+ inetc::get /caption "Downloading ${CurlZipPath}..." /popup "" "${DownloadCurlZipUrl}" "$INSTDIR\" /end
+ Pop $0 # return value = exit code, "OK" means OK
+ !else
+ FILE "/oname=$INSTDIR\" "${CurlZipPath}"
+ !endif
+ ; Unzip them right there
+ nsisunz::Unzip "$INSTDIR\" "$INSTDIR"
+ ; Delete the zip files
+ Delete "$INSTDIR\"
Section "dmc" DmcFiles
; This section is mandatory
Something went wrong with that request. Please try again.