1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

Revamp this port to build using the PM3 compiler instead of the old

SRC one from the modula-3 port.  Also use the virtualpaper sources
which are included in the PM3 distribution, as they are maintained
better.
This commit is contained in:
John Polstra 2001-07-21 23:28:12 +00:00
parent 41c27b17a3
commit fbd8d43ef5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=45328
6 changed files with 143 additions and 149 deletions

View File

@ -7,54 +7,85 @@
PORTNAME= virtualpaper
PORTVERSION= 1.4
PORTREVISION= 1
CATEGORIES= print
MASTER_SITES= http://www.research.compaq.com/SRC/virtualpaper/cgi-bin/nph-download.tcl/sources.tar.Z?object=Virtual+Paper/
DISTFILES= sources.tar.Z
DISTFILES=
MAINTAINER= jdp@FreeBSD.org
BUILD_DEPENDS= m3build-6:${PORTSDIR}/lang/modula-3
LIB_DEPENDS= m3.6:${PORTSDIR}/lang/modula-3-lib
BUILD_DEPENDS= ${L1}libm3vbtkit${L2}:${PORTSDIR}/lang/pm3-forms
RUN_DEPENDS= ${L1}libm3vbtkit${L2}:${PORTSDIR}/lang/pm3-forms
DEPENDS= ${PORTSDIR}/lang/pm3-base:configure
DIST_SUBDIR= virtualpaper-1.4
MAN1= LecternClient.1 Lectern.1 BuildLectern.1 EditLectern.1
DIST_SUBDIR= pm3
INSTALL_TARGET= all
MAN1= BuildLectern.1 EditLectern.1 Lectern.1 LecternClient.1
PLIST_SUB+= SOVERSION=${SOVERSION} TARGET=${TARGET} \
TARGETDIR=${TARGETDIR} WORDSIZE=${WORDSIZE}
WRKSRC= ${WRKDIRPREFIX}${.CURDIR}/../../lang/pm3-base/work/pm3-${PM3VERSION}
BUILDDIRS= graphics/lecternpkg/lecternclient \
graphics/lecternpkg/lecterndoc \
graphics/lecternpkg/lectern \
graphics/lecternpkg/ocr \
graphics/lecternpkg/buildlectern \
graphics/lecternpkg/editlectern
L1= ${PREFIX}/lib/m3/${TARGET}/
PM3VERSION= 1.1.15
PROGS= bin/BuildLectern \
bin/EditLectern \
bin/Lectern \
bin/LecternClient
SOVERSION= 7
# hack to work around bsd.port.mk problem
USE_BZIP2= yes
.include <bsd.port.pre.mk>
.if ${PORTOBJFORMAT} == "aout"
L2= .so.${SOVERSION}.0
TARGET= FreeBSD2
TARGETDIR= freebsd-2
WORDSIZE= 32
.elif ${ARCH} == "i386"
L2= .so.${SOVERSION}
.if ${OSVERSION} < 400011
TARGET= FreeBSD3
TARGETDIR= freebsd-3
.else
TARGET= FreeBSD4
TARGETDIR= freebsd-4
.endif
WORDSIZE= 32
.elif ${ARCH} == "alpha"
.if ${OSVERSION} < 400011
BROKEN= Not supported on older versions of FreeBSD/Alpha
.endif
CFLAGS+= -mieee
L2= .so.${SOVERSION}
TARGET= FBSD_ALPHA
TARGETDIR= fbsd-alpha
WORDSIZE= 64
.endif
.if empty(TARGET)
pre-fetch:
@${ECHO_MSG} "Cannot determine M3 target for this architecture"
@${FALSE}
.endif
do-build:
@cd ${WRKSRC}/lecternclient; m3build
@cd ${WRKSRC}/lecterndoc; m3build
@cd ${WRKSRC}/lectern; m3build
@cd ${WRKSRC}/ocr; m3build
@cd ${WRKSRC}/buildlectern; m3build
@cd ${WRKSRC}/editlectern; m3build
@${ECHO_MSG} "This port does everything in the install step."
@${ECHO_MSG} "The build step is a no-op."
do-install:
@${ECHO_MSG} "Installing files"
@cd ${WRKSRC}; \
${INSTALL_PROGRAM} \
lecternclient/FreeBSD2/LecternClient \
lectern/FreeBSD2/Lectern \
buildlectern/FreeBSD2/BuildLectern \
editlectern/FreeBSD2/EditLectern \
${PREFIX}/bin; \
${INSTALL_MAN} \
lecternclient/FreeBSD2/LecternClient.1 \
lectern/FreeBSD2/Lectern.1 \
buildlectern/FreeBSD2/BuildLectern.1 \
editlectern/FreeBSD2/EditLectern.1 \
${PREFIX}/man/man1; \
${INSTALL_MAN} \
lecternclient/FreeBSD2/LecternClient.1.html \
lectern/FreeBSD2/Lectern.1.html \
buildlectern/FreeBSD2/BuildLectern.1.html \
editlectern/FreeBSD2/EditLectern.1.html \
${PREFIX}/lib/m3/www; \
if [ ! -d ${PREFIX}/share/virtualpaper ]; then \
${MKDIR} ${PREFIX}/share/virtualpaper; \
${CHMOD} 755 ${PREFIX}/share/virtualpaper; \
fi; \
${INSTALL_DATA} COPYRIGHT ${PREFIX}/share/virtualpaper
@${ECHO_MSG} "Stripping programs"
@cd ${PREFIX}/bin; \
strip LecternClient Lectern BuildLectern EditLectern
@for i in ${BUILDDIRS}; do \
${ECHO_MSG} "Building in $${i}"; \
cd ${WRKSRC}/$${i} && ${PREFIX}/bin/m3build && \
${PREFIX}/bin/m3ship; \
done
@for i in ${PROGS}; do strip ${PREFIX}/$$i; done
@${MKDIR} ${PREFIX}/share/${PORTNAME}
@${INSTALL_DATA} ${WRKSRC}/src/COPYRIGHT ${PREFIX}/share/${PORTNAME}
.include <bsd.port.mk>
.include <bsd.port.post.mk>

