| @@ -1,409 +1,407 @@ | | | @@ -1,409 +1,407 @@ |
1 | # $NetBSD: Makefile,v 1.58 2018/10/15 11:22:23 he Exp $ | | 1 | # $NetBSD: Makefile,v 1.59 2018/10/17 08:39:13 jperkin Exp $ |
2 | | | 2 | |
3 | DISTNAME= rustc-1.29.1-src | | 3 | DISTNAME= rustc-1.29.1-src |
4 | PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//} | | 4 | PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//} |
5 | PKGREVISION= 2 | | 5 | PKGREVISION= 2 |
6 | CATEGORIES= lang | | 6 | CATEGORIES= lang |
7 | MASTER_SITES= http://static.rust-lang.org/dist/ | | 7 | MASTER_SITES= http://static.rust-lang.org/dist/ |
8 | | | 8 | |
9 | MAINTAINER= pkgsrc-users@NetBSD.org | | 9 | MAINTAINER= pkgsrc-users@NetBSD.org |
10 | HOMEPAGE= https://www.rust-lang.org/ | | 10 | HOMEPAGE= https://www.rust-lang.org/ |
11 | COMMENT= Safe, concurrent, practical language | | 11 | COMMENT= Safe, concurrent, practical language |
12 | LICENSE= mit OR apache-2.0 | | 12 | LICENSE= mit OR apache-2.0 |
13 | | | 13 | |
14 | USE_GCC_RUNTIME= yes | | 14 | USE_GCC_RUNTIME= yes |
15 | USE_LANGUAGES= c c++11 | | 15 | USE_LANGUAGES= c c++11 |
16 | USE_LIBTOOL= yes | | 16 | USE_LIBTOOL= yes |
17 | USE_TOOLS+= bash gmake perl:build pkg-config | | 17 | USE_TOOLS+= bash ggrep gmake perl:build pkg-config |
18 | # For internal llvm | | 18 | # For internal llvm |
19 | BUILD_DEPENDS+= cmake-[0-9]*:../../devel/cmake | | 19 | BUILD_DEPENDS+= cmake-[0-9]*:../../devel/cmake |
20 | | | 20 | |
21 | HAS_CONFIGURE= yes | | 21 | HAS_CONFIGURE= yes |
22 | CONFIGURE_ARGS+= --prefix=${PREFIX} | | 22 | CONFIGURE_ARGS+= --prefix=${PREFIX} |
23 | CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} | | 23 | CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} |
24 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} | | 24 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} |
25 | CONFIGURE_ARGS+= --python=${PYTHONBIN} | | 25 | CONFIGURE_ARGS+= --python=${PYTHONBIN} |
26 | CONFIGURE_ARGS+= --release-channel=stable | | 26 | CONFIGURE_ARGS+= --release-channel=stable |
27 | #CONFIGURE_ARGS+= --enable-local-rust | | 27 | #CONFIGURE_ARGS+= --enable-local-rust |
28 | CONFIGURE_ARGS+= --local-rust-root=${RUST_BOOTSTRAP_PATH} | | 28 | CONFIGURE_ARGS+= --local-rust-root=${RUST_BOOTSTRAP_PATH} |
29 | CONFIGURE_ARGS+= --enable-extended # Build and install cargo too. | | 29 | CONFIGURE_ARGS+= --enable-extended # Build and install cargo too. |
30 | CONFIGURE_ARGS+= --enable-rpath | | 30 | CONFIGURE_ARGS+= --enable-rpath |
31 | CONFIGURE_ARGS+= --disable-codegen-tests | | 31 | CONFIGURE_ARGS+= --disable-codegen-tests |
32 | CONFIGURE_ARGS+= --disable-dist-src | | 32 | CONFIGURE_ARGS+= --disable-dist-src |
33 | CONFIGURE_ARGS+= --disable-llvm-static-stdcpp | | 33 | CONFIGURE_ARGS+= --disable-llvm-static-stdcpp |
34 | CONFIGURE_ARGS+= --disable-ninja | | 34 | CONFIGURE_ARGS+= --disable-ninja |
35 | CONFIGURE_ARGS.SunOS+= --disable-jemalloc | | 35 | CONFIGURE_ARGS.SunOS+= --disable-jemalloc |
36 | | | 36 | |
37 | # The gcc-wrap / c++-wrap script takes CROSS_ROOT environment variable | | 37 | # The gcc-wrap / c++-wrap script takes CROSS_ROOT environment variable |
38 | # to do a cross-build. The wrapper script assumes dest/ and tools/ | | 38 | # to do a cross-build. The wrapper script assumes dest/ and tools/ |
39 | # as a result of a cross-build as subdirectories of this root | | 39 | # as a result of a cross-build as subdirectories of this root |
40 | #CROSS_ROOT= /u/evbarm-armv7hf | | 40 | #CROSS_ROOT= /u/evbarm-armv7hf |
41 | #MAKE_ENV+= CROSS_ROOT=${CROSS_ROOT} | | 41 | #MAKE_ENV+= CROSS_ROOT=${CROSS_ROOT} |
42 | | | 42 | |
43 | # The GNU cross target designation | | 43 | # The GNU cross target designation |
44 | #GNU_CROSS_TARGET= armv7--netbsdelf-eabihf | | 44 | #GNU_CROSS_TARGET= armv7--netbsdelf-eabihf |
45 | #MAKE_ENV+= GNU_CROSS_TARGET=${GNU_CROSS_TARGET} | | 45 | #MAKE_ENV+= GNU_CROSS_TARGET=${GNU_CROSS_TARGET} |
46 | | | 46 | |
47 | # To cross-build rust, you need to specify | | 47 | # To cross-build rust, you need to specify |
48 | # the ultimate target to built for, as well as the | | 48 | # the ultimate target to built for, as well as the |
49 | # host the compiler is supposed to run on. | | 49 | # host the compiler is supposed to run on. |
50 | # Rust's target designation | | 50 | # Rust's target designation |
51 | #TARGET= armv7-unknown-netbsd-eabihf | | 51 | #TARGET= armv7-unknown-netbsd-eabihf |
52 | #CONFIGURE_ARGS+= --host=${TARGET} | | 52 | #CONFIGURE_ARGS+= --host=${TARGET} |
53 | #CONFIGURE_ARGS+= --target=${TARGET} | | 53 | #CONFIGURE_ARGS+= --target=${TARGET} |
54 | #CONFIGURE_ARGS+= --set=target.${TARGET}.cc=${.CURDIR}/files/gcc-wrap | | 54 | #CONFIGURE_ARGS+= --set=target.${TARGET}.cc=${.CURDIR}/files/gcc-wrap |
55 | #CONFIGURE_ARGS+= --set=target.${TARGET}.cxx=${.CURDIR}/files/c++-wrap | | 55 | #CONFIGURE_ARGS+= --set=target.${TARGET}.cxx=${.CURDIR}/files/c++-wrap |
56 | #CONFIGURE_ARGS+= --set=target.${TARGET}.linker=${.CURDIR}/files/gcc-wrap | | 56 | #CONFIGURE_ARGS+= --set=target.${TARGET}.linker=${.CURDIR}/files/gcc-wrap |
57 | #CONFIGURE_ARGS+= --set=target.${TARGET}.ar=${CROSS_ROOT}/tools/bin/${GNU_CROSS_TARGET}-ar | | 57 | #CONFIGURE_ARGS+= --set=target.${TARGET}.ar=${CROSS_ROOT}/tools/bin/${GNU_CROSS_TARGET}-ar |
58 | | | 58 | |
59 | # May be required when cross-building on NetBSD | | 59 | # May be required when cross-building on NetBSD |
60 | #MAKE_ENV+= OPENSSL_DIR=/usr | | 60 | #MAKE_ENV+= OPENSSL_DIR=/usr |
61 | | | 61 | |
62 | # Getting RPATH with $ORIGIN into bootstrap may be troublesome, so | | 62 | # Getting RPATH with $ORIGIN into bootstrap may be troublesome, so |
63 | # uncommenting the LD_LIBRARY_PATH setting may be required to run | | 63 | # uncommenting the LD_LIBRARY_PATH setting may be required to run |
64 | # the bootstrap | | 64 | # the bootstrap |
65 | MAKE_ENV+= LD_LIBRARY_PATH=${.CURDIR}/work/rust-bootstrap/lib | | 65 | MAKE_ENV+= LD_LIBRARY_PATH=${.CURDIR}/work/rust-bootstrap/lib |
66 | | | 66 | |
67 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) | | 67 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) |
68 | # Bootstrapping on NetBSD/powerpc requires no debug-info from rustc | | 68 | # Bootstrapping on NetBSD/powerpc requires no debug-info from rustc |
69 | # (both for amd64->powerpc built and powerpc->powerpc built bootstrap bits) | | 69 | # (both for amd64->powerpc built and powerpc->powerpc built bootstrap bits) |
70 | CONFIGURE_ARGS+= --disable-debug | | 70 | CONFIGURE_ARGS+= --disable-debug |
71 | CONFIGURE_ARGS+= --disable-debuginfo-tests | | 71 | CONFIGURE_ARGS+= --disable-debuginfo-tests |
72 | CONFIGURE_ARGS+= --disable-debug-assertions | | 72 | CONFIGURE_ARGS+= --disable-debug-assertions |
73 | CONFIGURE_ARGS+= --disable-debuginfo | | 73 | CONFIGURE_ARGS+= --disable-debuginfo |
74 | CONFIGURE_ARGS+= --disable-debuginfo-lines | | 74 | CONFIGURE_ARGS+= --disable-debuginfo-lines |
75 | CONFIGURE_ARGS+= --disable-debuginfo-only-std | | 75 | CONFIGURE_ARGS+= --disable-debuginfo-only-std |
76 | CONFIGURE_ARGS+= --disable-debuginfo-tools | | 76 | CONFIGURE_ARGS+= --disable-debuginfo-tools |
77 | .endif | | 77 | .endif |
78 | | | 78 | |
79 | # This should allow us to perform "offline" builds (so cargo doesn't fetch | | 79 | # This should allow us to perform "offline" builds (so cargo doesn't fetch |
80 | # dependencies during the build stage) but this isn't hooked up yet. | | 80 | # dependencies during the build stage) but this isn't hooked up yet. |
81 | CONFIGURE_ARGS+= --enable-vendor | | 81 | CONFIGURE_ARGS+= --enable-vendor |
82 | | | 82 | |
83 | # cargo defaults to using the number of available CPUs | | 83 | # cargo defaults to using the number of available CPUs |
84 | MAKE_ENV+= CARGO_BUILD_JOBS=${MAKE_JOBS:U1} | | 84 | MAKE_ENV+= CARGO_BUILD_JOBS=${MAKE_JOBS:U1} |
85 | | | 85 | |
86 | UNLIMIT_RESOURCES+= cputime | | 86 | UNLIMIT_RESOURCES+= cputime |
87 | | | 87 | |
88 | PYTHON_VERSIONS_ACCEPTED= 27 | | 88 | PYTHON_VERSIONS_ACCEPTED= 27 |
89 | | | 89 | |
90 | TEST_TARGET= check | | 90 | TEST_TARGET= check |
91 | | | 91 | |
92 | # bin/* lib/*, but names vary | | 92 | # bin/* lib/*, but names vary |
93 | CHECK_RELRO_SUPPORTED= no | | 93 | CHECK_RELRO_SUPPORTED= no |
94 | CHECK_SSP_SUPPORTED= no | | 94 | CHECK_SSP_SUPPORTED= no |
95 | | | 95 | |
96 | CHECK_PORTABILITY_SKIP+= src/vendor/openssl-src/openssl/.travis-create-release.sh | | 96 | CHECK_PORTABILITY_SKIP+= src/vendor/openssl-src/openssl/.travis-create-release.sh |
97 | | | 97 | |
98 | # Required for LLVM (-std=c++11) | | 98 | # Required for LLVM (-std=c++11) |
99 | GCC_REQD+= 4.8 | | 99 | GCC_REQD+= 4.8 |
100 | | | 100 | |
101 | .include "../../mk/bsd.prefs.mk" | | 101 | .include "../../mk/bsd.prefs.mk" |
102 | | | 102 | |
103 | # | | 103 | # |
104 | # Under NetBSD, do not use DT_RUNPATH | | 104 | # Under NetBSD, do not use DT_RUNPATH |
105 | # | | 105 | # |
106 | BUILDLINK_TRANSFORM.NetBSD+= rm:-Wl,--enable-new-dtags | | 106 | BUILDLINK_TRANSFORM.NetBSD+= rm:-Wl,--enable-new-dtags |
107 | | | 107 | |
108 | .PHONY: pre-build-fix | | 108 | .PHONY: pre-build-fix |
109 | # | | 109 | # |
110 | # Rust unfortunately requires itself to build. On platforms which aren't | | 110 | # Rust unfortunately requires itself to build. On platforms which aren't |
111 | # supported by upstream (where they offer binary bootstraps), or where we do | | 111 | # supported by upstream (where they offer binary bootstraps), or where we do |
112 | # not trust random binaries from the Internet, we need to build and provide our | | 112 | # not trust random binaries from the Internet, we need to build and provide our |
113 | # own bootstrap. See the stage0-bootstrap below for more details. | | 113 | # own bootstrap. See the stage0-bootstrap below for more details. |
114 | # | | 114 | # |
115 | DISTFILES:= ${DEFAULT_DISTFILES} | | 115 | DISTFILES:= ${DEFAULT_DISTFILES} |
116 | RUST_STAGE0_VER= 1.28.0 | | 116 | RUST_STAGE0_VER= 1.28.0 |
117 | # | | 117 | # |
118 | .if !empty(MACHINE_PLATFORM:MDarwin-*-i386) || make(distinfo) || make (makesum) || make(mdi) | | 118 | .if !empty(MACHINE_PLATFORM:MDarwin-*-i386) || make(distinfo) || make (makesum) || make(mdi) |
119 | RUST_ARCH:= i686-apple-darwin | | 119 | RUST_ARCH:= i686-apple-darwin |
120 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 120 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
121 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 121 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
122 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 122 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
123 | pre-build-fix: | | 123 | pre-build-fix: |
124 | .endif | | 124 | .endif |
125 | .if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 125 | .if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
126 | RUST_ARCH:= x86_64-apple-darwin | | 126 | RUST_ARCH:= x86_64-apple-darwin |
127 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 127 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
128 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 128 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
129 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 129 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
130 | pre-build-fix: | | 130 | pre-build-fix: |
131 | .endif | | 131 | .endif |
132 | .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi) | | 132 | .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi) |
133 | RUST_ARCH:= i686-unknown-linux-gnu | | 133 | RUST_ARCH:= i686-unknown-linux-gnu |
134 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 134 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
135 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 135 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
136 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 136 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
137 | pre-build-fix: | | 137 | pre-build-fix: |
138 | .endif | | 138 | .endif |
139 | .if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 139 | .if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
140 | RUST_ARCH:= x86_64-unknown-linux-gnu | | 140 | RUST_ARCH:= x86_64-unknown-linux-gnu |
141 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 141 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
142 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 142 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
143 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 143 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
144 | pre-build-fix: | | 144 | pre-build-fix: |
145 | .endif | | 145 | .endif |
146 | .if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 146 | .if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
147 | RUST_ARCH:= x86_64-sun-solaris | | 147 | RUST_ARCH:= x86_64-sun-solaris |
148 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 148 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
149 | SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/ | | 149 | SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/ |
150 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} | | 150 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} |
151 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH} | | 151 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH} |
152 | pre-build-fix: | | 152 | pre-build-fix: |
153 | .endif | | 153 | .endif |
154 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) | | 154 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) |
155 | RUST_ARCH:= i686-unknown-freebsd | | 155 | RUST_ARCH:= i686-unknown-freebsd |
156 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 156 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
157 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 157 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
158 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 158 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
159 | pre-build-fix: | | 159 | pre-build-fix: |
160 | .endif | | 160 | .endif |
161 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 161 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
162 | RUST_ARCH:= x86_64-unknown-freebsd | | 162 | RUST_ARCH:= x86_64-unknown-freebsd |
163 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 163 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
164 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 164 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
165 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 165 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
166 | pre-build-fix: | | 166 | pre-build-fix: |
167 | .endif | | 167 | .endif |
168 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) | | 168 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) |
169 | RUST_ARCH= i686-unknown-netbsd | | 169 | RUST_ARCH= i686-unknown-netbsd |
170 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 170 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
171 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 171 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
172 | # Do not trust ryoon@. | | 172 | # Do not trust ryoon@. |
173 | SITES.${RUST_STAGE0}= https://www.ryoon.net/pub/rust/ | | 173 | SITES.${RUST_STAGE0}= https://www.ryoon.net/pub/rust/ |
174 | SITES.${RUST_STD_STAGE0}= https://www.ryoon.net/pub/rust/ | | 174 | SITES.${RUST_STD_STAGE0}= https://www.ryoon.net/pub/rust/ |
175 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 175 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
176 | # Setting this changes it for every distfile, which doesn't match what is | | 176 | # Setting this changes it for every distfile, which doesn't match what is |
177 | # currently in distinfo. | | 177 | # currently in distinfo. |
178 | #DIST_SUBDIR= ${PKGNAME} | | 178 | #DIST_SUBDIR= ${PKGNAME} |
179 | # For atomic ops | | 179 | # For atomic ops |
180 | CFLAGS+= -march=i586 | | 180 | CFLAGS+= -march=i586 |
181 | pre-build-fix: | | 181 | pre-build-fix: |
182 | ${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/cargo | | 182 | ${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/cargo |
183 | .endif | | 183 | .endif |
184 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 184 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
185 | RUST_ARCH= x86_64-unknown-netbsd | | 185 | RUST_ARCH= x86_64-unknown-netbsd |
186 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 186 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
187 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 187 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
188 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 188 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
189 | pre-build-fix: | | 189 | pre-build-fix: |
190 | .endif | | 190 | .endif |
191 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi) | | 191 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi) |
192 | RUST_ARCH= powerpc-unknown-netbsd | | 192 | RUST_ARCH= powerpc-unknown-netbsd |
193 | RUST_STAGE0_VER= 1.28.0 | | 193 | RUST_STAGE0_VER= 1.28.0 |
194 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 194 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
195 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 195 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
196 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 196 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
197 | # Do not trust he@. | | 197 | # Do not trust he@. |
198 | SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ | | 198 | SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ |
199 | SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ | | 199 | SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ |
200 | pre-build-fix: | | 200 | pre-build-fix: |
201 | .endif | | 201 | .endif |
202 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi) | | 202 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi) |
203 | RUST_ARCH= sparc64-unknown-netbsd | | 203 | RUST_ARCH= sparc64-unknown-netbsd |
204 | RUST_STAGE0_VER= 1.29.1 | | 204 | RUST_STAGE0_VER= 1.29.1 |
205 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 205 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
206 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 206 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
207 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 207 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
208 | # Do not trust he@. | | 208 | # Do not trust he@. |
209 | SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ | | 209 | SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ |
210 | SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ | | 210 | SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ |
211 | pre-build-fix: | | 211 | pre-build-fix: |
212 | .endif | | 212 | .endif |
213 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi) | | 213 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi) |
214 | RUST_ARCH= armv7-unknown-netbsd-eabihf | | 214 | RUST_ARCH= armv7-unknown-netbsd-eabihf |
215 | RUST_STAGE0_VER= 1.29.1 | | 215 | RUST_STAGE0_VER= 1.29.1 |
216 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 216 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
217 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 217 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
218 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 218 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
219 | # Do not trust he@. | | 219 | # Do not trust he@. |
220 | SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ | | 220 | SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ |
221 | SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ | | 221 | SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/ |
222 | pre-build-fix: | | 222 | pre-build-fix: |
223 | .endif | | 223 | .endif |
224 | | | 224 | |
225 | # You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf if you have a local bootstrap compiler. | | 225 | # You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf if you have a local bootstrap compiler. |
226 | .if !defined(RUST_ARCH) && !defined(RUST_BOOTSTRAP_PATH) | | 226 | .if !defined(RUST_ARCH) && !defined(RUST_BOOTSTRAP_PATH) |
227 | NOT_FOR_PLATFORM+= ${MACHINE_PLATFORM} | | 227 | NOT_FOR_PLATFORM+= ${MACHINE_PLATFORM} |
228 | .else | | 228 | .else |
229 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-bootstrap | | 229 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-bootstrap |
230 | .endif | | 230 | .endif |
231 | | | 231 | |
232 | .if ${OPSYS} == "SunOS" | | 232 | .if ${OPSYS} == "SunOS" |
233 | BUILD_DEPENDS+= grep>=0:../../textproc/grep | | | |
234 | BUILD_DEPENDS+= coreutils>=0:../../sysutils/coreutils | | 233 | BUILD_DEPENDS+= coreutils>=0:../../sysutils/coreutils |
235 | TOOLS_PATH.grep= ${PREFIX}/bin/ggrep | | | |
236 | TOOLS_CREATE+= md5sum | | 234 | TOOLS_CREATE+= md5sum |
237 | TOOLS_PATH.md5sum= ${PREFIX}/bin/gmd5sum | | 235 | TOOLS_PATH.md5sum= ${PREFIX}/bin/gmd5sum |
238 | .endif | | 236 | .endif |
239 | | | 237 | |
240 | SUBST_CLASSES+= rpath | | 238 | SUBST_CLASSES+= rpath |
241 | SUBST_STAGE.rpath= pre-configure | | 239 | SUBST_STAGE.rpath= pre-configure |
242 | SUBST_FILES.rpath= src/bootstrap/bin/rustc.rs | | 240 | SUBST_FILES.rpath= src/bootstrap/bin/rustc.rs |
243 | SUBST_VARS.rpath= PREFIX | | 241 | SUBST_VARS.rpath= PREFIX |
244 | | | 242 | |
245 | post-extract: | | 243 | post-extract: |
246 | set -e; \ | | 244 | set -e; \ |
247 | if ${TEST} -e ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}/install.sh \ | | 245 | if ${TEST} -e ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}/install.sh \ |
248 | -a ! -e ${RUST_BOOTSTRAP_PATH}/bin/rustc; then \ | | 246 | -a ! -e ${RUST_BOOTSTRAP_PATH}/bin/rustc; then \ |
249 | cd ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}; \ | | 247 | cd ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}; \ |
250 | ${TOOLS_BASH} ./install.sh --prefix=${RUST_BOOTSTRAP_PATH}; \ | | 248 | ${TOOLS_BASH} ./install.sh --prefix=${RUST_BOOTSTRAP_PATH}; \ |
251 | cd ${WRKDIR}/rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}; \ | | 249 | cd ${WRKDIR}/rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}; \ |
252 | ${TOOLS_BASH} ./install.sh --prefix=${RUST_BOOTSTRAP_PATH}; \ | | 250 | ${TOOLS_BASH} ./install.sh --prefix=${RUST_BOOTSTRAP_PATH}; \ |
253 | fi | | 251 | fi |
254 | # patch(1) in NetBSD does not handle .cargo-checksum.json like long width file. | | 252 | # patch(1) in NetBSD does not handle .cargo-checksum.json like long width file. |
255 | cat ${WRKSRC}/src/vendor/libc/.cargo-checksum.json | \ | | 253 | cat ${WRKSRC}/src/vendor/libc/.cargo-checksum.json | \ |
256 | ${SED} -e 's/9c6af198a2f80da827054784faf70bc404673d9568fb45664b4f73c46245fdbd/c3851969a854d6ccaa8a94369f1288025149d1ebdc74b36f224423f35b18f7a7/' > \ | | 254 | ${SED} -e 's/9c6af198a2f80da827054784faf70bc404673d9568fb45664b4f73c46245fdbd/c3851969a854d6ccaa8a94369f1288025149d1ebdc74b36f224423f35b18f7a7/' > \ |
257 | ${WRKSRC}/src/vendor/libc/.cargo-checksum.json.patched | | 255 | ${WRKSRC}/src/vendor/libc/.cargo-checksum.json.patched |
258 | ${CP} -f ${WRKSRC}/src/vendor/libc/.cargo-checksum.json.patched \ | | 256 | ${CP} -f ${WRKSRC}/src/vendor/libc/.cargo-checksum.json.patched \ |
259 | ${WRKSRC}/src/vendor/libc/.cargo-checksum.json | | 257 | ${WRKSRC}/src/vendor/libc/.cargo-checksum.json |
260 | .if ${OPSYS} == "NetBSD" | | 258 | .if ${OPSYS} == "NetBSD" |
261 | ${RM} -f ${.CURDIR}/files/c++-wrap | | 259 | ${RM} -f ${.CURDIR}/files/c++-wrap |
262 | ${RM} -f ${.CURDIR}/files/clang++-wrap | | 260 | ${RM} -f ${.CURDIR}/files/clang++-wrap |
263 | ${RM} -f ${.CURDIR}/files/clang-wrap | | 261 | ${RM} -f ${.CURDIR}/files/clang-wrap |
264 | ${LN} -s ${.CURDIR}/files/gcc-wrap ${.CURDIR}/files/c++-wrap | | 262 | ${LN} -s ${.CURDIR}/files/gcc-wrap ${.CURDIR}/files/c++-wrap |
265 | ${LN} -s ${.CURDIR}/files/gcc-wrap ${.CURDIR}/files/clang++-wrap | | 263 | ${LN} -s ${.CURDIR}/files/gcc-wrap ${.CURDIR}/files/clang++-wrap |
266 | ${LN} -s ${.CURDIR}/files/gcc-wrap ${.CURDIR}/files/clang-wrap | | 264 | ${LN} -s ${.CURDIR}/files/gcc-wrap ${.CURDIR}/files/clang-wrap |
267 | ${CHMOD} +x ${.CURDIR}/files/gcc-wrap | | 265 | ${CHMOD} +x ${.CURDIR}/files/gcc-wrap |
268 | .endif | | 266 | .endif |
269 | | | 267 | |
270 | .if ${OPSYS} != "SunOS" | | 268 | .if ${OPSYS} != "SunOS" |
271 | LD_LIBRARY_PATH= ${RUST_BOOTSTRAP_PATH}/lib | | 269 | LD_LIBRARY_PATH= ${RUST_BOOTSTRAP_PATH}/lib |
272 | PKGSRC_MAKE_ENV+= LD_LIBRARY_PATH=${LD_LIBRARY_PATH:Q} | | 270 | PKGSRC_MAKE_ENV+= LD_LIBRARY_PATH=${LD_LIBRARY_PATH:Q} |
273 | .endif | | 271 | .endif |
274 | | | 272 | |
275 | .if ${OPSYS} == "FreeBSD" | | 273 | .if ${OPSYS} == "FreeBSD" |
276 | MAKE_ENV+= OPENSSL_DIR=${SSLBASE} | | 274 | MAKE_ENV+= OPENSSL_DIR=${SSLBASE} |
277 | .endif | | 275 | .endif |
278 | | | 276 | |
279 | pre-build: pre-build-fix | | 277 | pre-build: pre-build-fix |
280 | # Requires libssh2 defines only available in master. | | 278 | # Requires libssh2 defines only available in master. |
281 | ${CP} -f ${WRKSRC}/src/vendor/libssh2-sys/libssh2/include/libssh2.h \ | | 279 | ${CP} -f ${WRKSRC}/src/vendor/libssh2-sys/libssh2/include/libssh2.h \ |
282 | ${BUILDLINK_DIR}/include/ | | 280 | ${BUILDLINK_DIR}/include/ |
283 | | | 281 | |
284 | do-build: | | 282 | do-build: |
285 | cd ${WRKSRC} \ | | 283 | cd ${WRKSRC} \ |
286 | && env ${MAKE_ENV} \ | | 284 | && env ${MAKE_ENV} \ |
287 | ${PYTHONBIN} ./x.py -v dist | | 285 | ${PYTHONBIN} ./x.py -v dist |
288 | | | 286 | |
289 | do-install: | | 287 | do-install: |
290 | cd ${WRKSRC} \ | | 288 | cd ${WRKSRC} \ |
291 | && env ${MAKE_ENV} ${INSTALL_ENV} \ | | 289 | && env ${MAKE_ENV} ${INSTALL_ENV} \ |
292 | ${PYTHONBIN} ./x.py -v install | | 290 | ${PYTHONBIN} ./x.py -v install |
293 | | | 291 | |
294 | post-install: | | 292 | post-install: |
295 | ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log | | 293 | ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log |
296 | ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/uninstall.sh | | 294 | ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/uninstall.sh |
297 | ${RM} -rf ${DESTDIR}${PREFIX}/lib/rustlib/src | | 295 | ${RM} -rf ${DESTDIR}${PREFIX}/lib/rustlib/src |
298 | | | 296 | |
299 | GENERATE_PLIST+= find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \ | | 297 | GENERATE_PLIST+= find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \ |
300 | sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ; | | 298 | sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ; |
301 | | | 299 | |
302 | .if ${OPSYS} == "Darwin" | | 300 | .if ${OPSYS} == "Darwin" |
303 | .PHONY: fix-darwin-install-name | | 301 | .PHONY: fix-darwin-install-name |
304 | post-install: fix-darwin-install-name | | 302 | post-install: fix-darwin-install-name |
305 | fix-darwin-install-name: | | 303 | fix-darwin-install-name: |
306 | . for bin in clippy-driver rls rustc rustdoc | | 304 | . for bin in clippy-driver rls rustc rustdoc |
307 | otool -XL ${DESTDIR}${PREFIX}/bin/${bin} \ | | 305 | otool -XL ${DESTDIR}${PREFIX}/bin/${bin} \ |
308 | | ${GREP} '@rpath' | while read rpath rest; do \ | | 306 | | ${GREP} '@rpath' | while read rpath rest; do \ |
309 | install_name_tool -change $$rpath \ | | 307 | install_name_tool -change $$rpath \ |
310 | `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \ | | 308 | `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \ |
311 | ${DESTDIR}${PREFIX}/bin/${bin}; \ | | 309 | ${DESTDIR}${PREFIX}/bin/${bin}; \ |
312 | done | | 310 | done |
313 | . endfor | | 311 | . endfor |
314 | . for libdir in lib lib/rustlib/${RUST_ARCH}/lib lib/rustlib/${RUST_ARCH}/codegen-backends | | 312 | . for libdir in lib lib/rustlib/${RUST_ARCH}/lib lib/rustlib/${RUST_ARCH}/codegen-backends |
315 | for f in ${DESTDIR}${PREFIX}/${libdir}/lib*.dylib; do \ | | 313 | for f in ${DESTDIR}${PREFIX}/${libdir}/lib*.dylib; do \ |
316 | [ ! -f $$f ] && continue; \ | | 314 | [ ! -f $$f ] && continue; \ |
317 | install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \ | | 315 | install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \ |
318 | otool -XL $$f | grep '@rpath' | while read rpath rest; do \ | | 316 | otool -XL $$f | grep '@rpath' | while read rpath rest; do \ |
319 | install_name_tool -change $$rpath \ | | 317 | install_name_tool -change $$rpath \ |
320 | `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \ | | 318 | `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \ |
321 | $$f; \ | | 319 | $$f; \ |
322 | done; \ | | 320 | done; \ |
323 | done | | 321 | done |
324 | . endfor | | 322 | . endfor |
325 | .endif | | 323 | .endif |
326 | | | 324 | |
327 | # | | 325 | # |
328 | # Create a relocatable stage2 bootstrap from the bits we just built that can be | | 326 | # Create a relocatable stage2 bootstrap from the bits we just built that can be |
329 | # used to build the next version of rust. Currently only tested on SmartOS. | | 327 | # used to build the next version of rust. Currently only tested on SmartOS. |
330 | # | | 328 | # |
331 | BOOTSTRAP_TMPDIR= ${WRKDIR}/${PKGNAME_NOREV}-${RUST_ARCH} | | 329 | BOOTSTRAP_TMPDIR= ${WRKDIR}/${PKGNAME_NOREV}-${RUST_ARCH} |
332 | USE_TOOLS+= gtar | | 330 | USE_TOOLS+= gtar |
333 | | | 331 | |
334 | # The NetBSD part is so far untested, because I could not convince | | 332 | # The NetBSD part is so far untested, because I could not convince |
335 | # the rust build to use the gcc wrapper when building natively, | | 333 | # the rust build to use the gcc wrapper when building natively, |
336 | # so that I could get a placeholder in the RPATH, because chrpath | | 334 | # so that I could get a placeholder in the RPATH, because chrpath |
337 | # cannot extend the length of the RPATH... | | 335 | # cannot extend the length of the RPATH... |
338 | | | 336 | |
339 | stage0-bootstrap: install | | 337 | stage0-bootstrap: install |
340 | ${RM} -rf ${BOOTSTRAP_TMPDIR} | | 338 | ${RM} -rf ${BOOTSTRAP_TMPDIR} |
341 | ${MKDIR} ${BOOTSTRAP_TMPDIR} | | 339 | ${MKDIR} ${BOOTSTRAP_TMPDIR} |
342 | .if ${OPSYS} == "NetBSD" | | 340 | .if ${OPSYS} == "NetBSD" |
343 | (cd ${BOOTSTRAP_TMPDIR}; \ | | 341 | (cd ${BOOTSTRAP_TMPDIR}; \ |
344 | DISTDIR=${WRKSRC}/bild/dist; \ | | 342 | DISTDIR=${WRKSRC}/bild/dist; \ |
345 | VER_ARCH=${PKGVERSION}-${RUST_ARCH}; \ | | 343 | VER_ARCH=${PKGVERSION}-${RUST_ARCH}; \ |
346 | RUSTC=rustc-$${VER_ARCH}; \ | | 344 | RUSTC=rustc-$${VER_ARCH}; \ |
347 | RUSTC_FILE=$${RUSTC}.tar.gz; \ | | 345 | RUSTC_FILE=$${RUSTC}.tar.gz; \ |
348 | RUST_STD=rust-std-$${VER_ARCH}; \ | | 346 | RUST_STD=rust-std-$${VER_ARCH}; \ |
349 | RUST_STD_FILE=$${RUST_STD}.tar.gz; \ | | 347 | RUST_STD_FILE=$${RUST_STD}.tar.gz; \ |
350 | ${GTAR} -xzf $${DISTDIR}/$${RUSTC_FILE}; \ | | 348 | ${GTAR} -xzf $${DISTDIR}/$${RUSTC_FILE}; \ |
351 | (cd ${RUSTC}; \ | | 349 | (cd ${RUSTC}; \ |
352 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN/../lib'; \ | | 350 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN/../lib'; \ |
353 | for f in rls-preview/bin/rls rustc/bin/rustc rustc/bin/rustdoc; do \ | | 351 | for f in rls-preview/bin/rls rustc/bin/rustc rustc/bin/rustdoc; do \ |
354 | chrpath -r $$RPATH $$f; \ | | 352 | chrpath -r $$RPATH $$f; \ |
355 | done; \ | | 353 | done; \ |
356 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN'; \ | | 354 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN'; \ |
357 | for f in rustc/lib/*.so*; do \ | | 355 | for f in rustc/lib/*.so*; do \ |
358 | chrpath -r $$RPATH $$f; \ | | 356 | chrpath -r $$RPATH $$f; \ |
359 | done; \ | | 357 | done; \ |
360 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN:$$ORIGIN/../../..'; \ | | 358 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN:$$ORIGIN/../../..'; \ |
361 | for f in rustc/lib/rustlib/*/*/*.so*; do \ | | 359 | for f in rustc/lib/rustlib/*/*/*.so*; do \ |
362 | chrpath -r $$RPATH $$f; \ | | 360 | chrpath -r $$RPATH $$f; \ |
363 | done;); \ | | 361 | done;); \ |
364 | ${GTAR} -czf $${RUSTC_FILE} $${RUSTC}; \ | | 362 | ${GTAR} -czf $${RUSTC_FILE} $${RUSTC}; \ |
365 | ${CP} $${DISTDIR}/$${RUST_STD_FILE} .; \ | | 363 | ${CP} $${DISTDIR}/$${RUST_STD_FILE} .; \ |
366 | echo "Fixed stage0 bootstrap in ${BOOTSTRAP_TMPDIR}:"; \ | | 364 | echo "Fixed stage0 bootstrap in ${BOOTSTRAP_TMPDIR}:"; \ |
367 | echo "$${RUSTC_FILE}"; \ | | 365 | echo "$${RUSTC_FILE}"; \ |
368 | echo "$${RUST_STD_FILE}"; \ | | 366 | echo "$${RUST_STD_FILE}"; \ |
369 | ) | | 367 | ) |
370 | .endif | | 368 | .endif |
371 | .if ${OS_VARIANT} == "SmartOS" | | 369 | .if ${OS_VARIANT} == "SmartOS" |
372 | ${CP} -R ${DESTDIR}/${PREFIX}/bin ${BOOTSTRAP_TMPDIR}/ | | 370 | ${CP} -R ${DESTDIR}/${PREFIX}/bin ${BOOTSTRAP_TMPDIR}/ |
373 | ${CP} -R ${DESTDIR}/${PREFIX}/lib ${BOOTSTRAP_TMPDIR}/ | | 371 | ${CP} -R ${DESTDIR}/${PREFIX}/lib ${BOOTSTRAP_TMPDIR}/ |
374 | ${MKDIR} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc | | 372 | ${MKDIR} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc |
375 | for lib in libgcc_s.so.1 libssp.so.0 libstdc++.so.6; do \ | | 373 | for lib in libgcc_s.so.1 libssp.so.0 libstdc++.so.6; do \ |
376 | ${CP} `${PKG_CC} -print-file-name=$${lib}` \ | | 374 | ${CP} `${PKG_CC} -print-file-name=$${lib}` \ |
377 | ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \ | | 375 | ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \ |
378 | done | | 376 | done |
379 | for lib in libcrypto.so.1.0.0 libcurl.so.4 libhttp_parser.so.2 \ | | 377 | for lib in libcrypto.so.1.0.0 libcurl.so.4 libhttp_parser.so.2 \ |
380 | libiconv.so.2 libidn2.so.0 libintl.so.8 liblber-2.4.so.2 \ | | 378 | libiconv.so.2 libidn2.so.0 libintl.so.8 liblber-2.4.so.2 \ |
381 | libldap-2.4.so.2 libnghttp2.so.14 libsasl2.so.3 \ | | 379 | libldap-2.4.so.2 libnghttp2.so.14 libsasl2.so.3 \ |
382 | libssh2.so.1 libssl.so.1.0.0 libunistring.so.2 libz.so.1; do \ | | 380 | libssh2.so.1 libssl.so.1.0.0 libunistring.so.2 libz.so.1; do \ |
383 | ${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \ | | 381 | ${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \ |
384 | done | | 382 | done |
385 | for f in ${BOOTSTRAP_TMPDIR}/bin/{cargo,rls,rustc,rustdoc}; do \ | | 383 | for f in ${BOOTSTRAP_TMPDIR}/bin/{cargo,rls,rustc,rustdoc}; do \ |
386 | /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN/../lib:$$ORIGIN/../lib/pkgsrc' $$f; \ | | 384 | /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN/../lib:$$ORIGIN/../lib/pkgsrc' $$f; \ |
387 | done | | 385 | done |
388 | for f in ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/*.so*; do \ | | 386 | for f in ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/*.so*; do \ |
389 | /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN' $$f; \ | | 387 | /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN' $$f; \ |
390 | done | | 388 | done |
391 | for f in ${BOOTSTRAP_TMPDIR}/lib/*.so*; do \ | | 389 | for f in ${BOOTSTRAP_TMPDIR}/lib/*.so*; do \ |
392 | /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN:$$ORIGIN/pkgsrc' $$f; \ | | 390 | /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN:$$ORIGIN/pkgsrc' $$f; \ |
393 | done | | 391 | done |
394 | for f in ${BOOTSTRAP_TMPDIR}/lib/rustlib/${RUST_ARCH}/*/*.so*; do \ | | 392 | for f in ${BOOTSTRAP_TMPDIR}/lib/rustlib/${RUST_ARCH}/*/*.so*; do \ |
395 | /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN:$$ORIGIN/../../..:$$ORIGIN/../../../pkgsrc' $$f; \ | | 393 | /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN:$$ORIGIN/../../..:$$ORIGIN/../../../pkgsrc' $$f; \ |
396 | done | | 394 | done |
397 | (cd ${WRKDIR}; \ | | 395 | (cd ${WRKDIR}; \ |
398 | ${GTAR} -zcf ${PKGNAME_NOREV}-${RUST_ARCH}.tar.gz ${PKGNAME_NOREV}-${RUST_ARCH}) | | 396 | ${GTAR} -zcf ${PKGNAME_NOREV}-${RUST_ARCH}.tar.gz ${PKGNAME_NOREV}-${RUST_ARCH}) |
399 | .endif | | 397 | .endif |
400 | | | 398 | |
401 | .include "../../devel/cmake/buildlink3.mk" | | 399 | .include "../../devel/cmake/buildlink3.mk" |
402 | .include "../../devel/libgit2/buildlink3.mk" | | 400 | .include "../../devel/libgit2/buildlink3.mk" |
403 | .include "../../devel/zlib/buildlink3.mk" | | 401 | .include "../../devel/zlib/buildlink3.mk" |
404 | .include "../../lang/python/tool.mk" | | 402 | .include "../../lang/python/tool.mk" |
405 | .include "../../security/libssh2/buildlink3.mk" | | 403 | .include "../../security/libssh2/buildlink3.mk" |
406 | .include "../../security/openssl/buildlink3.mk" | | 404 | .include "../../security/openssl/buildlink3.mk" |
407 | .include "../../www/curl/buildlink3.mk" | | 405 | .include "../../www/curl/buildlink3.mk" |
408 | .include "../../www/http-parser/buildlink3.mk" | | 406 | .include "../../www/http-parser/buildlink3.mk" |
409 | .include "../../mk/bsd.pkg.mk" | | 407 | .include "../../mk/bsd.pkg.mk" |