File xalan-c.spec of Package xalan-c

#
# spec file for package xalan-c
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           xalan-c
BuildRequires:  Xerces-c-devel
BuildRequires:  gcc-c++
BuildRequires:  libicu-devel
Version:        1.11
Release:        0
%define tarver  %{version}
Summary:        An XSLT Transformation Engine in C++
License:        Apache-2.0
Group:          Productivity/Publishing/XML
Url:            http://xml.apache.org/xalan-c/
Source:         http://www.eu.apache.org/dist/xalan/xalan-c/sources/xalan_c-%{tarver}-src.tar.gz
Patch1:         %{name}-%{version}-lib64.patch
Patch2:         %{name}-%{version}-fixes.patch
Patch3:         %{name}-%{version}-optflags.patch
Patch4:         %{name}-%{version}-gcc4.patch
Patch5:         %{name}-%{version}-fix_build.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Provides:       Xalan-C = 1.11
Obsoletes:      Xalan-C <= 1.11

%description
Xalan is an XSL processor for transforming XML documents into HTML,
text, or other XML document types. Xalan-C++ represents an almost
complete and robust C++ reference implementation of the W3C
Recommendations for XSL Transformations (XSLT) and the XML Path
Language (XPath).

%package -n libxalan-c111
# Requires:       Xalan-c = %{version}
Summary:        An XSLT Transformation Engine in C++
Group:          System/Libraries
Provides:       libXalan-c111 = 1.11
Obsoletes:      libXalan-c111 <= 1.11

%description -n libxalan-c111
Xalan is an XSL processor for transforming XML documents into HTML,
text, or other XML document types. Xalan-C++ represents an almost
complete and robust C++ reference implementation of the W3C
Recommendations for XSL Transformations (XSLT) and the XML Path
Language (XPath).

%package -n libxalan-c-devel
Requires:       libxalan-c111 = %{version}
Provides:       Xalan-c-devel = 1.9
Obsoletes:      Xalan-c-devel <= 1.9
Provides:       libXalan-c-devel = 1.11
Obsoletes:      libXalan-c-devel <= 1.11
Summary:        An XSLT Transformation Engine in C++ - Development Files
Group:          Development/Libraries/C and C++

%description -n libxalan-c-devel
Xalan is an XSL processor for transforming XML documents into HTML,
text, or other XML document types. Xalan-C++ represents an almost
complete and a robust C++ reference implementation of the W3C
Recommendations for XSL Transformations (XSLT) and the XML Path
Language (XPath).

This package contains files needed for development with Xalanc

%prep
%setup -q -n xalan-c-%{version}
%patch1
%patch2
%patch3
%patch4
%patch5

%build
# This package failed when testing with -Wl,-as-needed being default.
# So we disable it here, if you want to retest, just delete this comment and the line below.
export SUSE_ASNEEDED=0
DIRS=$(find -type d)
[ -f configure.in ] && autoreconf -f -i  # libtoolize --copy --force
export XERCESCROOT=%{_prefix}
export XALANCROOT=$RPM_BUILD_DIR/xalan-c-%{version}/c
export ICUROOT=%{_prefix}
export RPM_OPT_FLAGS
cd c
chmod a+x runConfigure
chmod a+x conf*
%ifarch alpha ppc64 s390x sparc64 x86_64
BITSTOBUILD=64
%else
BITSTOBUILD=32
%endif
./runConfigure -p linux -c gcc -x g++ -t icu -m inmem -b "$BITSTOBUILD" -P %{_prefix} -C --libdir -C %{_libdir}
# Parallel build is broken, disable it for now
make
make samples
make tests

%install
export XERCESCROOT=%{_prefix}
export XALANCROOT=$RPM_BUILD_DIR/xalan-c-%{version}/c
export ICUROOT=%{_prefix}
pushd c
mkdir -p $RPM_BUILD_ROOT%{_bindir}
install -m 755 bin/* $RPM_BUILD_ROOT%{_bindir}
ln -s testXSLT $RPM_BUILD_ROOT%{_bindir}/xsl-c
ln -s testXPath $RPM_BUILD_ROOT%{_bindir}/xpath-c
echo PREFIX=$RPM_BUILD_ROOT%{_prefix} >> Makefile.incl
echo prefix=$RPM_BUILD_ROOT%{_prefix} >> Makefile.incl
echo libdir=$RPM_BUILD_ROOT%{_libdir} >> Makefile.incl
echo "XSL_LIB_DIR=\${OUTDIR}/%{_lib}" >> Makefile.incl
echo "ICULIB_LOC=\${ICUROOT}/%{_lib}" >> Makefile.incl
make install
rm -f $RPM_BUILD_ROOT%{_libdir}/libicu*
popd

%post   -n libxalan-c111 -p /sbin/ldconfig

%postun -n libxalan-c111 -p /sbin/ldconfig

%files
%defattr(-, root, root)
%doc c/LICENSE
%{_bindir}/*

%files -n libxalan-c111
%defattr(-, root, root)
%{_libdir}/*.so.*

%files -n libxalan-c-devel
%defattr(-,root,root)
%{_includedir}/xalanc/
%{_libdir}/*.so

%changelog
openSUSE Build Service is sponsored by