From 8732b26738a41671d8d2223e4d629c20c7e622cc Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 12 May 2011 12:36:21 +0200 Subject: add forked-daapd server and all deps --- package/confuse/Makefile | 25 + package/forked-daapd/Makefile | 36 + package/forked-daapd/files/forked-daapd.conf | 54 + package/forked-daapd/files/forked-daapd.init | 28 + package/forked-daapd/files/forked-daapd.postinst | 7 + package/forked-daapd/patches/patch-config_h_in | 10 + package/libantlr3c/Makefile | 24 + package/libantlr3c/patches/patch-antlr3config_h | 11 + package/libantlr3c/patches/patch-configure | 20 + package/libavl/Makefile | 28 + package/libavl/patches/patch-GNUmakefile | 28 + package/libavl/patches/patch-GNUmakefile.orig | 26 + package/libunistring/Makefile | 23 + package/mxml/Makefile | 27 + package/mxml/patches/patch-Makefile_in | 103 ++ package/mxml/patches/patch-Makefile_in.orig | 91 ++ package/mxml/patches/patch-configure | 30 + package/mxml/patches/patch-doc_reference_html | 1638 ++++++++++++++++++++++ package/mxml/patches/patch-mxmldoc_c | 11 + 19 files changed, 2220 insertions(+) create mode 100755 package/confuse/Makefile create mode 100644 package/forked-daapd/Makefile create mode 100644 package/forked-daapd/files/forked-daapd.conf create mode 100644 package/forked-daapd/files/forked-daapd.init create mode 100644 package/forked-daapd/files/forked-daapd.postinst create mode 100644 package/forked-daapd/patches/patch-config_h_in create mode 100755 package/libantlr3c/Makefile create mode 100644 package/libantlr3c/patches/patch-antlr3config_h create mode 100644 package/libantlr3c/patches/patch-configure create mode 100755 package/libavl/Makefile create mode 100644 package/libavl/patches/patch-GNUmakefile create mode 100644 package/libavl/patches/patch-GNUmakefile.orig create mode 100755 package/libunistring/Makefile create mode 100755 package/mxml/Makefile create mode 100644 package/mxml/patches/patch-Makefile_in create mode 100644 package/mxml/patches/patch-Makefile_in.orig create mode 100644 package/mxml/patches/patch-configure create mode 100644 package/mxml/patches/patch-doc_reference_html create mode 100644 package/mxml/patches/patch-mxmldoc_c diff --git a/package/confuse/Makefile b/package/confuse/Makefile new file mode 100755 index 000000000..289bc0d0c --- /dev/null +++ b/package/confuse/Makefile @@ -0,0 +1,25 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= confuse +PKG_VERSION:= 2.7 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 45932fdeeccbb9ef4228f1c1a25e9c8f +PKG_DESCR:= a configuration file parser library +PKG_SECTION:= libs +PKG_URL:= http://www.nongnu.org/confuse/ +PKG_SITES:= http://savannah.nongnu.org/download/confuse/ + +PKG_SUBPKGS:= LIBCONFUSE + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,LIBCONFUSE,libconfuse,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +libconfuse-install: + ${INSTALL_DIR} ${IDIR_LIBCONFUSE}/usr/lib + ${CP} ${WRKINST}/usr/lib/libconfuse.so* ${IDIR_LIBCONFUSE}/usr/lib + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/forked-daapd/Makefile b/package/forked-daapd/Makefile new file mode 100644 index 000000000..7b11a7523 --- /dev/null +++ b/package/forked-daapd/Makefile @@ -0,0 +1,36 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk + +PKG_NAME:= forked-daapd +PKG_VERSION:= 0.16 +PKG_RELEASE:= 1 +PKG_MD5SUM:= cc35619babefea35db9ee22e6f1d036b +PKG_DESCR:= DAAPD server +PKG_SECTION:= multimedia +PKG_DEPENDS:= libunistring zlib libconfuse sqlite ffmpeg libgcrypt +PKG_DEPENDS+= libavahi libmxml libevent libavl libantlr3c alsa-lib +PKG_DEPENDS+= libsqlite libintl dbus +PKG_BUILDDEP:= libunistring zlib confuse avahi sqlite ffmpeg dbus +PKG_BUILDDEP+= mxml libevent libavl libantlr3c alsa-lib libgcrypt +PKG_SITES:= http://alioth.debian.org/~jblache/forked-daapd/ + +PKG_CFLINE_FORKED_DAAPD:= select ADK_KERNEL_INOTIFY_USER + +include $(TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,FORKED_DAAPD,forked-daapd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +forked-daapd-install: + $(INSTALL_DIR) $(IDIR_FORKED_DAAPD)/etc + $(CP) ./files/forked-daapd.conf \ + $(IDIR_FORKED_DAAPD)/etc + $(INSTALL_DIR) $(IDIR_FORKED_DAAPD)/usr/lib/forked-daapd + $(CP) $(WRKINST)/usr/lib/forked-daapd/*.so \ + $(IDIR_FORKED_DAAPD)/usr/lib/forked-daapd + $(INSTALL_DIR) $(IDIR_FORKED_DAAPD)/usr/sbin + $(INSTALL_BIN) $(WRKINST)/usr/sbin/forked-daapd \ + $(IDIR_FORKED_DAAPD)/usr/sbin + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/forked-daapd/files/forked-daapd.conf b/package/forked-daapd/files/forked-daapd.conf new file mode 100644 index 000000000..d684ec32a --- /dev/null +++ b/package/forked-daapd/files/forked-daapd.conf @@ -0,0 +1,54 @@ + +general { + # Username + uid = "daapd" + logfile = "/var/log/forked-daapd.log" + # Database location + db_path = "/srv/music/.forked-daapd/songs3.db" + # Available levels: fatal, log, warning, info, debug, spam + loglevel = log + # Admin password for the non-existent web interface + admin_password = "unused" + # Enable/disable IPv6 + ipv6 = no +} + +# Library configuration +library { + # Name of the library as displayed by the clients + # %h: hostname, %v: version + name = "My Music on %h" + # TCP port to listen on. Default port is 3689 (daap) + port = 3689 + # Password for the library. Optional. +# password = "" + + # Directories to index + directories = { "/srv/music" } + # Directories containing compilations + # Matches anywhere in the path (not a regexp, though) +# compilations = { "/compilations/" } + + # Should iTunes metadata override ours? +# itunes_overrides = true + + # Formats: mp4a, mp4v, mpeg, alac, flac, mpc, ogg, wma, wmal, wmav, aif, wav + # Formats that should never be transcoded +# no_transcode = { "alac", "mp4a" } + # Formats that should always be transcoded +# force_transcode = { "ogg", "flac" } +} + +# Local audio output +audio { + # AirTunes name - used in the speaker list in Remote + nickname = "Computer" + # Audio device name for local audio output +# card = "default" +} + +# Airport Express device +#apex "ApEx" { + # AirTunes password +# password = "s1kr3t" +#} diff --git a/package/forked-daapd/files/forked-daapd.init b/package/forked-daapd/files/forked-daapd.init new file mode 100644 index 000000000..5b4139ea6 --- /dev/null +++ b/package/forked-daapd/files/forked-daapd.init @@ -0,0 +1,28 @@ +#!/bin/sh +#PKG forked-daapd +#INIT 85 + +. /etc/rc.conf + +case $1 in +autostop) ;; +autostart) + test x"${forked_daapd:-NO}" = x"NO" && exit 0 + exec sh $0 start + ;; +start) + /usr/sbin/forked-daapd + ;; +stop) + kill $(pgrep -f /usr/sbin/forked-daapd) + ;; +restart) + sh $0 stop + sh $0 start + ;; +*) + echo "Usage: $0 {start | stop | restart}" + exit 1 + ;; +esac +exit $? diff --git a/package/forked-daapd/files/forked-daapd.postinst b/package/forked-daapd/files/forked-daapd.postinst new file mode 100644 index 000000000..74a3b43bf --- /dev/null +++ b/package/forked-daapd/files/forked-daapd.postinst @@ -0,0 +1,7 @@ +#!/bin/sh +. $IPKG_INSTROOT/etc/functions.sh +gid=$(get_next_gid) +add_group daapd $gid +add_user daapd $(get_next_uid) $gid +add_rcconf forked_daapd forked_daapd NO + diff --git a/package/forked-daapd/patches/patch-config_h_in b/package/forked-daapd/patches/patch-config_h_in new file mode 100644 index 000000000..9088c47da --- /dev/null +++ b/package/forked-daapd/patches/patch-config_h_in @@ -0,0 +1,10 @@ +--- forked-daapd-0.16.orig/config.h.in 2011-04-30 11:43:23.000000000 +0200 ++++ forked-daapd-0.16/config.h.in 2011-05-10 14:39:41.000000000 +0200 +@@ -1,5 +1,7 @@ + /* config.h.in. Generated from configure.in by autoheader. */ + ++#define pipe2(a,b) pipe(a) ++ + /* Define to 1 if you have the header file. */ + #undef HAVE_DIRENT_H + diff --git a/package/libantlr3c/Makefile b/package/libantlr3c/Makefile new file mode 100755 index 000000000..cb5d58571 --- /dev/null +++ b/package/libantlr3c/Makefile @@ -0,0 +1,24 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= libantlr3c +PKG_VERSION:= 3.2 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 674646e1d1bf5c6015435480cead725a +PKG_DESCR:= ANother Tool for Language Recognition +PKG_SECTION:= libs +PKG_SITES:= http://www.antlr.org/download/C/ + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,LIBANTLR3C,libantlr3c,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +CONFIGURE_ENV+= OPTIMFLAGS="$(TARGET_CFLAGS)" + +libantlr3c-install: + ${INSTALL_DIR} ${IDIR_LIBANTLR3C}/usr/lib + ${CP} ${WRKINST}/usr/lib/libantlr3c.so* ${IDIR_LIBANTLR3C}/usr/lib + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/libantlr3c/patches/patch-antlr3config_h b/package/libantlr3c/patches/patch-antlr3config_h new file mode 100644 index 000000000..bf860a508 --- /dev/null +++ b/package/libantlr3c/patches/patch-antlr3config_h @@ -0,0 +1,11 @@ +--- libantlr3c-3.2.orig/antlr3config.h 2009-09-23 22:50:45.000000000 +0200 ++++ libantlr3c-3.2/antlr3config.h 2011-05-10 14:06:43.000000000 +0200 +@@ -5,7 +5,7 @@ + /* #undef ANTLR3_NODEBUGGER */ + + /* Define if 64 bit mode required */ +-#define ANTLR3_USE_64BIT 1 ++/* #undef ANTLR3_USE_64BIT */ + + /* Define to 1 if you have the `accept' function. */ + #define HAVE_ACCEPT 1 diff --git a/package/libantlr3c/patches/patch-configure b/package/libantlr3c/patches/patch-configure new file mode 100644 index 000000000..4fd248902 --- /dev/null +++ b/package/libantlr3c/patches/patch-configure @@ -0,0 +1,20 @@ +--- libantlr3c-3.2.orig/configure 2009-12-11 23:55:07.000000000 +0100 ++++ libantlr3c-3.2/configure 2011-05-10 14:08:20.000000000 +0200 +@@ -19533,7 +19533,7 @@ sparc*-*solaris*) + *) + CPPCMNTFLAGS= + CCFLAGS64= +- OPTIMFLAGS="-O" ++ OPTIMFLAGS="" + if test x"$enable_debuginfo" = xyes; then + DEBUGFLAGS='-g' + fi +@@ -19543,7 +19543,7 @@ esac + ;; + esac + +-CFLAGS="$CCFLAGS64 $CPPCMNTFLAGS $OPTIMFLAGS $DEBUGFLAGS $WARNFLAGS" ++CFLAGS="$CFLAGS $CCFLAGS64 $CPPCMNTFLAGS $OPTIMFLAGS $DEBUGFLAGS $WARNFLAGS" + { $as_echo "$as_me:$LINENO: result: $CFLAGS" >&5 + $as_echo "$CFLAGS" >&6; } + diff --git a/package/libavl/Makefile b/package/libavl/Makefile new file mode 100755 index 000000000..9ab1910c8 --- /dev/null +++ b/package/libavl/Makefile @@ -0,0 +1,28 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= libavl +PKG_VERSION:= 0.3.5 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 882c68ea7f71876ca110f3b84d7ab12d +PKG_DESCR:= AVL library +PKG_SECTION:= libs +PKG_SITES:= http://libavl.sourcearchive.com/downloads/0.3.5/ + +DISTFILES:= $(PKG_NAME)_$(PKG_VERSION).orig.tar.gz +WRKDIST= $(WRKDIR)/avl-$(PKG_VERSION) + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,LIBAVL,libavl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +MAKE_FILE:= GNUmakefile +CONFIG_STYLE:= manual + +libavl-install: + ${INSTALL_DIR} ${IDIR_LIBAVL}/usr/lib + ${CP} ${WRKINST}/usr/lib/libavl.so* ${IDIR_LIBAVL}/usr/lib + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/libavl/patches/patch-GNUmakefile b/package/libavl/patches/patch-GNUmakefile new file mode 100644 index 000000000..f967ed68c --- /dev/null +++ b/package/libavl/patches/patch-GNUmakefile @@ -0,0 +1,28 @@ +--- avl-0.3.5.orig/GNUmakefile 2002-11-15 19:57:48.000000000 +0100 ++++ avl-0.3.5/GNUmakefile 2011-05-10 13:52:58.000000000 +0200 +@@ -15,7 +15,7 @@ CFLAGS ?= -O2 -fomit-frame-pointer -pipe + #CFLAGS = -g -pg -a -pipe -march=i686 -Wall + #LDFLAGS = -s + +-prefix ?= /usr/local ++prefix ?= /usr + libdir ?= $(prefix)/lib + includedir ?= $(prefix)/include + includedir ?= /usr/include +@@ -41,13 +41,13 @@ clean: + + install: all + $(INSTALL) -d $(DESTDIR)$(libdir) ++ $(INSTALL) -d $(DESTDIR)$(includedir) + $(INSTALL) avl.h $(DESTDIR)$(includedir) +- $(INSTALL) $(LIBRARIES) $(DESTDIR)$(libdir) +- for i in $(LIBRARIES); do\ ++ $(INSTALL) $(LIBRARY) $(DESTDIR)$(libdir) ++ for i in $(LIBRARY); do\ + $(LN) -sf $$i $(DESTDIR)$(libdir)/$${i%.*};\ + $(LN) -sf $${i%.*} $(DESTDIR)$(libdir)/$${i%.*.*};\ + done +- -$(LDCONFIG) + + .PHONY: clean install all + .PRECIOUS: %.h %.c diff --git a/package/libavl/patches/patch-GNUmakefile.orig b/package/libavl/patches/patch-GNUmakefile.orig new file mode 100644 index 000000000..88ca6044b --- /dev/null +++ b/package/libavl/patches/patch-GNUmakefile.orig @@ -0,0 +1,26 @@ +--- avl-0.3.5.orig/GNUmakefile 2002-11-15 19:57:48.000000000 +0100 ++++ avl-0.3.5/GNUmakefile 2011-05-10 13:51:44.000000000 +0200 +@@ -15,7 +15,7 @@ CFLAGS ?= -O2 -fomit-frame-pointer -pipe + #CFLAGS = -g -pg -a -pipe -march=i686 -Wall + #LDFLAGS = -s + +-prefix ?= /usr/local ++prefix ?= /usr + libdir ?= $(prefix)/lib + includedir ?= $(prefix)/include + includedir ?= /usr/include +@@ -41,13 +41,13 @@ clean: + + install: all + $(INSTALL) -d $(DESTDIR)$(libdir) ++ $(INSTALL) -d $(DESTDIR)$(includedir) + $(INSTALL) avl.h $(DESTDIR)$(includedir) + $(INSTALL) $(LIBRARIES) $(DESTDIR)$(libdir) + for i in $(LIBRARIES); do\ + $(LN) -sf $$i $(DESTDIR)$(libdir)/$${i%.*};\ + $(LN) -sf $${i%.*} $(DESTDIR)$(libdir)/$${i%.*.*};\ + done +- -$(LDCONFIG) + + .PHONY: clean install all + .PRECIOUS: %.h %.c diff --git a/package/libunistring/Makefile b/package/libunistring/Makefile new file mode 100755 index 000000000..908d2b614 --- /dev/null +++ b/package/libunistring/Makefile @@ -0,0 +1,23 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= libunistring +PKG_VERSION:= 0.9.3 +PKG_RELEASE:= 1 +PKG_MD5SUM:= db8eca3b64163abadf8c40e5cecc261f +PKG_DESCR:= functions for manipulating Unicode strings +PKG_SECTION:= libs +PKG_URL:= http://www.gnu.org/software/libunistring/ +PKG_SITES:= ${MASTER_SITE_GNU:=libunistring/} + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,LIBUNISTRING,libunistring,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +libunistring-install: + ${INSTALL_DIR} ${IDIR_LIBUNISTRING}/usr/lib + ${CP} ${WRKINST}/usr/lib/libunistring.so* ${IDIR_LIBUNISTRING}/usr/lib + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/mxml/Makefile b/package/mxml/Makefile new file mode 100755 index 000000000..c64a58f73 --- /dev/null +++ b/package/mxml/Makefile @@ -0,0 +1,27 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= mxml +PKG_VERSION:= 2.6 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 68977789ae64985dddbd1a1a1652642e +PKG_DESCR:= lightweight XML library +PKG_SECTION:= libs +PKG_URL:= http://www.minixml.org/ +PKG_SITES:= http://ftp.easysw.com/pub/mxml/2.6/ + +PKG_SUBPKGS:= LIBMXML + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,LIBMXML,libmxml,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +FAKE_FLAGS+= BUILDROOT=${WRKINST} + +libmxml-install: + ${INSTALL_DIR} ${IDIR_LIBMXML}/usr/lib + ${CP} ${WRKINST}/usr/lib/libmxml.so* ${IDIR_LIBMXML}/usr/lib + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/mxml/patches/patch-Makefile_in b/package/mxml/patches/patch-Makefile_in new file mode 100644 index 000000000..5ed9231f1 --- /dev/null +++ b/package/mxml/patches/patch-Makefile_in @@ -0,0 +1,103 @@ +--- mxml-2.6.orig/Makefile.in 2008-12-06 05:20:38.000000000 +0100 ++++ mxml-2.6/Makefile.in 2011-05-10 13:06:25.000000000 +0200 +@@ -88,7 +88,7 @@ PUBLIBOBJS = mxml-attr.o mxml-entity.o m + mxml-node.o mxml-search.o mxml-set.o + LIBOBJS = $(PUBLIBOBJS) mxml-private.o mxml-string.o + OBJS = mxmldoc.o testmxml.o $(LIBOBJS) +-TARGETS = $(LIBMXML) mxmldoc testmxml mxml.xml doc/mxml.man ++TARGETS = $(LIBMXML) + + + # +@@ -133,21 +133,21 @@ clang: + # Install everything... + # + +-install: $(TARGETS) install-$(LIBMXML) install-libmxml.a ++install: $(TARGETS) install-$(LIBMXML) + $(INSTALL_DIR) $(BUILDROOT)$(bindir) +- $(INSTALL_BIN) mxmldoc $(BUILDROOT)$(bindir) +- $(INSTALL_DIR) $(BUILDROOT)$(docdir) +- for file in $(DOCFILES); do \ +- $(INSTALL_MAN) $$file $(BUILDROOT)$(docdir); \ +- done ++ #$(INSTALL_BIN) mxmldoc $(BUILDROOT)$(bindir) ++ #$(INSTALL_DIR) $(BUILDROOT)$(docdir) ++ #for file in $(DOCFILES); do \ ++ # $(INSTALL_MAN) $$file $(BUILDROOT)$(docdir); \ ++ #done + $(INSTALL_DIR) $(BUILDROOT)$(includedir) + $(INSTALL_DATA) mxml.h $(BUILDROOT)$(includedir) + $(INSTALL_DIR) $(BUILDROOT)$(libdir)/pkgconfig + $(INSTALL_DATA) mxml.pc $(BUILDROOT)$(libdir)/pkgconfig +- $(INSTALL_DIR) $(BUILDROOT)$(mandir)/man1 +- $(INSTALL_MAN) doc/mxmldoc.man $(BUILDROOT)$(mandir)/man1/mxmldoc.1 +- $(INSTALL_DIR) $(BUILDROOT)$(mandir)/man3 +- $(INSTALL_MAN) doc/mxml.man $(BUILDROOT)$(mandir)/man3/mxml.3 ++ #$(INSTALL_DIR) $(BUILDROOT)$(mandir)/man1 ++ #$(INSTALL_MAN) doc/mxmldoc.man $(BUILDROOT)$(mandir)/man1/mxmldoc.1 ++ #$(INSTALL_DIR) $(BUILDROOT)$(mandir)/man3 ++ #$(INSTALL_MAN) doc/mxml.man $(BUILDROOT)$(mandir)/man3/mxml.3 + + install-libmxml.a: + $(INSTALL_DIR) $(BUILDROOT)$(libdir) +@@ -294,7 +294,7 @@ mxmldoc: $(LIBMXML) mxmldoc.o + $(CC) -L. $(LDFLAGS) -o $@ mxmldoc.o -lmxml $(LIBS) + + mxmldoc-static: libmxml.a mxmldoc.o +- $(CC) $(LDFLAGS) -o $@ mxmldoc.o libmxml.a $(LIBS) ++ $(CC_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ mxmldoc.o libmxml.a $(LIBS) + + mxmldoc.o: mxml.h + +@@ -304,28 +304,7 @@ mxmldoc.o: mxml.h + # + + testmxml: libmxml.a testmxml.o +- $(CC) $(LDFLAGS) -o $@ testmxml.o libmxml.a $(LIBS) +- @echo Testing library... +- ./testmxml test.xml >temp1.xml 2>temp1s.xml +- ./testmxml temp1.xml >temp2.xml 2>temp2s.xml +- @if cmp temp1.xml temp2.xml; then \ +- echo Stdio file test passed!; \ +- $(RM) temp2.xml temp2s.xml; \ +- else \ +- echo Stdio file test failed!; \ +- fi +- @if cmp temp1.xml temp1s.xml; then \ +- echo String test passed!; \ +- $(RM) temp1.xml temp1s.xml; \ +- else \ +- echo String test failed!; \ +- fi +- @if cmp test.xml test.xmlfd; then \ +- echo File descriptor test passed!; \ +- $(RM) test.xmlfd; \ +- else \ +- echo File descriptor test failed!; \ +- fi ++ $(CC_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ testmxml.o libmxml.a $(LIBS) + + testmxml.o: mxml.h + +@@ -336,19 +315,7 @@ testmxml.o: mxml.h + + mxml.xml: mxmldoc-static mxml.h $(PUBLIBOBJS:.o=.c) + $(RM) mxml.xml +- ./mxmldoc-static --header doc/reference.heading mxml.xml mxml.h $(PUBLIBOBJS:.o=.c) >doc/reference.html +- if test "x`uname`" = xDarwin; then \ +- ./mxmldoc-static --docset org.minixml.docset \ +- --docversion @VERSION@ --feedname minixml.org \ +- --feedurl http://www.minixml.org/org.minixml.atom \ +- --header doc/docset.header --intro doc/docset.intro \ +- --css doc/docset.css --title "Mini-XML API Reference" \ +- mxml.xml || exit 1; \ +- /Developer/usr/bin/docsetutil package --output org.minixml.xar \ +- --atom org.minixml.atom \ +- --download-url http://www.minixml.org/org.minixml.xar \ +- org.minixml.docset || exit 1; \ +- fi ++ #./mxmldoc-static --header doc/reference.heading mxml.xml mxml.h $(PUBLIBOBJS:.o=.c) >doc/reference.html + + valgrind: mxmldoc-static + $(RM) valgrind.xml diff --git a/package/mxml/patches/patch-Makefile_in.orig b/package/mxml/patches/patch-Makefile_in.orig new file mode 100644 index 000000000..efe63f91a --- /dev/null +++ b/package/mxml/patches/patch-Makefile_in.orig @@ -0,0 +1,91 @@ +--- mxml-2.6.orig/Makefile.in 2008-12-06 05:20:38.000000000 +0100 ++++ mxml-2.6/Makefile.in 2011-05-10 13:05:50.000000000 +0200 +@@ -88,7 +88,7 @@ PUBLIBOBJS = mxml-attr.o mxml-entity.o m + mxml-node.o mxml-search.o mxml-set.o + LIBOBJS = $(PUBLIBOBJS) mxml-private.o mxml-string.o + OBJS = mxmldoc.o testmxml.o $(LIBOBJS) +-TARGETS = $(LIBMXML) mxmldoc testmxml mxml.xml doc/mxml.man ++TARGETS = $(LIBMXML) + + + # +@@ -133,13 +133,13 @@ clang: + # Install everything... + # + +-install: $(TARGETS) install-$(LIBMXML) install-libmxml.a ++install: $(TARGETS) install-$(LIBMXML) + $(INSTALL_DIR) $(BUILDROOT)$(bindir) +- $(INSTALL_BIN) mxmldoc $(BUILDROOT)$(bindir) +- $(INSTALL_DIR) $(BUILDROOT)$(docdir) +- for file in $(DOCFILES); do \ +- $(INSTALL_MAN) $$file $(BUILDROOT)$(docdir); \ +- done ++ #$(INSTALL_BIN) mxmldoc $(BUILDROOT)$(bindir) ++ #$(INSTALL_DIR) $(BUILDROOT)$(docdir) ++ #for file in $(DOCFILES); do \ ++ # $(INSTALL_MAN) $$file $(BUILDROOT)$(docdir); \ ++ #done + $(INSTALL_DIR) $(BUILDROOT)$(includedir) + $(INSTALL_DATA) mxml.h $(BUILDROOT)$(includedir) + $(INSTALL_DIR) $(BUILDROOT)$(libdir)/pkgconfig +@@ -294,7 +294,7 @@ mxmldoc: $(LIBMXML) mxmldoc.o + $(CC) -L. $(LDFLAGS) -o $@ mxmldoc.o -lmxml $(LIBS) + + mxmldoc-static: libmxml.a mxmldoc.o +- $(CC) $(LDFLAGS) -o $@ mxmldoc.o libmxml.a $(LIBS) ++ $(CC_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ mxmldoc.o libmxml.a $(LIBS) + + mxmldoc.o: mxml.h + +@@ -304,28 +304,7 @@ mxmldoc.o: mxml.h + # + + testmxml: libmxml.a testmxml.o +- $(CC) $(LDFLAGS) -o $@ testmxml.o libmxml.a $(LIBS) +- @echo Testing library... +- ./testmxml test.xml >temp1.xml 2>temp1s.xml +- ./testmxml temp1.xml >temp2.xml 2>temp2s.xml +- @if cmp temp1.xml temp2.xml; then \ +- echo Stdio file test passed!; \ +- $(RM) temp2.xml temp2s.xml; \ +- else \ +- echo Stdio file test failed!; \ +- fi +- @if cmp temp1.xml temp1s.xml; then \ +- echo String test passed!; \ +- $(RM) temp1.xml temp1s.xml; \ +- else \ +- echo String test failed!; \ +- fi +- @if cmp test.xml test.xmlfd; then \ +- echo File descriptor test passed!; \ +- $(RM) test.xmlfd; \ +- else \ +- echo File descriptor test failed!; \ +- fi ++ $(CC_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ testmxml.o libmxml.a $(LIBS) + + testmxml.o: mxml.h + +@@ -336,19 +315,7 @@ testmxml.o: mxml.h + + mxml.xml: mxmldoc-static mxml.h $(PUBLIBOBJS:.o=.c) + $(RM) mxml.xml +- ./mxmldoc-static --header doc/reference.heading mxml.xml mxml.h $(PUBLIBOBJS:.o=.c) >doc/reference.html +- if test "x`uname`" = xDarwin; then \ +- ./mxmldoc-static --docset org.minixml.docset \ +- --docversion @VERSION@ --feedname minixml.org \ +- --feedurl http://www.minixml.org/org.minixml.atom \ +- --header doc/docset.header --intro doc/docset.intro \ +- --css doc/docset.css --title "Mini-XML API Reference" \ +- mxml.xml || exit 1; \ +- /Developer/usr/bin/docsetutil package --output org.minixml.xar \ +- --atom org.minixml.atom \ +- --download-url http://www.minixml.org/org.minixml.xar \ +- org.minixml.docset || exit 1; \ +- fi ++ #./mxmldoc-static --header doc/reference.heading mxml.xml mxml.h $(PUBLIBOBJS:.o=.c) >doc/reference.html + + valgrind: mxmldoc-static + $(RM) valgrind.xml diff --git a/package/mxml/patches/patch-configure b/package/mxml/patches/patch-configure new file mode 100644 index 000000000..5c8b5da9f --- /dev/null +++ b/package/mxml/patches/patch-configure @@ -0,0 +1,30 @@ +--- mxml-2.6.orig/configure 2009-04-18 19:05:52.000000000 +0200 ++++ mxml-2.6/configure 2011-05-10 12:55:05.000000000 +0200 +@@ -1778,8 +1778,8 @@ else + fi + + +-uname=`uname` +-uversion=`uname -r | sed -e '1,$s/[^0-9]//g'` ++uname=Linux ++uversion=2.6 + if test x$uname = xIRIX64; then + uname="IRIX" + fi +@@ -3479,15 +3479,7 @@ fi + + + +-case "$uname" in +- Darwin* | *BSD*) +- ARFLAGS="-rcv" +- ;; +- *) +- ARFLAGS="crvs" +- ;; +-esac +- ++ARFLAGS="crvs" + + + diff --git a/package/mxml/patches/patch-doc_reference_html b/package/mxml/patches/patch-doc_reference_html new file mode 100644 index 000000000..0fa8d3521 --- /dev/null +++ b/package/mxml/patches/patch-doc_reference_html @@ -0,0 +1,1638 @@ +--- mxml-2.6.orig/doc/reference.html 2009-03-19 06:38:52.000000000 +0100 ++++ mxml-2.6/doc/reference.html 2011-05-10 12:57:21.000000000 +0200 +@@ -1,1635 +0,0 @@ +- +- +- +-Documentation +- +- +- +- +-
+-

