diff options
Diffstat (limited to 'contrib/ports/vms')
-rw-r--r-- | contrib/ports/vms/readme.1st | 9 | ||||
-rw-r--r-- | contrib/ports/vms/readme.vms | 102 | ||||
-rw-r--r-- | contrib/ports/vms/vms_link.opt | 1 | ||||
-rw-r--r-- | contrib/ports/vms/vms_multinet_link.opt | 1 | ||||
-rw-r--r-- | contrib/ports/vms/vms_netlib_link.opt | 1 | ||||
-rw-r--r-- | contrib/ports/vms/vmsbuild.com | 31 | ||||
-rw-r--r-- | contrib/ports/vms/vmsbuild_cclient.com | 103 |
7 files changed, 248 insertions, 0 deletions
diff --git a/contrib/ports/vms/readme.1st b/contrib/ports/vms/readme.1st new file mode 100644 index 00000000..42652494 --- /dev/null +++ b/contrib/ports/vms/readme.1st @@ -0,0 +1,9 @@ + +To build the VMS version of pine, just move the VMSBUILD.COM command +script into the top level pine directory. If the script fails moving +the pine-specific c-client build script (VMSBUILD_CCLIENT.COM) into +place, just copy it by hand into the C-CLIENT.DIR it creates. This +RENAME was added just prior to release by the pine team and was not +part of the contributed port. + +- The Pine Team diff --git a/contrib/ports/vms/readme.vms b/contrib/ports/vms/readme.vms new file mode 100644 index 00000000..da14481f --- /dev/null +++ b/contrib/ports/vms/readme.vms @@ -0,0 +1,102 @@ + VMS readme for PINE/C-CLEINT/PICO + ======================== + +Building +======== + + There are three executables: +Pico/PICO.EXE: This is the stand-alone version of the editor. +C-Client/MTEST: Testing program for debugging purposes. +Pine/PINE: The pine... + +In order to build SET DEF into the top directory (i.e. the one above PINE.DIR, +PICO.DIR, etc.) and then @VMSBUILD. It will rename the C-CLient directory and +then compile Pico, C-Client and Pine. + +Optional parameters to the VMSBUILD command: + +NETLIB - Use the Netlib library. It must be preloaded into [.NETLIB]NETLIB.OLB +MULTINET - Call Multinet's transport directly. + +If more than one option is used - separate them with coma and no spaces. + +There are a few warnnings during the link - ignore them... +On VAX we have to link the objects themselves and can't use libraries since the +linker/librarian lose the global variables; on AXP it is ok... + + +Using +===== + All the user needs is the PINE.EXE; Pine reads the mail from the user's +VMS/MAIL files and send outgoing mail either via mail routines using some +foreign protocol or via direct SMTP to some SMTP server (I preffer this +metod). You use the latter by defining SMTP-SERVER field with some host. +If you do not set it you must define PINE_MAIL_PROTOCOL to the prefix of +the foreign protocol used. For example, if you use SMTP% you have to define +it to SMTP. + The global PINE configuration file (if needed) is located at UTIL$:PINE.CONF; +if you want to recompile it with a different name then modify PINE/OS.H; + + +Why TcpIp communication is needed? +================================== + It is not really needed, but helps much. It is needed in three places: +1. Sending mail: You can either send mail using the xxx% mechanism by defning + PINE_MAIL_PROTOCOL; in this case no TcpIp is needed. + you can use another mechanism: Don't define the above but set some SMTP + server node name in PINE.CONF or .PINERC. In this case you need some + SMTP package. +2. PINE can read NEWS via the NNTP protocol which runs over TcpIp... +3. Remote nodes (usually PC) can access the IMAP daemon and PINE can access + remote IMAP servers using TcpIp. + + +Restrictions +============ +1. In order to not modify the source too much the handling of the special + INBOX folder was not modified. Hence, it always try to open the (empty) + INBOX folder instead of NEWMAIL. + It is possible to define in the system's wide PINE.CONF that + inbox-path=NEWMAIL. In this case NEWMAIL will be opened when PINE is + started. However, the user must not then switch to another folder as long + as NEWMAIL has items. +2. WASTEBASKET folder is not used. +3. .PINERC and .ADDRBOOK are fixed to the user's login directory and cannot + be defined to be elsewhere (the definition is ignored). +4-100. Probably exists and I forgot to mention :-) + + +IMAPD +===== + IMAPD of version 3.89 is available with the old Pine VMS port from +VMS.HUJI.AC.IL; the current version of IMAPD will be ported soon. + + +NETLIB +====== + NETLIB can be obtained from PUBLIC.TGV.COM:/MADISON/NETLIB. NETLIB supports +all the common TcpIp packages like Multinet, UCX, Fusion, Wollongong, etc. + + +Suggested PINE.CONF file. +========================= +here is the PINE.CONF file we use here: + +# Our fully-qualified machine name: +user-domain=vms.huji.ac.il + +# Where to connect to send outputgoing mail. +smtp-server=vms.huji.ac.il + +# Which viewer to see GIF/JPEG/etc. +image-viewer=xv + +# Which folder will be opened automatically when entering PINE. See note above. +inbox-path=NEWMAIL + + +Notes: +===== +1. Due to the readonly definition in the source files we use an external + #define to redefine it to something else. Due to that CTYPE.H fails, so + we use a private copy of it. diff --git a/contrib/ports/vms/vms_link.opt b/contrib/ports/vms/vms_link.opt new file mode 100644 index 00000000..0f454490 --- /dev/null +++ b/contrib/ports/vms/vms_link.opt @@ -0,0 +1 @@ +SYS$SHARE:VAXCRTL/SHARE diff --git a/contrib/ports/vms/vms_multinet_link.opt b/contrib/ports/vms/vms_multinet_link.opt new file mode 100644 index 00000000..5eb99104 --- /dev/null +++ b/contrib/ports/vms/vms_multinet_link.opt @@ -0,0 +1 @@ +MULTINET:MULTINET_SOCKET_LIBRARY/SHARE diff --git a/contrib/ports/vms/vms_netlib_link.opt b/contrib/ports/vms/vms_netlib_link.opt new file mode 100644 index 00000000..4bec72f1 --- /dev/null +++ b/contrib/ports/vms/vms_netlib_link.opt @@ -0,0 +1 @@ +netlib_shr/share diff --git a/contrib/ports/vms/vmsbuild.com b/contrib/ports/vms/vmsbuild.com new file mode 100644 index 00000000..e3f58ebc --- /dev/null +++ b/contrib/ports/vms/vmsbuild.com @@ -0,0 +1,31 @@ +$! VMSBUILD.COM - Calls the subdirectories VMSBUILD. +$! Can be called with options separated with commas and no spaces. The +$! options are: +$! +$! NETLIB - For linking with Netlib. NETLIB.OLB must be pre-loaded into +$! [.NETLIb]NETLIB.OLB +$! MULTINET - Used with Multinet transport (no NETLIB is used). +$! HEBREW - Build the Hebrew version. +$! +$! +$ IF F$EXISTS("[.IMAP.ANSI]C-CLIENT.DIR") THEN RENAME [.IMAP.ANSI]C-CLIENT.DIR []; +$ IF F$EXISTS("[.CONTRIB.VMS]VMSBUILD_CCLIENT.COM") THEN RENAME [.CONTRIB.VMS]VMSBUILD_CCLIENT.COM [.C-CLIENT]VMSBUILD.COM; +$ SET DEF [.PICO] +$@VMSBUILD 'P1' +$ SET DEF [-.C-CLIENT] +$@VMSBUILD 'P1' +$ SET DEF [-.PINE] +$@VMSBUILD 'P1' +$ SET DEF [-] +$! +$ TYPE SYS$INPUT: +Executables can be found in: + +PICO/PICO.EXE - The stand-alone editor (not needed). +C-CLIENT/MTEST.EXE - Interactive testing program (not needed). +C-CLIENT/IMAPD.EXE - the IMAP daemon. Should be copied elsewhere and defined + in the INETD.CONF file or equivalent. +PINE/PINE.EXE - What you waited for... + +$! +$ EXIT diff --git a/contrib/ports/vms/vmsbuild_cclient.com b/contrib/ports/vms/vmsbuild_cclient.com new file mode 100644 index 00000000..7d4c0a20 --- /dev/null +++ b/contrib/ports/vms/vmsbuild_cclient.com @@ -0,0 +1,103 @@ +$! Program: Operating-system dependent routines -- VMS version +$! +$! Author: Yehavi Bourvine, The Hebrew University of Jerusalem. +$! Internet: Yehavi@VMS.huji.ac.il +$! +$! Date: 2 August 1994 +$! Last Edited: 2 August 1994 +$! +$! Copyright 1994 by the University of Washington +$! +$! Permission to use, copy, modify, and distribute this software and its +$! documentation for any purpose and without fee is hereby granted, provided +$! that the above copyright notice appears in all copies and that both the +$! above copyright notice and this permission notice appear in supporting +$! documentation, and that the name of the University of Washington not be +$! used in advertising or publicity pertaining to distribution of the software +$! without specific, written prior permission. This software is made available +$! "as is", and +$! THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, +$! WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED +$! WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN +$! NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL, +$! INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +$! LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT +$! (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION +$! WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +$! +$! VMSBUILD.COM for C-CLIENT. +$ CREATE LINKAGE.H +$ DECK +extern DRIVER imapdriver, nntpdriver, vmsmaildriver; +$ EOD +$ CREATE LINKAGE.C +$ DECK + mail_link((DRIVER *)&imapdriver); + mail_link((DRIVER *)&nntpdriver); + mail_link((DRIVER *)&vmsmaildriver); +$ EOD +$! +$ DEFINE SYS SYS$LIBRARY: ! Normal .H location. +$ DEFINE NETINET SYS$LIBRARY: +$ DEFINE ARPA SYS$LIBRARY: +$! +$ COPY OS_VMS.H OSDEP.H; +$ COPY TCP_VMSN.C TCP_VMS.C; ! Default - no TcpIp support. +$! +$ CC_DEF = ",''P1'" +$ LINK_OPT = "" +$ IF P1 .EQS. "" THEN CC_DEF="" +$ IF F$LOCATE("MULTINET", P1) .LT. F$LENGTH(P1) +$ THEN +$ DEFINE SYS MULTINET_ROOT:[MULTINET.INCLUDE.SYS],sys$library +$ DEFINE NETINET MULTINET_ROOT:[MULTINET.INCLUDE.NETINET] +$ DEFINE ARPA MULTINET_ROOT:[MULTINET.INCLUDE.ARPA] +$ COPY TCP_VMSM.C TCP_VMS.C; ! Multinet support. +$ LINK_OPT = ",[-.CONTRIB.VMS]VMS_MULTINET_LINK/OPTION" +$ ENDIF +$ IF F$LOCATE("NETLIB", P1) .LT. F$LENGTH(P1) +$ THEN +$ LINK_OPT = ",[-.CONTRIB.VMS]VMS_NETLIB_LINK/OPTION" +$ COPY TCP_VMSL.C TCP_VMS.C; ! Netlib support. +$ ENDIF +$! +$ CC_PREF = "" +$ IF F$LOCATE("VAX", F$GETSYI("HW_NAME")) .EQS. F$LENGTH(F$GETSYI("HW_NAME")) +$ THEN +$ CC_PREF = "/PREFIX=(ALL,EXCEPT=(SOCKET,CONNECT,BIND,LISTEN,SOCKET_READ,SOCKET_WRITE,SOCKET_CLOSE,SELECT,ACCEPT,BCMP,BCOPY,BZERO,GETHOSTBYNAME," +$ CC_PREF = CC_PREF + "GETHOSTBYADDR,GETPEERNAME,GETDTABLESIZE,HTONS,HTONL,NTOHS,NTOHL,SEND,SENDTO,RECV,RECVFROM))" +$ CC_PREF = CC_PREF + "/STANDARD=VAXC" +$ ELSE +$ CC_PREF = "/INCLUDE=[]" +$ LINK_OPT = LINK_OPT + ",[-.CONTRIB.VMS]VMS_LINK/OPTION" +$ COPY SYS$LIBRARY:CTYPE.H *.*; +$ EDIT/EDT CTYPE.H +s/readonly// w +exit +$ ENDIF +$ SET VERIFY +$ CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def') OS_VMS +$ CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def') vms_mail +$ CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def') MAIL +$ CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def') SMTP +$ CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def') RFC822 +$ CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def') NNTP +$ CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def') nntpcvms +$ CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def') MISC +$ CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def') IMAP2 +$ CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def', - + L_SET=0) SM_VMS +$! +$ CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def') MTEST +$! CC/NOOPTIMIZE'CC_PREF'/define=("readonly"="ReadOnly"'cc_def') IMAPD +$! +$ LIBRARY/OBJECT/CREATE/INSERT C-CLIENT OS_VMS,vms_mail,MAIL,SMTP,RFC822,- + NNTP,nntpcvms,MISC,IMAP2,SM_VMS +$! +$ SET NOVERIFY +$ LINK MTEST,IMAP2,MAIL,MISC,NNTP,nntpcvms,OS_VMS,RFC822,SMTP,- + SM_VMS,VMS_MAIL,SYS$INPUT:/OPTION'LINK_OPT' +PSECT=_CTYPE_,NOWRT +$! LINK IMAPD,imapd_vms,IMAP2,MAIL,MISC,NNTP,nntpcvms,OS_VMS,RFC822,SMTP,- +$! SM_VMS,VMS_MAIL'LINK_OPT' +$ EXIT |