aboutsummaryrefslogtreecommitdiff
path: root/lang/rust
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2020-01-13 18:36:04 +0000
committerTobias Kortkamp <tobik@FreeBSD.org>2020-01-13 18:36:04 +0000
commit83096313becd19c3d90b196894f93ce9011466cb (patch)
tree16aeaf8fb3016e2e160135988ef45c32d3464a16 /lang/rust
parentdd02c37293a07f6ce6609317eb0d4baf33f91a50 (diff)
downloadports-83096313becd19c3d90b196894f93ce9011466cb.tar.gz
ports-83096313becd19c3d90b196894f93ce9011466cb.zip
lang/rust: Add COMPAT_FREEBSD11 canary
This attempts to provide a nicer error message for the subset of users who build their own kernels without COMPAT_FREEBSD11 and then attempt to build lang/rust. The Rust ecosystem currently uses pre-ino64 syscalls, so building lang/rust without COMPAT_FREEBSD11 is not going to work. The error message for this is non-obvious and there is a new bug for this at least every 1-2 months. Hopefully this will improve the situation a little. Cargo and Gecko ports are similarly affected, so add the pre-build check to them too. Reviewed by: jbeich, mikael.urankar@gmail.com Tested by: madpilot (negative case) Approved by: gecko (jbeich) Differential Revision: https://reviews.freebsd.org/D23100
Notes
Notes: svn path=/head/; revision=522968
Diffstat (limited to 'lang/rust')
-rw-r--r--lang/rust/Makefile3
1 files changed, 3 insertions, 0 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index e5e07b0ee6e1..bac99a10125e 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -142,6 +142,9 @@ post-patch-SOURCES-off:
${WRKSRC}/src/bootstrap/install.rs
do-configure:
+# Check that the running kernel has COMPAT_FREEBSD11 required by lang/rust post-ino64
+ @${SETENV} CC="${CC}" OPSYS="${OPSYS}" OSVERSION="${OSVERSION}" WRKDIR="${WRKDIR}" \
+ ${SH} ${SCRIPTSDIR}/rust-compat11-canary.sh
@${ECHO_CMD} '[build]' > ${WRKSRC}/config.toml
@${ECHO_CMD} 'vendor=true' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'extended=true' >> ${WRKSRC}/config.toml