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//}

Reply via email to