CLibrary +-Reference

+- +-

Contents

+-
    +-
  • Functions
  • +-
  • Data Types
  • +-
  • Structures
  • +-
  • Unions
  • +-
  • Constants
  • +-

    Functions

    +-

    mxmlAdd

    +-

    Add a node to a tree.

    +-

    +-void mxmlAdd (
    +-    mxml_node_t *parent,
    +-    int where,
    +-    mxml_node_t *child,
    +-    mxml_node_t *node
    +-);

    +-

    Parameters

    +-
    +-
    parent
    +-
    Parent node
    +-
    where
    +-
    Where to add, MXML_ADD_BEFORE or MXML_ADD_AFTER
    +-
    child
    +-
    Child node for where or MXML_ADD_TO_PARENT
    +-
    node
    +-
    Node to add
    +-
    +-

    Discussion

    +-

    Adds the specified node to the parent. If the child argument is not +-NULL, puts the new node before or after the specified child depending +-on the value of the where argument. If the child argument is NULL, +-puts the new node at the beginning of the child list (MXML_ADD_BEFORE) +-or at the end of the child list (MXML_ADD_AFTER). The constant +-MXML_ADD_TO_PARENT can be used to specify a NULL child pointer.

    +-

    mxmlDelete

    +-

    Delete a node and all of its children.

    +-

    +-void mxmlDelete (
    +-    mxml_node_t *node
    +-);

    +-

    Parameters

    +-
    +-
    node
    +-
    Node to delete
    +-
    +-

    Discussion

    +-

    If the specified node has a parent, this function first removes the +-node from its parent using the mxmlRemove() function.

    +-

     Mini-XML 2.4 mxmlElementDeleteAttr

    +-

    Delete an attribute.

    +-

    +-void mxmlElementDeleteAttr (
    +-    mxml_node_t *node,
    +-    const char *name
    +-);

    +-

    Parameters

    +-
    +-
    node
    +-
    Element
    +-
    name
    +-
    Attribute name
    +-
    +-

    mxmlElementGetAttr

    +-

    Get an attribute.

    +-

    +-const char *mxmlElementGetAttr (
    +-    mxml_node_t *node,
    +-    const char *name
    +-);

    +-

    Parameters

    +-
    +-
    node
    +-
    Element node
    +-
    name
    +-
    Name of attribute
    +-
    +-

    Return Value

    +-

    Attribute value or NULL

    +-

    Discussion

    +-

    This function returns NULL if the node is not an element or the +-named attribute does not exist.

    +-

    mxmlElementSetAttr

    +-

    Set an attribute.

    +-

    +-void mxmlElementSetAttr (
    +-    mxml_node_t *node,
    +-    const char *name,
    +-    const char *value
    +-);

    +-

    Parameters

    +-
    +-
    node
    +-
    Element node
    +-
    name
    +-
    Name of attribute
    +-
    value
    +-
    Attribute value
    +-
    +-

    Discussion

    +-

    If the named attribute already exists, the value of the attribute +-is replaced by the new string value. The string value is copied +-into the element node. This function does nothing if the node is +-not an element.

    +-

     Mini-XML 2.3 mxmlElementSetAttrf

    +-

    Set an attribute with a formatted value.

    +-

    +-void mxmlElementSetAttrf (
    +-    mxml_node_t *node,
    +-    const char *name,
    +-    const char *format,
    +-    ...
    +-);

    +-

    Parameters

    +-
    +-
    node
    +-
    Element node
    +-
    name
    +-
    Name of attribute
    +-
    format
    +-
    Printf-style attribute value
    +-
    ...
    +-
    Additional arguments as needed
    +-
    +-

    Discussion

    +-

    If the named attribute already exists, the value of the attribute +-is replaced by the new formatted string. The formatted string value is +-copied into the element node. This function does nothing if the node +-is not an element. +- +-

    +-

    mxmlEntityAddCallback

    +-

    Add a callback to convert entities to Unicode.

    +-

    +-int mxmlEntityAddCallback (
    +-    mxml_entity_cb_t cb
    +-);

    +-

    Parameters

    +-
    +-
    cb
    +-
    Callback function to add
    +-
    +-

    Return Value

    +-

    0 on success, -1 on failure

    +-

    mxmlEntityGetName

    +-

    Get the name that corresponds to the character value.

    +-

    +-const char *mxmlEntityGetName (
    +-    int val
    +-);

    +-

    Parameters

    +-
    +-
    val
    +-
    Character value
    +-
    +-

    Return Value

    +-

    Entity name or NULL

    +-

    Discussion

    +-

    If val does not need to be represented by a named entity, NULL is returned.

    +-

    mxmlEntityGetValue

    +-

    Get the character corresponding to a named entity.

    +-

    +-int mxmlEntityGetValue (
    +-    const char *name
    +-);

    +-

    Parameters

    +-
    +-
    name
    +-
    Entity name
    +-
    +-

    Return Value

    +-

    Character value or -1 on error

    +-

    Discussion

    +-

    The entity name can also be a numeric constant. -1 is returned if the +-name is not known.

    +-

    mxmlEntityRemoveCallback

    +-

    Remove a callback.

    +-

    +-void mxmlEntityRemoveCallback (
    +-    mxml_entity_cb_t cb
    +-);

    +-

    Parameters

    +-
    +-
    cb
    +-
    Callback function to remove
    +-
    +-

    mxmlFindElement

    +-

    Find the named element.

    +-

    +-mxml_node_t *mxmlFindElement (
    +-    mxml_node_t *node,
    +-    mxml_node_t *top,
    +-    const char *name,
    +-    const char *attr,
    +-    const char *value,
    +-    int descend
    +-);

    +-

    Parameters

    +-
    +-
    node
    +-
    Current node
    +-
    top
    +-
    Top node
    +-
    name
    +-
    Element name or NULL for any
    +-
    attr
    +-
    Attribute name, or NULL for none
    +-
    value
    +-
    Attribute value, or NULL for any
    +-
    descend
    +-
    Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST
    +-
    +-

    Return Value

    +-

    Element node or NULL

    +-

    Discussion

    +-

    The search is constrained by the name, attribute name, and value; any +-NULL names or values are treated as wildcards, so different kinds of +-searches can be implemented by looking for all elements of a given name +-or all elements with a specific attribute. The descend argument determines +-whether the search descends into child nodes; normally you will use +-MXML_DESCEND_FIRST for the initial search and MXML_NO_DESCEND to find +-additional direct descendents of the node. The top node argument +-constrains the search to a particular node's children.

    +-

    mxmlIndexDelete

    +-

    Delete an index.

    +-

    +-void mxmlIndexDelete (
    +-    mxml_index_t *ind
    +-);

    +-

    Parameters

    +-
    +-
    ind
    +-
    Index to delete
    +-
    +-

    mxmlIndexEnum

    +-

    Return the next node in the index.

    +-

    +-mxml_node_t *mxmlIndexEnum (
    +-    mxml_index_t *ind
    +-);

    +-

    Parameters

    +-
    +-
    ind
    +-
    Index to enumerate
    +-
    +-

    Return Value

    +-

    Next node or NULL if there is none

    +-

    Discussion

    +-

    Nodes are returned in the sorted order of the index.

    +-

    mxmlIndexFind

    +-

    Find the next matching node.

    +-

    +-mxml_node_t *mxmlIndexFind (
    +-    mxml_index_t *ind,
    +-    const char *element,
    +-    const char *value
    +-);

    +-

    Parameters

    +-
    +-
    ind
    +-
    Index to search
    +-
    element
    +-
    Element name to find, if any
    +-
    value
    +-
    Attribute value, if any
    +-
    +-

    Return Value

    +-

    Node or NULL if none found

    +-

    Discussion

    +-

    You should call mxmlIndexReset() prior to using this function for +-the first time with a particular set of "element" and "value" +-strings. Passing NULL for both "element" and "value" is equivalent +-to calling mxmlIndexEnum().

    +-

    mxmlIndexNew

    +-

    Create a new index.

    +-

    +-mxml_index_t *mxmlIndexNew (
    +-    mxml_node_t *node,
    +-    const char *element,
    +-    const char *attr
    +-);

    +-

    Parameters

    +-
    +-
    node
    +-
    XML node tree
    +-
    element
    +-
    Element to index or NULL for all
    +-
    attr
    +-
    Attribute to index or NULL for none
    +-
    +-

    Return Value

    +-

    New index

    +-

    Discussion

    +-

    The index will contain all nodes that contain the named element and/or +-attribute. If both "element" and "attr" are NULL, then the index will +-contain a sorted list of the elements in the node tree. Nodes are +-sorted by element name and optionally by attribute value if the "attr" +-argument is not NULL.

    +-

    mxmlIndexReset

    +-

    Reset the enumeration/find pointer in the index and +-return the first node in the index.

    +-

    +-mxml_node_t *mxmlIndexReset (
    +-    mxml_index_t *ind
    +-);

    +-

    Parameters

    +-
    +-
    ind
    +-
    Index to reset
    +-
    +-

    Return Value

    +-

    First node or NULL if there is none

    +-

    Discussion

    +-

    This function should be called prior to using mxmlIndexEnum() or +-mxmlIndexFind() for the first time.

    +-

    mxmlLoadFd

    +-

    Load a file descriptor into an XML node tree.

    +-

    +-mxml_node_t *mxmlLoadFd (
    +-    mxml_node_t *top,
    +-    int fd,
    +-    mxml_load_cb_t cb
    +-);

    +-

    Parameters

    +-
    +-
    top
    +-
    Top node
    +-
    fd
    +-
    File descriptor to read from
    +-
    cb
    +-
    Callback function or MXML_NO_CALLBACK
    +-
    +-

    Return Value

    +-

    First node or NULL if the file could not be read.

    +-

    Discussion

    +-

    The nodes in the specified file are added to the specified top node. +-If no top node is provided, the XML file MUST be well-formed with a +-single parent node like <?xml> for the entire file. The callback +-function returns the value type that should be used for child nodes. +-If MXML_NO_CALLBACK is specified then all child nodes will be either +-MXML_ELEMENT or MXML_TEXT nodes.
    +-
    +-The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK, +-MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading +-child nodes of the specified type.

    +-

    mxmlLoadFile

    +-

    Load a file into an XML node tree.

    +-

    +-mxml_node_t *mxmlLoadFile (
    +-    mxml_node_t *top,
    +-    FILE *fp,
    +-    mxml_load_cb_t cb
    +-);

    +-

    Parameters

    +-
    +-
    top
    +-
    Top node
    +-
    fp
    +-
    File to read from
    +-
    cb
    +-
    Callback function or MXML_NO_CALLBACK
    +-
    +-

    Return Value

    +-

    First node or NULL if the file could not be read.

    +-

    Discussion

    +-

    The nodes in the specified file are added to the specified top node. +-If no top node is provided, the XML file MUST be well-formed with a +-single parent node like <?xml> for the entire file. The callback +-function returns the value type that should be used for child nodes. +-If MXML_NO_CALLBACK is specified then all child nodes will be either +-MXML_ELEMENT or MXML_TEXT nodes.
    +-
    +-The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK, +-MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading +-child nodes of the specified type.

    +-

    mxmlLoadString

    +-

    Load a string into an XML node tree.

    +-

    +-mxml_node_t *mxmlLoadString (
    +-    mxml_node_t *top,
    +-    const char *s,
    +-    mxml_load_cb_t cb
    +-);

    +-

    Parameters

    +-
    +-
    top
    +-
    Top node
    +-
    s
    +-
    String to load
    +-
    cb
    +-
    Callback function or MXML_NO_CALLBACK
    +-
    +-

    Return Value

    +-

    First node or NULL if the string has errors.

    +-

    Discussion

    +-

    The nodes in the specified string are added to the specified top node. +-If no top node is provided, the XML string MUST be well-formed with a +-single parent node like <?xml> for the entire string. The callback +-function returns the value type that should be used for child nodes. +-If MXML_NO_CALLBACK is specified then all child nodes will be either +-MXML_ELEMENT or MXML_TEXT nodes.
    +-
    +-The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK, +-MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading +-child nodes of the specified type.

    +-

     Mini-XML 2.3 mxmlNewCDATA

    +-

    Create a new CDATA node.

    +-

    +-mxml_node_t *mxmlNewCDATA (
    +-    mxml_node_t *parent,
    +-    const char *data
    +-);

    +-

    Parameters

    +-
    +-
    parent
    +-
    Parent node or MXML_NO_PARENT
    +-
    data
    +-
    Data string
    +-
    +-

    Return Value

    +-

    New node

    +-

    Discussion

    +-

    The new CDATA node is added to the end of the specified parent's child +-list. The constant MXML_NO_PARENT can be used to specify that the new +-CDATA node has no parent. The data string must be nul-terminated and +-is copied into the new node. CDATA nodes use the MXML_ELEMENT type. +- +-

    +-

     Mini-XML 2.1 mxmlNewCustom

    +-

    Create a new custom data node.

    +-

    +-mxml_node_t *mxmlNewCustom (
    +-    mxml_node_t *parent,
    +-    void *data,
    +-    mxml_custom_destroy_cb_t destroy
    +-);

    +-

    Parameters

    +-
    +-
    parent
    +-
    Parent node or MXML_NO_PARENT
    +-
    data
    +-
    Pointer to data
    +-
    destroy
    +-
    Function to destroy data
    +-
    +-

    Return Value

    +-

    New node

    +-

    Discussion

    +-

    The new custom node is added to the end of the specified parent's child +-list. The constant MXML_NO_PARENT can be used to specify that the new +-element node has no parent. NULL can be passed when the data in the +-node is not dynamically allocated or is separately managed. +- +-

    +-

    mxmlNewElement

    +-

    Create a new element node.

    +-

    +-mxml_node_t *mxmlNewElement (
    +-    mxml_node_t *parent,
    +-    const char *name
    +-);

    +-

    Parameters

    +-
    +-
    parent
    +-
    Parent node or MXML_NO_PARENT
    +-
    name
    +-
    Name of element
    +-
    +-

    Return Value

    +-

    New node

    +-

    Discussion

    +-

    The new element node is added to the end of the specified parent's child +-list. The constant MXML_NO_PARENT can be used to specify that the new +-element node has no parent.

    +-

    mxmlNewInteger

    +-

    Create a new integer node.

    +-

    +-mxml_node_t *mxmlNewInteger (
    +-    mxml_node_t *parent,
    +-    int integer
    +-);

    +-

    Parameters

    +-
    +-
    parent
    +-
    Parent node or MXML_NO_PARENT
    +-
    integer
    +-
    Integer value
    +-
    +-

    Return Value

    +-

    New node

    +-

    Discussion

    +-

    The new integer node is added to the end of the specified parent's child +-list. The constant MXML_NO_PARENT can be used to specify that the new +-integer node has no parent.

    +-

    mxmlNewOpaque

    +-

    Create a new opaque string.

    +-

    +-mxml_node_t *mxmlNewOpaque (
    +-    mxml_node_t *parent,
    +-    const char *opaque
    +-);

    +-

    Parameters

    +-
    +-
    parent
    +-
    Parent node or MXML_NO_PARENT
    +-
    opaque
    +-
    Opaque string
    +-
    +-

    Return Value

    +-

    New node

    +-

    Discussion

    +-

    The new opaque node is added to the end of the specified parent's child +-list. The constant MXML_NO_PARENT can be used to specify that the new +-opaque node has no parent. The opaque string must be nul-terminated and +-is copied into the new node.

    +-

    mxmlNewReal

    +-

    Create a new real number node.

    +-

    +-mxml_node_t *mxmlNewReal (
    +-    mxml_node_t *parent,
    +-    double real
    +-);

    +-

    Parameters

    +-
    +-
    parent
    +-
    Parent node or MXML_NO_PARENT
    +-
    real
    +-
    Real number value
    +-
    +-

    Return Value

    +-

    New node

    +-

    Discussion

    +-

    The new real number node is added to the end of the specified parent's +-child list. The constant MXML_NO_PARENT can be used to specify that +-the new real number node has no parent.

    +-

    mxmlNewText

    +-

    Create a new text fragment node.

    +-

    +-mxml_node_t *mxmlNewText (
    +-    mxml_node_t *parent,
    +-    int whitespace,
    +-    const char *string
    +-);

    +-

    Parameters

    +-
    +-
    parent
    +-
    Parent node or MXML_NO_PARENT
    +-
    whitespace
    +-
    1 = leading whitespace, 0 = no whitespace
    +-
    string
    +-
    String
    +-
    +-

    Return Value

    +-

    New node

    +-

    Discussion

    +-

    The new text node is added to the end of the specified parent's child +-list. The constant MXML_NO_PARENT can be used to specify that the new +-text node has no parent. The whitespace parameter is used to specify +-whether leading whitespace is present before the node. The text +-string must be nul-terminated and is copied into the new node.

    +-

    mxmlNewTextf

    +-

    Create a new formatted text fragment node.

    +-

    +-mxml_node_t *mxmlNewTextf (
    +-    mxml_node_t *parent,
    +-    int whitespace,
    +-    const char *format,
    +-    ...
    +-);

    +-

    Parameters

    +-
    +-
    parent
    +-
    Parent node or MXML_NO_PARENT
    +-
    whitespace
    +-
    1 = leading whitespace, 0 = no whitespace
    +-
    format
    +-
    Printf-style frmat string
    +-
    ...
    +-
    Additional args as needed
    +-
    +-

    Return Value

    +-

    New node

    +-

    Discussion

    +-

    The new text node is added to the end of the specified parent's child +-list. The constant MXML_NO_PARENT can be used to specify that the new +-text node has no parent. The whitespace parameter is used to specify +-whether leading whitespace is present before the node. The format +-string must be nul-terminated and is formatted into the new node.

    +-

     Mini-XML 2.3 mxmlNewXML

    +-

    Create a new XML document tree.

    +-

    +-mxml_node_t *mxmlNewXML (
    +-    const char *version
    +-);

    +-

    Parameters

    +-
    +-
    version
    +-
    Version number to use
    +-
    +-

    Return Value

    +-

    New ?xml node

    +-

    Discussion

    +-

    The "version" argument specifies the version number to put in the +-?xml element node. If NULL, version 1.0 is assumed. +- +-

    +-

     Mini-XML 2.3 mxmlRelease

    +-

    Release a node.

    +-

    +-int mxmlRelease (
    +-    mxml_node_t *node
    +-);

    +-

    Parameters

    +-
    +-
    node
    +-
    Node
    +-
    +-

    Return Value

    +-

    New reference count

    +-

    Discussion

    +-

    When the reference count reaches zero, the node (and any children) +-is deleted via mxmlDelete(). +- +-

    +-

    mxmlRemove

    +-

    Remove a node from its parent.

    +-

    +-void mxmlRemove (
    +-    mxml_node_t *node
    +-);

    +-

    Parameters

    +-
    +-
    node
    +-
    Node to remove
    +-
    +-

    Discussion

    +-

    Does not free memory used by the node - use mxmlDelete() for that. +-This function does nothing if the node has no parent.

    +-

     Mini-XML 2.3 mxmlRetain

    +-

    Retain a node.

    +-

    +-int mxmlRetain (
    +-    mxml_node_t *node
    +-);

    +-

    Parameters

    +-
    +-
    node
    +-
    Node
    +-
    +-

    Return Value

    +-

    New reference count

    +-

     Mini-XML 2.3 mxmlSAXLoadFd

    +-

    Load a file descriptor into an XML node tree +-using a SAX callback.

    +-

    +-mxml_node_t *mxmlSAXLoadFd (
    +-    mxml_node_t *top,
    +-    int fd,
    +-    mxml_load_cb_t cb,
    +-    mxml_sax_cb_t sax_cb,
    +-    void *sax_data
    +-);

    +-

    Parameters

    +-
    +-
    top
    +-
    Top node
    +-
    fd
    +-
    File descriptor to read from
    +-
    cb
    +-
    Callback function or MXML_NO_CALLBACK
    +-
    sax_cb
    +-
    SAX callback or MXML_NO_CALLBACK
    +-
    sax_data
    +-
    SAX user data
    +-
    +-

    Return Value

    +-

    First node or NULL if the file could not be read.

    +-

    Discussion

    +-

    The nodes in the specified file are added to the specified top node. +-If no top node is provided, the XML file MUST be well-formed with a +-single parent node like <?xml> for the entire file. The callback +-function returns the value type that should be used for child nodes. +-If MXML_NO_CALLBACK is specified then all child nodes will be either +-MXML_ELEMENT or MXML_TEXT nodes.
    +-
    +-The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK, +-MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading +-child nodes of the specified type.
    +-
    +-The SAX callback must call mxmlRetain() for any nodes that need to +-be kept for later use. Otherwise, nodes are deleted when the parent +-node is closed or after each data, comment,