[50947] trunk/dports/devel

Ryan Schmidt ryandesign at macports.org
Wed May 13 17:05:50 PDT 2009


On May 13, 2009, at 18:22, dweber at macports.org wrote:

> Revision: 50947
>           http://trac.macports.org/changeset/50947
> Author:   dweber at macports.org
> Date:     2009-05-13 16:22:30 -0700 (Wed, 13 May 2009)
> Log Message:
> -----------
> new port for CableSwig
>
> Added Paths:
> -----------
>     trunk/dports/devel/cableswig/
>     trunk/dports/devel/cableswig/Portfile
>
> Added: trunk/dports/devel/cableswig/Portfile
> ===================================================================
> --- trunk/dports/devel/cableswig/Portfile	                         
> (rev 0)
> +++ trunk/dports/devel/cableswig/Portfile	2009-05-13 23:22:30 UTC  
> (rev 50947)
> @@ -0,0 +1,60 @@
> +# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode:  
> nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
> +# $Id$
> +
> +PortSystem  1.0
> +
> +name        cableswig
> +version     cvs
> +# CableSwig is only available from cvs and there are no release tags

[snip]

> +fetch.type      cvs
> +cvs.root        :pserver:anonymous at public.kitware.com:/cvsroot/ 
> CableSwig
> +cvs.module      CableSwig

It looks like this port is downloading from cvs head, meaning if you  
install the port today, and then some more development occurs, and I  
install the port tomorrow, we have different versions of software  
installed on our computers, though we installed the same  
"version" ("cvs") of the port. This isn't how ports should work.  
Ports should install the same software on everyone's computer.

As Rainer said, you should restrict the date of the cvs checkout to  
some specific date that you know to work properly. You can use that  
in the "version" variable too. (So then "version" will be something  
like "20090513".)

I think you will then have to increase the epoch so that MacPorts  
knows that your new version number is supposed to be treated as newer  
than the string "cvs".


> +configure {
> +    xinstall -d -o root -g admin -m 0755 ${build.dir}

Is it really necessary to make this directory as root? Some of us  
prefer using MacPorts in a prefix that is not owned by root, and the  
above will cause this port to fail for us.


> +    system "cd ${build.dir} && cmake ${configure.args} $ 
> {worksrcpath}"
> +}
> +
> +configure.args \
> +    -DCMAKE_OSX_SYSROOT=${universal_sysroot} \
> +    -DCMAKE_BUILD_TYPE:STRING=Release \
> +    -DBUILD_SHARED_LIBS:BOOL=ON \
> +    -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON \
> +    -DCMAKE_INSTALL_RPATH:STRING=${prefix}/lib/cableswig \
> +    -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
> +    -DCMAKE_INCLUDE_PATH:PATH=${prefix}/include \
> +    -DCMAKE_LIBRARY_PATH:PATH=${prefix}/lib \
> +    -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
> +    -DCSWIG_USE_SYSTEM_GCCXML:BOOL=ON

Have you tried using the cmake portgroup yet? It should simplify  
ports that use cmake to build.








More information about the macports-dev mailing list