Date: Mon, 5 Feb 2001 10:27:13 -0800 (PST) From: tkato@prontomail.ne.jp To: freebsd-gnats-submit@FreeBSD.org Subject: ports/24875: Update port: lang/Gofer to 2.30b Message-ID: <200102051827.f15IRDB52362@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 24875 >Category: ports >Synopsis: Update port: lang/Gofer to 2.30b >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 Feb 05 10:30:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: KATO Tsuguru >Release: 4.2-RELEASE i386 >Organization: >Environment: >Description: - Update to version 2.30b - Add WWW: line >How-To-Repeat: >Fix: diff -urN /usr/ports/lang/Gofer/Makefile lang/Gofer/Makefile --- /usr/ports/lang/Gofer/Makefile Tue Jan 30 21:08:02 2001 +++ lang/Gofer/Makefile Wed Jan 31 21:46:38 2001 @@ -6,10 +6,10 @@ # PORTNAME= gofer -PORTVERSION= 2.30a +PORTVERSION= 2.30b CATEGORIES= lang -MASTER_SITES= ftp://cs.nott.ac.uk/nott-fp/languages/haskell/gofer/ -DISTNAME= gofer230a +MASTER_SITES= http://www.cse.ogi.edu/~mpj/goferarc/ +DISTNAME= ${PORTNAME}${PORTVERSION:S/.//} MAINTAINER= ports@FreeBSD.org @@ -18,18 +18,20 @@ MAN1= gofer.1 do-install: - ${MKDIR} ${LIBDIR} + @${MKDIR} ${LIBDIR} ${INSTALL_DATA} ${WRKDIR}/*.prelude ${LIBDIR} ${INSTALL_DATA} ${WRKDIR}/src/prelude.h ${LIBDIR} ${INSTALL_DATA} ${WRKDIR}/src/gofc.h ${LIBDIR} - /usr/bin/perl -pi -e "s|#include \"prelude.h\"|#include \"${LIBDIR}/prelude.h\"|" ${LIBDIR}/gofc.h + ${PERL} -pi -e "s|#include \"prelude.h\"|#include \"${LIBDIR}/prelude.h\"|" ${LIBDIR}/gofc.h ${INSTALL_DATA} ${WRKDIR}/src/runtime.o ${LIBDIR} ${INSTALL_SCRIPT} ${WRKDIR}/scripts/gofer ${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKDIR}/scripts/goferc ${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKDIR}/src/gofer ${LIBDIR} ${INSTALL_PROGRAM} ${WRKDIR}/src/gofc ${LIBDIR} ${INSTALL_MAN} ${WRKDIR}/docs/gofer.1 ${PREFIX}/man/man1 - ${MKDIR} ${LIBDIR}/docs - ${INSTALL_DATA} ${WRKDIR}/docs/* ${LIBDIR}/docs +.if !defined(NOPORTDOCS) + @${MKDIR} ${PREFIX}/share/doc/Gofer + ${INSTALL_DATA} ${WRKDIR}/docs/* ${PREFIX}/share/doc/Gofer +.endif .include <bsd.port.mk> diff -urN /usr/ports/lang/Gofer/distinfo lang/Gofer/distinfo --- /usr/ports/lang/Gofer/distinfo Wed Feb 8 18:41:12 1995 +++ lang/Gofer/distinfo Wed Jan 31 01:32:49 2001 @@ -1 +1 @@ -MD5 (gofer230a.tar.gz) = a020b6a9c446701f169e06eb535b76dc +MD5 (gofer230b.tar.gz) = 6914ba677359e860a869073fb0f02eac diff -urN /usr/ports/lang/Gofer/files/patch-aa lang/Gofer/files/patch-aa --- /usr/ports/lang/Gofer/files/patch-aa Wed Feb 8 18:41:11 1995 +++ lang/Gofer/files/patch-aa Wed Jan 31 01:39:31 2001 @@ -1,22 +1,18 @@ -*** Makefile.0 Thu Jun 23 09:00:00 1994 ---- Makefile Wed Feb 1 01:42:58 1995 -*************** -*** 24,32 **** - # below). - - CC = cc -! #CFLAGS = -DUSE_READLINE=1 -! CFLAGS = -! LDFLAGS = -lm - OPTFLAGS = -O - OPT1 = - #OPT1 = -O1 ---- 24,31 ---- - # below). - - CC = cc -! CFLAGS = -DUSE_READLINE=1 -! LDFLAGS = -lm -lreadline - OPTFLAGS = -O - OPT1 = - #OPT1 = -O1 +--- Makefile.orig Fri Mar 31 01:02:20 1995 ++++ Makefile Wed Jan 31 01:39:22 2001 +@@ -23,11 +23,10 @@ + # as you use to build the file runtime.o (as specified by the CC macro + # below). + +-CC = cc +-#CFLAGS = -DUSE_READLINE=1 +-CFLAGS = +-LDFLAGS = -lm +-OPTFLAGS = -O ++CC ?= cc ++CFLAGS += -DUSE_READLINE=1 ++LDFLAGS = -lm -lreadline ++#OPTFLAGS = -O + OPT1 = + #OPT1 = -O1 + diff -urN /usr/ports/lang/Gofer/files/patch-ab lang/Gofer/files/patch-ab --- /usr/ports/lang/Gofer/files/patch-ab Wed Feb 8 18:41:11 1995 +++ lang/Gofer/files/patch-ab Wed Jan 31 01:41:40 2001 @@ -1,79 +1,46 @@ -*** prelude.h.0 Thu Jun 23 09:00:00 1994 ---- prelude.h Tue Jan 31 16:17:47 1995 -*************** -*** 30,40 **** - #define OS2 0 /* For IBM OS/2 2.0 using EMX GCC */ - #define SUNOS 0 /* For Sun 3/Sun 4 running SunOs 4.x */ - #define MIPS 0 /* For MIPS RC6280/Sony machine NWS-3870 UN */ -! #define NEXTSTEP 1 /* For NeXTstep 3.0 using NeXT cc */ - #define NEXTGCC 0 /* For NeXTstep with gcc 2.x, doesn't work w/ NS3.2*/ - #define MINIX68K 0 /* For Minix68k with gcc UN */ - #define AMIGA 0 /* For Amiga using gcc 2.2.2 UN */ - #define HPUX 0 /* For HPUX using gcc */ - #define LINUX 0 /* For Linux using gcc UN */ - #define RISCOS 0 /* For Acorn DesktopC and RISCOS2 or 3 */ - #define ALPHA 0 /* For DEC Alpha with OSF/1 (32 bit ints, no gofc) */ ---- 30,41 ---- - #define OS2 0 /* For IBM OS/2 2.0 using EMX GCC */ - #define SUNOS 0 /* For Sun 3/Sun 4 running SunOs 4.x */ - #define MIPS 0 /* For MIPS RC6280/Sony machine NWS-3870 UN */ -! #define NEXTSTEP 0 /* For NeXTstep 3.0 using NeXT cc */ - #define NEXTGCC 0 /* For NeXTstep with gcc 2.x, doesn't work w/ NS3.2*/ - #define MINIX68K 0 /* For Minix68k with gcc UN */ - #define AMIGA 0 /* For Amiga using gcc 2.2.2 UN */ - #define HPUX 0 /* For HPUX using gcc */ -+ #define FREEBSD 1 /* For FreeBSD using gcc */ - #define LINUX 0 /* For Linux using gcc UN */ - #define RISCOS 0 /* For Acorn DesktopC and RISCOS2 or 3 */ - #define ALPHA 0 /* For DEC Alpha with OSF/1 (32 bit ints, no gofc) */ -*************** -*** 82,88 **** - - #define UNIX (SUNOS | NEXTSTEP | HPUX | NEXTGCC | LINUX | AMIGA | \ - MINIX68K | ALPHA | OS2 | SVR4 | ULTRIX | AIX | MIPS |\ -! SGI4 | NETBSD) - #define SMALL_GOFER (TURBOC | BCC) - #define REGULAR_GOFER (RISCOS | DJGPP | ZTC | ATARI) - #define LARGE_GOFER (UNIX | WATCOM) ---- 83,89 ---- - - #define UNIX (SUNOS | NEXTSTEP | HPUX | NEXTGCC | LINUX | AMIGA | \ - MINIX68K | ALPHA | OS2 | SVR4 | ULTRIX | AIX | MIPS |\ -! SGI4 | NETBSD | FREEBSD) - #define SMALL_GOFER (TURBOC | BCC) - #define REGULAR_GOFER (RISCOS | DJGPP | ZTC | ATARI) - #define LARGE_GOFER (UNIX | WATCOM) -*************** -*** 91,97 **** - #define TERMIO_IO (LINUX | HPUX | OS2 | SVR4 | SGI4) - #define SGTTY_IO (SUNOS | NEXTSTEP | NEXTGCC | AMIGA | MINIX68K | \ - ALPHA | ULTRIX | AIX | MIPS) -! #define TERMIOS_IO (NETBSD) - #define BREAK_FLOATS (TURBOC | BCC) - #define HAS_FLOATS (REGULAR_GOFER | LARGE_GOFER | BREAK_FLOATS) - ---- 92,98 ---- - #define TERMIO_IO (LINUX | HPUX | OS2 | SVR4 | SGI4) - #define SGTTY_IO (SUNOS | NEXTSTEP | NEXTGCC | AMIGA | MINIX68K | \ - ALPHA | ULTRIX | AIX | MIPS) -! #define TERMIOS_IO (NETBSD | FREEBSD) - #define BREAK_FLOATS (TURBOC | BCC) - #define HAS_FLOATS (REGULAR_GOFER | LARGE_GOFER | BREAK_FLOATS) - -*************** -*** 202,208 **** - #define farCalloc(n,s) (Void *)valloc(((unsigned)n)*((unsigned)s)) - #endif - -! #if (HPUX | DJGPP | ZTC | LINUX | ALPHA | OS2 | SVR4 | AIX | SGI4 | NETBSD) - #include <stdlib.h> - #define far - #endif ---- 203,209 ---- - #define farCalloc(n,s) (Void *)valloc(((unsigned)n)*((unsigned)s)) - #endif - -! #if (HPUX | DJGPP | ZTC | LINUX | ALPHA | OS2 | SVR4 | AIX | SGI4 | NETBSD | FREEBSD) - #include <stdlib.h> - #define far - #endif +--- prelude.h.orig Fri Mar 31 19:13:52 1995 ++++ prelude.h Wed Jan 31 01:41:35 2001 +@@ -28,7 +28,7 @@ + #define ZTC 0 /* For IBM PC (>= 386) Zortech C++ v3.0 (-mx) */ + #define DJGPP 0 /* For DJGPP version 1.09 (gcc2.2.2) and DOS 5.0 */ + #define OS2 0 /* For IBM OS/2 2.0 using EMX GCC */ +-#define SUNOS 1 /* For Sun 3/Sun 4 running SunOs 4.x */ ++#define SUNOS 0 /* For Sun 3/Sun 4 running SunOs 4.x */ + #define MIPS 0 /* For MIPS RC6280/Sony machine NWS-3870 UN */ + #define NEXTSTEP 0 /* For NeXTstep 3.0 using NeXT cc */ + #define NEXTGCC 0 /* For NeXTstep with gcc 2.x, doesn't work w/ NS3.2*/ +@@ -36,6 +36,7 @@ + #define AMIGA 0 /* For Amiga using gcc 2.2.2 UN */ + #define HPUX 0 /* For HPUX using gcc */ + #define LINUX 0 /* For Linux using gcc UN */ ++#define FREEBSD 1 /* For FreeBSD using gcc UN */ + #define RISCOS 0 /* For Acorn DesktopC and RISCOS2 or 3 */ + #define ALPHA 0 /* For DEC Alpha with OSF/1 (32 bit ints, no gofc) */ + #define SVR4 0 /* For SVR4 using GCC2.2 */ +@@ -82,7 +83,7 @@ + + #define UNIX (SUNOS | NEXTSTEP | HPUX | NEXTGCC | LINUX | AMIGA | \ + MINIX68K | ALPHA | OS2 | SVR4 | ULTRIX | AIX | MIPS |\ +- SGI4 | NETBSD) ++ SGI4 | NETBSD | FREEBSD) + #define SMALL_GOFER (TURBOC | BCC) + #define REGULAR_GOFER (RISCOS | DJGPP | ZTC | ATARI) + #define LARGE_GOFER (UNIX | WATCOM) +@@ -91,7 +92,7 @@ + #define TERMIO_IO (LINUX | HPUX | OS2 | SVR4 | SGI4) + #define SGTTY_IO (SUNOS | NEXTSTEP | NEXTGCC | AMIGA | MINIX68K | \ + ALPHA | ULTRIX | AIX | MIPS) +-#define TERMIOS_IO (NETBSD) ++#define TERMIOS_IO (NETBSD | FREEBSD) + #define BREAK_FLOATS (TURBOC | BCC) + #define HAS_FLOATS (REGULAR_GOFER | LARGE_GOFER | BREAK_FLOATS) + +@@ -202,7 +203,7 @@ + #define farCalloc(n,s) (Void *)valloc(((unsigned)n)*((unsigned)s)) + #endif + +-#if (HPUX | DJGPP | ZTC | LINUX | ALPHA | OS2 | SVR4 | AIX | SGI4 | NETBSD) ++#if (HPUX | DJGPP | ZTC | LINUX | ALPHA | OS2 | SVR4 | AIX | SGI4 | NETBSD | FREEBSD) + #include <stdlib.h> + #define far + #endif diff -urN /usr/ports/lang/Gofer/files/patch-ac lang/Gofer/files/patch-ac --- /usr/ports/lang/Gofer/files/patch-ac Sun Feb 12 11:56:22 1995 +++ lang/Gofer/files/patch-ac Wed Jan 31 01:45:32 2001 @@ -1,36 +1,23 @@ -*** ../scripts/gofer.0 Thu Jun 23 16:00:00 1994 ---- ../scripts/gofer Wed Feb 8 01:16:55 1995 -*************** -*** 9,18 **** - # Edited by Jonathan Bowen, Oxford University, August 1993 - - # Location of gofer files - site specific -! ROOT=/usr/local/gofer - - # first, the location of your prelude file: -! GOFER=${GOFER-$ROOT/lib/standard.prelude} - export GOFER - - # next, command line argument settings. One example might be: ---- 9,18 ---- - # Edited by Jonathan Bowen, Oxford University, August 1993 - - # Location of gofer files - site specific -! ROOT=/usr/local/lib/Gofer - - # first, the location of your prelude file: -! GOFER=${GOFER-$ROOT/standard.prelude} - export GOFER - - # next, command line argument settings. One example might be: -*************** -*** 34,37 **** - - # Finally, start the interpreter running: - # exec /usr/local/lib/Gofer/gofer $GOFERARGS $* -! exec $ROOT/bin/Gofer $GOFERARGS $* ---- 34,37 ---- - - # Finally, start the interpreter running: - # exec /usr/local/lib/Gofer/gofer $GOFERARGS $* -! exec $ROOT/gofer $GOFERARGS $* +--- ../scripts/gofer.orig Fri Jun 24 01:00:00 1994 ++++ ../scripts/gofer Wed Jan 31 01:45:21 2001 +@@ -9,10 +9,10 @@ + # Edited by Jonathan Bowen, Oxford University, August 1993 + + # Location of gofer files - site specific +-ROOT=/usr/local/gofer ++ROOT=%%PREFIX%%/lib/Gofer + + # first, the location of your prelude file: +-GOFER=${GOFER-$ROOT/lib/standard.prelude} ++GOFER=${GOFER-$ROOT/standard.prelude} + export GOFER + + # next, command line argument settings. One example might be: +@@ -33,5 +33,5 @@ + esac + + # Finally, start the interpreter running: +-# exec /usr/local/lib/Gofer/gofer $GOFERARGS $* +-exec $ROOT/bin/Gofer $GOFERARGS $* ++# exec %%PREFIX%%/lib/Gofer/gofer $GOFERARGS $* ++exec $ROOT/gofer $GOFERARGS $* diff -urN /usr/ports/lang/Gofer/files/patch-ad lang/Gofer/files/patch-ad --- /usr/ports/lang/Gofer/files/patch-ad Sun Feb 12 11:56:23 1995 +++ lang/Gofer/files/patch-ad Wed Jan 31 01:44:37 2001 @@ -1,26 +1,17 @@ -*** ../scripts/goferc.0 Thu Jun 23 16:00:00 1994 ---- ../scripts/goferc Wed Feb 8 01:12:53 1995 -*************** -*** 29,39 **** - ;; - esac - -! GOFER=/home/staff/ian/gofer/lib/standard.prelude - export GOFER - /usr/local/lib/Gofer/gofc $args - echo '[Compiling with gcc]' - gcc -o $prog -O $prog.c /usr/local/lib/Gofer/runtime.o -lm - strip $prog - rm $prog.c -- ---- 29,38 ---- - ;; - esac - -! GOFER=/usr/local/lib/Gofer/standard.prelude - export GOFER - /usr/local/lib/Gofer/gofc $args - echo '[Compiling with gcc]' - gcc -o $prog -O $prog.c /usr/local/lib/Gofer/runtime.o -lm - strip $prog - rm $prog.c +--- ../scripts/goferc.orig Fri Jun 24 01:00:00 1994 ++++ ../scripts/goferc Wed Jan 31 01:44:26 2001 +@@ -29,11 +29,10 @@ + ;; + esac + +-GOFER=/home/staff/ian/gofer/lib/standard.prelude ++GOFER=%%PREFIX%%/lib/Gofer/standard.prelude + export GOFER +-/usr/local/lib/Gofer/gofc $args ++%%PREFIX%%/lib/Gofer/gofc $args + echo '[Compiling with gcc]' +-gcc -o $prog -O $prog.c /usr/local/lib/Gofer/runtime.o -lm ++%%CC%% -o $prog %%CFLAGS%% $prog.c %%PREFIX%%/lib/Gofer/runtime.o -lm + strip $prog + rm $prog.c +- diff -urN /usr/ports/lang/Gofer/pkg-descr lang/Gofer/pkg-descr --- /usr/ports/lang/Gofer/pkg-descr Wed Feb 8 18:41:13 1995 +++ lang/Gofer/pkg-descr Wed Jan 31 01:32:35 2001 @@ -1,52 +1,10 @@ ------------------------------------------------------------------------------ -Gofer 2.28 is an interactive functional programming environment (i.e. an +Gofer is an interactive functional programming environment (i.e. an interpreter) supporting a language based on the draft report for Haskell -version 1.2, including the following features: - - o Lazy evaluation, higher order functions, pattern matching etc... - - o Wide range of built-in types with provision for defining new free - datatypes and type synonyms. - - o Polymorphic type system with provision for overloading based on - a system of type classes. - - o Full Haskell 1.2 expression and pattern syntax including lambda, - case, conditional and let expressions, list comprehensions, operator - sections, and wildcard, as and irrefutable patterns. - - o Partial implementation of Haskell 1.2 facilities for I/O, enabling - the use of simple interactive programs and programs reading and writing - text files. - - o User documentation, sample programs and source code freely available. - - o Supports constructor classes and overloaded monad comprehensions. - - o Simple minded compiler/translator Gofer -> C with runtime system for - generation of standalone applications. - - o Runs (and originally developed) on PC compatible computers, but - also works on Sun workstations. Code should be portable to many - other kinds of machine. +version 1.2. Gofer is intended as an experimental language, particularly where type classes -are involved. Gofer extends the Haskell type class system in several ways: - - o Type classes with multiple parameters are supported. - - o Instances of type classes may be defined non-overlapping, but otherwise - arbitrary types. - - o Predicates in contexts may involve arbitrary type expressions, not just - type variables as in Haskell. - - o Basic approach to dictionary construction is different, based on the - approach I described in a posting to the Haskell mailing list early in - Feburary 1991. The resulting system ensures that all dictionaries are - constructed before evaluation begins, avoiding repeated construction - and enabling the shared evaluation of overloaded constants in - dictionaries. +are involved. Gofer extends the Haskell type class system in several ways. The most significant features of Haskell not currently supported are: modules, arrays, overloaded numeric constants, default declarations, derived @@ -59,3 +17,5 @@ private correspondence, or other documents without restriction or obligation. ------------------------------------------------------------------------------ + +WWW: http://www.cse.ogi.edu/~mpj/goferarc/ diff -urN /usr/ports/lang/Gofer/pkg-plist lang/Gofer/pkg-plist --- /usr/ports/lang/Gofer/pkg-plist Wed Aug 19 03:33:10 1998 +++ lang/Gofer/pkg-plist Wed Jan 31 21:32:38 2001 @@ -10,39 +10,39 @@ lib/Gofer/runtime.o lib/Gofer/gofer lib/Gofer/gofc -lib/Gofer/docs/Readme -lib/Gofer/docs/appx_a -lib/Gofer/docs/appx_b -lib/Gofer/docs/appx_c -lib/Gofer/docs/appx_d -lib/Gofer/docs/appx_e -lib/Gofer/docs/appx_f -lib/Gofer/docs/appx_g -lib/Gofer/docs/bowen.1 -lib/Gofer/docs/ch00 -lib/Gofer/docs/ch01 -lib/Gofer/docs/ch02 -lib/Gofer/docs/ch03 -lib/Gofer/docs/ch04 -lib/Gofer/docs/ch05 -lib/Gofer/docs/ch06 -lib/Gofer/docs/ch07 -lib/Gofer/docs/ch08 -lib/Gofer/docs/ch09 -lib/Gofer/docs/ch10 -lib/Gofer/docs/ch11 -lib/Gofer/docs/ch12 -lib/Gofer/docs/ch13 -lib/Gofer/docs/ch14 -lib/Gofer/docs/gofer.1 -lib/Gofer/docs/gofer.c -lib/Gofer/docs/goferdoc.tex -lib/Gofer/docs/hype -lib/Gofer/docs/jeroen.1 -lib/Gofer/docs/rel221.tex -lib/Gofer/docs/rel228.tex -lib/Gofer/docs/release.221 -lib/Gofer/docs/release.228 -lib/Gofer/docs/release.230 -@dirrm lib/Gofer/docs +%%PORTDOCS%%share/doc/Gofer/Readme +%%PORTDOCS%%share/doc/Gofer/appx_a +%%PORTDOCS%%share/doc/Gofer/appx_b +%%PORTDOCS%%share/doc/Gofer/appx_c +%%PORTDOCS%%share/doc/Gofer/appx_d +%%PORTDOCS%%share/doc/Gofer/appx_e +%%PORTDOCS%%share/doc/Gofer/appx_f +%%PORTDOCS%%share/doc/Gofer/appx_g +%%PORTDOCS%%share/doc/Gofer/bowen.1 +%%PORTDOCS%%share/doc/Gofer/ch00 +%%PORTDOCS%%share/doc/Gofer/ch01 +%%PORTDOCS%%share/doc/Gofer/ch02 +%%PORTDOCS%%share/doc/Gofer/ch03 +%%PORTDOCS%%share/doc/Gofer/ch04 +%%PORTDOCS%%share/doc/Gofer/ch05 +%%PORTDOCS%%share/doc/Gofer/ch06 +%%PORTDOCS%%share/doc/Gofer/ch07 +%%PORTDOCS%%share/doc/Gofer/ch08 +%%PORTDOCS%%share/doc/Gofer/ch09 +%%PORTDOCS%%share/doc/Gofer/ch10 +%%PORTDOCS%%share/doc/Gofer/ch11 +%%PORTDOCS%%share/doc/Gofer/ch12 +%%PORTDOCS%%share/doc/Gofer/ch13 +%%PORTDOCS%%share/doc/Gofer/ch14 +%%PORTDOCS%%share/doc/Gofer/gofer.1 +%%PORTDOCS%%share/doc/Gofer/gofer.c +%%PORTDOCS%%share/doc/Gofer/goferdoc.tex +%%PORTDOCS%%share/doc/Gofer/hype +%%PORTDOCS%%share/doc/Gofer/jeroen.1 +%%PORTDOCS%%share/doc/Gofer/rel221.tex +%%PORTDOCS%%share/doc/Gofer/rel228.tex +%%PORTDOCS%%share/doc/Gofer/release.221 +%%PORTDOCS%%share/doc/Gofer/release.228 +%%PORTDOCS%%share/doc/Gofer/release.230 +%%PORTDOCS%%@dirrm share/doc/Gofer @dirrm lib/Gofer >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?200102051827.f15IRDB52362>