svn commit: r501977 - in head/emulators/ods2reader: . files

Alex Kozlov ak at FreeBSD.org
Sat May 18 18:49:49 UTC 2019


Author: ak
Date: Sat May 18 18:49:47 2019
New Revision: 501977
URL: https://svnweb.freebsd.org/changeset/ports/501977

Log:
  - Take maintainership
  - Remove disappeared master site
  - Remove infozip dependency

Added:
  head/emulators/ods2reader/files/
  head/emulators/ods2reader/files/vmsvlr2unix.sh   (contents, props changed)
Modified:
  head/emulators/ods2reader/Makefile

Modified: head/emulators/ods2reader/Makefile
==============================================================================
--- head/emulators/ods2reader/Makefile	Sat May 18 18:13:32 2019	(r501976)
+++ head/emulators/ods2reader/Makefile	Sat May 18 18:49:47 2019	(r501977)
@@ -3,23 +3,27 @@
 
 PORTNAME=	ods2reader
 PORTVERSION=	19930601
+PORTREVISION=	1
 CATEGORIES=	emulators sysutils
 MASTER_SITES=	http://www.vsm.com.au/ftp/KITS/ \
-		http://vms.process.com/ftp/vms-freeware/fileserv/ \
-		http://web.infoave.net/~anonymous/VMS/
+		http://vms.process.com/ftp/vms-freeware/fileserv/
 DISTNAME=	ODS-2-READER
 EXTRACT_SUFX=	.ZIP
 
-MAINTAINER=	ports at FreeBSD.org
+MAINTAINER=	ak at FreeBSD.org
 COMMENT=	Copies files from VMS Files-11 (ODS2) file systems
 
-USES=		zip:infozip
-EXTRACT_BEFORE_ARGS=	-qoa
+USES=		zip
 NO_WRKSUBDIR=	yes
 PLIST_FILES=	bin/ods2reader
 
+post-extract:
+# The source is in OpenVMS' variable-length record format
+	@${SH} ${FILESDIR}/vmsvlr2unix.sh \
+		${WRKSRC}/ods-2-reader.c > ${WRKSRC}/ods-2-reader.new.c
+
 do-build:
-	${CC} ${CFLAGS} -o ${WRKSRC}/ods2reader ${WRKSRC}/ods-2-reader.c
+	${CC} ${CFLAGS} -o ${WRKSRC}/ods2reader ${WRKSRC}/ods-2-reader.new.c
 
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/ods2reader ${STAGEDIR}${PREFIX}/bin

Added: head/emulators/ods2reader/files/vmsvlr2unix.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/ods2reader/files/vmsvlr2unix.sh	Sat May 18 18:49:47 2019	(r501977)
@@ -0,0 +1,29 @@
+#!/bin/sh -
+
+PATH=/usr/bin
+
+off=0
+strlen=0
+
+if [ $# -eq 0 -a ! -t 0 ]; then
+	file=/dev/stdin
+elif [ $# -eq 1 ]; then
+	file=$1
+else
+	echo Usage: ${0##*/} [file]
+	echo converts OpenVMS variable-length record format to unix text format
+	exit 0
+fi
+
+while true; do
+	off=$((${off} + ${strlen}))
+	strlen=$(hexdump -s ${off} -n 2 -e '"%u"' ${file})
+	# EoF
+	[ -z ${strlen} ] && break
+	# print newline for zero-size records, as info-zip does
+	[ ${strlen} -eq 0 ] && echo
+	off=$((${off} + 2))
+	hexdump -s ${off} -n ${strlen} -e '1000/1 "%c""\n"' ${file}
+	# align 2
+	[ $((${strlen} % 2)) -ne 0 ] && off=$((${off} + 1))
+done


More information about the svn-ports-all mailing list