View File

@ -1 +0,0 @@
MD5 (virtualpaper-1.4/sources.tar.Z) = 90cf78a47732e7d242eb5f5f2cab514a

View File

@ -1,87 +0,0 @@
These patches force all the private libraries to be static, so that
their shared libraries don't have to be installed. That makes it
possible to build everything without being root.
Index: buildlectern/src/m3makefile
--- buildlectern/src/m3makefile.orig Wed May 29 14:19:51 1996
+++ buildlectern/src/m3makefile Fri Nov 1 17:24:54 1996
@@ -5,6 +5,9 @@
/* */
/* Makefile for BuildLectern */
+override("ocr", path() & "/../..")
+override("lecterndoc", path() & "/../..")
+
import ("libm3")
import ("ocr")
import ("lecterndoc")
Index: editlectern/src/m3makefile
--- editlectern/src/m3makefile.orig Wed May 29 13:50:50 1996
+++ editlectern/src/m3makefile Fri Nov 1 17:25:54 1996
@@ -3,6 +3,9 @@
/* Last modified on Wed May 29 13:50:50 PDT 1996 by mcjones */
/* modified on Tue Mar 14 16:41:47 PST 1995 by birrell */
+override("lecternclient", path() & "/../..")
+override("lecterndoc", path() & "/../..")
+
import("formsvbt")
import("lecternclient")
import("lecterndoc")
Index: lectern/src/m3makefile
--- lectern/src/m3makefile.orig Mon Sep 30 12:07:34 1996
+++ lectern/src/m3makefile Fri Nov 1 17:23:00 1996
@@ -8,6 +8,9 @@
/* */
/* Makefile for Lectern */
+override("lecterndoc", path() & "/../..")
+override("lecternclient", path() & "/../..")
+
if AT_SRC and equal (OS_TYPE, "POSIX")
import ("cmon")
end
Index: lecternclient/src/m3makefile
--- lecternclient/src/m3makefile.orig Wed May 29 13:52:36 1996
+++ lecternclient/src/m3makefile Fri Nov 1 17:20:40 1996
@@ -4,6 +4,11 @@
/* Last modified on Wed May 29 13:52:36 PDT 1996 by mcjones */
+% Override the standard definition of after_library_hooks, to prevent
+% building a shared library.
+proc after_library_hooks(x) is
+end
+
import("libm3")
import("mtex")
Index: lecterndoc/src/m3makefile
--- lecterndoc/src/m3makefile.orig Thu Mar 10 15:29:55 1994
+++ lecterndoc/src/m3makefile Fri Nov 1 17:21:44 1996
@@ -4,6 +4,10 @@
/* */
/* Makefile for "LecternDoc" library */
+% Override the standard definition of after_library_hooks, to prevent
+% building a shared library.
+proc after_library_hooks(x) is
+end
import (libm3)
Index: ocr/src/Stub/m3makefile
--- ocr/src/Stub/m3makefile.orig Fri Sep 30 14:49:03 1994
+++ ocr/src/Stub/m3makefile Fri Nov 1 17:24:08 1996
@@ -4,6 +4,11 @@
/* Last modified on Fri Sep 30 14:49:02 PDT 1994 by mcjones */
+% Override the standard definition of after_library_hooks, to prevent
+% building a shared library.
+proc after_library_hooks(x) is
+end
+
import("libm3")
implementation("OCR_Stub")

