libxml2: add recipe for version 2.9.2

This commit is contained in:
Jerome Duval
2014-11-22 20:26:35 +00:00
parent 0c2011625c
commit bb45df5694
2 changed files with 293 additions and 0 deletions

View File

@@ -0,0 +1,180 @@
SUMMARY="The XML C parser and toolkit of Gnome"
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.
"
HOMEPAGE="http://www.xmlsoft.org/"
LICENSE="MIT"
COPYRIGHT="1998-2013 Daniel Veillard. All Rights Reserved."
SRC_URI="ftp://xmlsoft.org/libxml2/libxml2-$portVersion.tar.gz"
CHECKSUM_SHA256="5178c30b151d044aefb1b08bf54c3003a0ac55c59c866763997529d60770d5bc"
REVISION="1"
ARCHITECTURES="!x86_gcc2 !x86 x86_64"
SECONDARY_ARCHITECTURES="!x86_gcc2 !x86"
PATCHES="libxml2-$portVersion.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 >= 2.7
"
# 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
cmd:pkg_config$secondaryArchSuffix
"
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
runConfigure ./configure LDFLAGS="-lnetwork" \
--with-html-dir=$docDir/html \
--with-html-subdir="" \
$withPython
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
devel:libz$secondaryArchSuffix
"
# ----- 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

View File

@@ -0,0 +1,113 @@
From 568b086913f12cf60bf6b2f0e76758d0956fa34f 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 70720f3..c617e0d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1225,8 +1225,8 @@ cmake_DATA = libxml2-config.cmake
#
# 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.ac b/configure.ac
index 14ac0a8..33d9f8d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -853,23 +853,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
@@ -881,13 +881,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/tests/Makefile.am b/python/tests/Makefile.am
index 95ebead..81222d9 100644
--- a/python/tests/Makefile.am
+++ b/python/tests/Makefile.am
@@ -1,4 +1,4 @@
-exampledir = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)/examples
+exampledir = $(docdir)_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