ocaml-mccs/ocaml-mccs.spec

83 lines
2.4 KiB
RPMSpec

%global extraver 3b
Name: ocaml-mccs
Version: 1.1
Release: 2.%{extraver}%{?dist}
Summary: Multi Criteria CUDF Solver with OCaml bindings
%global libname %(echo %{name} | sed -e 's/^ocaml-//')
# Original C/C++ code is BSD, OCaml bindings are LGPL.
# Linking exception, see included COPYING file.
License: BSD and LGPLv3+ with exceptions
URL: https://github.com/AltGr/ocaml-mccs
# Upstream's use of a '+' instead of a '.' makes this hard to use a macro.
Source0: https://github.com/AltGr/ocaml-mccs/archive/%{version}+%{extraver}/%{name}-%{version}.tar.gz
BuildRequires: ocaml
BuildRequires: jbuilder
BuildRequires: gcc
BuildRequires: ocaml-findlib-devel
BuildRequires: ocaml-cudf-devel
BuildRequires: glpk-devel
%description
mccs (which stands for Multi Criteria CUDF Solver) is a CUDF problem
solver developed at UNS during the European MANCOOSI project.
This project contains a stripped-down version of the mccs solver,
taken from snapshot 1.1, with a binding as an OCaml library, and
building with jbuilder.
The binding enables interoperation with binary CUDF data from the
OCaml CUDF library, and removes the native C++ parsers and printers.
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and signature files for
developing applications that use %{name}.
%prep
%autosetup -n %{name}-%{version}-%{extraver}
%build
jbuilder build -p mccs %{?_smp_mflags}
%install
# This is an opam dependency. Tragically it means we must manually install,
# since the jbuilder install command only works with opam-installer.
mkdir -p %{buildroot}%{_libdir}/ocaml
cp -aLr _build/install/default/lib/* %{buildroot}%{_libdir}/ocaml/
%files
%license LICENCE
%doc README.md
%{_libdir}/ocaml/%{libname}
%ifarch %{ocaml_native_compiler}
%exclude %{_libdir}/ocaml/*/*.a
%exclude %{_libdir}/ocaml/*/*.cmx
%exclude %{_libdir}/ocaml/*/*.cmxa
%endif
%exclude %{_libdir}/ocaml/*/*.mli
%{_libdir}/ocaml/stublibs/*.so
%files devel
%ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/*/*.a
%{_libdir}/ocaml/*/*.cmx
%{_libdir}/ocaml/*/*.cmxa
%endif
%{_libdir}/ocaml/*/*.mli
%changelog
* Sun Oct 22 2017 Ben Rosser <rosser.bjr@gmail.com> - 1.1-2.3b
- Update to latest upstream release.
* Sat Sep 02 2017 Ben Rosser <rosser.bjr@gmail.com> - 1.1-1.2c
- Initial package.