[50947] trunk/dports/devel

dweber at macports.org dweber at macports.org
Wed May 13 16:22:30 PDT 2009


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
+
+categories  devel
+maintainers dweber openmaintainer
+
+description CableSwig creates interfaces to interpreted languages such as Tcl and Python.  
+
+long_description    \
+CableSwig is used to create interfaces (i.e. wrappers) to interpreted languages such as Tcl and Python. It was created to produce wrappers for ITK because the toolkit uses C++ structures that SWIG cannot parse (deeply nested template instantiations). CableSwig is a combination tool that uses  GCC_XML as the c++ parser. The input files are  Cable style input files.  The XML produced from the Cable/GCC_XML input files are then parsed and feed into a modified version of SWIG. SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. It is used to generate the language bindings to the target language.  Currently, Tcl and Python are supported.  CableSwig consists of four executables: 1) cswig - the main cable swig executable, that takes an xml file from gccxml as input. The xml file should be created from a cable config input file. This program is a modified version of the standard SWIG main. It uses CABLE 
 libraries to parse the input XML from gccxml to create SWIG data structures describing the C++ code to be wrapped.  2) cableidx - a program to generate index files from gccxml xml files. The index files tell cswig what classes are wrapped in which libraries.  This is important because swig needs to know if a class is not wrapped or wrapped in another module, and if it is wrapped which module it is wrapped in.  3) gccxml_cc1plus - A patched version of gcc that has the -fxml option to convert c++ into xml.  4) gccxml - ( www.gccxml.org) the front end program to gccxml_cc1plus.  CableSwig was developed to support ITK, and has not been widely used elsewhere. Not all features of SWIG are currently accessible through CableSwig. Features known to be missing are: * Wrapping of public data members in structs and classes, no accessor routines are created, the original source must provide access methods.
+
+homepage        http://www.itk.org/ITK/resources/CableSwig.html
+platforms       darwin
+
+fetch.type      cvs
+cvs.root        :pserver:anonymous at public.kitware.com:/cvsroot/CableSwig
+cvs.module      CableSwig
+
+post-extract {
+    move ${workpath}/CableSwig ${worksrcpath}
+}
+
+depends_build   port:cmake \
+                port:bison \
+                port:gawk
+depends_lib     port:gccxml
+
+# Use gmake and build in a separate directory from the source
+build.type      gnu
+build.dir       ${workpath}/cableswig-build
+
+configure {
+    xinstall -d -o root -g admin -m 0755 ${build.dir}
+    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
+
+#post-destroot {
+#    xinstall -d ${destroot}${docdir}
+#    xinstall -m 0644 -W ${worksrcpath} ANNOUNCE CHANGES FUTURE LICENSE NEW README \
+#        TODO ${destroot}${docdir}
+#}
+


Property changes on: trunk/dports/devel/cableswig/Portfile
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090513/4f2eda53/attachment.html>


More information about the macports-changes mailing list