From owner-freebsd-ports@FreeBSD.ORG Thu Jan 28 19:53:02 2010 Return-Path: Delivered-To: freebsd-ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F315106566C for ; Thu, 28 Jan 2010 19:53:02 +0000 (UTC) (envelope-from rhurlin@gwdg.de) Received: from amailer.gwdg.de (amailer.gwdg.de [134.76.10.18]) by mx1.freebsd.org (Postfix) with ESMTP id F29DC8FC0A for ; Thu, 28 Jan 2010 19:53:01 +0000 (UTC) Received: from p578b68b8.dip0.t-ipconnect.de ([87.139.104.184] helo=krabat.raven.hur) by mailer.gwdg.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1NaaQE-0004rC-LZ; Thu, 28 Jan 2010 20:52:59 +0100 Message-ID: <4B61EB16.9090205@gwdg.de> Date: Thu, 28 Jan 2010 20:52:54 +0100 From: Rainer Hurling User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; de-DE; rv:1.9.1.7) Gecko/20100122 Thunderbird/3.0.1 MIME-Version: 1.0 To: "b. f." , eitanadlerlist@gmail.com References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------000203030106090509000500" X-Authenticated: Id:rhurlin X-Spam-Level: - X-Virus-Scanned: (clean) by exiscan+sophie Cc: freebsd-ports@FreeBSD.org Subject: Re: Need help with new port math/ggobi X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Jan 2010 19:53:02 -0000 This is a multi-part message in MIME format. --------------000203030106090509000500 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Thank you very much, b.f. and Eitan Adler, for your competent help. On 28.01.2010 17:53 (UTC+1), b. f. wrote: > Rainer Hurling wrote: >> 1. The port needs libraries gtk2 and libxml2. >> Is it ok how the port ensures they are installed? > > Just use USE_GNOME= gtk20 libxml2, rather than the LIB_DEPENDS line. done. >> 2. A second make target has to create 'ggobirc'. >> Is it build ok this way? > > Yes, but it is easier just to set ALL_TARGET= all ggobirc, rather than > defining a custom post-build target. done. >> 3. ggobi authors suggest to create /etc/xdg/ggobi/ for resource file. >> A better place would be /usr/local/etc/xdg/ggobi/, I think. >> What do you think? How could this be coded in the port? >> > > Don't write into /etc, except in special cases. Use ${PREFIX}/etc > instead. Also, do something like: > > post-install: > ${MKDIR} /etc/xdg/ggobi > ${INSTALL_DATA} ${WRKSRC}/ggobirc ${PREFIX}/etc/xdg/ggobi/ggobirc.sample post-install: ${MKDIR} ${PREFIX}/etc/xdg/ggobi ${INSTALL_DATA} ${WRKSRC}/ggobirc ${PREFIX}/etc/xdg/ggobi/ggobirc.sample @if [ ! -f ${PREFIX}/etc/xdg/ggobi/ggobirc ]; then \ ${CP} -p ${PREFIX}/etc/xdg/ggobi/ggobirc.sample ${PREFIX}/etc/xdg/ggobi/ggobirc ; \ fi > In the pkg-plist, add ggobirc only if it does not already exist, and > only remove ggobirc if it is identical to ggobirc.sample, to protect > user-customized configuration files during re-installation: > > @unexec if cmp -s %D/etc/xdg/ggobi/ggobirc.sample > %D/etc/xdg/ggobi/ggobirc; then rm -f %D/etc/dillo/dillorc; fi > etc/xdg/ggobi/ggobirc.sample > @exec if [ ! -f %B/ggobirc ]; then cp -p %D/%F %B/ggobirc; fi @unexec if cmp -s %D/etc/xdg/ggobi/ggobirc.sample %D/etc/xdg/ggobi/ggobirc; then rm -f %D/etc/xdg/ggobi/ggobirc; fi etc/xdg/ggobi/ggobirc.sample @exec if [ ! -f %B/ggobirc ]; then cp -p %D/%F %B/ggobirc; fi @dirrmtry share/applications @dirrmtry etc/xdg/ggobi @dirrmtry etc/xdg >> 5. When deinstalling, should we try to remove dirs share/applications >> and etc/xdg? (Mostly they are used by other ports, too) > > Use, as many other ports do, > > @dirrmtry share/applications > @dirrmtry etc/xdg @dirrmtry share/applications @dirrmtry etc/xdg/ggobi @dirrmtry etc/xdg I only can test the port (math/ggobi) on FreeBSD 9.0-CURRENT (amd64). With latest changes it seems ok to me. Could you please take another look at the attached files (perhaps on another architecture or version)? Many thanks again, Rainer --------------000203030106090509000500 Content-Type: text/plain; name="Makefile" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="Makefile" # Ports collection makefile for: ggobi # Date created: 28 January 2010 # Whom: rhurlin # # $FreeBSD$ # PORTNAME= ggobi PORTVERSION= 2.1.8 CATEGORIES= math graphics MASTER_SITES= http://www.ggobi.org/downloads/ DISTNAME= ${PORTNAME}-${PORTVERSION} MAINTAINER= rhurlin@gwdg.de COMMENT= Data visualization system USE_BZIP2= yes USE_GNOME= gtk20 libxml2 USE_LDCONFIG= yes GNU_CONFIGURE= yes .include CONFIGURE_ARGS+= --with-all-plugins post-patch: @${REINPLACE_CMD} -e 's,ND_coord_i,ND_coord,' \ ${WRKSRC}/plugins/GraphLayout/graphviz.c ALL_TARGET= all ggobirc post-install: ${MKDIR} ${PREFIX}/etc/xdg/ggobi ${INSTALL_DATA} ${WRKSRC}/ggobirc ${PREFIX}/etc/xdg/ggobi/ggobirc.sample @if [ ! -f ${PREFIX}/etc/xdg/ggobi/ggobirc ]; then \ ${CP} -p ${PREFIX}/etc/xdg/ggobi/ggobirc.sample ${PREFIX}/etc/xdg/ggobi/ggobirc ; \ fi .include --------------000203030106090509000500 Content-Type: text/plain; name="distinfo" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="distinfo" MD5 (ggobi-2.1.8.tar.bz2) = 0b07adffcf4379e819b1a26e4cd60d7b SHA256 (ggobi-2.1.8.tar.bz2) = 2f814376d08a783628d2150d64cddda2e86b71f12847f1d51ba977197102fa8f SIZE (ggobi-2.1.8.tar.bz2) = 2531628 --------------000203030106090509000500 Content-Type: text/plain; name="pkg-descr" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="pkg-descr" GGobi is an open source visualization program for exploring high-dimensional data. It provides highly dynamic and interactive graphics such as tours, as well as familiar graphics such as the scatterplot, barchart and parallel coordinates plots. Plots are interactive and linked with brushing and identification. WWW: http://www.ggobi.org/ --------------000203030106090509000500 Content-Type: text/plain; name="pkg-plist" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="pkg-plist" bin/ggobi include/ggobi/GGStructSizes.c include/ggobi/GGobiAPI.h include/ggobi/GGobiApp.h include/ggobi/GGobiEvents.h include/ggobi/barchartDisplay.h include/ggobi/brushing.h include/ggobi/colorscheme.h include/ggobi/config.h include/ggobi/cpanel.h include/ggobi/defines.h include/ggobi/display.h include/ggobi/display_tree.h include/ggobi/externs.h include/ggobi/fileio.h include/ggobi/ggobi-data.h include/ggobi/ggobi-intl.h include/ggobi/ggobi-renderer-cairo.h include/ggobi/ggobi-renderer-factory.h include/ggobi/ggobi-renderer.h include/ggobi/ggobi.h include/ggobi/ggobiClass.h include/ggobi/marshal.h include/ggobi/noop-toggle.h include/ggobi/parcoordsClass.h include/ggobi/plugin.h include/ggobi/print.h include/ggobi/read_csv.h include/ggobi/read_init.h include/ggobi/read_xml.h include/ggobi/scatmatClass.h include/ggobi/scatterplotClass.h include/ggobi/splash.h include/ggobi/splot.h include/ggobi/testEvents.h include/ggobi/tour.h include/ggobi/tour1d_pp.h include/ggobi/tour2d_pp.h include/ggobi/tour_pp.h include/ggobi/tsPlot.h include/ggobi/tsdisplay.h include/ggobi/types.h include/ggobi/vars.h include/ggobi/varseldata.h include/ggobi/vartable.h include/ggobi/write_xml.h include/ggobi/writedata.h lib/libggobi.la lib/libggobi.so lib/libggobi.so.0 lib/pkgconfig/ggobi.pc share/applications/ggobi.desktop share/ggobi/data/Shipman.csv share/ggobi/data/Shipman.xml share/ggobi/data/adhoc.xml share/ggobi/data/algal-bloom.xml share/ggobi/data/buckyball.xml share/ggobi/data/cube6.xml share/ggobi/data/eies.xml share/ggobi/data/flea.csv share/ggobi/data/flea.xml share/ggobi/data/laser.csv share/ggobi/data/laser.xml share/ggobi/data/morsecodes.xml share/ggobi/data/olive.csv share/ggobi/data/olive.xml share/ggobi/data/perm4.xml share/ggobi/data/perm5.xml share/ggobi/data/pigs.xml share/ggobi/data/places.csv share/ggobi/data/places.xml share/ggobi/data/prim7.xml share/ggobi/data/ratcns.csv share/ggobi/data/ratcns.xml share/ggobi/data/river.xml share/ggobi/data/roos.csv share/ggobi/data/roos.xml share/ggobi/data/sarsHK.xml share/ggobi/data/sat.csv share/ggobi/data/sat.xml share/ggobi/data/sleep.csv share/ggobi/data/sleep.xml share/ggobi/data/snetwork.xml share/ggobi/data/stdColorMap.xml share/ggobi/data/tao-nomiss.xml share/ggobi/data/tao.csv share/ggobi/data/tao.xml share/ggobi/data/tips.csv share/ggobi/data/tips.xml share/ggobi/data/tmin.csv share/ggobi/data/tmin.xml share/ggobi/data/tmin1.csv share/ggobi/data/tmin1.xml share/ggobi/data/tmin2.xml share/ggobi/data/tmin3.xml share/ggobi/data/tmin4.xml share/ggobi/plugins/DataViewer/plugin.la share/ggobi/plugins/DataViewer/plugin.so share/ggobi/plugins/DataViewer/plugin.so.0 share/ggobi/plugins/DescribeDisplay/plugin.la share/ggobi/plugins/DescribeDisplay/plugin.so share/ggobi/plugins/DescribeDisplay/plugin.so.0 share/ggobi/plugins/GraphAction/plugin.la share/ggobi/plugins/GraphAction/plugin.so share/ggobi/plugins/GraphAction/plugin.so.0 share/ggobi/plugins/GraphLayout/plugin.la share/ggobi/plugins/GraphLayout/plugin.so share/ggobi/plugins/GraphLayout/plugin.so.0 share/ggobi/plugins/VarCloud/plugin.la share/ggobi/plugins/VarCloud/plugin.so share/ggobi/plugins/VarCloud/plugin.so.0 share/ggobi/plugins/ggvis/plugin.la share/ggobi/plugins/ggvis/plugin.so share/ggobi/plugins/ggvis/plugin.so.0 share/ggobi/share/colorschemes.xml share/pixmaps/ggobi.png @dirrm share/ggobi/share @dirrm share/ggobi/plugins/ggvis @dirrm share/ggobi/plugins/VarCloud @dirrm share/ggobi/plugins/GraphLayout @dirrm share/ggobi/plugins/GraphAction @dirrm share/ggobi/plugins/DescribeDisplay @dirrm share/ggobi/plugins/DataViewer @dirrm share/ggobi/plugins @dirrm share/ggobi/data @dirrm share/ggobi @dirrm share/applications @dirrm lib/pkgconfig @dirrm include/ggobi @unexec if cmp -s %D/etc/xdg/ggobi/ggobirc.sample %D/etc/xdg/ggobi/ggobirc; then rm -f %D/etc/xdg/ggobi/ggobirc; fi etc/xdg/ggobi/ggobirc.sample @exec if [ ! -f %B/ggobirc ]; then cp -p %D/%F %B/ggobirc; fi @dirrmtry share/applications @dirrmtry etc/xdg/ggobi @dirrmtry etc/xdg --------------000203030106090509000500--