]> git.pld-linux.org Git - packages/ocaml-dune.git/blame - ocaml-dune.spec
- fix non-opt packaging
[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
f4cc696b 14Release: 3
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
86%dir %{_libdir}/ocaml/dune-private-libs/dune-lang
87%dir %{_libdir}/ocaml/dune-private-libs/dune_re
88%dir %{_libdir}/ocaml/dune-private-libs/ocaml-config
89%dir %{_libdir}/ocaml/dune-private-libs/stdune
90%dir %{_libdir}/ocaml/dune-site
91%dir %{_libdir}/ocaml/dune-site/plugins
92%{_libdir}/ocaml/dune*/META
93%{_libdir}/ocaml/dune*/*.cma
94%{_libdir}/ocaml/dune*/*.cmi
95%{_libdir}/ocaml/dune-configurator/.private
96%{_libdir}/ocaml/dune-private-libs/*/*.cma
97%{_libdir}/ocaml/dune-private-libs/*/*.cmi
98%{_libdir}/ocaml/dune-site/*/*.cma
99%{_libdir}/ocaml/dune-site/*/*.cmi
100%if %{with ocaml_opt}
12178e23 101%{_libdir}/ocaml/dune*/*.cmxs
12178e23 102%{_libdir}/ocaml/dune-private-libs/*/*.cmxs
12178e23 103%{_libdir}/ocaml/dune-site/*/*.cmxs
f4cc696b 104%endif
12178e23
JR
105%attr(755,root,root) %{_libdir}/ocaml/stublibs/dllstdune_stubs.so
106%attr(755,root,root) %{_libdir}/ocaml/stublibs/dlldune_filesystem_stubs_stubs.so
d5b28b2d
JR
107%{_mandir}/man1/dune*.1*
108%{_mandir}/man5/dune*.5*
12178e23
JR
109
110%files devel
111%defattr(644,root,root,755)
112%{_libdir}/ocaml/dune*/dune-package
113%{_libdir}/ocaml/dune*/opam
114%{_libdir}/ocaml/dune*/*.cmt
115%{_libdir}/ocaml/dune*/*.cmti
116%{_libdir}/ocaml/dune*/*.ml
117%{_libdir}/ocaml/dune*/*.mli
118%{_libdir}/ocaml/dune-private-libs/*/*.cmt
119%{_libdir}/ocaml/dune-private-libs/*/*.cmti
120%{_libdir}/ocaml/dune-private-libs/*/*.ml
121%{_libdir}/ocaml/dune-private-libs/*/*.mli
122%{_libdir}/ocaml/dune-site/*/*.cmt
123%{_libdir}/ocaml/dune-site/*/*.cmti
124%{_libdir}/ocaml/dune-site/*/*.ml
125%{_libdir}/ocaml/dune-site/*/*.mli
f4cc696b 126%if %{with ocaml_opt}
12178e23
JR
127%{_libdir}/ocaml/dune*/*.a
128%{_libdir}/ocaml/dune*/*.cmx
129%{_libdir}/ocaml/dune*/*.cmxa
130%{_libdir}/ocaml/dune-private-libs/*/*.a
131%{_libdir}/ocaml/dune-private-libs/*/*.cmx
132%{_libdir}/ocaml/dune-private-libs/*/*.cmxa
133%{_libdir}/ocaml/dune-site/*/*.a
134%{_libdir}/ocaml/dune-site/*/*.cmx
135%{_libdir}/ocaml/dune-site/*/*.cmxa
f4cc696b
JR
136%else
137%{_libdir}/ocaml/dune-private-libs/filesystem_stubs/libdune_filesystem_stubs_stubs.a
138%{_libdir}/ocaml/dune-private-libs/stdune/libstdune_stubs.a
12178e23 139%endif
This page took 0.088342 seconds and 4 git commands to generate.