| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: Makefile,v 1.52 2018/09/30 16:19:54 minskim Exp $ | | 1 | # $NetBSD: Makefile,v 1.53 2018/10/07 23:12:49 ryoon 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 | CATEGORIES= lang | | 5 | CATEGORIES= lang |
6 | MASTER_SITES= http://static.rust-lang.org/dist/ | | 6 | MASTER_SITES= http://static.rust-lang.org/dist/ |
7 | | | 7 | |
8 | MAINTAINER= pkgsrc-users@NetBSD.org | | 8 | MAINTAINER= pkgsrc-users@NetBSD.org |
9 | HOMEPAGE= https://www.rust-lang.org/ | | 9 | HOMEPAGE= https://www.rust-lang.org/ |
10 | COMMENT= Safe, concurrent, practical language | | 10 | COMMENT= Safe, concurrent, practical language |
11 | LICENSE= mit OR apache-2.0 | | 11 | LICENSE= mit OR apache-2.0 |
12 | | | 12 | |
13 | USE_GCC_RUNTIME= yes | | 13 | USE_GCC_RUNTIME= yes |
14 | USE_LANGUAGES= c c++11 | | 14 | USE_LANGUAGES= c c++11 |
| @@ -52,99 +52,108 @@ CHECK_SSP_SUPPORTED= no | | | @@ -52,99 +52,108 @@ CHECK_SSP_SUPPORTED= no |
52 | | | 52 | |
53 | CHECK_PORTABILITY_SKIP+= src/vendor/openssl-src/openssl/.travis-create-release.sh | | 53 | CHECK_PORTABILITY_SKIP+= src/vendor/openssl-src/openssl/.travis-create-release.sh |
54 | | | 54 | |
55 | # Required for LLVM (-std=c++11) | | 55 | # Required for LLVM (-std=c++11) |
56 | GCC_REQD+= 4.8 | | 56 | GCC_REQD+= 4.8 |
57 | | | 57 | |
58 | .include "../../mk/bsd.prefs.mk" | | 58 | .include "../../mk/bsd.prefs.mk" |
59 | | | 59 | |
60 | # | | 60 | # |
61 | # Under NetBSD, do not use DT_RUNPATH | | 61 | # Under NetBSD, do not use DT_RUNPATH |
62 | # | | 62 | # |
63 | BUILDLINK_TRANSFORM.NetBSD+= rm:-Wl,--enable-new-dtags | | 63 | BUILDLINK_TRANSFORM.NetBSD+= rm:-Wl,--enable-new-dtags |
64 | | | 64 | |
| | | 65 | .PHONY: pre-build-fix |
65 | # | | 66 | # |
66 | # Rust unfortunately requires itself to build. On platforms which aren't | | 67 | # Rust unfortunately requires itself to build. On platforms which aren't |
67 | # supported by upstream (where they offer binary bootstraps), or where we do | | 68 | # supported by upstream (where they offer binary bootstraps), or where we do |
68 | # not trust random binaries from the Internet, we need to build and provide our | | 69 | # not trust random binaries from the Internet, we need to build and provide our |
69 | # own bootstrap. See the stage0-bootstrap below for more details. | | 70 | # own bootstrap. See the stage0-bootstrap below for more details. |
70 | # | | 71 | # |
71 | DISTFILES:= ${DEFAULT_DISTFILES} | | 72 | DISTFILES:= ${DEFAULT_DISTFILES} |
72 | RUST_STAGE0_VER= 1.28.0 | | 73 | RUST_STAGE0_VER= 1.28.0 |
73 | # | | 74 | # |
74 | .if !empty(MACHINE_PLATFORM:MDarwin-*-i386) || make(distinfo) || make (makesum) || make(mdi) | | 75 | .if !empty(MACHINE_PLATFORM:MDarwin-*-i386) || make(distinfo) || make (makesum) || make(mdi) |
75 | RUST_ARCH:= i686-apple-darwin | | 76 | RUST_ARCH:= i686-apple-darwin |
76 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 77 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
77 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 78 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
78 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 79 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
| | | 80 | pre-build-fix: |
79 | .endif | | 81 | .endif |
80 | .if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 82 | .if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
81 | RUST_ARCH:= x86_64-apple-darwin | | 83 | RUST_ARCH:= x86_64-apple-darwin |
82 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 84 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
83 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 85 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
84 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 86 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
| | | 87 | pre-build-fix: |
85 | .endif | | 88 | .endif |
86 | .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi) | | 89 | .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi) |
87 | RUST_ARCH:= i686-unknown-linux-gnu | | 90 | RUST_ARCH:= i686-unknown-linux-gnu |
88 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 91 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
89 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 92 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
90 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 93 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
| | | 94 | pre-build-fix: |
91 | .endif | | 95 | .endif |
92 | .if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 96 | .if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
93 | RUST_ARCH:= x86_64-unknown-linux-gnu | | 97 | RUST_ARCH:= x86_64-unknown-linux-gnu |
94 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 98 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
95 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 99 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
96 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 100 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
| | | 101 | pre-build-fix: |
97 | .endif | | 102 | .endif |
98 | .if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 103 | .if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
99 | RUST_ARCH:= x86_64-sun-solaris | | 104 | RUST_ARCH:= x86_64-sun-solaris |
100 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 105 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
101 | SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/ | | 106 | SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/ |
102 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} | | 107 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} |
103 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH} | | 108 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH} |
| | | 109 | pre-build-fix: |
104 | .endif | | 110 | .endif |
105 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) | | 111 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) |
106 | RUST_ARCH:= i686-unknown-freebsd | | 112 | RUST_ARCH:= i686-unknown-freebsd |
107 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 113 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
108 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 114 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
109 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 115 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
| | | 116 | pre-build-fix: |
110 | .endif | | 117 | .endif |
111 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 118 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
112 | RUST_ARCH:= x86_64-unknown-freebsd | | 119 | RUST_ARCH:= x86_64-unknown-freebsd |
113 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 120 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
114 | 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 |
115 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 122 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
| | | 123 | pre-build-fix: |
116 | .endif | | 124 | .endif |
117 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) | | 125 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) |
118 | RUST_ARCH= i686-unknown-netbsd | | 126 | RUST_ARCH= i686-unknown-netbsd |
119 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 127 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
120 | 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 |
121 | # Do not trust ryoon@. | | 129 | # Do not trust ryoon@. |
122 | SITES.${RUST_STAGE0}= https://deuterium.ryoon.net/pub/rust/ | | 130 | SITES.${RUST_STAGE0}= https://deuterium.ryoon.net/pub/rust/ |
123 | SITES.${RUST_STD_STAGE0}= https://deuterium.ryoon.net/pub/rust/ | | 131 | SITES.${RUST_STD_STAGE0}= https://deuterium.ryoon.net/pub/rust/ |
124 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 132 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
125 | # Setting this changes it for every distfile, which doesn't match what is | | 133 | # Setting this changes it for every distfile, which doesn't match what is |
126 | # currently in distinfo. | | 134 | # currently in distinfo. |
127 | #DIST_SUBDIR= ${PKGNAME} | | 135 | #DIST_SUBDIR= ${PKGNAME} |
128 | # For atomic ops | | 136 | # For atomic ops |
129 | CFLAGS+= -march=i586 | | 137 | CFLAGS+= -march=i586 |
130 | pre-build: | | 138 | pre-build-fix: |
131 | ${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/cargo | | 139 | ${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/cargo |
132 | .endif | | 140 | .endif |
133 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 141 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
134 | RUST_ARCH= x86_64-unknown-netbsd | | 142 | RUST_ARCH= x86_64-unknown-netbsd |
135 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 143 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
136 | 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 |
137 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 145 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
| | | 146 | pre-build-fix: |
138 | .endif | | 147 | .endif |
139 | | | 148 | |
140 | # You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf if you have a local bootstrap compiler. | | 149 | # You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf if you have a local bootstrap compiler. |
141 | .if !defined(RUST_ARCH) && !defined(RUST_BOOTSTRAP_PATH) | | 150 | .if !defined(RUST_ARCH) && !defined(RUST_BOOTSTRAP_PATH) |
142 | NOT_FOR_PLATFORM+= ${MACHINE_PLATFORM} | | 151 | NOT_FOR_PLATFORM+= ${MACHINE_PLATFORM} |
143 | .else | | 152 | .else |
144 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-bootstrap | | 153 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-bootstrap |
145 | .endif | | 154 | .endif |
146 | | | 155 | |
147 | .if ${OPSYS} == "SunOS" | | 156 | .if ${OPSYS} == "SunOS" |
148 | BUILD_DEPENDS+= grep>=0:../../textproc/grep | | 157 | BUILD_DEPENDS+= grep>=0:../../textproc/grep |
149 | BUILD_DEPENDS+= coreutils>=0:../../sysutils/coreutils | | 158 | BUILD_DEPENDS+= coreutils>=0:../../sysutils/coreutils |
150 | TOOLS_PATH.grep= ${PREFIX}/bin/ggrep | | 159 | TOOLS_PATH.grep= ${PREFIX}/bin/ggrep |
| @@ -172,27 +181,27 @@ post-extract: | | | @@ -172,27 +181,27 @@ post-extract: |
172 | ${WRKSRC}/src/vendor/libc/.cargo-checksum.json.patched | | 181 | ${WRKSRC}/src/vendor/libc/.cargo-checksum.json.patched |
173 | ${CP} -f ${WRKSRC}/src/vendor/libc/.cargo-checksum.json.patched \ | | 182 | ${CP} -f ${WRKSRC}/src/vendor/libc/.cargo-checksum.json.patched \ |
174 | ${WRKSRC}/src/vendor/libc/.cargo-checksum.json | | 183 | ${WRKSRC}/src/vendor/libc/.cargo-checksum.json |
175 | | | 184 | |
176 | .if ${OPSYS} != "SunOS" | | 185 | .if ${OPSYS} != "SunOS" |
177 | LD_LIBRARY_PATH= ${RUST_BOOTSTRAP_PATH}/lib | | 186 | LD_LIBRARY_PATH= ${RUST_BOOTSTRAP_PATH}/lib |
178 | PKGSRC_MAKE_ENV+= LD_LIBRARY_PATH=${LD_LIBRARY_PATH:Q} | | 187 | PKGSRC_MAKE_ENV+= LD_LIBRARY_PATH=${LD_LIBRARY_PATH:Q} |
179 | .endif | | 188 | .endif |
180 | | | 189 | |
181 | .if ${OPSYS} == "FreeBSD" | | 190 | .if ${OPSYS} == "FreeBSD" |
182 | MAKE_ENV+= OPENSSL_DIR=${SSLBASE} | | 191 | MAKE_ENV+= OPENSSL_DIR=${SSLBASE} |
183 | .endif | | 192 | .endif |
184 | | | 193 | |
185 | pre-build: | | 194 | pre-build: pre-build-fix |
186 | # Requires libssh2 defines only available in master. | | 195 | # Requires libssh2 defines only available in master. |
187 | ${CP} -f ${WRKSRC}/src/vendor/libssh2-sys/libssh2/include/libssh2.h \ | | 196 | ${CP} -f ${WRKSRC}/src/vendor/libssh2-sys/libssh2/include/libssh2.h \ |
188 | ${BUILDLINK_DIR}/include/ | | 197 | ${BUILDLINK_DIR}/include/ |
189 | | | 198 | |
190 | do-build: | | 199 | do-build: |
191 | cd ${WRKSRC} \ | | 200 | cd ${WRKSRC} \ |
192 | && env ${MAKE_ENV} \ | | 201 | && env ${MAKE_ENV} \ |
193 | ${PYTHONBIN} ./x.py -v dist | | 202 | ${PYTHONBIN} ./x.py -v dist |
194 | | | 203 | |
195 | do-install: | | 204 | do-install: |
196 | cd ${WRKSRC} \ | | 205 | cd ${WRKSRC} \ |
197 | && env ${MAKE_ENV} ${INSTALL_ENV} \ | | 206 | && env ${MAKE_ENV} ${INSTALL_ENV} \ |
198 | ${PYTHONBIN} ./x.py -v install | | 207 | ${PYTHONBIN} ./x.py -v install |