Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Mar 2002 03:59:11 -0500 (EST)
From:      Mark Daniel Szlaga <mszlaga@wormhole.szlaga.net>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/35766: New Port: emulators/hercules
Message-ID:  <200203110859.g2B8xBx26954@wormhole.szlaga.net>

next in thread | raw e-mail | index | archive | help

>Number:         35766
>Category:       ports
>Synopsis:       New Port: emulators/hercules
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Mar 11 01:00:06 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Mark Daniel Szlaga
>Release:        FreeBSD 4.5-STABLE i386
>Organization:
none
>Environment:
System: FreeBSD wormhole.szlaga.net 4.5-STABLE FreeBSD 4.5-STABLE #2: Tue Feb 5 16:38:49 EST 2002 root@wormhole.szlaga.net:/usr/src/sys/compile/wormhole i386
>Description:

IBM System/370, ESA/390 and z/Architecture Emulator
Hercules is an open source software implementation of the mainframe System/370
and ESA/390 architectures, in addition to the new 64-bit z/Architecture.

This means that your PC can emulate an IBM mainframe processor. The
mainframe can range from a 360 to a z900 - running in "System/370"
mode, "ESA/390" mode, or "z/Architecture" mode. Hercules executes
S/370, ESA/390, and z/Architecture instructions and channel
programs. It emulates mainframe I/O devices by using PC devices. For
example, 3390 DASD devices are emulated by large files on your hard
disk, and local 3270 screens are emulated by tn3270 sessions.

Hercules implements only the raw S/370, ESA/390, and z/Architecture
instruction set; it does not provide any operating system facilities. This
means that you need to provide an operating system or standalone program which
Hercules can load from an emulated disk or tape device. You will have to use a
free software operating system such as Linux, write the operating system or
standalone program yourself, obtain a license from IBM to run one of their
operating systems on your PC, or use IBM programs and operating systems which
have been placed in the public domain.

Hercules was created by Roger Bowler and is maintained by Jay
Maynard. Jan Jaeger designed and implemented many of the advanced
features of Hercules.

WWW: http://www.i-foo.com/hercules

>How-To-Repeat:
>Fix:


# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	hercules
#	hercules/files
#	hercules/files/patch-aa
#	hercules/files/patch-ad
#	hercules/files/patch-ae
#	hercules/files/patch-af
#	hercules/files/patch-ag
#	hercules/files/patch-ah
#	hercules/files/patch-ab
#	hercules/distinfo
#	hercules/pkg-comment
#	hercules/pkg-descr
#	hercules/Makefile
#	hercules/pkg-plist
#
echo c - hercules
mkdir -p hercules > /dev/null 2>&1
echo c - hercules/files
mkdir -p hercules/files > /dev/null 2>&1
echo x - hercules/files/patch-aa
sed 's/^X//' >hercules/files/patch-aa << 'END-of-hercules/files/patch-aa'
Xdiff -uNr ckddasd.c
X--- ckddasd.c	Tue Nov 20 17:39:46 2001
X+++ ckddasd.c	Tue Jan 15 22:03:48 2002
X@@ -786,7 +786,7 @@
X         {
X             /* if lazy write, write the last track image */
X             if (dev->ckdlazywrt)
X-                ckd_lseek (dev, -1, -1, -1);
X+                ckd_lseek (dev, -1, (off_t)-1, -1);
X 
X             /* free the cache */
X             for (i = 0; i < dev->ckdcachenbr; i++)
X@@ -1240,7 +1240,7 @@
X 
X     DEVTRACE("ckddasd: skipping %d bytes\n", skiplen);
X 
X-    rc = ckd_lseek (dev, dev->fd, skiplen, SEEK_CUR);
X+    rc = ckd_lseek (dev, dev->fd, (off_t)skiplen, SEEK_CUR);
X     if (rc == -1)
X     {
X #ifdef OPTION_SYNCIO
X@@ -1734,7 +1734,7 @@
X     ckdlen = CKDDASD_RECHDR_SIZE + keylen + datalen;
X 
X     /* Determine the current position in the file */
X-    curpos = ckd_lseek (dev, dev->fd, 0, SEEK_CUR);
X+    curpos = ckd_lseek (dev, dev->fd, (off_t)0, SEEK_CUR);
X     if (curpos == -1)
X     {
X #ifdef OPTION_SYNCIO
X@@ -1782,7 +1782,7 @@
X     }
X 
X     /* Backspace over end of track marker */
X-    rc = ckd_lseek (dev, dev->fd, -(CKDDASD_RECHDR_SIZE), SEEK_CUR);
X+    rc = ckd_lseek (dev, dev->fd, -(off_t)(CKDDASD_RECHDR_SIZE), SEEK_CUR);
X     if (rc == -1)
X     {
X #ifdef OPTION_SYNCIO
X@@ -1854,7 +1854,7 @@
X     ckdlen = CKDDASD_RECHDR_SIZE + keylen + datalen;
X 
X     /* Determine the current position in the file */
X-    curpos = ckd_lseek (dev, dev->fd, 0, SEEK_CUR);
X+    curpos = ckd_lseek (dev, dev->fd, (off_t)0, SEEK_CUR);
X     if (curpos == -1)
X     {
X #ifdef OPTION_SYNCIO
X@@ -1938,7 +1938,7 @@
X     }
X 
X     /* Backspace over end of track marker */
X-    rc = ckd_lseek (dev, dev->fd, -(CKDDASD_RECHDR_SIZE), SEEK_CUR);
X+    rc = ckd_lseek (dev, dev->fd, -(off_t)(CKDDASD_RECHDR_SIZE), SEEK_CUR);
X     if (rc == -1)
X     {
X #ifdef OPTION_SYNCIO
END-of-hercules/files/patch-aa
echo x - hercules/files/patch-ad
sed 's/^X//' >hercules/files/patch-ad << 'END-of-hercules/files/patch-ad'
Xdiff -uNr configure.ac
X--- configure.ac	Wed Dec 19 07:20:00 2001
X+++ configure.ac	Thu Jan 17 22:50:57 2002
X@@ -72,6 +72,19 @@
X 
X AM_CONDITIONAL(BUILD_FTHREADS, [test x$build_fthreads = xtrue])
X 
X+dnl AC_MSG_NOTICE([Checking to see if -pthread is needed to compile])
X+
X+AC_MSG_CHECKING([wether ${CC-cc} accepts -pthread])
X+
X+echo 'void f(){}' >conftest.c
X+if test -z "`${CC-cc} -pthread -c conftest.c 2>&1`"; then
X+        LIBS="-pthread $LIBS"
X+        AC_MSG_RESULT([yes])
X+else
X+        AC_MSG_RESULT([no])
X+fi
X+rm -f conftest*
X+
X # Headers
X AC_CHECK_HEADERS(byteswap.h)
X AC_CHECK_HEADER(fenv.h,,[AC_DEFINE([NO_IEEE_SUPPORT])])
X@@ -105,6 +118,16 @@
X                                [AC_DEFINE([HAVE_U_INT])],
X                                [AC_MSG_ERROR([Unable to find fixed-size data types])] )] )
X 
X+dnl AC_MSG_NOTICE([Checking for SCSI tape support and what type])
X+AC_CHECK_HEADER(sys/mtio.h,
X+                [AC_DEFINE([HAVE_MTIO_H])])
X+
X+AC_TRY_COMPILE([#include mtio.h],
X+               [mtget test;
X+                int result;
X+                result = test.mt_gstat; ],
X+               [AC_DEFINE([GNU_MTIO_SUPPORT])])
X+
X # Compiler characteristics
X 
X AC_C_BIGENDIAN
X@@ -306,5 +329,9 @@
X             [Define to provide additional information about this build])
X AH_TEMPLATE([DEBUG],
X             [Define to enable extra debugging code])
X+AH_TEMPLATE([HAVE_MTIO_H],
X+            [Define if your system has sys/mtio.h])
X+AH_TEMPLATE([GNU_MTIO_SUPPORT],
X+            [Define if you have the GNU version of mtio.h (Linux)])
X 
X AC_OUTPUT(Makefile util/Makefile html/Makefile)
END-of-hercules/files/patch-ad
echo x - hercules/files/patch-ae
sed 's/^X//' >hercules/files/patch-ae << 'END-of-hercules/files/patch-ae'
Xdiff -uNr hercules.h
X--- hercules.h	Wed Dec 19 07:18:17 2001
X+++ hercules.h	Tue Jan 15 20:26:56 2002
X@@ -215,6 +215,7 @@
X         pthread_cond_timedwait((pcond),(plk),(timeout))
X #define initialize_detach_attr(pat) \
X         pthread_attr_init((pat)); \
X+		pthread_attr_setstacksize((pat),1048576); \
X         pthread_attr_setdetachstate((pat),PTHREAD_CREATE_DETACHED)
X typedef void*THREAD_FUNC(void*);
X #define create_thread(ptid,pat,fn,arg) \
END-of-hercules/files/patch-ae
echo x - hercules/files/patch-af
sed 's/^X//' >hercules/files/patch-af << 'END-of-hercules/files/patch-af'
Xdiff -uNr tapecopy.c
X--- tapecopy.c	Thu Nov 29 07:53:46 2001
X+++ tapecopy.c	Thu Jan 17 14:04:09 2002
X@@ -32,6 +32,7 @@
X static BYTE hdrlbl[] = "\xC8\xC4\xD9";  /* EBCDIC characters "HDR"   */
X static BYTE eoflbl[] = "\xC5\xD6\xC6";  /* EBCDIC characters "EOF"   */
X static BYTE eovlbl[] = "\xC5\xD6\xE5";  /* EBCDIC characters "EOV"   */
X+#ifdef GNU_MTIO_SUPPORT
X static struct mt_tape_info tapeinfo[] = MT_TAPE_INFO;
X static struct mt_tape_info densinfo[] = {
X     {0x01, "NRZI (800 bpi)"},
X@@ -59,6 +60,7 @@
X     {0x8C, "EXB-8505 compressed"},
X     {0x90, "EXB-8205 compressed"},
X     {0, NULL}};
X+#endif
X static BYTE buf[65500];
X 
X /*-------------------------------------------------------------------*/
X@@ -71,6 +73,7 @@
X /*-------------------------------------------------------------------*/
X static void print_status (BYTE *devname, long stat)
X {
X+#ifdef GNU_MTIO_SUPPORT
X     printf ("%s status: %8.8lX", devname, stat);
X     if (GMT_EOF(stat)) printf (" EOF");
X     if (GMT_BOT(stat)) printf (" BOT");
X@@ -84,6 +87,7 @@
X     if (GMT_D_800(stat)) printf (" 800");
X     if (GMT_DR_OPEN(stat)) printf (" NOTAPE");
X     printf ("\n");
X+#endif
X 
X } /* end function print_status */
X 
X@@ -104,10 +108,12 @@
X         return -1;
X     }
X 
X+#ifdef GNU_MTIO_SUPPORT
X     print_status (devname, stblk.mt_gstat);
X 
X     if (GMT_EOD(stblk.mt_gstat)) return 1;
X     if (GMT_EOT(stblk.mt_gstat)) return 1;
X+#endif
X 
X     return 0;
X } /* end function print_status */
X@@ -174,6 +180,7 @@
X         exit (7);
X     }
X 
X+#ifdef GNU_MTIO_SUPPORT
X     /* Display tape status information */
X     for (i = 0; tapeinfo[i].t_type != 0
X                 && tapeinfo[i].t_type != stblk.mt_type; i++);
X@@ -201,6 +208,7 @@
X 
X     /* Set the tape device to process variable length blocks */
X     opblk.mt_op = MTSETBLK;
X+#endif
X     opblk.mt_count = 0;
X     rc = ioctl (devfd, MTIOCTOP, (char*)&opblk);
X     if (rc < 0)
END-of-hercules/files/patch-af
echo x - hercules/files/patch-ag
sed 's/^X//' >hercules/files/patch-ag << 'END-of-hercules/files/patch-ag'
Xdiff -uNr tapedev.c
X--- tapedev.c	Tue Nov 20 17:39:47 2001
X+++ tapedev.c	Thu Jan 17 15:07:35 2002
X@@ -194,6 +194,7 @@
X /*-------------------------------------------------------------------*/
X /* Static data areas                                                 */
X /*-------------------------------------------------------------------*/
X+#ifdef GNU_MTIO_SUPPORT
X static struct mt_tape_info tapeinfo[] = MT_TAPE_INFO;
X static struct mt_tape_info densinfo[] = {
X     {0x01, "NRZI (800 bpi)"},
X@@ -221,6 +222,7 @@
X     {0x8C, "EXB-8505 compressed"},
X     {0x90, "EXB-8205 compressed"},
X     {0, NULL}};
X+#endif
X 
X static PARSER ptab[] =
X {
X@@ -1142,6 +1144,7 @@
X /*-------------------------------------------------------------------*/
X static U32 status_scsitape (DEVBLK *dev)
X {
X+#ifdef HAVE_MTIO_H
X U32             stat;                   /* Tape status bits          */
X int             rc;                     /* Return code               */
X struct mtget    stblk;                  /* Area for MTIOCGET ioctl   */
X@@ -1158,6 +1161,7 @@
X                 dev->filename, strerror(errno));
X         return 0;
X     }
X+#ifdef GNU_MTIO_SUPPORT
X     stat = stblk.mt_gstat;
X 
X     /* Display tape status */
X@@ -1190,10 +1194,14 @@
X         dev->prvblkpos = -1;
X         dev->blockid = 0;
X     }
X+#else
X+	stat = 0;
X+#endif
X 
X     /* Return tape status */
X     return stat;
X 
X+#endif
X } /* end function status_scsitape */
X 
X /*-------------------------------------------------------------------*/
X@@ -1204,6 +1212,7 @@
X /*-------------------------------------------------------------------*/
X static int open_scsitape (DEVBLK *dev, BYTE *unitstat)
X {
X+#ifdef HAVE_MTIO_H
X int             rc;                     /* Return code               */
X int             i;                      /* Array subscript           */
X struct mtop     opblk;                  /* Area for MTIOCTOP ioctl   */
X@@ -1248,6 +1257,7 @@
X         return -1;
X     }
X 
X+#ifdef GNU_MTIO_SUPPORT
X     /* Intervention required if no tape is mounted */
X     if (GMT_DR_OPEN(stblk.mt_gstat))
X     {
X@@ -1283,6 +1293,7 @@
X 
X     /* Set the tape device to process variable length blocks */
X     opblk.mt_op = MTSETBLK;
X+#endif
X     opblk.mt_count = 0;
X     rc = ioctl (dev->fd, MTIOCTOP, (char*)&opblk);
X     if (rc < 0)
X@@ -1311,6 +1322,12 @@
X 
X     return 0;
X 
X+#else
X+
X+	logmsg ("HHC286I SCSI Support is disabled\n");
X+	return -1;
X+
X+#endif
X } /* end function open_scsitape */
X 
X /*-------------------------------------------------------------------*/
X@@ -1323,6 +1340,7 @@
X /*-------------------------------------------------------------------*/
X static int read_scsitape (DEVBLK *dev, BYTE *buf, BYTE *unitstat)
X {
X+#ifdef HAVE_MTIO_H
X int             rc;                     /* Return code               */
X 
X     /* Read data block from SCSI tape device */
X@@ -1346,6 +1364,12 @@
X     /* Return block length or zero if tapemark  */
X     return rc;
X 
X+#else
X+
X+	logmsg ("HHC286I SCSI Support is disabled\n");
X+	return -1;
X+
X+#endif
X } /* end function read_scsitape */
X 
X /*-------------------------------------------------------------------*/
X@@ -1357,6 +1381,7 @@
X static int write_scsitape (DEVBLK *dev, BYTE *buf, U16 len,
X                         BYTE *unitstat)
X {
X+#ifdef HAVE_MTIO_H
X int             rc;                     /* Return code               */
X 
X     /* Write data block to SCSI tape device */
X@@ -1376,6 +1401,12 @@
X     /* Return normal status */
X     return 0;
X 
X+#else
X+
X+	logmsg ("HHC286I SCSI Support is disabled\n");
X+	return -1;
X+
X+#endif
X } /* end function write_scsitape */
X 
X /*-------------------------------------------------------------------*/
X@@ -1386,6 +1417,7 @@
X /*-------------------------------------------------------------------*/
X static int write_scsimark (DEVBLK *dev, BYTE *unitstat)
X {
X+#ifdef HAVE_MTIO_H
X int             rc;                     /* Return code               */
X struct mtop     opblk;                  /* Area for MTIOCTOP ioctl   */
X 
X@@ -1408,6 +1440,12 @@
X     /* Return normal status */
X     return 0;
X 
X+#else
X+
X+	logmsg ("HHC286I SCSI Support is disabled\n");
X+	return -1;
X+
X+#endif
X } /* end function write_scsimark */
X 
X /*-------------------------------------------------------------------*/
X@@ -1420,6 +1458,7 @@
X /*-------------------------------------------------------------------*/
X static int fsb_scsitape (DEVBLK *dev, BYTE *unitstat)
X {
X+#ifdef HAVE_MTIO_H
X int             rc;                     /* Return code               */
X int             fsrerrno;               /* Value of errno after MTFSR*/
X U32             stat;                   /* Tape status bits          */
X@@ -1434,6 +1473,7 @@
X     /* Obtain tape status after forward space */
X     stat = status_scsitape (dev);
X 
X+#ifdef GNU_MTIO_SUPPORT
X     /* If I/O error and status indicates EOF, then a tapemark
X        was detected, so increment the file number and return 0 */
X     if (rc < 0 && fsrerrno == EIO && GMT_EOF(stat))
X@@ -1442,6 +1482,7 @@
X         dev->blockid++;
X         return 0;
X     }
X+#endif
X 
X     /* Handle MTFSR error condition */
X     if (rc < 0)
X@@ -1460,6 +1501,12 @@
X     /* Return +1 to indicate forward space successful */
X     return +1;
X 
X+#else
X+
X+	logmsg ("HHC286I SCSI Support is disabled\n");
X+	return -1;
X+
X+#endif
X } /* end function fsb_scsitape */
X 
X /*-------------------------------------------------------------------*/
X@@ -1472,6 +1519,7 @@
X /*-------------------------------------------------------------------*/
X static int bsb_scsitape (DEVBLK *dev, BYTE *unitstat)
X {
X+#ifdef HAVE_MTIO_H
X int             rc;                     /* Return code               */
X int             bsrerrno;               /* Value of errno after MTBSR*/
X U32             stat;                   /* Tape status bits          */
X@@ -1480,6 +1528,7 @@
X     /* Obtain tape status before backward space */
X     stat = status_scsitape (dev);
X 
X+#ifdef GNU_MTIO_SUPPORT
X     /* Unit check if already at start of tape */
X     if (GMT_BOT(stat))
X     {
X@@ -1488,6 +1537,7 @@
X         *unitstat = CSW_CE | CSW_DE | CSW_UC;
X         return -1;
X     }
X+#endif
X 
X     /* Backspace block on SCSI tape */
X     opblk.mt_op = MTBSR;
X@@ -1526,6 +1576,12 @@
X     /* Return +1 to indicate backspace successful */
X     return +1;
X 
X+#else
X+
X+	logmsg ("HHC286I SCSI Support is disabled\n");
X+	return -1;
X+
X+#endif
X } /* end function bsb_scsitape */
X 
X /*-------------------------------------------------------------------*/
X@@ -1537,6 +1593,7 @@
X /*-------------------------------------------------------------------*/
X static int fsf_scsitape (DEVBLK *dev, BYTE *unitstat)
X {
X+#ifdef HAVE_MTIO_H
X int             rc;                     /* Return code               */
X struct mtop     opblk;                  /* Area for MTIOCTOP ioctl   */
X 
X@@ -1562,6 +1619,12 @@
X     /* Return normal status */
X     return 0;
X 
X+#else
X+
X+	logmsg ("HHC286I SCSI Support is disabled\n");
X+	return -1;
X+
X+#endif
X } /* end function fsf_scsitape */
X 
X /*-------------------------------------------------------------------*/
X@@ -1573,6 +1636,7 @@
X /*-------------------------------------------------------------------*/
X static int bsf_scsitape (DEVBLK *dev, BYTE *unitstat)
X {
X+#ifdef HAVE_MTIO_H
X int             rc;                     /* Return code               */
X struct mtop     opblk;                  /* Area for MTIOCTOP ioctl   */
X 
X@@ -1599,6 +1663,12 @@
X     /* Return normal status */
X     return 0;
X 
X+#else
X+
X+	logmsg ("HHC286I SCSI Support is disabled\n");
X+	return -1;
X+
X+#endif
X } /* end function bsf_scsitape */
X 
X /*-------------------------------------------------------------------*/
X@@ -2725,7 +2795,9 @@
X 
X         case TAPEDEVT_SCSITAPE:
X             stat = status_scsitape (dev);
X+#ifdef GNU_MTIO_SUPPORT
X             if (GMT_BOT(stat)) dev->sense[1] |= SENSE1_TAPE_LOADPT;
X+#endif
X             break;
X 
X         case TAPEDEVT_OMATAPE:
END-of-hercules/files/patch-ag
echo x - hercules/files/patch-ah
sed 's/^X//' >hercules/files/patch-ah << 'END-of-hercules/files/patch-ah'
Xdiff -uNr version.c
X--- version.c	Thu Nov 29 08:05:47 2001
X+++ version.c	Thu Jan 17 14:10:55 2002
X@@ -77,6 +77,14 @@
X     "No HET BZIP2 support",
X #endif
X 
X+#if defined(GNU_MTIO_SUPPORT)
X+	"Using GNU tape handling",
X+#elif defined(HAVE_MTIO_H)
X+	"Using generic Unix tape handling",
X+#else 
X+	"No SCSI tape support",
X+#endif
X+
X #if defined(CUSTOM_BUILD_STRING)
X     CUSTOM_BUILD_STRING,
X #endif
END-of-hercules/files/patch-ah
echo x - hercules/files/patch-ab
sed 's/^X//' >hercules/files/patch-ab << 'END-of-hercules/files/patch-ab'
X--- Makefile.am	Tue Oct 30 16:44:39 2001
X+++ Makefile.am	Mon Mar 11 02:44:03 2002
X@@ -93,8 +93,8 @@
X 
X tar: dist
X 
X+install-exec-local:
X if SETUID_HERCIFC
X-install-exec-local:
X 	chown root $(DESTDIR)$(bindir)/hercifc
X 	chmod 0751 $(DESTDIR)$(bindir)/hercifc
X 	chmod +s $(DESTDIR)$(bindir)/hercifc
END-of-hercules/files/patch-ab
echo x - hercules/distinfo
sed 's/^X//' >hercules/distinfo << 'END-of-hercules/distinfo'
XMD5 (hercules-2.15.tar.gz) = 8eb98b2b5663607fda075fc57f019172
END-of-hercules/distinfo
echo x - hercules/pkg-comment
sed 's/^X//' >hercules/pkg-comment << 'END-of-hercules/pkg-comment'
XIBM System/370, ESA/390 and z/Architecture Emulator
END-of-hercules/pkg-comment
echo x - hercules/pkg-descr
sed 's/^X//' >hercules/pkg-descr << 'END-of-hercules/pkg-descr'
XIBM System/370, ESA/390 and z/Architecture Emulator
XHercules is an open source software implementation of the mainframe System/370
Xand ESA/390 architectures, in addition to the new 64-bit z/Architecture.
X
XThis means that your PC can emulate an IBM mainframe processor. The
Xmainframe can range from a 360 to a z900 - running in "System/370"
Xmode, "ESA/390" mode, or "z/Architecture" mode. Hercules executes
XS/370, ESA/390, and z/Architecture instructions and channel
Xprograms. It emulates mainframe I/O devices by using PC devices. For
Xexample, 3390 DASD devices are emulated by large files on your hard
Xdisk, and local 3270 screens are emulated by tn3270 sessions.
X
XHercules implements only the raw S/370, ESA/390, and z/Architecture
Xinstruction set; it does not provide any operating system facilities. This
Xmeans that you need to provide an operating system or standalone program which
XHercules can load from an emulated disk or tape device. You will have to use a
Xfree software operating system such as Linux, write the operating system or
Xstandalone program yourself, obtain a license from IBM to run one of their
Xoperating systems on your PC, or use IBM programs and operating systems which
Xhave been placed in the public domain.
X
XHercules was created by Roger Bowler and is maintained by Jay
XMaynard. Jan Jaeger designed and implemented many of the advanced
Xfeatures of Hercules.
END-of-hercules/pkg-descr
echo x - hercules/Makefile
sed 's/^X//' >hercules/Makefile << 'END-of-hercules/Makefile'
X# New ports collection makefile for:	hercules
X# Date created:		01 November 2000
X# Whom:			mark@szlaga.net
X#
X# $FreeBSD$
X#
X
XPORTNAME=	hercules
XPORTVERSION=	2.15
XCATEGORIES=	emulators
XMASTER_SITES=	http://www.i-foo.com/hercules/
X
XMAINTAINER=	mark@szlaga.net
X
XUSE_AUTOCONF_VER=252
XUSE_AUTOMAKE_VER=15
XAUTOCONF=       autoconf
XHAS_CONFIGURE= yes
X
X.include <bsd.port.mk>
END-of-hercules/Makefile
echo x - hercules/pkg-plist
sed 's/^X//' >hercules/pkg-plist << 'END-of-hercules/pkg-plist'
Xbin/hercules
Xbin/dasdinit
Xbin/dasdisup
Xbin/dasdload
Xbin/dasdls
Xbin/dasdpdsu
Xbin/tapecopy
Xbin/tapemap
Xbin/tapesplt
Xbin/cckd2ckd
Xbin/cckdcdsk
Xbin/ckd2cckd
Xbin/cckdcomp
Xbin/cckdswap
Xbin/hetget
Xbin/hetinit
Xbin/hetmap
Xbin/hetupd
Xbin/dmap2hrc
Xbin/dasdlist
Xshare/hercules/cckddump.hla
Xshare/hercules/tapeconv.jcl
Xshare/hercules/zzsacard.bin
X@dirrm share/hercules
END-of-hercules/pkg-plist
exit

>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203110859.g2B8xBx26954>