Date: Sat, 28 Apr 2001 15:19:14 -0400 (EDT) From: aa8vb@nc.rr.com To: FreeBSD-gnats-submit@freebsd.org Cc: aa8vb@nc.rr.com Subject: ports/26927: (NEW PORT) gctpc - USGS General Cartographic Transformation Package Message-ID: <200104281919.f3SJJEC08757@stealth.dummynet>
next in thread | raw e-mail | index | archive | help
>Number: 26927 >Category: ports >Synopsis: (NEW PORT) gctpc - USGS General Cartographic Transformation Package >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: Sat Apr 28 12:20:02 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Randall Hopper >Release: FreeBSD 4.2-RELEASE i386 >Organization: self >Environment: Stock 4.2-RELEASE >Description: Attached shar adds gctpc, the USGS General Cartographic Transformation Package used for transforming geodata between map projections. >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: # # gctpc # gctpc/Makefile # gctpc/distinfo # gctpc/pkg-comment # gctpc/pkg-descr # gctpc/pkg-plist # gctpc/files # gctpc/files/patch-aa # gctpc/files/for_init.h # gctpc/files/gctp.h # gctpc/files/gctpc.h # gctpc/files/sphdz.h # gctpc/files/report.h # gctpc/files/inv_init.h # gctpc/files/untfz.h # gctpc/files/patch-ab # gctpc/files/patch-ac # gctpc/files/patch-ad # echo c - gctpc mkdir -p gctpc > /dev/null 2>&1 echo x - gctpc/Makefile sed 's/^X//' >gctpc/Makefile << 'END-of-gctpc/Makefile' X# New ports collection makefile for: gctpc - General Cartographic Transformation Package (GCTP) X# Date created: 26 Apr 2001 X# Whom: Randall Hopper X# X# $FreeBSD: ports/devel/libgetline/Makefile,v 1.9 2000/09/23 18:47:27 will Exp $ X# X XPORTNAME= gctpc XPORTVERSION= 1.3 XCATEGORIES= devel XMASTER_SITES= http://edc.usgs.gov/pub/software/gctpc/ XDISTFILES= gctpc.tar.Z X XMAINTAINER= aa8vb@nc.rr.com X XWRKSRC= ${WRKDIR}/${PORTNAME}/source XUSE_GMAKE= yes XALL_TARGET= libgctpc.so.1 X XINSTALLS_SHLIB= yes X Xpost-build: X Xdo-install: X ${INSTALL_DATA} ${WRKSRC}/libgctpc.a ${PREFIX}/lib/ X ${INSTALL_DATA} ${WRKSRC}/libgctpc.so.1 ${PREFIX}/lib/ X ${LN} -sf libgctpc.so.1 ${PREFIX}/lib/libgctpc.so X ${MKDIR} ${PREFIX}/include/gctpc X ${INSTALL_DATA} ${WRKSRC}/*.h ${PREFIX}/include/gctpc X ${INSTALL_DATA} ${FILESDIR}/*.h ${PREFIX}/include/gctpc X ${MKDIR} ${PREFIX}/share/doc/gctpc X ${INSTALL_DATA} ${WRKSRC}/../doc/* ${PREFIX}/share/doc/gctpc X ${INSTALL_DATA} ${WRKSRC}/../README ${PREFIX}/share/doc/gctpc/README.main X X.include <bsd.port.mk> X END-of-gctpc/Makefile echo x - gctpc/distinfo sed 's/^X//' >gctpc/distinfo << 'END-of-gctpc/distinfo' XMD5 (gctpc.tar.Z) = 73ebd6bbb3054d3e5941439d14dcd987 END-of-gctpc/distinfo echo x - gctpc/pkg-comment sed 's/^X//' >gctpc/pkg-comment << 'END-of-gctpc/pkg-comment' XUSGS General Cartographic Transformation Package (GCTP) END-of-gctpc/pkg-comment echo x - gctpc/pkg-descr sed 's/^X//' >gctpc/pkg-descr << 'END-of-gctpc/pkg-descr' XThe General Cartographic Transformation Package (GCTP) is a system of Xsoftware routines designed to permit the transformation of coordinate Xpairs from one map projection to another. The GCTP is the standard Xcomputer software used by the National Mapping Division for map Xprojection computations. END-of-gctpc/pkg-descr echo x - gctpc/pkg-plist sed 's/^X//' >gctpc/pkg-plist << 'END-of-gctpc/pkg-plist' Xinclude/gctpc/cproj.h Xinclude/gctpc/for_init.h Xinclude/gctpc/gctp.h Xinclude/gctpc/gctpc.h Xinclude/gctpc/inv_init.h Xinclude/gctpc/proj.h Xinclude/gctpc/report.h Xinclude/gctpc/sphdz.h Xinclude/gctpc/untfz.h Xlib/libgctpc.a Xlib/libgctpc.so Xlib/libgctpc.so.1 Xshare/doc/gctpc/README Xshare/doc/gctpc/README.main Xshare/doc/gctpc/appendixA.txt Xshare/doc/gctpc/appendixB.txt Xshare/doc/gctpc/appendixC.txt Xshare/doc/gctpc/for_init.ps Xshare/doc/gctpc/gctp.ps Xshare/doc/gctpc/inv_init.ps Xshare/doc/gctpc/overview.ps Xshare/doc/gctpc/reference.txt Xshare/doc/gctpc/xxxfor.ps Xshare/doc/gctpc/xxxinv.ps X@dirrm share/doc/gctpc END-of-gctpc/pkg-plist echo c - gctpc/files mkdir -p gctpc/files > /dev/null 2>&1 echo x - gctpc/files/patch-aa sed 's/^X//' >gctpc/files/patch-aa << 'END-of-gctpc/files/patch-aa' X--- ORIG/Makefile Fri Feb 24 10:05:37 1995 X+++ Makefile Thu Apr 26 18:25:44 2001 X@@ -1,6 +1,7 @@ X X INCDIR = X-ARCHIVE = geolib.a X+SHLIB = libgctpc.so.1 X+ARCHIVE = libgctpc.a X LIBDIR = X SRCDIR = . X INCS = cproj.h proj.h X@@ -56,8 +57,13 @@ X cproj.c report.c lamccfor.c lamccinv.c paksz.c untfz.c sphdz.c \ X br_gctp.c Makefile cproj.h proj.h X X+$(SHLIB): $(ARCHIVE) X+ mkdir objs X+ cd objs && ar x ../$(ARCHIVE) && ld -shared -o ../$(SHLIB) *.o X+ rm -rf objs X+ X $(ARCHIVE): $(OBJECTS) X- ranlib geolib.a X+ ranlib libgctpc.a X X X $(ARCHIVE)(gctp.o): $(INCS) END-of-gctpc/files/patch-aa echo x - gctpc/files/for_init.h sed 's/^X//' >gctpc/files/for_init.h << 'END-of-gctpc/files/for_init.h' X#ifndef INCLUDED_FOR_INIT_H X#define INCLUDED_FOR_INIT_H X Xvoid Xfor_init(long int outsys, long int outzone, double *outparm, X long int outdatum, char *fn27, char *fn83, long int *iflg, X ForwardTransFunc for_trans[]); X X#endif /* INCLUDED_FOR_INIT_H */END-of-gctpc/files/for_init.h echo x - gctpc/files/gctp.h sed 's/^X//' >gctpc/files/gctp.h << 'END-of-gctpc/files/gctp.h' X#ifndef INCLUDED_GCTP_H X#define INCLUDED_GCTP_H X Xtypedef long (*ForwardTransFunc)(double, double, double*, double*); Xtypedef long (*InverseTransFunc)(double, double, double*, double*); X X#endif /* INCLUDED_GCTP_H */END-of-gctpc/files/gctp.h echo x - gctpc/files/gctpc.h sed 's/^X//' >gctpc/files/gctpc.h << 'END-of-gctpc/files/gctpc.h' X#ifndef GCTPC_H X#define GCTPC_H X X#include "proj.h" X X/* This didn't come with the original gctpc distribution. X But it *should* have. -- jamie 2/14/95 */ X Xvoid gctp(double* incoor, X long* insys, X long* inzone, X double* inparm, X long* inunit, X long* indatum, X long* ipr, X char* efile, X long* jpr, X char* pfile, X double* outcoor, X long* outsys, X long* outzone, X double* outparm, X long* outunit, X long* outdatum, X char* fn27, X char* fn83, X long* iflg); X Xlong Xalberforint(double r_maj, double r_min, double lat1, double lat2, double lon0, X double lat0, double false_east, double false_north); X Xlong Xalberfor(double lon, double lat, double *x, double *y); X Xlong Xalberinvint(double r_maj, double r_min, double lat1, double lat2, double lon0, X double lat0, double false_east, double false_north); X Xlong Xalberinvint(double r_maj, double r_min, double lat1, double lat2, double lon0, X double lat0, double false_east, double false_north); X Xlong Xalberinvint(double r_maj, double r_min, double lat1, double lat2, double lon0, X double lat0, double false_east, double false_north); X Xlong Xalberinv(double x, double y, double *lon, double *lat); X Xlong Xalconforint(double r_maj, double r_min, double false_east, double false_north); X Xlong Xalconfor(double lon, double lat, double *x, double *y); X Xlong Xalconinvint(double r_maj, double r_min, double false_east, double false_north); X Xlong Xalconinv(double x, double y, double *lon, double *lat); X Xlong Xazimforint(double r_maj, double center_lon, double center_lat, double false_east, X double false_north); X Xlong Xazimfor(double lon, double lat, double *x, double *y); X Xlong Xaziminvint(double r_maj, double center_lon, double center_lat, double false_east, X double false_north); X Xlong Xaziminv(double x, double y, double *lon, double *lat); X Xlong Xeqconforint(double r_maj, double r_min, double lat1, double lat2, X double center_lon, double center_lat, double false_east, X double false_north, long int mode); X Xlong Xeqconfor(double lon, double lat, double *x, double *y); X Xlong Xeqconinvint(double r_maj, double r_min, double lat1, double lat2, X double center_lon, double center_lat, double false_east, X double false_north, long int mode); X Xlong Xeqconinv(double x, double y, double *lon, double *lat); X Xlong Xequiforint(double r_maj, double center_lon, double lat1, double false_east, X double false_north); X Xlong Xequifor(double lon, double lat, double *x, double *y); X Xlong Xequiinvint(double r_maj, double center_lon, double lat1, X double false_east, double false_north); X Xlong Xequiinv(double x, double y, double *lon, double *lat); X Xlong Xgnomforint(double r, double center_long, double center_lat, X double false_east, double false_north); X Xlong Xgnomfor(double lon, double lat, double *x, double *y); X Xlong Xgnominvint(double r, double center_long, double center_lat, double false_east, X double false_north); X Xlong Xgnominv(double x, double y, double *lon, double *lat); X Xlong Xgoodforint(double r); X Xlong Xgoodfor(double lon, double lat, double *x, double *y); X Xlong Xgoodinvint(double r); X Xlong Xgoodinv(double x, double y, double *lon, double *lat); X Xlong Xgvnspforint(double r, double h, double center_long, double center_lat, X double false_east, double false_north); X Xlong Xgvnspfor(double lon, double lat, double *x, double *y); X Xlong Xgvnspinvint(double r, double h, double center_long, double center_lat, X double false_east, double false_north); X Xlong Xgvnspinv(double x, double y, double *lon, double *lat); X Xlong Xhamforint(double r, double center_long, double false_east, double false_north); X Xlong Xhamfor(double lon, double lat, double *x, double *y); X Xlong Xhaminvint(double r, double center_long, double false_east, double false_north); X Xlong Xhaminv(double x, double y, double *lon, double *lat); X Xlong Ximolwforint(double r); X Xlong Ximolwfor(double lon, double lat, double *x, double *y); X Xlong Ximolwinvint(double r); X Xlong Ximolwinv(double x, double y, double *lon, double *lat); X Xlong Xlamazforint(double r, double center_long, double center_lat, double false_east, X double false_north); X Xlong Xlamazfor(double lon, double lat, double *x, double *y); X Xlong Xlamazinvint(double r, double center_long, double center_lat, double false_east, X double false_north); X Xlong Xlamazinv(double x, double y, double *lon, double *lat); X Xlong Xlamccforint(double r_maj, double r_min, double lat1, double lat2, double c_lon, X double c_lat, double false_east, double false_north); X Xlong Xlamccfor(double lon, double lat, double *x, double *y); X Xlong Xlamccinvint(double r_maj, double r_min, double lat1, double lat2, double c_lon, X double c_lat, double false_east, double false_north); X Xlong Xlamccinv(double x, double y, double *lon, double *lat); X Xlong Xmerforint(double r_maj, double r_min, double center_lon, double center_lat, X double false_east, double false_north); X Xlong Xmerfor(double lon, double lat, double *x, double *y); X Xlong Xmerinvint(double r_maj, double r_min, double center_lon, double center_lat, X double false_east, double false_north); X Xlong Xmerinv(double x, double y, double *lon, double *lat); X Xlong Xmillforint(double r, double center_long, double false_east, double false_north); X Xlong Xmillfor(double lon, double lat, double *x, double *y); X Xlong Xmillinvint(double r, double center_long, double false_east, double false_north); X Xlong Xmillinv(double x, double y, double *lon, double *lat); X Xlong Xmolwforint(double r, double center_long, double false_east, double false_north); X Xlong Xmolwfor(double lon, double lat, double *x, double *y); X Xlong Xmolwinvint(double r, double center_long, double false_east, double false_north); X Xlong Xmolwinv(double x, double y, double *lon, double *lat); X Xlong Xobleqforint(double r, double center_long, double center_lat, double shape_m, X double shape_n, double angle, double false_east, double false_north); X Xlong Xobleqfor(double lon, double lat, double *x, double *y); X Xlong Xobleqinvint(double r, double center_long, double center_lat, double shape_m, X double shape_n, double angle, double false_east, double false_north); X Xlong Xobleqinv(double x, double y, double *lon, double *lat); X Xlong Xomerforint(double r_maj, double r_min, double scale_fact, double azimuth, X double lon_orig, double lat_orig, double false_east, X double false_north, double lon1, double lat1, double lon2, X double lat2, long int mode); X Xlong Xomerfor(double lon, double lat, double *x, double *y); X Xlong Xomerinvint(double r_maj, double r_min, double scale_fact, double azimuth, X double lon_orig, double lat_orig, double false_east, X double false_north, double lon1, double lat1, double lon2, X double lat2, long int mode); X Xlong Xomerinv(double x, double y, double *lon, double *lat); X Xlong Xorthforint(double r_maj, double center_lon, double center_lat, double false_east, X double false_north); X Xlong Xorthfor(double lon, double lat, double *x, double *y); X Xlong Xorthinvint(double r_maj, double center_lon, double center_lat, X double false_east, double false_north); X Xlong Xorthinv(double x, double y, double *lon, double *lat); X Xlong Xpolyforint(double r_maj, double r_min, double center_lon, double center_lat, X double false_east, double false_north); X Xlong Xpolyfor(double lon, double lat, double *x, double *y); X Xlong Xpolyinvint(double r_maj, double r_min, double center_lon, double center_lat, X double false_east, double false_north); X Xlong Xpolyinv(double x, double y, double *lon, double *lat); X Xlong Xpsforint(double r_maj, double r_min, double c_lon, double c_lat, X double false_east, double false_north); X Xlong Xpsfor(double lon, double lat, double *x, double *y); X Xlong Xpsinvint(double r_maj, double r_min, double c_lon, double c_lat, double false_east, X double false_north); X Xlong Xpsinv(double x, double y, double *lon, double *lat); X Xlong Xrobforint(double r, double center_long, double false_east, double false_north); X Xlong Xrobfor(double lon, double lat, double *x, double *y); X Xlong Xrobinvint(double r, double center_long, double false_east, double false_north); X Xlong Xrobinv(double x, double y, double *lon, double *lat); X Xlong Xsinforint(double r, double center_long, double false_east, double false_north); X Xlong Xsinfor(double lon, double lat, double *x, double *y); X Xlong Xsininvint(double r, double center_long, double false_east, double false_north); X Xlong Xsininv(double x, double y, double *lon, double *lat); X Xlong Xsomforint(double r_major, double r_minor, long int satnum, long int path, X double alf_in, double lon, double false_east, double false_north, X double time, long int start1, long int flag); X Xlong Xsomfor(double lon, double lat, double *y, double *x); X Xlong Xsominvint(double r_major, double r_minor, long int satnum, long int path, X double alf_in, double lon, double false_east, double false_north, X double time, long int start1, long int flag); X Xlong Xsominv(double y, double x, double *lon, double *lat); X Xlong Xsterforint(double r_maj, double center_lon, double center_lat, X double false_east, double false_north); X Xlong Xsterfor(double lon, double lat, double *x, double *y); X Xlong Xsterinvint(double r_maj, double center_lon, double center_lat, X double false_east, double false_north); X Xlong Xsterinv(double x, double y, double *lon, double *lat); X Xlong Xstplnforint(long int zone, long int sphere, char *fn27, char *fn83); X Xlong Xstplnfor(double lon, double lat, double *x, double *y); X Xlong Xstplninvint(long int zone, long int sphere, char *fn27, char *fn83); X Xlong Xstplninv(double x, double y, double *lon, double *lat); X Xlong Xutmforint(double r_maj, double r_min, double scale_fact, long int zone); X Xlong Xutmfor(double lon, double lat, double *x, double *y); X Xlong Xtmforint(double r_maj, double r_min, double scale_fact, double center_lon, X double center_lat, double false_east, double false_north); X Xlong Xtmfor(double lon, double lat, double *x, double *y); X Xlong Xutminvint(double r_maj, double r_min, double scale_fact, long int zone); X Xlong Xutminv(double x, double y, double *lon, double *lat); X Xlong Xtminvint(double r_maj, double r_min, double scale_fact, double center_lon, X double center_lat, double false_east, double false_north); X Xlong Xtminv(double x, double y, double *lon, double *lat); X Xlong Xvandgforint(double r, double center_long, double false_east, double false_north); X Xlong Xvandgfor(double lon, double lat, double *x, double *y); X Xlong Xvandginvint(double r, double center_long, double false_east, double false_north); X Xlong Xvandginv(double x, double y, double *lon, double *lat); X Xlong Xwivforint(double r, double center_long, double false_east, double false_north); X Xlong Xwivfor(double lon, double lat, double *x, double *y); X Xlong Xwivinvint(double r, double center_long, double false_east, double false_north); X Xlong Xwivinv(double x, double y, double *lon, double *lat); X Xlong Xwviiforint(double r, double center_long, double false_east, double false_north); X Xlong Xwviifor(double lon, double lat, double *x, double *y); X Xlong Xwviiinvint(double r, double center_long, double false_east, double false_north); X Xlong Xwviiinv(double x, double y, double *lon, double *lat); X X X#endif /* GCTPC_H */ END-of-gctpc/files/gctpc.h echo x - gctpc/files/sphdz.h sed 's/^X//' >gctpc/files/sphdz.h << 'END-of-gctpc/files/sphdz.h' X#ifndef INCLUDED_SPHDZ_H X#define INCLUDED_SPHDZ_H X Xint Xsphdz(long int isph, double *parm, double *r_major, double *r_minor, double *radius); X X#endif /* INCLUDED_SPHDZ_H */ END-of-gctpc/files/sphdz.h echo x - gctpc/files/report.h sed 's/^X//' >gctpc/files/report.h << 'END-of-gctpc/files/report.h' X#ifndef INCLUDED_REPORT_H X#define INCLUDED_REPORT_H X X// Functions declartions for report.cc. X// Was not provided in the original gctpc distribution. X Xint Xinit(long int ipr, long int jpr, char *efile, char *pfile); X Xvoid Xclose_file(void); X Xvoid Xptitle(char *A); X Xvoid Xradius(double A); X Xvoid Xradius2(double A, double B); X Xvoid Xcenlon(double A); X Xvoid Xcenlonmer(double A); X Xvoid Xcenlat(double A); X Xvoid Xorigin(double A); X Xvoid Xstanparl(double A, double B); X Xvoid Xstparl1(double A); X Xvoid Xoffsetp(double A, double B); X Xvoid Xgenrpt(double A, char *S); X Xvoid Xgenrpt_long(long int A, char *S); X Xvoid Xpblank(void); X Xvoid Xp_error(char *what, char *where); X X#endif // INCLUDED_REPORT_H END-of-gctpc/files/report.h echo x - gctpc/files/inv_init.h sed 's/^X//' >gctpc/files/inv_init.h << 'END-of-gctpc/files/inv_init.h' X#ifndef INCLUDED_INV_INIT_H X#define INCLUDED_INV_INIT_H X Xvoid Xinv_init(long int insys, long int inzone, double *inparm, long int indatum, X char *fn27, char *fn83, long int *iflg, InverseTransFunc inv_trans[]); X X#endif /* INCLUDED_INV_INIT_H */END-of-gctpc/files/inv_init.h echo x - gctpc/files/untfz.h sed 's/^X//' >gctpc/files/untfz.h << 'END-of-gctpc/files/untfz.h' X#ifndef INCLUDED_UNTFZ_H X#define INCLUDED_UNTFZ_H X Xlong Xuntfz(long int inunit, long int outunit, double *factor); X X#endif /* INCLUDED_UNTFZ_H */ END-of-gctpc/files/untfz.h echo x - gctpc/files/patch-ab sed 's/^X//' >gctpc/files/patch-ab << 'END-of-gctpc/files/patch-ab' X--- ../work/gctpc/source/cproj.h Fri Nov 19 14:32:06 1993 X+++ cproj.h Sun Feb 11 12:32:19 2001 X@@ -1,3 +1,6 @@ X+#ifndef INCLUDED_CPROJ_H X+#define INCLUDED_CPROJ_H X+ X #include <math.h> X X #define PI 3.141592653589793238 X@@ -26,3 +29,32 @@ X X #define IMOD(A, B) (A) - (((A) / (B)) * (B)) /* Integer mod function */ X X+/* Not part of the original gctpc distribution. */ X+ X+#ifdef NEED_SINCOS X+void X+sincos(double val, double *sin_val, double *cos_val); X+#endif X+ X+double asinz (double con); X+double msfnz (double eccent, double sinphi, double cosphi); X+double qsfnz (double eccent, double sinphi, double cosphi); X+double phi1z (double eccent, double qs, long int *flag); X+double phi2z(double eccent, double ts, long int *flag); X+double phi3z(double ml, double e0, double e1, double e2, double e3, long int *flag); X+double phi4z (double eccent, double e0, double e1, double e2, double e3, X+ double a, double b, double *c, double *phi); X+double pakcz(double pak); X+double pakr2dm(double pak); X+double tsfnz(double eccent, double phi, double sinphi); X+int sign(double x); X+double adjust_lon(double x); X+double e0fn(double x); X+double e1fn(double x); X+double e2fn(double x); X+double e3fn(double x); X+double e4fn(double x); X+double mlfn(double e0, double e1, double e2, double e3, double phi); X+long calc_utm_zone(double lon); X+ X+#endif // INCLUDED_CPROJ_H END-of-gctpc/files/patch-ab echo x - gctpc/files/patch-ac sed 's/^X//' >gctpc/files/patch-ac << 'END-of-gctpc/files/patch-ac' X--- ORIG/cproj.c Mon Nov 22 16:39:46 1993 X+++ cproj.c Thu Apr 26 18:40:10 2001 X@@ -408,4 +408,4 @@ X X /* Function to calculate UTM zone number--NOTE Longitude entered in DEGREES!!! X ---------------------------------------------------------------------------*/ X-calc_utm_zone(lon) double lon; { return((long)(((lon + 180.0) / 6.0) + 1.0)); } X+long calc_utm_zone(lon) double lon; { return((long)(((lon + 180.0) / 6.0) + 1.0)); } END-of-gctpc/files/patch-ac echo x - gctpc/files/patch-ad sed 's/^X//' >gctpc/files/patch-ad << 'END-of-gctpc/files/patch-ad' X--- ORIG/gctp.c Fri Feb 24 16:06:16 1995 X+++ gctp.c Thu Apr 26 18:42:52 2001 X@@ -95,7 +95,6 @@ X double lon; /* longitude */ X double lat; /* latitude */ X double temp; /* dummy variable */ X-double sign(); X double pakr2dm(); X long i,j; /* loop counters */ X long ininit_flag; /* input initilization flag */ END-of-gctpc/files/patch-ad 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?200104281919.f3SJJEC08757>