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