diff options
Diffstat (limited to 'net/dgd')
-rw-r--r-- | net/dgd/Makefile | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/net/dgd/Makefile b/net/dgd/Makefile index 65618cedde54..a5ad8f3a345a 100644 --- a/net/dgd/Makefile +++ b/net/dgd/Makefile @@ -5,8 +5,9 @@ # DISTNAME= dgd-1.0.8 -HOME_LOCATION= ftp.lysator.liu.se:~ftp/pub/lpmud/drivers/dgd/dgd-1.0.8 -PATCH_LOCATION= epsilon.me.chalmers.se:~dgd/patches/$@ Password: foo&&bar +PATCHFILES= 1.0.8-1.0.8.1.gz 1.0.8.1-1.0.8.2.gz 1.0.8.2-1.0.8.3.gz +PATCHSITE= epsilon.me.chalmers.se +NCFTPFLAGS= PATCH_COOKIE= ${.CURDIR}/work/.patch_done PATCHLIST= ${.CURDIR}/work/.patchlist PATCHLEVEL= `tail -1 ${PATCHLIST} | sed 's/^.*\.\(.*\)\.gz$$/\1/'` @@ -14,6 +15,33 @@ WRKSRC= ${WRKDIR}/dgd/src PKG_ARGS= -v -c ${PKGDIR}/COMMENT -d ${PKGDIR}/DESCR -f ${PKGDIR}/PLIST \ -r ${PKGDIR}/REQ +### rely on DISTFILES being a single filename + +pre-fetch: + @if [ ! -d ${DISTDIR}/${DISTNAME} ]; then mkdir -p ${DISTDIR}/${DISTNAME}; fi + @if [ ! -f ${DISTDIR}/${DISTFILES} ]; then \ + echo ">> Fetching distribution file from remote system..." \ + ${NCFTP} ${NCFTPFLAGS} ${PATCHSITE}:${DISTFILES} \ + && mv ${DISTFILES} ${DISTDIR}; \ + fi + @for file in ${PATCHFILES}; do \ + if [ ! -f ${DISTDIR}/${DISTNAME}/$$file ]; then \ + echo ">> $$file doesn't seem to exist on this system."; \ + echo ">> Attempting to fetch it from a master site."; \ + if ${NCFTP} ${NCFTPFLAGS} ${PATCHSITE}:patches/$$file; \ + then \ + echo ">> $$file Fetched!" ; \ + mv patches/$$file ${DISTDIR}/${DISTNAME}; \ + break; \ + fi; \ + if [ ! -f ${DISTDIR}/${DISTNAME}/$$file ]; then \ + echo ">> Couldn't fetch it - please try to retreive this";\ + echo ">> file manually into ${DISTDIR}/${DISTNAME} and try again."; \ + exit 1; \ + fi; \ + fi \ + done + # We need to determine whether all author-supplied patches are present # and whether they are applied correctly ### not yet implemented @@ -22,14 +50,14 @@ pre-configure: extract ${PATCH_COOKIE} @find -X ${WRKDIR}/dgd -name '*.orig' -print | xargs rm -f ${PATCHLIST}: - @cd ${DISTDIR}; \ - ls ${DISTNAME}*.[0-9].gz ${DISTNAME}*.[0-9][0-9].gz \ + @cd ${DISTDIR}/${DISTNAME}; \ + ls *.[0-9].gz *.[0-9][0-9].gz \ 2>/dev/null >${PATCHLIST} ${PATCH_COOKIE}: ${PATCHLIST} @if [ -s ${PATCHLIST} ]; then \ echo "===> Updating to ${DISTNAME}.${PATCHLEVEL}"; \ - cd ${DISTDIR}; \ + cd ${DISTDIR}/${DISTNAME}; \ gzcat `cat ${PATCHLIST}` | patch -d ${WRKDIR} --quiet -E -p0; \ fi @touch -f ${PATCH_COOKIE} |