mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
Add recipe for libxml2 2.9.1
Also remove non-recipe for 2.9.0.
This commit is contained in:
@@ -1,39 +0,0 @@
|
||||
DESCRIPTION="libxml2 - Version 2 of the library to manipulate XML files"
|
||||
HOMEPAGE="http://www.xmlsoft.org/"
|
||||
SRC_URI="ftp://xmlsoft.org/libxml2/libxml2-2.9.0.tar.gz"
|
||||
CHECKSUM_MD5="5b9bebf4f5d2200ae2c4efe8fa6103f7"
|
||||
REVISION="1"
|
||||
STATUS_HAIKU="stable"
|
||||
DEPEND=""
|
||||
BUILD()
|
||||
{
|
||||
cd libxml2-2.9.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 \
|
||||
--with-threads=yes
|
||||
LDFLAGS="-lnetwork"
|
||||
make
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd libxml2-2.9.0
|
||||
make install
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
cd libxml2-2.9.0
|
||||
make tests
|
||||
}
|
||||
|
||||
LICENSE="MIT"
|
||||
COPYRIGHT="1998-2003 Daniel Veillard. All Rights Reserved."
|
||||
225
dev-libs/libxml2/libxml2-2.9.1.recipe
Normal file
225
dev-libs/libxml2/libxml2-2.9.1.recipe
Normal file
@@ -0,0 +1,225 @@
|
||||
SUMMARY="The XML C parser and toolkit of Gnome"
|
||||
HOMEPAGE="http://www.xmlsoft.org/"
|
||||
LICENSE="MIT"
|
||||
COPYRIGHT="1998-2013 Daniel Veillard. All Rights Reserved."
|
||||
SRC_URI="ftp://xmlsoft.org/libxml2/libxml2-2.9.1.tar.gz"
|
||||
CHECKSUM_MD5="9c0cfef285d5c4a5c80d00904ddab380"
|
||||
REVISION="1"
|
||||
ARCHITECTURES="x86_gcc2 x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
|
||||
|
||||
PATCHES="libxml2-2.9.1.patchset"
|
||||
|
||||
# build the python module only for the primary architecture
|
||||
pythonModuleEnabled=false
|
||||
if [ -z "$secondaryArchSuffix" ]; then
|
||||
pythonModuleEnabled=true
|
||||
fi
|
||||
|
||||
PROVIDES="
|
||||
libxml2$secondaryArchSuffix = $portVersion compat >= 2
|
||||
lib:libxml2$secondaryArchSuffix = $portVersion compat >= 2
|
||||
"
|
||||
if [ -z "$secondaryArchSuffix" ]; then
|
||||
PROVIDES="$PROVIDES
|
||||
cmd:xmlcatalog = $portVersion compat >= 2
|
||||
cmd:xmllint = $portVersion compat >= 2
|
||||
"
|
||||
fi
|
||||
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix >= $haikuVersion
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_REQUIRES="
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
if $pythonModuleEnabled; then
|
||||
BUILD_REQUIRES="$BUILD_REQUIRES
|
||||
python
|
||||
"
|
||||
# Note: We don't use "cmd:python" here to avoid issues with the
|
||||
# python search path.
|
||||
fi
|
||||
|
||||
BUILD_PREREQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel >= $haikuVersion
|
||||
haiku_devel >= $haikuVersion
|
||||
lib:libicudata$secondaryArchSuffix
|
||||
cmd:aclocal
|
||||
cmd:autoconf
|
||||
cmd:automake
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:libtoolize
|
||||
cmd:make
|
||||
cmd:sed
|
||||
"
|
||||
|
||||
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()
|
||||
{
|
||||
libtoolize --force --copy --install
|
||||
aclocal
|
||||
autoconf
|
||||
automake
|
||||
|
||||
withPython=
|
||||
if $pythonModuleEnabled; then
|
||||
# We symlink python's directories into our packaging directory and tell
|
||||
# configure that it can find python there. This way the correct
|
||||
# installation directory for the python module is determined.
|
||||
pythonDir="$portPackageLinksDir/python"
|
||||
ln -s $pythonDir/bin $pythonDir/develop $pythonDir/lib $prefix
|
||||
withPython="--with-python=$prefix"
|
||||
fi
|
||||
|
||||
systemDataDir=`finddir B_SYSTEM_DATA_DIRECTORY`
|
||||
runConfigure ./configure LDFLAGS="-lnetwork" \
|
||||
--with-html-dir=$docDir/html \
|
||||
--with-html-subdir="" \
|
||||
$withPython \
|
||||
CFLAGS='-DXML_XML_DEFAULT_CATALOG=\"file://$systemDataDir/xml/catalog\"'
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
if $pythonModuleEnabled; then
|
||||
# Unfortunately we can't just remove the in symlinks we created in
|
||||
# BUILD() and install normally, since then make detects that the
|
||||
# Python.h is missing and tries to rebuild the module. So we leave
|
||||
# things as is and use DESTDIR to install the everything in a subdir.
|
||||
# Then we remove the symlinks and move everything where it belongs.
|
||||
make DESTDIR=$prefix install
|
||||
rm -f $prefix/bin $prefix/develop $prefix/lib
|
||||
mv $prefix/$prefix/* $prefix
|
||||
rm -r $prefix/packages
|
||||
else
|
||||
make install
|
||||
fi
|
||||
|
||||
# prepare develop/lib
|
||||
prepareInstalledDevelLibs libxml2
|
||||
fixPkgconfig
|
||||
mv $libDir/xml2Conf.sh $developLibDir/
|
||||
fixDevelopLibDirReferences $developLibDir/xml2Conf.sh $binDir/xml2-config
|
||||
|
||||
# python package
|
||||
if $pythonModuleEnabled; then
|
||||
packageEntries python \
|
||||
$libDir/python* \
|
||||
${docDir}_python*
|
||||
fi
|
||||
|
||||
# devel package
|
||||
packageEntries devel \
|
||||
$binDir/xml2-config \
|
||||
$dataDir \
|
||||
$developDir \
|
||||
$docDir \
|
||||
$manDir/man1/xml2-config.1 \
|
||||
$manDir/man3
|
||||
|
||||
# Remove stuff we don't need in the secondary architecture base package.
|
||||
if [ -n "$secondaryArchSuffix" ]; then
|
||||
rm -rf $binDir
|
||||
rm -rf $documentationDir
|
||||
else
|
||||
# left-over since all contents has been moved to other packages
|
||||
rmdir $(dirname $docDir)
|
||||
fi
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
make tests
|
||||
}
|
||||
|
||||
# ----- devel package ---------------------------------------------------------
|
||||
|
||||
PROVIDES_devel="
|
||||
libxml2${secondaryArchSuffix}_devel = $portVersion
|
||||
cmd:xml2_config$secondaryArchSuffix = $portVersion compat >= 2
|
||||
devel:libxml2$secondaryArchSuffix = $portVersion compat >= 2
|
||||
"
|
||||
REQUIRES_devel="
|
||||
libxml2$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
|
||||
# ----- python package -------------------------------------------------------
|
||||
|
||||
if $pythonModuleEnabled; then
|
||||
SUMMARY_python="The python module for libxml2"
|
||||
PROVIDES_python="
|
||||
libxml2_python = $portVersion
|
||||
"
|
||||
REQUIRES_python="
|
||||
libxml2 == $portVersion base
|
||||
cmd:python
|
||||
"
|
||||
fi
|
||||
|
||||
# ----- DESCRIPTION -----------------------------------------------------------
|
||||
|
||||
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.
|
||||
"
|
||||
@@ -1,33 +0,0 @@
|
||||
--- libxml2-2.9.0-orig/threads.c 2012-09-11 03:52:46.000000000 +0000
|
||||
+++ libxml2-2.9.0/threads.c 2013-02-12 20:44:23.000000000 +0000
|
||||
@@ -146,6 +146,7 @@
|
||||
static pthread_key_t globalkey;
|
||||
static pthread_t mainthread;
|
||||
static pthread_once_t once_control = PTHREAD_ONCE_INIT;
|
||||
+static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
|
||||
static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
|
||||
#elif defined HAVE_WIN32_THREADS
|
||||
#if defined(HAVE_COMPILER_TLS)
|
||||
@@ -915,7 +916,7 @@
|
||||
#ifdef HAVE_PTHREAD_H
|
||||
if ((libxml_is_threaded) && (pthread_key_delete != NULL))
|
||||
pthread_key_delete(globalkey);
|
||||
- once_control = PTHREAD_ONCE_INIT;
|
||||
+ once_control = once_control_init;
|
||||
#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
|
||||
if (globalkey != TLS_OUT_OF_INDEXES) {
|
||||
xmlGlobalStateCleanupHelperParams *p;
|
||||
--- libxml2-2.9.0-orig/configure.in 2012-09-11 03:52:46.053739520 +0000
|
||||
+++ libxml2-2.9.0/configure.in 2013-02-12 20:37:19.000000000 +0000
|
||||
@@ -988,6 +988,11 @@
|
||||
*beos*) WITH_THREADS="1"
|
||||
THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS"
|
||||
;;
|
||||
+ *haiku*) WITH_THREADS="1"
|
||||
+ THREAD_LIB=""
|
||||
+ AC_DEFINE([HAVE_PTHREAD_H], [], [Define if <pthread.h> is there])
|
||||
+ ;;
|
||||
+
|
||||
*linux*)
|
||||
if test "${GCC}" = "yes" ; then
|
||||
GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`
|
||||
126
dev-libs/libxml2/patches/libxml2-2.9.1.patchset
Normal file
126
dev-libs/libxml2/patches/libxml2-2.9.1.patchset
Normal file
@@ -0,0 +1,126 @@
|
||||
From 52a5d213a7c464b51c0259f855811ecda990e3c6 Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
||||
Date: Wed, 1 Jan 2014 22:13:22 +0100
|
||||
Subject: Port patches from libxml2-2.8.0.
|
||||
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index a4a9f87..40c06ee 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -1221,8 +1221,8 @@ pkgconfig_DATA = libxml-2.0.pc
|
||||
#
|
||||
# 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:
|
||||
diff --git a/configure.in b/configure.in
|
||||
index d449b11..8db6662 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -784,23 +784,23 @@ if test "$with_python" != "no" ; then
|
||||
fi
|
||||
if test "$PYTHON_VERSION" != "" -a "$PYTHON_INCLUDES" = ""
|
||||
then
|
||||
- if test -r $with_python/include/python$PYTHON_VERSION/Python.h
|
||||
+ if test -r $with_python/develop/headers/python$PYTHON_VERSION/Python.h
|
||||
then
|
||||
- PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
|
||||
+ PYTHON_INCLUDES=$with_python/develop/headers/python$PYTHON_VERSION
|
||||
else
|
||||
- if test -r $prefix/include/python$PYTHON_VERSION/Python.h
|
||||
+ if test -r $prefix/develop/headers/python$PYTHON_VERSION/Python.h
|
||||
then
|
||||
- PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
|
||||
+ PYTHON_INCLUDES=$prefix/develop/headers/python$PYTHON_VERSION
|
||||
else
|
||||
- if test -r /usr/include/python$PYTHON_VERSION/Python.h
|
||||
+ if test -r /usr/develop/headers/python$PYTHON_VERSION/Python.h
|
||||
then
|
||||
- PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
|
||||
+ PYTHON_INCLUDES=/usr/develop/headers/python$PYTHON_VERSION
|
||||
else
|
||||
- if test -r $with_python/include/Python.h
|
||||
+ if test -r $with_python/develop/headers/Python.h
|
||||
then
|
||||
- PYTHON_INCLUDES=$with_python/include
|
||||
+ PYTHON_INCLUDES=$with_python/develop/headers
|
||||
else
|
||||
- echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h
|
||||
+ echo could not find python$PYTHON_VERSION/Python.h or $with_python/develop/headers/Python.h
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -808,13 +808,13 @@ if test "$with_python" != "no" ; then
|
||||
fi
|
||||
if test "$PYTHON_VERSION" != "" -a "$PYTHON_SITE_PACKAGES" = ""
|
||||
then
|
||||
- if test -d $libdir/python$PYTHON_VERSION/site-packages
|
||||
+ if test -d $libdir/python$PYTHON_VERSION/vendor-packages
|
||||
then
|
||||
- PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
|
||||
+ PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/vendor-packages
|
||||
else
|
||||
- if test -d $with_python/lib/site-packages
|
||||
+ if test -d $with_python/lib/vendor-packages
|
||||
then
|
||||
- PYTHON_SITE_PACKAGES=$with_python/lib/site-packages
|
||||
+ PYTHON_SITE_PACKAGES=$with_python/lib/vendor-packages
|
||||
else
|
||||
PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
|
||||
fi
|
||||
diff --git a/python/Makefile.am b/python/Makefile.am
|
||||
index 34aed96..4695a16 100644
|
||||
--- a/python/Makefile.am
|
||||
+++ b/python/Makefile.am
|
||||
@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = 1.4 foreign
|
||||
|
||||
SUBDIRS = . tests
|
||||
|
||||
-docsdir = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)
|
||||
+docsdir = $(docsdir)_python-$(LIBXML_VERSION)
|
||||
dist_docs_DATA = TODO
|
||||
|
||||
EXTRA_DIST = \
|
||||
diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
|
||||
index 95ebead..64d9a4e 100644
|
||||
--- a/python/tests/Makefile.am
|
||||
+++ b/python/tests/Makefile.am
|
||||
@@ -1,4 +1,4 @@
|
||||
-exampledir = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)/examples
|
||||
+exampledir = $(dodir)_python-$(LIBXML_VERSION)/examples
|
||||
dist_example_DATA = $(PYTESTS) $(XMLS)
|
||||
|
||||
PYTESTS= \
|
||||
diff --git a/xml2-config.in b/xml2-config.in
|
||||
index 1957486..9c98a0e 100644
|
||||
--- a/xml2-config.in
|
||||
+++ b/xml2-config.in
|
||||
@@ -40,8 +40,8 @@ while test $# -gt 0; do
|
||||
case "$1" in
|
||||
--prefix=*)
|
||||
prefix=$optarg
|
||||
- includedir=$prefix/include
|
||||
- libdir=$prefix/lib
|
||||
+ includedir=$prefix/develop/headers
|
||||
+ libdir=$prefix/develop/lib
|
||||
;;
|
||||
|
||||
--prefix)
|
||||
@@ -50,7 +50,7 @@ while test $# -gt 0; do
|
||||
|
||||
--exec-prefix=*)
|
||||
exec_prefix=$optarg
|
||||
- libdir=$exec_prefix/lib
|
||||
+ libdir=$exec_prefix/develop/lib
|
||||
;;
|
||||
|
||||
--exec-prefix)
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
Reference in New Issue
Block a user