File ocaml-findlib.spec of Package ocaml-findlib

#
# spec file for package ocaml-findlib
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2010-2011 Andrew Psaltis <ampsaltis at gmail dot com>
#
# 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/
#


%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
%if !%opt
# get rid of /usr/lib/rpm/find-debuginfo.sh
# strip kills the bytecode part of ELF binaries
# see also NO_BRP_STRIP_DEBUG in install section
%undefine _build_create_debug
%endif

Name:           ocaml-findlib
Version:        1.3.3
Release:        0
Summary:        Objective CAML package manager and build helper
License:        MIT
Group:          Development/Libraries/Other

Url:            http://projects.camlcity.org/projects/findlib.html
Source0:        findlib-%{version}.tar.xz
Patch0:         findlib-1.3.3.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

Provides:       ocamlfind = %{version}

BuildRequires:  gawk
BuildRequires:  m4
BuildRequires:  ncurses-devel
BuildRequires:  ocaml
BuildRequires:  ocaml-camlp4-devel
BuildRequires:  ocaml-ocamldoc

%description
Findlib is a library manager for Objective Caml. It provides a
convention how to store libraries, and a file format ("META") to
describe the properties of libraries. There is also a tool (ocamlfind)
for interpreting the META files, so that it is very easy to use
libraries in programs and scripts.


%package        devel
Summary:        Development files for ocaml-findlib
Group:          Development/Libraries/Other
Requires:       %{name} = %{version}

%description    devel
The ocaml-findlib-devel package contains libraries and signature files
for developing applications that use ocaml-findlib.


%prep
%setup -q -n findlib-%{version}
%patch0 -p1

%build
(cd tools/extract_args && make)
tools/extract_args/extract_args -o src/findlib/ocaml_args.ml ocamlc ocamlcp ocamlmktop ocamlopt ocamldep ocamldoc ||:
#cat src/findlib/ocaml_args.ml
./configure -config %{_sysconfdir}/ocamlfind.conf \
  -bindir %{_bindir} \
  -sitelib `ocamlc -where` \
  -mandir %{_mandir} \
  -with-toolbox
make all
%if %opt
make opt
%endif
rm doc/guide-html/TIMESTAMP

%install
%if !%opt
# get rid of /usr/lib/rpm/brp-strip-debug 
# strip kills the bytecode part of ELF binaries
export NO_BRP_STRIP_DEBUG=true
%endif
make install DESTDIR=$RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%doc LICENSE doc/README
%config(noreplace) %{_sysconfdir}/ocamlfind.conf
%{_bindir}/*
%{_mandir}/man?/*
%{_libdir}/ocaml/bigarray
%{_libdir}/ocaml/dbm
%{_libdir}/ocaml/dynlink
%{_libdir}/ocaml/graphics
%{_libdir}/ocaml/num
%{_libdir}/ocaml/stdlib
%{_libdir}/ocaml/str
%{_libdir}/ocaml/unix
%{_libdir}/ocaml/camlp4
%{_libdir}/ocaml/ocamlbuild
%{_libdir}/ocaml/threads
%{_libdir}/ocaml/topfind
%{_libdir}/ocaml/findlib
%{_libdir}/ocaml/compiler-libs
%if %opt
%exclude %{_libdir}/ocaml/findlib/*.a
%exclude %{_libdir}/ocaml/findlib/*.cmxa
%endif
%exclude %{_libdir}/ocaml/findlib/*.mli
%exclude %{_libdir}/ocaml/findlib/Makefile.config
%{_libdir}/ocaml/num-top

%files devel
%defattr(-,root,root,-)
%doc LICENSE doc/README doc/guide-html
%if %opt
%{_libdir}/ocaml/findlib/*.a
%{_libdir}/ocaml/findlib/*.cmxa
%endif
%{_libdir}/ocaml/findlib/*.mli
%{_libdir}/ocaml/findlib/Makefile.config

%changelog
openSUSE Build Service is sponsored by