svn commit: r458177 - head/lang/rust
Jean-Sébastien Pédron
dumbbell at FreeBSD.org
Fri Jan 5 23:20:52 UTC 2018
Author: dumbbell
Date: Fri Jan 5 23:20:50 2018
New Revision: 458177
URL: https://svnweb.freebsd.org/changeset/ports/458177
Log:
lang/rust: Find libstd's suffix at runtime
... instead of hard-coding all values in the Makefile.
This eases the update of Rust.
Modified:
head/lang/rust/Makefile
Modified: head/lang/rust/Makefile
==============================================================================
--- head/lang/rust/Makefile Fri Jan 5 22:47:53 2018 (r458176)
+++ head/lang/rust/Makefile Fri Jan 5 23:20:50 2018 (r458177)
@@ -126,11 +126,6 @@ pre-fetch:
fi
RUST_STD_DIR= ${RUST_STD_BOOTSTRAP:T:R:R}
-LIBSTD_SUFFIX_aarch64= 0b5479f9b944419b
-LIBSTD_SUFFIX_amd64= d5600fa473bb2268
-LIBSTD_SUFFIX_i386= 7c10a38de31dc096
-LIBSTD= ${RUST_STD_DIR}/rust-std-${RUST_TARGET}/lib/rustlib/${RUST_TARGET}/lib/libstd-${LIBSTD_SUFFIX_${ARCH}:U${LIBSTD_SUFFIX}}.rlib
-STDF= ${LIBSTD:T:R:S/lib//}.0.o
post-extract:
@${MKDIR} \
@@ -147,12 +142,16 @@ post-extract:
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031
${TAR} -x -C ${WRKSRC} -f ${DISTDIR}/${DIST_SUBDIR}/${RUST_STD_BOOTSTRAP}
${CC} ${CFLAGS} -fPIC -c -o ${WRKSRC}/old_fstat.o ${FILESDIR}/old_fstat.c
- (cd ${WRKSRC} && ${AR} x ${WRKSRC}/${LIBSTD} ${STDF})
- ${LD} -r -o ${WRKSRC}/std.xx.o ${WRKSRC}/${STDF} ${WRKSRC}/old_fstat.o
- ${MV} ${WRKSRC}/std.xx.o ${WRKSRC}/${STDF}
- (cd ${WRKSRC} && ${AR} r ${WRKSRC}/${LIBSTD} ${STDF})
- ${TAR} -cy --format=ustar -C ${WRKSRC} -f ${WRKSRC}/rustc.tbz ${RUST_STD_DIR}
- ${MV} ${WRKSRC}/rustc.tbz ${WRKSRC}/build/cache/${RUST_STD_BOOTSTRAP}
+ (set -ex; cd ${WRKSRC}; \
+ libstd="$$(echo "${RUST_STD_DIR}/rust-std-${RUST_TARGET}/lib/rustlib/${RUST_TARGET}/lib/"libstd-*.rlib)"; \
+ hash="$$(basename "$$libstd" .rlib | ${SED} 's/^libstd-//')"; \
+ std_o="std-$$hash.0.o"; \
+ ${AR} x "$$libstd" "$$std_o"; \
+ ${LD} -r -o std.xx.o "$$std_o" old_fstat.o; \
+ ${MV} std.xx.o "$$std_o"; \
+ ${AR} r "$$libstd" "$$std_o")
+ ${TAR} -cz --format=ustar -C ${WRKSRC} -f ${WRKSRC}/rust-std.tar.gz ${RUST_STD_DIR}
+ ${MV} ${WRKSRC}/rust-std.tar.gz ${WRKSRC}/build/cache/${RUST_STD_BOOTSTRAP}
.endif
post-patch:
More information about the svn-ports-all
mailing list