On Thu, Sep 01, 2016 at 11:34:55AM +0200, Sebastien Marie wrote:
> On Thu, Sep 01, 2016 at 10:17:34AM +0200, Antoine Jacoutot wrote:
> > > [...]
> > >
> > > Log message:
> > > Update to rust 1.11.0, from semarie@, thanks!
> > > All tests passing here.
> >
> > Did not build here.
> >
> > [...]
> > configure: CFG_ENABLE_LOCAL_RUST := 1
> > configure: error: no local rust to use
> > ===> Exiting lang/rust with an error
> > which: rustc: Command not found.
> > *** Error 1 in lang/rust
> > (/exopi-cvs/ports/infrastructure/mk/bsd.port.mk:2656
> > '/exopi-obj/pobj/rust-1.11.0/build-amd64/.configure_done')
> > *** Error 1 in lang/rust
> > (/exopi-cvs/ports/infrastructure/mk/bsd.port.mk:2397 'configure')
> > *** Error 1 in /exopi-cvs/ports (infrastructure/mk/bsd.port.subdir.mk:147
> > 'configure')
> > Error: job failed 256
> >
>
> My bad.
>
> The following diff should solve the issue.
>
> When using --enable-local-rebuild option, the configure script will
> check the existence of rustc binary from the local-rust-root directory
> (/usr/local by default). It is the binary the build process will copy in
> stage0 directory.
>
> With the diff, we explicity use the bootstrap directory for configuring.
> Note that we still we manually copying all the bootstrap files in
> post-configure, as the standard build system will *not* copy the
> libraries in lib/ which could be required to run rustc binary
> (libraries like libc.so used by bootstrapper).
>
> I have only slightly tested the diff (checked it pass configure stage
> when rustc isn't already installed). I am currently rebuilding it with
> proot/dpb environment for futher testing.
Thanks ;-)
I committed it, so far so good.
> --
> Sebastien Marie
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/rust/Makefile,v
> retrieving revision 1.27
> diff -u -p -r1.27 Makefile
> --- Makefile 31 Aug 2016 08:33:19 -0000 1.27
> +++ Makefile 1 Sep 2016 09:22:13 -0000
> @@ -10,6 +10,7 @@ COMMENT-doc = html documentation for ru
> V = 1.11.0
> BV = 1.11.0-20160819
> DISTNAME = rustc-${V}-src
> +REVISION = 0
>
> #RUST_HASH != echo -n ${V} | md5 | cut -c1-8
> RUST_HASH = 39b92f95
> @@ -88,7 +89,8 @@ CONFIGURE_ARGS += --disable-valgrind-rpa
>
> # VERSION and BOOTSTRAP are same version
> .if ${V} == ${BV:C/-[0-9]+$//}
> -CONFIGURE_ARGS += --enable-local-rebuild
> +CONFIGURE_ARGS += --enable-local-rebuild \
> +
> --local-rust-root="${WRKDIR}/rustc-bootstrap-${MACHINE_ARCH}-${BV}"
> .endif
>
> CONFIGURE_ENV += ac_cv_header_execinfo_h=no
> @@ -111,7 +113,7 @@ pre-configure:
> # - copy libestdc++ from MODGCC4 to specific directory
> # in order to disambiguate version linking (having multiple libestdc++
> # at build time)
> -# - copy bootstrap in stage0 (avoid downloading)
> +# - copy bootstrap in stage0 (permit copying bootstrapped libs in stage0)
> post-configure:
> .for _v in CFG_CURL CFG_GIT CFG_CLANG CFG_VALGRIND CFG_PERF CFG_ISCC \
> CFG_JAVAC CFG_ANTLR4 CFG_BISON CFG_PANDOC CFG_GDB CFG_LLDB \
--
Antoine