X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;ds=sidebyside;f=ocaml-dune.spec;h=c5bcdd795e5cf9dd6e715fd1b30d5a782c1eae17;hb=12178e2;hp=0a2dddf9ae5e15ada80337c89a201a996ce5f9ca;hpb=85cc67154ccc9f23418af936e54d51d57d83237c;p=packages%2Focaml-dune.git diff --git a/ocaml-dune.spec b/ocaml-dune.spec index 0a2dddf..c5bcdd7 100644 --- a/ocaml-dune.spec +++ b/ocaml-dune.spec @@ -10,19 +10,18 @@ %define module dune Summary: A composable build system for OCaml Name: ocaml-%{module} -Version: 1.5.1 -Release: 1 +Version: 2.8.4 +Release: 2 License: MIT Group: Libraries Source0: https://github.com/ocaml/dune/archive/%{version}/%{module}-%{version}.tar.gz -# Source0-md5: 3f14fccc36dd6b852390831a3f2b4137 -Patch0: mandir.patch +# Source0-md5: 68fbc294aeed510425d20498225d416b URL: https://github.com/ocaml/dune BuildRequires: ocaml >= 3.04-7 +BuildRequires: ocaml-csexp %requires_eq ocaml-runtime BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define debug_package %{nil} %if %{without ocaml_opt} %define no_install_post_strip 1 # no opt means no native binary, stripping bytecode breaks such programs @@ -36,30 +35,117 @@ care of most of the low-level details of OCaml compilation. All you have to do is provide a description of your project and dune will do the rest. +%package devel +Summary: Development files for dune +Requires: %{name} = %{version}-%{release} +Requires: ocaml-csexp-devel + +%description devel +This package contains libraries and signature files for developing +applications that use dune. + %prep %setup -q -n %{module}-%{version} -%patch0 -p1 %build -ocaml configure.ml +./configure \ + --libdir %{_libdir}/ocaml \ + --mandir %{_mandir} -%{__make} -j1 release \ +%{__make} release \ CC="%{__cc} %{rpmcflags} -fPIC" +./dune.exe build @install + +%{__make} doc + +# Relink the stublibs. See https://github.com/ocaml/dune/issues/2977. +cd _build/default/src/stdune +ocamlmklib -g -ldopt "%{rpmldflags}" -o stdune_stubs fcntl_stubs.o +cd - +cd _build/default/src/dune_filesystem_stubs +ocamlmklib -g -ldopt "%{rpmldflags}" -o dune_filesystem_stubs_stubs \ + $(ar t libdune_filesystem_stubs_stubs.a) + %install rm -rf $RPM_BUILD_ROOT %{__make} install \ DESTDIR=$RPM_BUILD_ROOT +# "make install" only installs the binary. We want the libraries, too. +./dune.exe install --destdir $RPM_BUILD_ROOT + %clean rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) -%doc LICENSE.md CHANGES.md README.md +%doc LICENSE.md CHANGES.md README.md MIGRATION.md doc/_build/* %attr(755,root,root) %{_bindir}/dune -%attr(755,root,root) %{_bindir}/jbuilder -%{_libdir}/ocaml/site-lib/%{module} +%dir %{_libdir}/ocaml/dune +%dir %{_libdir}/ocaml/dune-action-plugin +%dir %{_libdir}/ocaml/dune-build-info +%dir %{_libdir}/ocaml/dune-configurator +%dir %{_libdir}/ocaml/dune-glob +%dir %{_libdir}/ocaml/dune-private-libs +%dir %{_libdir}/ocaml/dune-private-libs/dune-lang +%dir %{_libdir}/ocaml/dune-private-libs/dune_re +%dir %{_libdir}/ocaml/dune-private-libs/ocaml-config +%dir %{_libdir}/ocaml/dune-private-libs/stdune +%dir %{_libdir}/ocaml/dune-site +%dir %{_libdir}/ocaml/dune-site/plugins +%{_libdir}/ocaml/dune*/META +%{_libdir}/ocaml/dune*/*.cma +%{_libdir}/ocaml/dune*/*.cmi +%{_libdir}/ocaml/dune-configurator/.private +%{_libdir}/ocaml/dune-private-libs/*/*.cma +%{_libdir}/ocaml/dune-private-libs/*/*.cmi +%{_libdir}/ocaml/dune-site/*/*.cma +%{_libdir}/ocaml/dune-site/*/*.cmi +%if %{with ocaml_opt} +%{_libdir}/ocaml/dune*/*.a +%{_libdir}/ocaml/dune*/*.cmx +%{_libdir}/ocaml/dune*/*.cmxa +%{_libdir}/ocaml/dune*/*.cmxs +%{_libdir}/ocaml/dune-private-libs/*/*.a +%{_libdir}/ocaml/dune-private-libs/*/*.cmx +%{_libdir}/ocaml/dune-private-libs/*/*.cmxa +%{_libdir}/ocaml/dune-private-libs/*/*.cmxs +%{_libdir}/ocaml/dune-site/*/*.cmx +%{_libdir}/ocaml/dune-site/*/*.a +%{_libdir}/ocaml/dune-site/*/*.cmxa +%{_libdir}/ocaml/dune-site/*/*.cmxs +%attr(755,root,root) %{_libdir}/ocaml/stublibs/dllstdune_stubs.so +%attr(755,root,root) %{_libdir}/ocaml/stublibs/dlldune_filesystem_stubs_stubs.so +%endif %{_mandir}/man1/dune*.1* %{_mandir}/man5/dune*.5* + +%files devel +%defattr(644,root,root,755) +%{_libdir}/ocaml/dune*/dune-package +%{_libdir}/ocaml/dune*/opam +%{_libdir}/ocaml/dune*/*.cmt +%{_libdir}/ocaml/dune*/*.cmti +%{_libdir}/ocaml/dune*/*.ml +%{_libdir}/ocaml/dune*/*.mli +%{_libdir}/ocaml/dune-private-libs/*/*.cmt +%{_libdir}/ocaml/dune-private-libs/*/*.cmti +%{_libdir}/ocaml/dune-private-libs/*/*.ml +%{_libdir}/ocaml/dune-private-libs/*/*.mli +%{_libdir}/ocaml/dune-site/*/*.cmt +%{_libdir}/ocaml/dune-site/*/*.cmti +%{_libdir}/ocaml/dune-site/*/*.ml +%{_libdir}/ocaml/dune-site/*/*.mli +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/dune*/*.a +%{_libdir}/ocaml/dune*/*.cmx +%{_libdir}/ocaml/dune*/*.cmxa +%{_libdir}/ocaml/dune-private-libs/*/*.a +%{_libdir}/ocaml/dune-private-libs/*/*.cmx +%{_libdir}/ocaml/dune-private-libs/*/*.cmxa +%{_libdir}/ocaml/dune-site/*/*.a +%{_libdir}/ocaml/dune-site/*/*.cmx +%{_libdir}/ocaml/dune-site/*/*.cmxa +%endif