1 |
%global pre_tag beta6 |
2 |
|
3 |
Name: opam |
4 |
Version: 2.0.0 |
5 |
Release: %mkrel 1 |
6 |
Summary: A source-based package manager for OCaml |
7 |
License: LGPLv3 |
8 |
Group: Development/OCaml |
9 |
URL: http://opam.ocamlpro.com/ |
10 |
Source0: https://github.com/ocaml/opam/archive/%{version}-%{pre_tag}/%{name}-%{version}-%{pre_tag}.tar.gz |
11 |
BuildRequires: ocaml-compiler |
12 |
BuildRequires: ocaml-camlp4-devel |
13 |
BuildRequires: hevea |
14 |
BuildRequires: ocaml-findlib-devel |
15 |
BuildRequires: ocaml-ocamlbuild |
16 |
BuildRequires: ocaml-cudf-devel |
17 |
BuildRequires: ocaml-ocamlgraph-devel |
18 |
BuildRequires: ocaml-cmdliner-devel |
19 |
BuildRequires: ocaml-ocamlgraph-devel |
20 |
BuildRequires: ocaml-re-devel |
21 |
BuildRequires: ocaml-cudf-devel |
22 |
BuildRequires: ocaml-opam-file-format-devel |
23 |
BuildRequires: ocaml-dose3-devel |
24 |
BuildRequires: ocaml-extlib-devel |
25 |
#BuildRequires: ocaml-mccs-devel |
26 |
BuildRequires: ocaml-camlzip-devel |
27 |
BuildRequires: ocaml-result-devel |
28 |
BuildRequires: glpk-devel |
29 |
BuildRequires: zlib-devel |
30 |
BuildRequires: jbuilder |
31 |
BuildRequires: git |
32 |
|
33 |
%description |
34 |
OPAM stands for OCaml PAckage Manager. |
35 |
It aims to suit to a vast number of users and use cases, |
36 |
and has unique features: |
37 |
|
38 |
* Powerful handling of dependencies: |
39 |
versions constraints, optional dependencies, conflicts, etc. |
40 |
* Multiple repositories backends: HTTP, rsync, git |
41 |
* Ease to create packages and repositories |
42 |
* Ability to switch between different compiler versions |
43 |
|
44 |
Typically, OPAM will probably make your life easier if you recognize |
45 |
yourself in at least one of these profiles: |
46 |
|
47 |
* You use multiple versions of the OCaml compiler, or you hack the |
48 |
compiler yourself and needs to frequently switch between compiler |
49 |
versions. |
50 |
* You use or develop software that needs a specific and/or modified |
51 |
version of the OCaml compiler to be installed. |
52 |
* You use or develop software that depends on a specific version of an |
53 |
OCaml library, or you just want to install a specific version of a |
54 |
package, not just the latest one. |
55 |
* You want to create your own packages yourself, put them on your own |
56 |
repository, with minimal effort. |
57 |
|
58 |
%package doc |
59 |
Summary: Documentation files for %{name} |
60 |
Group: Documentation |
61 |
Requires: %{name} = %{version}-%{release} |
62 |
|
63 |
%description doc |
64 |
The %{name}-doc package contains documentation for using %{name}. |
65 |
|
66 |
%prep |
67 |
%autosetup -p1 -n %{name}-%{version}-%{pre_tag} |
68 |
|
69 |
%build |
70 |
%configure2_5x |
71 |
sed 's/OPAMINSTALLER_FLAGS=/OPAMINSTALLER_FLAGS+=/g' -i Makefile |
72 |
|
73 |
# Parallel build does not succeed. |
74 |
make |
75 |
make man |
76 |
pushd doc/dev-manual/ |
77 |
make html |
78 |
make clean |
79 |
popd |
80 |
|
81 |
%install |
82 |
# The makefile looks like it tries to invoke ocamlfind but only if DESTDIR |
83 |
# isn't set. If it is set (which it is) LIBINSTALLDIR must be set too |
84 |
# for installing opam-installer metadata. |
85 |
%make_install LIBINSTALL_DIR=%{buildroot}/%{_libdir}/ocaml |
86 |
|
87 |
# However it looks like some (extra) documentation gets |
88 |
# installed in the wrong place so... delete it. |
89 |
rm -rf %{buildroot}%{_prefix}/doc |
90 |
|
91 |
%files |
92 |
%license LICENSE |
93 |
%doc README.md CHANGES AUTHORS CONTRIBUTING.md |
94 |
%{_bindir}/%{name} |
95 |
%{_bindir}/%{name}-installer |
96 |
%{_libdir}/ocaml/opam-installer |
97 |
%{_mandir}/man1/%{name}.1* |
98 |
%{_mandir}/man1/%{name}-*.1* |
99 |
|
100 |
%files doc |
101 |
%doc doc/ |
102 |
%doc tests/ |
103 |
%doc shell/ |