mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-16 00:30:06 +02:00
The previous patch for 2.8.0 didn't actually work at all, as HAIKU was not defined. Also moved the nested function to its own local function, as was running into weird crashes otherwise.
181 lines
4.7 KiB
Bash
181 lines
4.7 KiB
Bash
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
|
|
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
|
|
haiku_devel
|
|
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 --add-missing
|
|
|
|
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
|
|
|