forked from dlang/dlang.org
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdownload.dd
319 lines (266 loc) · 11.1 KB
/
download.dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
Ddoc
$(D_S Downloads,
$(DIVC download-tables,
$(TABLEC download-compilers,
$(T caption,
$(DIVID download-choose, ($(LINK2 https://wiki.dlang.org/Compilers, more information)))
$(H2 Choose a compiler)
)
$(TR
$(TD $(LINK2 #dmd, $(IMG compiler-dmd.png)))
$(TD $(LINK2 https://gdcproject.org/downloads, $(IMG compiler-gdc.svg)))
$(TD $(LINK2 https://github.com/ldc-developers/ldc#installation, $(IMG compiler-ldc.png)))
)
$(TR
$(TD
$(H3 DMD)
$(UL
$(LI Official reference compiler)
$(LI Latest D version)
$(LI Simple installation)
$(LI Very fast compilation speeds)
$(LI Architectures: i386, amd64)
)
)
$(TD
$(H3 GDC)
$(UL
$(LI $(LINK2 https://gcc.gnu.org/, GCC)-based D compiler)
$(LI Strong optimization)
$(LI Great $(LINK2 https://www.gnu.org/software/gdb/,GDB) support)
$(LI Architectures: i386, amd64, x32, armel, armhf, $(LINK2 https://wiki.dlang.org/Compilers#Comparison,others))
)
)
$(TD
$(H3 LDC)
$(UL
$(LI $(LINK2 https://llvm.org/, LLVM)-based D compiler)
$(LI Strong optimization)
$(LI
$(LINK2 https://wiki.dlang.org/Build_D_for_Android, Android support)
)
$(LI Architectures: i386, amd64, armel, armhf, $(LINK2 https://wiki.dlang.org/Compilers#Comparison,others))
)
)
)
$(TR
$(TD
$(DIVC download-link, $(LINK2 dmd-windows.html, About) · $(LINK2 #dmd, Download))
)
$(TD
$(DIVC download-link, $(LINK2 https://gdcproject.org/, About) · $(LINK2 https://gdcproject.org/downloads, Download))
)
$(TD
$(DIVC download-link, $(LINK2 https://wiki.dlang.org/LDC, About) · $(LINK2 https://github.com/ldc-developers/ldc#installation, Download))
)
)
$(TR
$(DONATE_BUTTON)
)
)
$(TABLEC lsp,
$(TR
$(TD $(LINK2 https://github.com/Pure-D/serve-d/#usage, $(IMG lsp-served-logo.png)))
)
$(TR
$(TD
$(H3 Language Server)
$(P
To start coding effectively, we recommend using an editor supporting the
Language Server Protocol. For $(B VSCode) you can immediately install the
$(LINK2 https://marketplace.visualstudio.com/items?itemName=webfreak.code-d, VSCode extension $(B code-d))
<sup>$(LINK2 https://open-vsx.org/extension/webfreak/code-d, [openvsx])</sup>
)
)
)
$(TR
$(TD
$(DIVC download-link, $(LINK2 https://github.com/Pure-D/serve-d/#usage, About) · $(LINK2 https://github.com/Pure-D/serve-d/releases, Download))
)
)
)
)
$(DIVC download_channels,
$(DIVC download_channel,
$(H2 $(LNAME2 dmd,DMD $(DMDV2)))
$(LINK2 changelog/$(DMDV2).html, Changelog)
$(BR)$(BR)
$(DOWNLOAD Windows, $(WINDOWS), windows, Windows,
$(SBTN $(WINEXE), Installer) $(SBTN $(ARCH windows, 7z), 7z)
)
$(DOWNLOAD macOS, $(OSX), osx, macOS,
$(SBTN $(OSXDMG), dmg) $(SBTN $(ARCH osx, tar.xz), tar.xz)
)
$(DOWNLOAD Ubuntu/Debian, $(UBUNTU) $(DEBIAN), linux, Linux,
$(SBTN $(DEB32), i386) $(SBTN $(DEB64), x86_64) $(SBTN $(ARCH linux, tar.xz), tar.xz)
)
$(DOWNLOAD Fedora/CentOS, $(FEDORA) $(CENTOS), linux, Linux,
$(SBTN $(RPM32), i386) $(SBTN $(RPM64), x86_64) $(SBTN $(ARCH linux, tar.xz), tar.xz)
)
$(DOWNLOAD openSUSE, $(OPENSUSE), linux, Linux,
$(SBTN $(SUSE32), i386) $(SBTN $(SUSE64), x86_64) $(SBTN $(ARCH linux, tar.xz), tar.xz)
)
$(DOWNLOAD FreeBSD, $(FREEBSD), freebsd, FreeBSD,
$(SBTN $(ARCH freebsd-64, tar.xz), x86_64)
)
$(INSTALL_SCRIPT curl -fsS https://dlang.org/install.sh | bash -s dmd)
)
$(BETA
$(DIVC download_channel,
$(H2 $(LNAME2 dmd_beta,DMD Beta $(B_DMDV2)-$(B_SUFFIX)))
$(LINK2 changelog/$(B_DMDV2).html, Changelog)
$(BR)$(BR)
$(DOWNLOAD Windows, $(WINDOWS), windows, Windows,
$(SBTN $(B_WINEXE), exe) $(SBTN $(B_ARCH windows, 7z), 7z)
)
$(DOWNLOAD macOS, $(OSX), osx, macOS,
$(SBTN $(B_OSXDMG), dmg) $(SBTN $(B_ARCH osx, tar.xz), tar.xz)
)
$(DOWNLOAD Ubuntu/Debian, $(UBUNTU) $(DEBIAN), linux, Linux,
$(SBTN $(B_DEB32), i386) $(SBTN $(B_DEB64), x86_64) $(SBTN $(B_ARCH linux, tar.xz), tar.xz)
)
$(DOWNLOAD Fedora/CentOS, $(FEDORA) $(CENTOS), linux, Linux,
$(SBTN $(B_RPM32), i386) $(SBTN $(B_RPM64), x86_64) $(SBTN $(B_ARCH linux, tar.xz), tar.xz)
)
$(DOWNLOAD openSUSE, $(OPENSUSE), linux, Linux,
$(SBTN $(B_SUSE32), i386) $(SBTN $(B_SUSE64), x86_64) $(SBTN $(B_ARCH linux, tar.xz), tar.xz)
)
$(DOWNLOAD FreeBSD, $(FREEBSD), freebsd, FreeBSD,
$(SBTN $(B_ARCH freebsd-64, tar.xz), x86_64)
)
$(INSTALL_SCRIPT curl -fsS https://dlang.org/install.sh | bash -s dmd-beta)
)
)
)
$(H3
$(LINK2 https://downloads.dlang.org, Release Archive)
)
$(LINK2 gpg_keys.html, GPG keys)$(BR)
$(LINK2 https://github.com/dlang/dmd/releases/tag/nightly, Nightly Builds)$(BR)
$(LINK2 https://github.com/dlang, D on GitHub)
$(HR)
$(H2 Third-party downloads)
These links are not maintained by the same people maintaining the official downloads.
$(BR)$(BR)
$(DOWNLOAD_OTHER $(ARCHLINUX), $(LINK2 https://wiki.archlinux.org/index.php/D_(programming_language), Arch Linux), $(CONSOLE pacman -S dlang))
$(DOWNLOAD_OTHER $(GENTOO), $(LINK2 https://wiki.gentoo.org/wiki/Dlang, Gentoo), $(CONSOLE layman -f -a dlang))
$(DOWNLOAD_OTHER $(HOMEBREW), $(LINK2 https://formulae.brew.sh/formula/dmd, Homebrew), $(CONSOLE brew install dmd))
$(DOWNLOAD_OTHER $(NIX), $(LINK2 https://search.nixos.org/packages?show=dmd&query=dmd, Nix/NixOS), $(CONSOLE nix-env -iA nixpkgs.dmd)
$(LINK2 https://github.com/dukc/oldDDerivations, derivations for building various versions yourself)
)
$(DOWNLOAD_OTHER $(UBUNTU) $(DEBIAN), Ubuntu/Debian, $(LINK2 https://d-apt.sourceforge.net/, APT repository)
$(CONSOLE sudo wget https://netcologne.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
sudo apt-get update --allow-insecure-repositories
sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring
sudo apt-get update && sudo apt-get install dmd-compiler dub)
)
$(DOWNLOAD_OTHER $(DOCKER), $(LINK2 https://hub.docker.com/r/dlang2/dmd-ubuntu, Docker), $(CONSOLE docker run --rm -ti -v $(DOLLAR)(pwd):/src dlang2/dmd-ubuntu dmd))
$(DOWNLOAD_OTHER $(OPENSUSE), $(LINK2 https://build.opensuse.org/package/show/devel:languages:D/dmd, OpenSUSE Tumbleweed), $(CONSOLE sudo zypper install dmd))
$(DOWNLOAD_OTHER $(SNAP), $(LINK2 https://snapcraft.io/dmd, Snap),
$(CONSOLE # install DMD compiler (including RDMD)
sudo snap install --classic dmd
\# install DUB package/build manager
sudo snap install --classic dub
\# install LDC compiler with LLVM backend
sudo snap install --classic ldc2))
$(DOWNLOAD_OTHER $(OPENBSD), $(LINK2 https://openports.pl/path/lang/dmd, OpenBSD), $(CONSOLE # install DMD compiler
doas pkg_add dmd
\# install DUB package/build manager (and DMD if not already installed)
doas pkg_add dub
\# install D tools
doas pkg_add dtools))
$(H2 Other Downloads)
$(UL
$(LI $(LINK2 https://github.com/dlang/visuald/releases, VisualD - D Plugin for Visual Studio))
$(LI $(LINK2 https://dlang.org/spec/spec.html, D Programming Language Specification): $(BTN https://dlang.org/dlangspec.mobi, mobi))
$(LI $(LINK2 https://www.digitalmars.com/download/freecompiler.html, Digital Mars C and C++ Compiler Downloads))
)
)
Macros:
TITLE=Downloads
DMDV2=$(LATEST)
BETA=$(COMMENT $0)
_=BETA=$0
B_DMDV2=2.107.0
B_SUFFIX=rc.1
DEB32=$(DLSITE dmd_$(DMDV2)-0_i386.deb)
DEB64=$(DLSITE dmd_$(DMDV2)-0_amd64.deb)
RPM32=$(DLSITE dmd-$(DMDV2)-0.fedora.i386.rpm)
RPM64=$(DLSITE dmd-$(DMDV2)-0.fedora.x86_64.rpm)
SUSE32=$(DLSITE dmd-$(DMDV2)-0.openSUSE.i386.rpm)
SUSE64=$(DLSITE dmd-$(DMDV2)-0.openSUSE.x86_64.rpm)
OSXDMG=$(DLSITE dmd.$(DMDV2).dmg)
WINEXE=$(DLSITE dmd-$(DMDV2).exe)
ARCH=$(DLSITE dmd.$(DMDV2).$1.$2)
B_DEB32=$(B_DLSITE dmd_$(B_DMDV2)~$(B_SUFFIX)-0_i386.deb)
B_DEB64=$(B_DLSITE dmd_$(B_DMDV2)~$(B_SUFFIX)-0_amd64.deb)
B_RPM32=$(B_DLSITE dmd-$(B_DMDV2)~$(B_SUFFIX)-0.fedora.i386.rpm)
B_RPM64=$(B_DLSITE dmd-$(B_DMDV2)~$(B_SUFFIX)-0.fedora.x86_64.rpm)
B_SUSE32=$(B_DLSITE dmd-$(B_DMDV2)~$(B_SUFFIX)-0.openSUSE.i386.rpm)
B_SUSE64=$(B_DLSITE dmd-$(B_DMDV2)~$(B_SUFFIX)-0.openSUSE.x86_64.rpm)
B_OSXDMG=$(B_DLSITE dmd.$(B_DMDV2)-$(B_SUFFIX).dmg)
B_WINEXE=$(B_DLSITE dmd-$(B_DMDV2)-$(B_SUFFIX).exe)
B_ARCH=$(B_DLSITE dmd.$(B_DMDV2)-$(B_SUFFIX).$1.$2)
LOGO=<img src="images/$1_logo.png" alt="$2" style="max-height: 40px">
CENTOS=$(LOGO centos, CentOS)
DEBIAN=$(LOGO debian, Debian)
DOCKER=$(LOGO docker, Docker)
FEDORA=$(LOGO fedora, Fedora)
FREEBSD=$(LOGO freebsd, FreeBSD 8.1)
LINUX=$(LOGO linux, Linux)
OPENSUSE=$(LOGO opensuse, OpenSUSE)
OSX=$(LOGO apple, OSX Lion)
UBUNTU=$(LOGO ubuntu, Ubuntu)
ARCHLINUX=$(LOGO archlinux, Arch Linux)
GENTOO=$(LOGO gentoo, Gentoo)
HOMEBREW=$(LOGO homebrew, Homebrew)
NIX=$(LOGO nix, Nix/NixOS)
SNAP=$(LOGO snapcraft, Snap)
WINDOWS=$(LOGO windows, Windows)
OPENBSD=$(LOGO openbsd, OpenBSD)
LINK_OS=<a href="$(ROOT_DIR)dmd-$1.html" style="text-decoration: none" title="$3 setup and usage information">$2</a>
SBTN=$(SPANC sig_btn,$(BTN $1,$+)<br>$(BTN $1.sig,sig))
BTN=<a href="$1" class="btn">$+</a>
H3I=<h3 class="download">$0</h3>
DLSITE=https://downloads.dlang.org/releases/2.x/$(DMDV2)/$0
B_DLSITE=https://downloads.dlang.org/pre-releases/2.x/$(B_DMDV2)/$0
DOWNLOAD =
$(DIV,
$(DIVC download_image, $2)
$(DIVC download_paragraph,
<h3 style="display: inline-block">$1</h3>
<span style="display: inline-block">
$(LINK_OS $3, <i class="fa fa-info-circle" aria-hidden="true"></i>, $4)
</span>
<div style="">
$5
</div>
)
)
EXTRA_HEADERS=$(T style,
.download_paragraph > span {
margin-left: 0.4em;
font-size: 125%;
}
.download_paragraph a > i.fa {
color: #999;
}
)
DOWNLOAD_OTHER =
$(DIV,
$(DIVC download_image, $1)
$(DIVC download_paragraph, $(H3 $2) $3)
)
INSTALL_SCRIPT=$(DIVC download_paragraph,
<h3 style="display: inline-block">Install Script</h3>
<span style="display: inline-block">
$(LINK2 $(ROOT_DIR)install.html, <i class="fa fa-info-circle" aria-hidden="true"></i>)
</span>
$(PRE $(CODE $1)))
CONSOLE=$(PRE $(CODE $1))
IMG=<img src="images/$1">
DONATE_BUTTON =<td colspan="3" style="padding-bottom:20px">
$(DIV style="border-radius:5px 5px 5px 5px;font-weight:normal; border:1px solid #000000;box-shadow:none;left: 50%; margin-left: -107.5px;display: block;clear: both; width:215px; height:70px; line-height:2.9; position:relative; font-size:24px; text-align:center;",
$(LINK2 https://www.flipcause.com/secure/cause_pdetails/NDMzMzE=, Leave a Tip!)$(BR)$(BR))
</td>
_= for sidebard subnavigation