Hi, (no, i'm not going to announce i magically ported rust & cargo to all exotic archs) dpb fails on sparc64|macppc on those ports because of the DISTFILES/SUPDISTFILES handling.
even if marked ONLY_FOR_ARCHS=amd64 i386 both ports error out in dpb with: Incomplete info for cargo/cargo-bootstrap-powerpc-.tar.gz Incomplete info for rust/rustc-bootstrap-sparc64-.tar.gz I looked at how lang/ghc handles this, and oh $deity. I just blindly did the same thing. Afaiu, DISTFILES should contain the file needed on the current arch, and SUPDISTFILES the list of all DISTFILES for all supported archs. With this, there should be no change on amd64 & i386, and there should be no more rust/rustc-bootstrap-sparc64-.tar.gz in DISTFILES on sparc64. I of course plan to do the same thing for cargo.. Landry Index: Makefile =================================================================== RCS file: /cvs/ports/lang/rust/Makefile,v retrieving revision 1.34 diff -u -r1.34 Makefile --- Makefile 26 Dec 2016 13:52:46 -0000 1.34 +++ Makefile 6 Jan 2017 08:07:07 -0000 @@ -39,10 +39,13 @@ DIST_SUBDIR = rust DISTFILES = ${DISTNAME}${EXTRACT_SUFX} \ - rustc-bootstrap-${MACHINE_ARCH}-${BV}.tar.gz:0 + ${BINDISTFILE} -SUPDISTFILES = rustc-bootstrap-amd64-${BV-amd64}.tar.gz:0 \ - rustc-bootstrap-i386-${BV-i386}.tar.gz:0 +BINDISTFILE = ${BINDISTFILE-${MACHINE_ARCH}} +.for m in i386 amd64 +BINDISTFILE-$m = rustc-bootstrap-${m}-${BV-$m}.tar.gz:0 +SUPDISTFILES += ${BINDISTFILE-$m} +.endfor WRKDIST = ${WRKDIR}/${DISTNAME:S/-src//}