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