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