# Note that this is NOT a relocatable package %define ver 2.6.8 %define prefix %{_prefix} %define datadir %{prefix}/share Summary: Library providing XML and HTML support Name: libxml2 Version: %ver Release: 2 Copyright: MIT Group: Development/Libraries Source0: ftp://xmlsoft.org/libxml2-%{ver}.tar.bz2 Patch0: %{name}-aix.patch Patch1: %{name}-%{version}-nano_sec.patch BuildRoot: /var/tmp/libxml2-%{PACKAGE_VERSION}-root URL: http://xmlsoft.org/ Prefix: %{_prefix} %define DEFCC cc # Use --define 'no64 1' on the command line to disable 64bit build %{!?no64:%define BUILD64 1} %{?no64:%define BUILD64 0} %define prefix64 %{prefix}/64 %description This library allows to manipulate XML files. It includes support to read, modify and write XML and HTML files. There is DTDs support this includes parsing and validation even with complex DtDs, either at parse time or later once the document has been modified. The output can be a simple SAX stream or and in-memory DOM like representations. In this case one can use the built-in XPath and XPointer implementation to select subnodes or ranges. A flexible Input/Output mechanism is available, with existing HTTP and FTP modules and combined to an URI library. %package devel Summary: Libraries, includes, etc. to develop XML and HTML applications Group: Development/Libraries Requires: libxml2 = %{version} Requires: zlib-devel %description devel Libraries, include files, etc you can use to develop XML applications. This library allows to manipulate XML files. It includes support to read, modify and write XML and HTML files. There is DTDs support this includes parsing and validation even with complex DtDs, either at parse time or later once the document has been modified. The output can be a simple SAX stream or and in-memory DOM like representations. In this case one can use the built-in XPath and XPointer implementation to select subnodes or ranges. A flexible Input/Output mechanism is available, with existing HTTP and FTP modules and combined to an URI library. %prep %setup -q %patch0 -p0 -b .aix %patch1 -p0 -b .nano_sec %if %{BUILD64} == 1 # Prep 64-bit build in 64bit subdirectory ########################################## # Test whether we can run a 64bit command so we don't waste our time /usr/bin/locale64 >/dev/null 2>&1 mkdir 64bit cd 64bit bzip2 -dc %{SOURCE0} |tar -xf - cd %{name}-%{version} %patch0 -p0 -b .aix %patch1 -p0 -b .nano_sec %endif %build # Use the default compiler for this platform - gcc otherwise if [[ -z "$CC" ]] then if test "X`type %{DEFCC} 2>/dev/null`" != 'X'; then export CC=%{DEFCC} else export CC=gcc fi fi if test "X$CC" != "Xgcc" then export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's:-fsigned-char::'` export CFLAGS="$RPM_OPT_FLAGS" fi export OBJECT_MODE=32 # just to be sure # Needed for snapshot releases. if [ ! -f configure ]; then CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix --sysconfdir="/etc" \ --mandir=%datadir/man --with-html-dir=%prefix/doc --disable-static else CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --sysconfdir="/etc" \ --mandir=%datadir/man --with-html-dir=%prefix/doc --disable-static fi make %if %{BUILD64} == 1 # Now build again as 64bit ########################### cd 64bit/%{name}-%{version} export OBJECT_MODE=64 # Needed for snapshot releases. if [ ! -f configure ]; then CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix --sysconfdir="/etc" \ --mandir=%datadir/man --with-html-dir=%prefix/doc --disable-static \ --without-python else CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --sysconfdir="/etc" \ --mandir=%datadir/man --with-html-dir=%prefix/doc --disable-static \ --without-python fi make # Go back to 32-bit library and add our 64bit shared object # into same archive cd ../../.libs /usr/bin/ar -q libxml2.a ../64bit/%{name}-%{version}/.libs/libxml2.so.2 %endif #BUILD64 %install rm -rf $RPM_BUILD_ROOT export OBJECT_MODE=32 # just to be sure install -d $RPM_BUILD_ROOT%{datadir}/man/man1 install -d $RPM_BUILD_ROOT%{datadir}/man/man4 make DESTDIR=$RPM_BUILD_ROOT prefix=%{prefix} mandir=%{datadir}/man install ( cd $RPM_BUILD_ROOT /usr/bin/strip $RPM_BUILD_ROOT%{prefix}/bin/* || : for dir in bin include lib do mkdir -p usr/$dir cd usr/$dir ln -sf ../..%{prefix}/$dir/* . cd - done ) %if %{BUILD64} == 1 #Add links for 64-bit library members ( mkdir -p $RPM_BUILD_ROOT/%{prefix64}/lib cd $RPM_BUILD_ROOT/%{prefix64}/lib ln -s ../../lib/*.a . ) %endif %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-, root, system) %doc AUTHORS ChangeLog NEWS README COPYING TODO Copyright %doc %{prefix}/share/man/man1/* %doc %{prefix}/share/man/man3/* %{prefix}/lib/lib*.a %{prefix}/bin/xmllint %{prefix}/bin/xmlcatalog #links /usr/lib/lib*.a /usr/bin/xmllint /usr/bin/xmlcatalog %if %{BUILD64} == 1 %attr(755,bin,bin) %dir %{prefix64} %attr(755,bin,bin) %dir %{prefix64}/lib %{prefix64}/lib/lib*.a %endif %files devel %defattr(-, root, system) %doc %{prefix}/share/man/man1/xml2-config.1* %doc doc/*.html doc/html %{prefix}/lib/lib*.la %{prefix}/lib/*.sh %{prefix}/include/* %{prefix}/bin/xml2-config %{prefix}/share/aclocal/libxml.m4 %{prefix}/lib/pkgconfig/libxml-2.0.pc /usr/lib/lib*.la /usr/lib/*.sh /usr/include/* /usr/bin/xml2-config %changelog * Tue Nov 30 2004 David Clissold 2.6.8-2 - Backport nanoftp/nanohttp security patch from 2.6.15. * Wed Apr 14 2004 David Clissold 2.6.8-1 - Update to version 2.6.8 * Mon Feb 23 2004 David Clissold 2.5.11-2 - Build 64-bit object member * Thu Oct 23 2003 David Clissold - Update to 2.5.11 * Thu Jun 12 2003 David Clissold - Update to 2.5.7 * Mon Aug 26 2002 Chris Tysor - Update to 2.4.24 * Mon Apr 15 2002 Reza Arbab - 2.4.19 * Sat Feb 09 2002 David Clissold - strip the binaries. * Thu Feb 07 2002 David Clissold - remove fp40* testcase and results from tar image, per copyright risk. * Wed Aug 29 2001 Reza Arbab - Modified for AIX freeware distribution. * Thu Apr 26 2001 Toshio Kuratomi [2.3.7] - Added libxml.m4 to the distribution file list - Moved the man pages from /usr/man to /usr/share/man to conform to FHS2.0 - Moved programmer documentation into the devel package * Thu Sep 23 1999 Daniel Veillard - corrected the spec file alpha stuff - switched to version 1.7.1 - Added validation, XPath, nanohttp, removed memory leaks - Renamed CHAR to xmlChar * Wed Jun 2 1999 Daniel Veillard - Switched to version 1.1: SAX extensions, better entities support, lots of bug fixes. * Sun Oct 4 1998 Daniel Veillard - Added xml-config to the package * Thu Sep 24 1998 Michael Fulbright - Built release 0.30