]> git.pld-linux.org Git - packages/ocaml-dune.git/blame - ocaml-dune.spec
- package more dirs
[packages/ocaml-dune.git] / ocaml-dune.spec
CommitLineData
d5b28b2d
JR
1#
2# Conditional build:
3%bcond_without ocaml_opt # skip building native optimized binaries (bytecode is always built)
4
5# not yet available on x32 (ocaml 4.02.1), update when upstream will support it
6%ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9
7%undefine with_ocaml_opt
8%endif
9
10%define module dune
11Summary: A composable build system for OCaml
12Name: ocaml-%{module}
5a04a328 13Version: 2.8.4
9889467a 14Release: 4
d5b28b2d
JR
15License: MIT
16Group: Libraries
17Source0: https://github.com/ocaml/dune/archive/%{version}/%{module}-%{version}.tar.gz
5a04a328 18# Source0-md5: 68fbc294aeed510425d20498225d416b
d5b28b2d
JR
19URL: https://github.com/ocaml/dune
20BuildRequires: ocaml >= 3.04-7
12178e23 21BuildRequires: ocaml-csexp
d5b28b2d
JR
22%requires_eq ocaml-runtime
23BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
24
d5b28b2d 25%description
85cc6715
JR
26Dune is a build system designed for OCaml/Reason projects only. It
27focuses on providing the user with a consistent experience and takes
28care of most of the low-level details of OCaml compilation. All you
29have to do is provide a description of your project and dune will do
30the rest.
d5b28b2d 31
12178e23
JR
32%package devel
33Summary: Development files for dune
34Requires: %{name} = %{version}-%{release}
35Requires: ocaml-csexp-devel
36
37%description devel
38This package contains libraries and signature files for developing
39applications that use dune.
40
d5b28b2d
JR
41%prep
42%setup -q -n %{module}-%{version}
d5b28b2d
JR
43
44%build
5a04a328
JR
45./configure \
46 --libdir %{_libdir}/ocaml \
47 --mandir %{_mandir}
d5b28b2d 48
5a04a328 49%{__make} release \
d5b28b2d
JR
50 CC="%{__cc} %{rpmcflags} -fPIC"
51
12178e23
JR
52./dune.exe build @install
53
5a04a328
JR
54%{__make} doc
55
12178e23
JR
56# Relink the stublibs. See https://github.com/ocaml/dune/issues/2977.
57cd _build/default/src/stdune
58ocamlmklib -g -ldopt "%{rpmldflags}" -o stdune_stubs fcntl_stubs.o
59cd -
60cd _build/default/src/dune_filesystem_stubs
61ocamlmklib -g -ldopt "%{rpmldflags}" -o dune_filesystem_stubs_stubs \
62 $(ar t libdune_filesystem_stubs_stubs.a)
63
d5b28b2d
JR
64%install
65rm -rf $RPM_BUILD_ROOT
66
67%{__make} install \
68 DESTDIR=$RPM_BUILD_ROOT
69
12178e23
JR
70# "make install" only installs the binary. We want the libraries, too.
71./dune.exe install --destdir $RPM_BUILD_ROOT
72
d5b28b2d
JR
73%clean
74rm -rf $RPM_BUILD_ROOT
75
76%files
77%defattr(644,root,root,755)
12178e23 78%doc LICENSE.md CHANGES.md README.md MIGRATION.md doc/_build/*
d5b28b2d 79%attr(755,root,root) %{_bindir}/dune
12178e23
JR
80%dir %{_libdir}/ocaml/dune
81%dir %{_libdir}/ocaml/dune-action-plugin
82%dir %{_libdir}/ocaml/dune-build-info
83%dir %{_libdir}/ocaml/dune-configurator
84%dir %{_libdir}/ocaml/dune-glob
85%dir %{_libdir}/ocaml/dune-private-libs
9889467a
JR
86%dir %{_libdir}/ocaml/dune-private-libs/cache
87%dir %{_libdir}/ocaml/dune-private-libs/dune_csexp
12178e23
JR
88%dir %{_libdir}/ocaml/dune-private-libs/dune-lang
89%dir %{_libdir}/ocaml/dune-private-libs/dune_re
9889467a
JR
90%dir %{_libdir}/ocaml/dune-private-libs/dune-section
91%dir %{_libdir}/ocaml/dune-private-libs/dune_util
92%dir %{_libdir}/ocaml/dune-private-libs/filesystem_stubs
93%dir %{_libdir}/ocaml/dune-private-libs/meta_parser
12178e23
JR
94%dir %{_libdir}/ocaml/dune-private-libs/ocaml-config
95%dir %{_libdir}/ocaml/dune-private-libs/stdune
9889467a 96%dir %{_libdir}/ocaml/dune-private-libs/xdg
12178e23
JR
97%dir %{_libdir}/ocaml/dune-site
98%dir %{_libdir}/ocaml/dune-site/plugins
99%{_libdir}/ocaml/dune*/META
100%{_libdir}/ocaml/dune*/*.cma
101%{_libdir}/ocaml/dune*/*.cmi
102%{_libdir}/ocaml/dune-configurator/.private
103%{_libdir}/ocaml/dune-private-libs/*/*.cma
104%{_libdir}/ocaml/dune-private-libs/*/*.cmi
105%{_libdir}/ocaml/dune-site/*/*.cma
106%{_libdir}/ocaml/dune-site/*/*.cmi
107%if %{with ocaml_opt}
12178e23 108%{_libdir}/ocaml/dune*/*.cmxs
12178e23 109%{_libdir}/ocaml/dune-private-libs/*/*.cmxs
12178e23 110%{_libdir}/ocaml/dune-site/*/*.cmxs
f4cc696b 111%endif
12178e23
JR
112%attr(755,root,root) %{_libdir}/ocaml/stublibs/dllstdune_stubs.so
113%attr(755,root,root) %{_libdir}/ocaml/stublibs/dlldune_filesystem_stubs_stubs.so
d5b28b2d
JR
114%{_mandir}/man1/dune*.1*
115%{_mandir}/man5/dune*.5*
12178e23
JR
116
117%files devel
118%defattr(644,root,root,755)
119%{_libdir}/ocaml/dune*/dune-package
120%{_libdir}/ocaml/dune*/opam
121%{_libdir}/ocaml/dune*/*.cmt
122%{_libdir}/ocaml/dune*/*.cmti
123%{_libdir}/ocaml/dune*/*.ml
124%{_libdir}/ocaml/dune*/*.mli
125%{_libdir}/ocaml/dune-private-libs/*/*.cmt
126%{_libdir}/ocaml/dune-private-libs/*/*.cmti
127%{_libdir}/ocaml/dune-private-libs/*/*.ml
128%{_libdir}/ocaml/dune-private-libs/*/*.mli
129%{_libdir}/ocaml/dune-site/*/*.cmt
130%{_libdir}/ocaml/dune-site/*/*.cmti
131%{_libdir}/ocaml/dune-site/*/*.ml
132%{_libdir}/ocaml/dune-site/*/*.mli
f4cc696b 133%if %{with ocaml_opt}
12178e23
JR
134%{_libdir}/ocaml/dune*/*.a
135%{_libdir}/ocaml/dune*/*.cmx
136%{_libdir}/ocaml/dune*/*.cmxa
137%{_libdir}/ocaml/dune-private-libs/*/*.a
138%{_libdir}/ocaml/dune-private-libs/*/*.cmx
139%{_libdir}/ocaml/dune-private-libs/*/*.cmxa
140%{_libdir}/ocaml/dune-site/*/*.a
141%{_libdir}/ocaml/dune-site/*/*.cmx
142%{_libdir}/ocaml/dune-site/*/*.cmxa
f4cc696b
JR
143%else
144%{_libdir}/ocaml/dune-private-libs/filesystem_stubs/libdune_filesystem_stubs_stubs.a
145%{_libdir}/ocaml/dune-private-libs/stdune/libstdune_stubs.a
12178e23 146%endif
This page took 0.092409 seconds and 4 git commands to generate.