View File

@ -1,19 +0,0 @@
Use mkfifo instead of mknod to create a FIFO. Mknod require root
privileges.
Index: buildlectern/src/POSIX/OSUtilsPosix.m3
--- buildlectern/src/POSIX/OSUtilsPosix.m3.orig Mon May 20 13:04:46 1996
+++ buildlectern/src/POSIX/OSUtilsPosix.m3 Thu Jul 10 21:03:34 1997
@@ -32,10 +32,10 @@
VAR pFifo: TEXT := NIL;
PROCEDURE CreateFifo(p: TEXT) RAISES {OSError.E} =
- CONST Mode = Unix.fifo_special + Unix.MROWNER + Unix.MWOWNER;
+ CONST Mode = Unix.MROWNER + Unix.MWOWNER;
BEGIN
<* ASSERT pFifo=NIL *>
- IF Unix.mknod(M3toC.TtoS(p), Mode, 0) < 0 THEN
+ IF Unix.mkfifo(M3toC.TtoS(p), Mode) < 0 THEN
OSErrorPosix.Raise();
END;
pFifo := p;

View File

@ -8,7 +8,7 @@ and not brief articles such as most electronic mail or WWW pages.
For more information, please see:
WWW: http://www.research.digital.com:80/SRC/virtualpaper/
WWW: http://www.research.compaq.com/SRC/virtualpaper/
Please see the file "${PREFIX}/share/virtualpaper/COPYRIGHT" for
the DEC copyright notice.

View File

