mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 12:10:06 +02:00
libxml2: add recipe for version 2.9.2
This commit is contained in:
180
dev-libs/libxml2/libxml2-2.9.2.recipe
Normal file
180
dev-libs/libxml2/libxml2-2.9.2.recipe
Normal 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
|
||||
|
||||
Reference in New Issue
Block a user