%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) %define debug_package %{nil} Name: ocaml-gettext Version: 0.3.3 Release: 6%{?dist} Summary: OCaml library for i18n Group: Development/Libraries License: LGPLv2+ with exceptions URL: http://sylvain.le-gall.net/ocaml-gettext.html Source0: http://sylvain.le-gall.net/download/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) ExcludeArch: sparc64 s390 s390x # Fix for camomile 0.8. Sent upstream on 2011-01-06. Patch0: ocaml-gettext-0.3.3-with-camomile-0.8.patch BuildRequires: ocaml >= 3.12.0-3 BuildRequires: ocaml-findlib-devel >= 1.2.1-3 BuildRequires: ocaml-ocamldoc BuildRequires: ocaml-camlp4-devel BuildRequires: ocaml-fileutils-devel >= 0.4.0 BuildRequires: ocaml-ounit-devel BuildRequires: docbook-style-xsl BuildRequires: libxslt BuildRequires: libxml2 BuildRequires: chrpath BuildRequires: autoconf # When https://bugzilla.redhat.com/show_bug.cgi?id=438486 is fixed # we can remove the ifarch ppc64 stuff in this file. In the meantime # we have to build without camomile on ppc64. %ifnarch ppc64 BuildRequires: ocaml-camomile-devel >= 0.8.1 BuildRequires: ocaml-camomile-data %endif # ocaml-gettext program needs camomile data files, but only if it was # compiled with camomile (hence not on ppc64 - see above). BZ 446919. %ifnarch ppc64 Requires: ocaml-camomile-data %endif %define _use_internal_dependency_generator 0 %define __find_requires /usr/lib/rpm/ocaml-find-requires.sh -i Asttypes -i Parsetree %define __find_provides /usr/lib/rpm/ocaml-find-provides.sh -i Pr_gettext %description Ocaml-gettext provides support for internationalization of Ocaml programs. Constraints : * provides a pure Ocaml implementation, * the API should be as close as possible to GNU gettext, * provides a way to automatically extract translatable strings from Ocaml source code. %package devel Summary: Development files for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} # BZ 446919. Requires: ocaml-fileutils-devel >= 0.4.0 %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %ifnarch ppc64 %package camomile Summary: Parts of %{name} which depend on Camomile Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description camomile The %{name}-camomile package contains the parts of %{name} which depend on Camomile. %package camomile-devel Summary: Development files for %{name}-camomile Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} %description camomile-devel The %{name}-camomile-devel package contains libraries and signature files for developing applications that use %{name}-camomile. %endif %prep %setup -q %patch0 -p1 %build %ifnarch ppc64 CFLAGS="$RPM_OPT_FLAGS" \ ./configure \ --libdir=%{_libdir} \ --with-docbook-stylesheet=/usr/share/sgml/docbook/xsl-stylesheets \ --enable-test %else CFLAGS="$RPM_OPT_FLAGS" \ ./configure \ --libdir=%{_libdir} \ --disable-camomile \ --with-docbook-stylesheet=/usr/share/sgml/docbook/xsl-stylesheets %endif make %check %ifnarch ppc64 pushd test ../_build/bin/test popd %endif %install rm -rf $RPM_BUILD_ROOT # make install in the package is screwed up completely. Install # by hand instead. export DESTDIR=$RPM_BUILD_ROOT export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs mkdir -p $RPM_BUILD_ROOT%{_bindir} # Remove *.o files - these shouldn't be distributed. find _build -name '*.o' -exec rm {} \; ocamlfind install gettext _build/lib/gettext/* ocamlfind install gettext-stub _build/lib/gettext-stub/* %ifnarch ppc64 ocamlfind install gettext-camomile _build/lib/gettext-camomile/* %endif install -m 0755 _build/bin/ocaml-gettext $RPM_BUILD_ROOT%{_bindir}/ install -m 0755 _build/bin/ocaml-xgettext $RPM_BUILD_ROOT%{_bindir}/ strip $OCAMLFIND_DESTDIR/stublibs/dll*.so chrpath --delete $OCAMLFIND_DESTDIR/stublibs/dll*.so strip $RPM_BUILD_ROOT%{_bindir}/ocaml-gettext %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc COPYING %{_libdir}/ocaml/gettext %{_libdir}/ocaml/gettext-stub %if %opt %exclude %{_libdir}/ocaml/gettext/*.a %exclude %{_libdir}/ocaml/gettext/*.cmxa %exclude %{_libdir}/ocaml/gettext/*.cmx %exclude %{_libdir}/ocaml/gettext-stub/*.a %exclude %{_libdir}/ocaml/gettext-stub/*.cmxa %exclude %{_libdir}/ocaml/gettext-stub/*.cmx %endif %exclude %{_libdir}/ocaml/gettext/*.ml %exclude %{_libdir}/ocaml/gettext/*.mli %exclude %{_libdir}/ocaml/gettext-stub/*.ml %{_libdir}/ocaml/stublibs/*.so %{_libdir}/ocaml/stublibs/*.so.owner %files devel %defattr(-,root,root,-) %doc README CHANGELOG TODO # %doc build/share/doc/html/* %if %opt %{_libdir}/ocaml/gettext/*.a %{_libdir}/ocaml/gettext/*.cmxa %{_libdir}/ocaml/gettext/*.cmx %{_libdir}/ocaml/gettext-stub/*.a %{_libdir}/ocaml/gettext-stub/*.cmxa %{_libdir}/ocaml/gettext-stub/*.cmx %endif %{_libdir}/ocaml/gettext/*.ml %{_libdir}/ocaml/gettext/*.mli %{_libdir}/ocaml/gettext-stub/*.ml %{_bindir}/ocaml-gettext %{_bindir}/ocaml-xgettext %ifnarch ppc64 %files camomile %defattr(-,root,root,-) %doc COPYING %{_libdir}/ocaml/gettext-camomile %if %opt %exclude %{_libdir}/ocaml/gettext-camomile/*.a %exclude %{_libdir}/ocaml/gettext-camomile/*.cmxa %exclude %{_libdir}/ocaml/gettext-camomile/*.cmx %endif %exclude %{_libdir}/ocaml/gettext-camomile/*.mli %files camomile-devel %defattr(-,root,root,-) %doc README %if %opt %{_libdir}/ocaml/gettext-camomile/*.a %{_libdir}/ocaml/gettext-camomile/*.cmxa %{_libdir}/ocaml/gettext-camomile/*.cmx %endif %{_libdir}/ocaml/gettext-camomile/*.mli %endif %changelog * Tue Feb 08 2011 Fedora Release Engineering - 0.3.3-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Thu Jan 6 2011 Richard W.M. Jones - 0.3.3-5 - Add patch for compiling against camomile 0.8. * Wed Jan 05 2011 Richard W.M. Jones - 0.3.3-4 - Rebuild for OCaml 3.12 (http://fedoraproject.org/wiki/Features/OCaml3.12). * Mon Jan 11 2010 Richard W.M. Jones - 0.3.3-3 - Remove BR ocaml-camlidl. No longer required to build this. * Wed Dec 30 2009 Richard W.M. Jones - 0.3.3-2 - Rebuild for OCaml 3.11.2. * Mon Nov 2 2009 Richard W.M. Jones - 0.3.3-1 - New upstream release 0.3.3 (mainly small bugfixes). - This requires ocaml-fileutils 0.4.0 and is incompatible with any earlier version. - Fixed a number of rpmlint warnings with *.ml files in the non-devel package. * Sat Jul 25 2009 Fedora Release Engineering - 0.3.2-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sat May 23 2009 Richard W.M. Jones - 0.3.2-8 - Rebuild for OCaml 3.11.1 * Thu Apr 16 2009 S390x secondary arch maintainer - ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs (added sparc64 per request from the sparc maintainer) * Wed Feb 25 2009 Fedora Release Engineering - 0.3.2-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Dec 5 2008 Richard W.M. Jones - 0.3.2-6 - Patch to temporarily fix missing dynlink.cma. - Rebuild for OCaml 3.11.0. * Wed Nov 26 2008 Richard W.M. Jones - 0.3.2-5 - Rebuild for OCaml 3.11.0+rc1. * Wed Nov 19 2008 Richard W.M. Jones - 0.3.2-4 - Rebuild for OCaml 3.11.0 * Mon Jun 9 2008 Richard W.M. Jones - 0.3.2-2 - Need to disable tests on ppc64 as well since the tests only work with gettext-camomile. * Mon Jun 9 2008 Richard W.M. Jones - 0.3.2-1 - New upstream release 0.3.2 (fixeds rhbz 446916). * Tue May 27 2008 Richard W.M. Jones - 0.3.1-3 - Enable tests, add check section. * Tue May 27 2008 Richard W.M. Jones - 0.3.1-2 - Patch to fix BZ 446916. * Tue May 27 2008 Richard W.M. Jones - 0.3.1-1 - New upstream version 0.3.1. - Extra runtime requirements (BZ 446919). * Wed Apr 30 2008 Richard W.M. Jones - 0.3.0-1 - New upstream version 0.3.0. - Big patch no longer required (integrated with upstream). - findlib < 1.2.1-3 known not to work with this. - build/ -> _build/ - Re-enable documentation. - Prevent *.o files from being distributed. - Distribute *.cmx and *.mli files. * Sat Apr 26 2008 Richard W.M. Jones - 0.2.0-3.20080321patch - Change the naming scheme to conform with "Snapshot packages" guideline. - Don't duplicate all the docs in camomile-devel. - Disable documentation. Wants 'fop', but 'fop' throws a giant Java exception when present. * Thu Apr 17 2008 Richard W.M. Jones - 0.2.0-2rwmj20080321 - Build camomile subpackages because the camomile dependency is rather large. However we can't build camomile on ppc64 yet so don't build those subpackages there. * Fri Mar 21 2008 Richard W.M. Jones - 0.2.0-1rwmj20080321 - Initial RPM release.