@ -2,9 +2,79 @@ bin/BuildLectern
bin/EditLectern
bin/Lectern
bin/LecternClient
lib/m3/%%TARGET%%/libLecternDoc.so.%%SOVERSION%%
lib/m3/%%TARGET%%/liblecternserver.so.%%SOVERSION%%
lib/m3/%%TARGET%%/libocr.so.%%SOVERSION%%
lib/m3/pkg/buildlectern/%%TARGET%%/.M3EXPORTS
lib/m3/pkg/buildlectern/%%TARGET%%/.M3IMPTAB
lib/m3/pkg/buildlectern/%%TARGET%%/.M3WEB
lib/m3/pkg/buildlectern/%%TARGET%%/BBoxSeq.i3
lib/m3/pkg/buildlectern/%%TARGET%%/BBoxSeqRep.i3
lib/m3/pkg/buildlectern/%%TARGET%%/FromPSBundle.i3
lib/m3/pkg/buildlectern/src/BBox.i3
lib/m3/pkg/buildlectern/src/Cscale.i3
lib/m3/pkg/buildlectern/src/FromPS.i3
lib/m3/pkg/buildlectern/src/LGM.i3
lib/m3/pkg/buildlectern/src/OCR_PS.i3
lib/m3/pkg/buildlectern/src/OSUtils.i3
lib/m3/pkg/editlectern/%%TARGET%%/.M3EXPORTS
lib/m3/pkg/editlectern/%%TARGET%%/.M3IMPTAB
lib/m3/pkg/editlectern/%%TARGET%%/.M3WEB
lib/m3/pkg/editlectern/%%TARGET%%/EditLecternBundle.i3
lib/m3/pkg/lectern/%%TARGET%%/.M3EXPORTS
lib/m3/pkg/lectern/%%TARGET%%/.M3IMPTAB
lib/m3/pkg/lectern/%%TARGET%%/.M3WEB
lib/m3/pkg/lectern/%%TARGET%%/LecternBundle.i3
lib/m3/pkg/lectern/src/Find.i3
lib/m3/pkg/lectern/src/LecternOCR.i3
lib/m3/pkg/lectern/src/Links.i3
lib/m3/pkg/lectern/src/MyFileBrowserVBT.i3
lib/m3/pkg/lectern/src/ThumbnailVBT.i3
lib/m3/pkg/lectern/src/ViewAreaVBT.i3
lib/m3/pkg/lecternclient/%%TARGET%%/.M3EXPORTS
lib/m3/pkg/lecternclient/%%TARGET%%/.M3IMPTAB
lib/m3/pkg/lecternclient/%%TARGET%%/.M3WEB
lib/m3/pkg/lecternclient/%%TARGET%%/liblecternserver.a
lib/m3/pkg/lecternclient/%%TARGET%%/liblecternserver.m3x
lib/m3/pkg/lecternclient/%%TARGET%%/liblecternserver.so
lib/m3/pkg/lecternclient/src/LecternClient.i3
lib/m3/pkg/lecternclient/src/LecternServer.i3
lib/m3/pkg/lecterndoc/%%TARGET%%/.M3EXPORTS
lib/m3/pkg/lecterndoc/%%TARGET%%/.M3IMPTAB
lib/m3/pkg/lecterndoc/%%TARGET%%/.M3WEB
lib/m3/pkg/lecterndoc/%%TARGET%%/libLecternDoc.a
lib/m3/pkg/lecterndoc/%%TARGET%%/libLecternDoc.m3x
lib/m3/pkg/lecterndoc/%%TARGET%%/libLecternDoc.so
lib/m3/pkg/lecterndoc/src/LecternDoc.i3
lib/m3/pkg/ocr/%%TARGET%%/.M3EXPORTS
lib/m3/pkg/ocr/%%TARGET%%/.M3IMPTAB
lib/m3/pkg/ocr/%%TARGET%%/.M3WEB
lib/m3/pkg/ocr/%%TARGET%%/libocr.a
lib/m3/pkg/ocr/%%TARGET%%/libocr.m3x
lib/m3/pkg/ocr/%%TARGET%%/libocr.so
lib/m3/pkg/ocr/src/Common/OCR.i3
lib/m3/www/BuildLectern.1.html
lib/m3/www/EditLectern.1.html
lib/m3/www/Lectern.1.html
lib/m3/www/LecternClient.1.html
share/virtualpaper/COPYRIGHT
@dirrm share/virtualpaper
@dirrm lib/m3/www
@dirrm lib/m3/pkg/ocr/src/Common
@dirrm lib/m3/pkg/ocr/src
@dirrm lib/m3/pkg/ocr/%%TARGET%%
@dirrm lib/m3/pkg/ocr
@dirrm lib/m3/pkg/lecterndoc/src
@dirrm lib/m3/pkg/lecterndoc/%%TARGET%%
@dirrm lib/m3/pkg/lecterndoc
@dirrm lib/m3/pkg/lecternclient/src
@dirrm lib/m3/pkg/lecternclient/%%TARGET%%
@dirrm lib/m3/pkg/lecternclient
@dirrm lib/m3/pkg/lectern/src
@dirrm lib/m3/pkg/lectern/%%TARGET%%
@dirrm lib/m3/pkg/lectern
@dirrm lib/m3/pkg/editlectern/%%TARGET%%
@dirrm lib/m3/pkg/editlectern
@dirrm lib/m3/pkg/buildlectern/src
@dirrm lib/m3/pkg/buildlectern/%%TARGET%%
@dirrm lib/m3/pkg/buildlectern