aboutsummaryrefslogtreecommitdiff
path: root/emulators/vmsbackup
diff options
context:
space:
mode:
authorJohn Marino <marino@FreeBSD.org>2014-06-05 19:02:33 +0000
committerJohn Marino <marino@FreeBSD.org>2014-06-05 19:02:33 +0000
commit754d0da771d715c2ed233cf071392c5ebe41dadc (patch)
treeff9f2e9b27450c21f08956283d67aa98cf35426e /emulators/vmsbackup
parent573befa14fa47eedff44a8c433ffe76e8f226cd7 (diff)
downloadports-754d0da771d715c2ed233cf071392c5ebe41dadc.tar.gz
ports-754d0da771d715c2ed233cf071392c5ebe41dadc.zip
emulators/vmsbackup: Unbreak on F9+
This port really does require infozip, the base unzip fails to extract with the message, "Invalid central directory signature". /usr/bin/tar also fails with a similar message. This source file only needed a couple of minor fixes to build again. Passes Redports 8x
Notes
Notes: svn path=/head/; revision=356682
Diffstat (limited to 'emulators/vmsbackup')
-rw-r--r--emulators/vmsbackup/Makefile26
-rw-r--r--emulators/vmsbackup/files/patch-vmsbackup.c29
2 files changed, 35 insertions, 20 deletions
diff --git a/emulators/vmsbackup/Makefile b/emulators/vmsbackup/Makefile
index 6552ed2791b1..a625f1d887b8 100644
--- a/emulators/vmsbackup/Makefile
+++ b/emulators/vmsbackup/Makefile
@@ -13,30 +13,16 @@ EXTRACT_SUFX= .ZIP
MAINTAINER= ports@FreeBSD.org
COMMENT= Reads VMS BACKUP tapes
-EXTRACT_DEPENDS=${UNZIP_CMD}:${PORTSDIR}/archivers/unzip
+USES= zip:infozip
ALL_TARGET= vmsbackup
-
-PLIST_FILES= bin/vmsbackup
-MAN1= vmsbackup.1
-MANCOMPRESSED= no
-
-NO_STAGE= yes
-do-extract:
- ${MKDIR} ${WRKSRC}
- ${UNZIP_CMD} ${DISTDIR}/${DISTNAME} -d ${WRKSRC}
+NO_WRKSUBDIR= yes
+PLIST_FILES= bin/vmsbackup man/man1/vmsbackup.1.gz
post-patch:
- @${REINPLACE_CMD} -e 's#gets(ans);#fgets(ans, 80, stdin);#' ${WRKSRC}/vmsbackup.c
@${REINPLACE_CMD} -e 's#"getopt.h"#<unistd.h>#' ${WRKSRC}/getoptmain.c
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/vmsbackup ${PREFIX}/bin
- ${INSTALL_DATA} ${WRKSRC}/${MAN1} ${PREFIX}/man/man1
-
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 900000
-BROKEN= does not build
-.endif
+ ${INSTALL_PROGRAM} ${WRKSRC}/vmsbackup ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_MAN} ${WRKSRC}/vmsbackup.1 ${STAGEDIR}${PREFIX}/man/man1
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/emulators/vmsbackup/files/patch-vmsbackup.c b/emulators/vmsbackup/files/patch-vmsbackup.c
new file mode 100644
index 000000000000..6641b9a1e6da
--- /dev/null
+++ b/emulators/vmsbackup/files/patch-vmsbackup.c
@@ -0,0 +1,29 @@
+--- vmsbackup.c.orig 1997-08-13 21:48:43.000000000 +0000
++++ vmsbackup.c
+@@ -55,8 +55,8 @@
+ #endif
+ #ifdef REMOTE
+ #include <local/rmt.h>
+-#include <sys/stat.h>
+ #endif
++#include <sys/stat.h>
+ #include <sys/file.h>
+
+ #if 0
+@@ -300,7 +300,7 @@ char *fn;
+ if(procf && wflag) {
+ printf("extract %s [ny]",filename);
+ fflush(stdout);
+- gets(ans);
++ fgets(ans, 80, stdin);
+ if(*ans != 'y') procf = 0;
+ }
+ if(procf)
+@@ -757,6 +757,7 @@ size_t rsize;
+ * process a virtual block record (file record)
+ *
+ */
++void
+ process_vbn(buffer, rsize)
+ char *buffer;
+ unsigned short rsize;