Mercurial > vanilla
annotate lang/rust/rust.sh @ 1220:4ccc42bf0284
misc: split .sh with .info
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 30 Sep 2021 09:26:38 +0200 |
parents | 6710613b88b9 |
children | a47aaf9743a0 |
rev | line source |
---|---|
1176
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 #!/bin/sh |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 # Copyright (c) 2019 David Demelier <markand@malikania.fr> |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 # |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 # Permission to use, copy, modify, and/or distribute this software for any |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 # purpose with or without fee is hereby granted, provided that the above |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 # copyright notice and this permission notice appear in all copies. |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 # |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 # |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 |
1220
4ccc42bf0284
misc: split .sh with .info
David Demelier <markand@malikania.fr>
parents:
1216
diff
changeset
|
18 . ./rust.info |
1176
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 : ${CC:=clang} |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 : ${CFLAGS:=-O2} |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 : ${CXX:=clang++} |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 : ${CXXFLAGS:=-O2} |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 : ${LDFLAGS:=} |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 : ${LIBS:=} |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 : ${COMPONENTS:=yes} |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 case $COMPONENTS in |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 "yes") |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 with_components="cargo clippy rustfmt" ;; |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 "no") |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 with_components="" ;; |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 *) |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 with_components="$COMPONENTS" |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 esac |
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
37 rm -rf rustc-$PKGVERSION-src |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
38 tar xvpf rustc-$PKGVERSION-src.tar.gz |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
39 cd rustc-$PKGVERSION-src |
1176
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
41 if [ "$CC" = "clang" ]; then |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
42 patch -p0 < ../patch-clang.patch |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
43 fi |
1176
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
45 # http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/lang/rust/patches |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
46 patch -p0 < ../patch-libressl.patch |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
47 patch -p0 < ../patch-rust.patch |
1176
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
49 sed \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
50 -e "s|@PWD@|$cwd|" \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
51 -e "s|@ARCH@|$(uname -m)|" \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
52 -e "s|@CC@|$CC|" \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
53 -e "s|@CXX@|$CXX|" \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
54 -e "s|@VERSION@|$PKGVERSION|" ../config.toml > config.toml |
1176
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
56 ./x.py build -v -j 2 src/libstd src/librustc $with_components |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
57 DESTDIR=$DESTDIR ./x.py install -v src/libstd src/librustc $with_components |
1176
e45b5d1810ab
lang/rust: initial import, closes #1097
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
59 # Remove useless bits. |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
60 rm -f $DESTDIR/lib/rustlib/uninstall.sh |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
61 rm -f $DESTDIR/lib/rustlib/install.log |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
62 rm -f $DESTDIR/lib/rustlib/components |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
63 rm -f $DESTDIR/lib/rustlib/manifest* |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
64 |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
65 cd .. |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1176
diff
changeset
|
66 rm -rf rustc-$PKGVERSION-src |