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:
parent
41c27b17a3
commit
fbd8d43ef5
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=45328
@ -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>
|
||||
|
@ -1 +0,0 @@
|
||||
MD5 (virtualpaper-1.4/sources.tar.Z) = 90cf78a47732e7d242eb5f5f2cab514a
|
@ -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")
|
@ -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;
|
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user