Convert libxml2 2.8.0 recipe to an actual recipe

This commit is contained in:
Ingo Weinhold
2013-04-26 16:31:02 +02:00
parent 7565ab68d8
commit 1111e4a96b
2 changed files with 130 additions and 16 deletions

View File

@@ -1,38 +1,126 @@
DESCRIPTION="libxml2 - Version 2 of the library to manipulate XML files"
SUMMARY="The XML C parser and toolkit of Gnome"
HOMEPAGE="http://www.xmlsoft.org/"
LICENSE="MIT"
COPYRIGHT="1998-2003 Daniel Veillard. All Rights Reserved."
SRC_URI="ftp://xmlsoft.org/libxml2/libxml2-2.8.0.tar.gz"
CHECKSUM_MD5="c62106f02ee00b6437f0fb9d370c1093"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
ARCHITECTURES="x86_gcc2 ?x86"
PATCHES="libxml2-2.8.0.patch"
PROVIDES="
libxml2 = $portVersion compat >= 2
cmd:xml2_config = $portVersion compat >= 2
cmd:xmlcatalog = $portVersion compat >= 2
cmd:xmllint = $portVersion compat >= 2
lib:libxml2 = $portVersion compat >= 2
"
REQUIRES="
haiku >= $haikuVersion
zlib
"
BUILD_REQUIRES="
$REQUIRES
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:gcc
cmd:ld
cmd:libtoolize
cmd:make
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
"
SOURCE_DIR="$portVersionedName"
PATCH()
{
# replace hard-coded references to the development documentation dir
sed -i "s,^DEVHELP_DIR=\(.*\),DEVHELP_DIR=${developDocDir}," \
doc/devhelp/Makefile.am
sed -i "s,%{_datadir}/gtk-doc/html/libxml2,${developDocDir},g" \
libxml.spec.in
}
BUILD()
{
cd libxml2-2.8.0
libtoolize --force --copy --install
aclocal
autoconf
sed -i 's/$(datadir)\/aclocal/`finddir B_COMMON_DATA_DIRECTORY`\/aclocal/g' M*
automake
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datarootdir=$COMMON_DOCS \
--docdir=$COMMON_DOCS/doc \
--mandir=$COMMON_DOCS/man
LDFLAGS="-lnetwork"
make
runConfigure ./configure LDFLAGS="-lnetwork" \
--with-html-dir=$docDir/html \
--with-html-subdir=""
}
INSTALL()
{
cd libxml2-2.8.0
make install
# prepare develop/lib
prepareInstalledDevelLibs libxml2
fixPkgconfig
mv $libDir/xml2Conf.sh $developLibDir/
}
TEST()
{
cd libxml2-2.8.0
make tests
}
LICENSE="MIT"
COPYRIGHT="1998-2003 Daniel Veillard. All Rights Reserved."
DESCRIPTION="
Libxml2 is the XML C parser and toolkit developed for the Gnome project
(but usable outside of the Gnome platform), it is free software available
under the MIT License. XML itself is a metalanguage to design markup
languages, i.e. text language where semantic and structure are added to
the content using extra "markup" information enclosed between angle
brackets. HTML is the most well-known markup language. Though the library
is written in C a variety of language bindings make it available in other
environments.
Libxml2 implements a number of existing standards related to markup
languages:
- the XML standard: http://www.w3.org/TR/REC-xml
- Namespaces in XML: http://www.w3.org/TR/REC-xml-names/
- XML Base: http://www.w3.org/TR/xmlbase/
- RFC 2396 : Uniform Resource Identifiers
- XML Path Language (XPath) 1.0: http://www.w3.org/TR/xpath
- HTML4 parser: http://www.w3.org/TR/html401/
- XML Pointer Language (XPointer) Version 1.0: http://www.w3.org/TR/xptr
- XML Inclusions (XInclude) Version 1.0: http://www.w3.org/TR/xinclude/
- ISO-8859-x encodings, as well as rfc2044 [UTF-8] and rfc2781 [UTF-16]
Unicode encodings, and more if using iconv support part of SGML Open
Technical Resolution TR9401:1997
- XML Catalogs Working Draft 06 August 2001:
http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
- Canonical XML Version 1.0:
http://www.w3.org/TR/xml-c14n and the Exclusive XML Canonicalization
CR draft http://www.w3.org/TR/xml-exc-c14n
- Relax NG, ISO/IEC 19757-2:2003,
http://www.oasis-open.org/committees/relax-ng/spec-20011203.html
- W3C XML Schemas Part 2: Datatypes REC 02 May 2001
- W3C xml:id Working Draft 7 April 2004
In most cases libxml2 tries to implement the specifications in a
relatively strictly compliant way. As of release 2.4.16, libxml2 passed
all 1800+ tests from the OASIS XML Tests Suite.
To some extent libxml2 provides support for the following additional
specifications but doesn't claim to implement them completely:
- Document Object Model (DOM) http://www.w3.org/TR/DOM-Level-2-Core/
the document model, but it doesn't implement the API itself, gdome2
does this on top of libxml2
- RFC 959 : libxml2 implements a basic FTP client code
- RFC 1945 : HTTP/1.0, again a basic HTTP client code
- SAX: a SAX2 like interface and a minimal SAX1 implementation compatible
with early expat versions
A partial implementation of XML Schemas Part 1: Structure is being worked
on but it would be far too early to make any conformance statement about
it at the moment.
"

View File

@@ -0,0 +1,26 @@
diff -ur libxml2-2.8.0.orig/configure.in libxml2-2.8.0/configure.in
--- libxml2-2.8.0.orig/configure.in 2012-05-23 10:33:55.027787264 +0200
+++ libxml2-2.8.0/configure.in 2013-04-26 13:50:43.429391872 +0200
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_INIT(entities.c)
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS(config.h)
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_HOST
diff -ur libxml2-2.8.0.orig/Makefile.am libxml2-2.8.0/Makefile.am
--- libxml2-2.8.0.orig/Makefile.am 2012-05-23 10:56:18.030932992 +0200
+++ libxml2-2.8.0/Makefile.am 2013-04-26 13:50:43.432537600 +0200
@@ -1208,8 +1208,8 @@
#
# Install the tests program sources as examples
#
-BASE_DIR=$(datadir)/doc
-DOC_MODULE=libxml2-$(VERSION)
+BASE_DIR=$(docdir)
+DOC_MODULE=
EXAMPLES_DIR=$(BASE_DIR)/$(DOC_MODULE)/examples
install-data-local: