-
Notifications
You must be signed in to change notification settings - Fork 3
/
debian-page.html
167 lines (136 loc) · 3.96 KB
/
debian-page.html
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
<html>
<head>
<title>Mercury packages for .deb based systems</title>
</head>
<body>
<h1>Mercury packages for .deb based systems</h1>
<p>
Please <a href="https://github.com/Mercury-Language/packaging/issues">
let us know</a> if there are problems.
<p>
<h2>What's supported?</h2>
Mercury versions:<br/>
<ul>
<li>Mercury 22.01.8 (mercury-* packages)</li>
<li>Mercury ROTD 2020-05-31 (mercury-rotd-* packages)</li>
</ul>
Architectures:<br/>
<ul>
<li>amd64</li>
<li>i386 (Debian only)</li>
</ul>
OSs with direct support:<br/>
<ul>
<li>Debian sid (unstable)</li>
<li>Debian 13 trixie (testing)</li>
<li>Debian 12 bookworm (stable)</li>
<li>Debian 11 bullseye (oldstable)</li>
<li>Ubuntu 24.04 (noble)</li>
<li>Ubuntu 22.04 (jammy)</li>
<li>Ubuntu 20.04 (focal)</li>
<li>Ubuntu 19.04 (bionic)</li>
</ul>
<p>
We build on the above OSs, but often these packages will work on other
Debian/Ubuntu versions, including derivative OSs like Mint.
</p>
<p>
The packaged version of Mercury contains a reasonable number of grades for
the C backends. It does not contain the Java, C# or Erlang backends.
The included grades are:
</p>
<ul>
<li>asm_fast.gc</li>
<li>asm_fast.par.gc.stseg</li>
<li>asm_fast.gc.tr</li>
<li>hlc.gc</li>
<li>hlc.par.gc</li>
<li>hlc.gc.tr</li>
<li>asm_fast.gc.decldebug.stseg</li>
<li>asm_fast.gc.profdeep.stseg</li>
<li>asm_fast.gc.memprof.stseg</li>
<li>asm_fast.gc.prof.stseg</li>
</ul>
<p>
Depending on the C compiler some packages may use "reg" grades rather than
"asm_fast" grades.
</p>
<p>
There are two groups of packages to choose from.
The stable version of Mercury's packages begin with "mercury", a more recent
snapshot begins with "mercury-rotd" (not updated yet).
</p>
<p>
This Mercury has been bootstrapped (the compiler is built with 3 tag bits
and other settings) and separated into multiple packages.
It does not support multiple concurrent installation versions, nor do the
dynamic libraries support this.
As always, make sure that there is no other version of Mercury in your
<code>$PATH</code>, you can run into
<a href="https://bugs.mercurylang.org/view.php?id=433">problems</a>.
</p>
<h2>Okay, hook me up!</h2>
<p>
First download <a href="https://paul.bone.id.au/paul.asc">my GPG key</a> and
tell your Debian based system that you trust me.
This command means that you are authorising your computer to download any
software I publish.
</p>
<code><pre>
sudo apt install wget ca-certificates
cd /tmp
wget <a href="https://paul.bone.id.au/paul.asc">https://paul.bone.id.au/paul.asc</a>
sudo cp paul.asc /etc/apt/trusted.gpg.d/paulbone.asc
</pre></code>
<p>
Now tell your system where the repository is.
Create a new file in <code>/etc/apt/sources.list.d</code>, name it
<code>mercury.list</code> and paste in it:
</p>
<code><pre>
deb http://dl.mercurylang.org/deb/ <i>DISTRO</i> main
deb-src http://dl.mercurylang.org/deb/ <i>DISTRO</i> main
</pre></code>
<p>
Depending on your OS version
replace <i>DISTRO</i> with one of:
<code>sid</code>, <code>bookworm</code>, <code>bullseye</code>,
<code>disco</code>, <code>focal</code>, or <code>jammy</code>.
</p>
<p>
If your OS version isn't listed then try some of the others, depending on
what dependencies you have available.
</p>
<p>
Ubuntu and derivatives must have the universe repository enabled.
</p>
<p>
Update your packages list.
</p>
<code><pre>
sudo apt update
</pre></code>
<p>
Either browse the packages or install
<code>mercury-recommended</code> which will install a reasonable set of
Mercury packages for most developers.
</p>
<code><pre>
sudo apt install mercury-recommended
</pre></code>
or for a recent ROTD version of Mercury:
<code><pre>
sudo apt install mercury-rotd-recommended
</pre></code>
<p>
Or choose specific packages to install. You can see a list with the
command:
</p>
<code><pre>
apt-cache showsrc mercury
</pre></code>
<h2>More info</h2>
Notes on maintaining these packages are kept
<a href="https://github.com/Mercury-Language/packaging">on github</a>.
</body>
</html>