[csw-devel] SF.net SVN: gar:[10204] csw/mgar/pkg
theferret at users.sourceforge.net
theferret at users.sourceforge.net
Sat Jun 12 04:29:07 CEST 2010
Revision: 10204
http://gar.svn.sourceforge.net/gar/?rev=10204&view=rev
Author: theferret
Date: 2010-06-12 02:29:06 +0000 (Sat, 12 Jun 2010)
Log Message:
-----------
libbabl: quickie add of a small library
Added Paths:
-----------
csw/mgar/pkg/libbabl/
csw/mgar/pkg/libbabl/Makefile
csw/mgar/pkg/libbabl/trunk/
csw/mgar/pkg/libbabl/trunk/Makefile
csw/mgar/pkg/libbabl/trunk/README
csw/mgar/pkg/libbabl/trunk/copyright
csw/mgar/pkg/libbabl/trunk/patchfile.preconf
csw/mgar/pkg/libbabl/trunk/pkginfo
csw/mgar/pkg/libbabl/trunk/prototype
Added: csw/mgar/pkg/libbabl/Makefile
===================================================================
--- csw/mgar/pkg/libbabl/Makefile (rev 0)
+++ csw/mgar/pkg/libbabl/Makefile 2010-06-12 02:29:06 UTC (rev 10204)
@@ -0,0 +1,15 @@
+
+# This is somewhat of a "stub" Makefile, for
+# directories managed by the "createpkg" TEMPLATES.
+#
+# Not all of targets listed here may actualy be supported by
+# the subdir in question. But they are a goal
+
+DEFAULT_DIR=trunk
+
+
+# The -C means you must use gmake, unfortunately.
+
+all package build garchive extract configure clean distclean reallyclean :
+ @echo Going to make $@ in $(DEFAULT_DIR)
+ $(MAKE) -C $(DEFAULT_DIR) $@
Property changes on: csw/mgar/pkg/libbabl/trunk
___________________________________________________________________
Added: svn:ignore
+ cookies
download
work
cswstage
build
Added: csw/mgar/pkg/libbabl/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libbabl/trunk/Makefile (rev 0)
+++ csw/mgar/pkg/libbabl/trunk/Makefile 2010-06-12 02:29:06 UTC (rev 10204)
@@ -0,0 +1,218 @@
+# This file is from TEMPLATES/createpkg/Makefile.lib
+# You MUST build this with gnu make, unfortunately.
+# Mainly just because of the ARCH expansion, but also for "?="
+
+
+# If you do NOT want to build 64bit libs, remove the $(ARCH)-64 from
+# the "all:" target.
+
+# If you DO want to, then leave it in, and also customize your
+# the build/.stage-$(ARCH)-64.done target(s),
+# PLUS, customize your prototype file(s) as needed
+# Dont forget to handle any 64bit pkg-config .pc files properly!!
+
+# Organization: variable defintions up top,
+# targets in second half.
+# Note that assignments with "?=" mean "assign if not already assigned.
+
+# Where do we keep local downloads of software src files
+ARCHIVEDIR ?= /home/src
+ARCHIVENAME ?= babl-0.1.2.tar.bz2
+EXTRACTPROG ?= /usr/sfw/bin/gtar jfx
+
+# Only use ONE here. The name is used for compat with 'gar'.
+MASTER_SITES ?= ftp://ftp.gtk.org/pub/babl/0.1
+
+ARCH := $(shell /bin/uname -p)
+
+LDFLAGS_COMMON :=
+
+SRCDIR= build/*
+
+# DO NOT specify the arch-64 stuff such as -m64 here.
+# the individual targets will do that.
+
+CFLAGS_COMMON ?= -mt -xnorunpath -xO2
+CXXFLAGS_COMMON ?= -mt -norunpath -xO2
+CFLAGS_sparc ?= -xarch=v8
+CFLAGS_i386 ?= -xarch=386
+
+# Keep this arch-neutral if possible. add arch-specific tweaks
+# to arch-specific target
+CONFIGURE=./configure --prefix=/opt/csw --enable-static=no
+
+LIBDIR64_sparc:=/opt/csw/lib/sparcv9
+LIBDIR64_i386 :=/opt/csw/lib/amd64
+
+CONFIGURE_64_$(ARCH) := --libdir=$(LIBDIR64_$(ARCH))
+CONFIGURE_64_EXTRAS := $(CONFIGURE_64_$(ARCH))
+
+LDFLAGS_64_$(ARCH) := -R$(LIBDIR64_$(ARCH)) -L$(LIBDIR64_$(ARCH))
+
+
+
+CREATEPKG=createpkg -r `pwd`/build/*/cswstage
+
+
+#all: $(ARCH)-32 build/.stage1 $(ARCH)-64 package
+all: $(ARCH)-32 package
+
+# ARCH-XX handles configure, build, and stage for its own combo
+#
+
+EXTRACTPROG ?= /bin/echo ERROR: need to set EXTRACTPROG ; exit 1 ;
+
+
+
+extract:
+ test -d build || mkdir build
+ @if test -f $(ARCHIVEDIR)/$(ARCHIVENAME) ; then \
+ echo Extracting $(ARCHIVENAME) under build dir... ;\
+ ( cd build && $(EXTRACTPROG) $(ARCHIVEDIR)/$(ARCHIVENAME) ) ; \
+ else echo Cannot extract - $(ARCHIVEDIR)/$(ARCHIVENAME) does not exist ;\
+ exit 1; \
+ fi
+
+
+clean distclean:
+ @echo Calling $@ in $(SRCDIR)
+ $(MAKE) -C $(SRCDIR) $@
+
+# This is a bit of a hack.. it does a "make clean",
+# only when we're between 32bit and 64bit builds, when doing "make all".
+# Once we're IN the 64bit builds, it should not be automatically called.
+build/.stage1:
+ @echo Doing inter 32-64 bit cleanup
+ $(MAKE) -C $(SRCDIR) distclean
+ touch $@
+
+
+reallyclean: distclean
+ @echo Removing any milestone files in build as well...
+ @rm -f build/.??*
+ @echo '(However, leaving src tree intact, with any patches in it)'
+ @echo '(If you want, you could rm -r build, then make extract once more)'
+
+garchive:
+ @echo Call the fetch target instead: it does the same thing.
+
+
+# Downloads the source code to the common ARCHIVEDIR
+fetch: $(ARCHIVEDIR)/$(ARCHIVENAME)
+ @echo fetch done
+
+$(ARCHIVEDIR)/$(ARCHIVENAME):
+ wget -P $(ARCHIVEDIR) $(MASTER_SITES)/$(ARCHIVENAME)
+
+patch:
+ @echo patch: patching is handled automatically as part of the configure phase.
+
+package:
+ $(CREATEPKG)
+
+
+# split out generic $(ARCH) sections to platform-specific sections if needed.
+# but it usually should not be neccessary
+
+
+$(ARCH)-32 :: configure-$(ARCH)-32 build-$(ARCH)-32 stage-$(ARCH)-32
+ @echo Completed $(ARCH)-32 configure, build and stage
+ touch build/.$(ARCH)-32.done
+
+
+$(ARCH)-64 :: stage-$(ARCH)-32 configure-$(ARCH)-64 build-$(ARCH)-64 stage-$(ARCH)-64
+ @echo Completed $@ configure, build and stage
+ touch build/.$(ARCH)-64.done
+
+build/.$(ARCH)-32.done: $(ARCH)-32
+
+build/.$(ARCH)-64.done: $(ARCH)-64
+
+
+# Since we share the same src tree, we should only need to
+# pre-configure patching one time for all.
+build/.patch-preconf.done:
+ if test -f patchfile.preconf ; then \
+ gpatch -d $(SRCDIR) -p0 <patchfile.preconf ; fi
+ touch $@
+
+
+#Note: I WANT to use LDFLAGS=-R$$ORIGIN, but stupid libtool
+# wont allow it! so force it at build time
+build/.configure-$(ARCH)-32.done: build/.patch-preconf.done
+ @echo handling $@ target
+ (cd $(SRCDIR) ; \
+ CFLAGS="$(CFLAGS_COMMON) $(CFLAGS_$(ARCH))" \
+ CXXFLAGS="$(CXXFLAGS_COMMON)" \
+ LDFLAGS='-R/opt/csw/lib -L/opt/csw/lib' \
+ $(CONFIGURE) )
+ if test -f patchfile.postconf ; then \
+ gpatch -d $(SRCDIR) -p0 <patchfile.postconf ; fi
+ touch $@
+
+build/.configure-$(ARCH)-64.done: build/.patch-preconf.done
+ if test "$(ARCH)" = "i386" -a "`uname -r`" != "5.10" ; then \
+ echo Error: do 64bit for i386 on sol10 only ; exit 1 ; fi
+ @echo handling $@ target
+ (cd $(SRCDIR) ; \
+ CFLAGS="$(CFLAGS_COMMON) -m64" \
+ CXXFLAGS="$(CXXFLAGS_COMMON) -m64" \
+ LDFLAGS="$(LDFLAGS_64_$(ARCH))" \
+ PKG_CONFIG_PATH=/opt/csw/lib/64/pkgconfig \
+ $(CONFIGURE) $(CONFIGURE_64_EXTRAS) )
+ if test -f patchfile.postconf ; then \
+ gpatch -d $(SRCDIR) -p0 <patchfile.postconf ; fi
+ touch $@
+
+
+# See note about LDFLAGS and ORIGIN, higher up
+build/.build-$(ARCH)-32.done build/.build-$(ARCH)-64.done:
+ @echo handling $@ target
+ LD_OPTIONS='-R$$ORIGIN' $(MAKE) -C $(SRCDIR) $(MFLAGS)
+ touch $@
+
+
+
+## NOTE: This is a DESTRUCTIVE target build!!
+## 'stagepkg' will destroy any prior "cswstage" directory!!!
+## So, we remove all 64bit milestones
+build/.stage-$(ARCH)-32.done:
+ @echo Handling stage of $(ARCH)-32
+ (cd $(SRCDIR) ; MAKE=gmake stagepkg)
+ cp $(SRCDIR)/COPYING $(SRCDIR)/cswstage
+ @rm -f build/.*64.done
+ touch $@
+
+
+# Note: This is the tricky bit. we cannot just call
+# "stagepkg": we dont usually want EVERYTHING; just the
+# libs that are rebuilt in 64bit, and we need them to go to
+# the subdirs, not the regular place!
+# SOME things, will have a clean libdir, and respect --libdir,
+# and do the right thing easily. However, many will not!
+# SO, odds are you'll have to write a customized target
+build/.stage-$(ARCH)-64.done: $(SRCDIR)/cswstage
+ @echo ""
+ @echo debug: Using generic stage-64 routines
+ @echo relying on customized prototype file
+ @(cd $(SRCDIR)/*/.libs; tar cf - lib*.so.*.*.* ) | (cd $(SRCDIR)/cswstage ; tar xf -)
+ @(cd $(SRCDIR); cp *.pc cswstage)
+ @echo ""
+ touch $@
+
+
+
+#These are the easy-to-type targets. They just trigger the real ones.
+configure-$(ARCH)-32: build/.configure-$(ARCH)-32.done
+ @echo $@ done
+build-$(ARCH)-32: build/.build-$(ARCH)-32.done
+ @echo $@ done
+stage-$(ARCH)-32: build/.stage-$(ARCH)-32.done
+ @echo $@ done
+configure-$(ARCH)-64: build/.configure-$(ARCH)-64.done
+ @echo $@ done
+build-$(ARCH)-64: build/.build-$(ARCH)-64.done
+ @echo $@ done
+stage-$(ARCH)-64: build/.stage-$(ARCH)-64.done
+ @echo $@ done
+
Added: csw/mgar/pkg/libbabl/trunk/README
===================================================================
--- csw/mgar/pkg/libbabl/trunk/README (rev 0)
+++ csw/mgar/pkg/libbabl/trunk/README 2010-06-12 02:29:06 UTC (rev 10204)
@@ -0,0 +1,98 @@
+This is a README for the "createpkg" style templates in the
+OpenCSW subversion tree. It gets copied to a brand new directory, when it
+is created with "make createpkg-softwarenamehere"
+
+CONTENTS:
+ Initial Setup
+ Make Targets
+ Make Timestamps
+
+Initial Setup
+--------------------
+
+The first thing you should do, after creating your new directory with
+ "make createpkg-softwarenamehere"
+is to cd into the directory and do
+
+ svn status
+
+With this, you will notice that no files in the directory are actually checked
+into subversion yet. You should edit (or remove) the files as you deem
+apropriate. In particular, copy the speciifc Makefile.xxx to Makefile, and
+remove the others if you wish. Then,
+
+ svn add filename(s)
+
+the ones you want to keep in the repository.
+
+If you are doing a general-case binary build package, then you will next need
+to do the following:
+
+1. Set up your environment variables as appropriate, and/or
+ set the appropriate variables in Makefile
+
+2. (if 'gmake extract' does not work),
+ mkdir build, then extract the source tree of whatever you are building,
+ under the build dir.
+
+4. gmake
+
+You also have a choice of some optional subtargets, such as
+ make {configure,build,package,clean,reallyclean}. See "Make Targets"
+ lower down for more details.
+
+If you wish a patch set to be applied to the source before configure, create
+a file called "patchfile.preconf" and put them there.
+
+If you wish a patch set to be applied to the source AFTER configure, but
+before compiling (for example, to hand-hack config.h) create a file called
+"patchfile.postconf"
+
+
+DONT FORGET to update all fields in the pkginfo file, and also to create
+appropriate copyright, depend and prototype files.
+If you dont know what to put into
+the prototype file, an initial build will most likely bomb out, after creating
+one for you in build/*/cswstage/prototype.
+
+
+
+
+Make Targets
+--------------------
+The makefiles are current a work in progress. The most fully developed
+at the moment is "Makefile.lib".
+
+Currently supported makefile targets are:
+
+ * extract
+ * sparc-32 sparc64 i386-32 i386-64
+ * configure-(ARCH)-(32/64)
+ * build-(ARCH)-(32/64)
+ * stage-(ARCH)-(32/64)
+ * clean
+ * distclean
+ * reallyclean
+ * package
+
+Note that there is a single shared upstream source tree, that should be
+extracted under a "build" directory.
+The "clean" and "distclean" targets, are only pass-through targets, that
+will call the upstream source tree makefile with that argument.
+
+
+There are also assorted internal makefile targets which probably wont interest
+you. What MAY interest you, are the timestamp markers, described below.
+
+Make Timestamps
+--------------------
+
+Each major makefile target, has a "done" file marker. They are kept in
+dotfiles under the "build" directory.
+For example, the target "configure-sparc-32", will create a file,
+ build/.configure-sparc-32.done
+when successfully completed.
+
+If you wish to force a rebuild of a target, remove the corresponding
+".done" file, and do the make again.
+
Added: csw/mgar/pkg/libbabl/trunk/copyright
===================================================================
--- csw/mgar/pkg/libbabl/trunk/copyright (rev 0)
+++ csw/mgar/pkg/libbabl/trunk/copyright 2010-06-12 02:29:06 UTC (rev 10204)
@@ -0,0 +1,2 @@
+This library is copyrighted by the GNU LGPL v3.
+See /opt/csw/share/doc/babl/COPYING for the full text.
Added: csw/mgar/pkg/libbabl/trunk/patchfile.preconf
===================================================================
--- csw/mgar/pkg/libbabl/trunk/patchfile.preconf (rev 0)
+++ csw/mgar/pkg/libbabl/trunk/patchfile.preconf 2010-06-12 02:29:06 UTC (rev 10204)
@@ -0,0 +1,108 @@
+--- build/babl-0.1.2/babl/base/type-u16.c.orig Sat Jun 12 03:51:43 2010
++++ build/babl-0.1.2/babl/base/type-u16.c Sat Jun 12 03:52:11 2010
+@@ -18,7 +18,12 @@
+
+ #include "config.h"
+ #include <string.h>
++#ifdef HAVE_STDINT_H
+ #include <stdint.h>
++#endif
++#ifdef HAVE_INTTYPES_H
++#include <inttypes.h>
++#endif
+ #include <assert.h>
+ #include <math.h>
+
+--- build/babl-0.1.2/babl/base/type-u32.c.orig Sat Jun 12 03:51:43 2010
++++ build/babl-0.1.2/babl/base/type-u32.c Sat Jun 12 03:52:11 2010
+@@ -18,7 +18,12 @@
+
+ #include "config.h"
+ #include <string.h>
++#ifdef HAVE_STDINT_H
+ #include <stdint.h>
++#endif
++#ifdef HAVE_INTTYPES_H
++#include <inttypes.h>
++#endif
+ #include <assert.h>
+ #include <math.h>
+
+--- build/babl-0.1.2/babl/base/type-u8foo.c.orig Sat Jun 12 03:47:35 2010
++++ build/babl-0.1.2/babl/base/type-u8foo.c Sat Jun 12 03:48:29 2010
+@@ -19,7 +19,12 @@
+ #include "config.h"
+ #include <string.h>
+ #include <assert.h>
++#ifdef HAVE_STDINT_H
+ #include <stdint.h>
++#endif
++#ifdef HAVE_INTTYPES_H
++#include <inttypes.h>
++#endif
+
+ #include "babl-internal.h"
+ #include "babl-base.h"
+--- build/babl-0.1.2/tests/Makefile.in.orig Sat Jun 12 04:01:58 2010
++++ build/babl-0.1.2/tests/Makefile.in Sat Jun 12 04:02:38 2010
+@@ -338,7 +338,7 @@
+ top_srcdir = @top_srcdir@
+ TESTS_ENVIRONMENT = BABL_PATH=$(top_builddir)/extensions/.libs
+ AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/babl
+-AM_LDFLAGS = -pthread
++#AM_LDFLAGS = -pthread
+ LDADD = $(top_builddir)/babl/libbabl- at BABL_API_VERSION@.la \
+ $(MATH_LIB)
+
+--- build/babl-0.1.2/docs/Makefile.in.orig Sat Jun 12 04:15:10 2010
++++ build/babl-0.1.2/docs/Makefile.in Sat Jun 12 04:15:33 2010
+@@ -639,14 +639,14 @@
+ cp $< $@
+ (which mktemp > /dev/null 2>&1 && TMPFILE=`mktemp` || TMPFILE="/tmp/babl_build_tempfile" ;\
+ export BABL_PATH="$(top_builddir)/extensions:$(top_builddir)/extensions/.libs"; $(babl_html_dump) > $$TMPFILE;\
+- $(SHELL) $(top_srcdir)/docs/tools/xml_insert.sh $@ BablBase $$TMPFILE;\
++ AWK=$(AWK) $(SHELL) $(top_srcdir)/docs/tools/xml_insert.sh $@ BablBase $$TMPFILE;\
+ rm -f $$TMPFILE )
+ echo -n "."
+
+- $(SHELL) $(top_srcdir)/docs/tools/xml_insert.sh $@ BablFishPath BablFishPath.txt
+- $(SHELL) $(top_srcdir)/docs/tools/xml_insert.sh $@ AUTHORS $(top_srcdir)/AUTHORS
+- $(SHELL) $(top_srcdir)/docs/tools/xml_insert.sh $@ TODO $(top_srcdir)/TODO
+- $(SHELL) $(top_srcdir)/docs/tools/xml_insert.sh $@ NEWS $(top_srcdir)/NEWS
++ AWK=$(AWK) $(SHELL) $(top_srcdir)/docs/tools/xml_insert.sh $@ BablFishPath BablFishPath.txt
++ AWK=$(AWK) $(SHELL) $(top_srcdir)/docs/tools/xml_insert.sh $@ AUTHORS $(top_srcdir)/AUTHORS
++ AWK=$(AWK) $(SHELL) $(top_srcdir)/docs/tools/xml_insert.sh $@ TODO $(top_srcdir)/TODO
++ AWK=$(AWK) $(SHELL) $(top_srcdir)/docs/tools/xml_insert.sh $@ NEWS $(top_srcdir)/NEWS
+ echo " [OK]"
+
+ distclean-local:
+--- build/babl-0.1.2/babl/babl-memory.c.orig Tue Nov 24 04:07:18 2009
++++ build/babl-0.1.2/babl/babl-memory.c Sat Jun 12 03:55:55 2010
+@@ -17,7 +17,12 @@
+ */
+
+ #include "config.h"
++#ifdef HAVE_STDINT_H
+ #include <stdint.h>
++#endif
++#ifdef HAVE_INTTYPES_H
++#include <inttypes.h>
++#endif
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+--- build/babl-0.1.2/babl/babl-mutex.c.orig Sat Jun 12 03:56:53 2010
++++ build/babl-0.1.2/babl/babl-mutex.c Sat Jun 12 03:57:21 2010
+@@ -17,7 +17,12 @@
+ */
+
+ #include "config.h"
++#ifdef HAVE_STDINT_H
+ #include <stdint.h>
++#endif
++#ifdef HAVE_INTTYPES_H
++#include <inttypes.h>
++#endif
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
Added: csw/mgar/pkg/libbabl/trunk/pkginfo
===================================================================
--- csw/mgar/pkg/libbabl/trunk/pkginfo (rev 0)
+++ csw/mgar/pkg/libbabl/trunk/pkginfo 2010-06-12 02:29:06 UTC (rev 10204)
@@ -0,0 +1,8 @@
+PKG=CSWlibbabl
+NAME=libbabl - binary image conversion library required by gimp
+VERSION=01.2,REV=2010.06.12
+CATEGORY=application
+VENDOR=ftp://ftp.gtk.org/pub/babl packaged for CSW by Philip Brown
+HOTLINE=http://www.opencsw.org/bugtrack/
+EMAIL=phil at opencsw.org
+OPENCSW_REPOSITORY=https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/pkg/libbabl/trunk
Added: csw/mgar/pkg/libbabl/trunk/prototype
===================================================================
--- csw/mgar/pkg/libbabl/trunk/prototype (rev 0)
+++ csw/mgar/pkg/libbabl/trunk/prototype 2010-06-12 02:29:06 UTC (rev 10204)
@@ -0,0 +1,33 @@
+i pkginfo
+i copyright
+d none /opt/csw/lib 0755 root bin
+s none /opt/csw/lib/libbabl-0.1.so.0=libbabl-0.1.so.0.101.1
+f none /opt/csw/lib/libbabl-0.1.so.0.101.1 0755 root bin
+f none /opt/csw/lib/libbabl-0.1.la 0755 root bin
+d none /opt/csw/lib/babl-0.1 0755 root bin
+f none /opt/csw/lib/babl-0.1/naive-CMYK.so 0755 root bin
+f none /opt/csw/lib/babl-0.1/sse-fixups.la 0755 root bin
+f none /opt/csw/lib/babl-0.1/CIE.la 0755 root bin
+f none /opt/csw/lib/babl-0.1/CIE.so 0755 root bin
+f none /opt/csw/lib/babl-0.1/naive-CMYK.la 0755 root bin
+f none /opt/csw/lib/babl-0.1/sse-fixups.so 0755 root bin
+f none /opt/csw/lib/babl-0.1/gimp-8bit.so 0755 root bin
+f none /opt/csw/lib/babl-0.1/gegl-fixups.la 0755 root bin
+f none /opt/csw/lib/babl-0.1/gggl-lies.la 0755 root bin
+f none /opt/csw/lib/babl-0.1/gggl.so 0755 root bin
+f none /opt/csw/lib/babl-0.1/gggl.la 0755 root bin
+f none /opt/csw/lib/babl-0.1/gggl-lies.so 0755 root bin
+f none /opt/csw/lib/babl-0.1/gimp-8bit.la 0755 root bin
+f none /opt/csw/lib/babl-0.1/gegl-fixups.so 0755 root bin
+s none /opt/csw/lib/libbabl-0.1.so=libbabl-0.1.so.0.101.1
+d none /opt/csw/lib/pkgconfig 0755 root bin
+f none /opt/csw/lib/pkgconfig/babl.pc 0644 root bin
+d none /opt/csw/include 0755 root bin
+d none /opt/csw/include/babl-0.1 0755 root bin
+d none /opt/csw/include/babl-0.1/babl 0755 root bin
+f none /opt/csw/include/babl-0.1/babl/babl.h 0644 root bin
+f none /opt/csw/include/babl-0.1/babl/babl-macros.h 0644 root bin
+f none /opt/csw/include/babl-0.1/babl/babl-version.h 0644 root bin
+f none /opt/csw/include/babl-0.1/babl/babl-types.h 0644 root bin
+d none /opt/csw/share/doc/babl 0755 root bin
+f none /opt/csw/share/doc/babl/COPYING=COPYING 0644 root bin
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the devel
mailing list