Name: xsd Version: 3.2.0 Release: 5%{?dist} Summary: W3C XML schema to C++ data binding compiler Group: Development/Tools # Exceptions permit otherwise GPLv2 incompatible combination with ASL 2.0 License: GPLv2 with exceptions and ASL 2.0 URL: http://www.codesynthesis.com/products/xsd/ Source0: http://www.codesynthesis.com/download/xsd/3.2/xsd-%{version}+dep.tar.bz2 Patch0: xsd-3.2.0-xsdcxx-rename.patch Patch1: xsd-3.2.0-manfix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: m4 boost-devel xerces-c-devel # Requires: ace-devel - only needed for applications using # Adaptive Communication Environment (ACE) streams, # enable when Fedora gets ACE packages. # See http://www.cs.wustl.edu/~schmidt/ACE.html and # https://bugzilla.redhat.com/show_bug.cgi?id=450164 Requires: xerces-c-devel %description CodeSynthesis XSD is an open-source, cross-platform W3C XML Schema to C++ data binding compiler. Provided with an XML instance specification (XML Schema), it generates C++ classes that represent the given vocabulary as well as parsing and serialization code. You can then access the data stored in XML using types and functions that semantically correspond to your application domain rather than dealing with intricacies of reading and writing XML. %package doc Group: Documentation Summary: API documentation files for %{name} %description doc This package contains API documentation for %{name}. %prep %setup -q -n xsd-%{version}+dep pushd xsd-* %patch0 -p1 -b .xsdcxx-rename %patch1 -p1 -b .manfix popd %build MAKEFLAGS="verbose=1" CXXFLAGS=$RPM_OPT_FLAGS ./build.sh %install rm -rf $RPM_BUILD_ROOT rm -rf apidocdir MAKEFLAGS="install_prefix=$RPM_BUILD_ROOT%{_prefix}" ./build.sh install # Split API documentation to -doc subpackage. mkdir apidocdir mv $RPM_BUILD_ROOT%{_datadir}/doc/xsd/*.{xhtml,css} apidocdir/ mv $RPM_BUILD_ROOT%{_datadir}/doc/xsd/cxx/ apidocdir/ mv $RPM_BUILD_ROOT%{_datadir}/doc/xsd/ docdir/ # Convert to utf-8. for file in docdir/NEWS; do mv $file timestamp iconv -f ISO-8859-1 -t UTF-8 -o $file timestamp touch -r timestamp $file done # Rename binary to xsdcxx to avoid conflicting with mono-web package. mv $RPM_BUILD_ROOT%{_bindir}/xsd $RPM_BUILD_ROOT%{_bindir}/xsdcxx mv $RPM_BUILD_ROOT%{_mandir}/man1/xsd.1 $RPM_BUILD_ROOT%{_mandir}/man1/xsdcxx.1 # Remove duplicate docs. rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libxsd # Remove Microsoft Visual C++ compiler helper files. rm -rf $RPM_BUILD_ROOT%{_includedir}/xsd/cxx/compilers # Remove redundant PostScript files that rpmlint grunts about not being UTF8 # See: https://bugzilla.redhat.com/show_bug.cgi?id=502024#c27 # for Boris Kolpackov's explanation about those find apidocdir -name "*.ps" | xargs rm -f # Remove other unwanted crap find apidocdir -name "*.doxygen" \ -o -name "makefile" \ -o -name "*.html2ps" | xargs rm -f %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc docdir/* %{_bindir}/xsdcxx %{_includedir}/xsd/ %{_mandir}/man1/xsdcxx.1* %files doc %defattr(-,root,root,-) %doc apidocdir/* %changelog * Mon Jul 27 2009 Fedora Release Engineering - 3.2.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Tue Jul 07 2009 Antti Andreimann 3.2.0-4 - Removed redundant PostScript files from the doc package * Mon Jul 06 2009 Antti Andreimann 3.2.0-3 - Added ACE homepage to SPEC file comments - Added verbose=1 to MAKEFLAGS so compiler flags could be verified from build logs. * Mon Jul 04 2009 Antti Andreimann 3.2.0-2 - Changed License tag to clarify which exceptions we are talking about * Wed May 20 2009 Antti Andreimann 3.2.0-1 - Initial RPM release.