diff --git a/dune-2.9.1.tar.gz b/dune-2.9.1.tar.gz deleted file mode 100644 index cf05bc6f19018ed05892ba7fcfd8d5de53caa1e1..0000000000000000000000000000000000000000 Binary files a/dune-2.9.1.tar.gz and /dev/null differ diff --git a/dune-3.18.1.tar.gz b/dune-3.18.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..41ffcb7a988e4b15f7d45160578d30cc8b3199f8 Binary files /dev/null and b/dune-3.18.1.tar.gz differ diff --git a/ocaml-dune-debuginfo.patch b/ocaml-dune-debuginfo.patch new file mode 100644 index 0000000000000000000000000000000000000000..8917c711c00ba805544bfc1c4504b6586f0771da --- /dev/null +++ b/ocaml-dune-debuginfo.patch @@ -0,0 +1,11 @@ +--- dune-3.11.0/src/dune_rules/dune_project.ml.orig 2023-09-23 19:52:10.552217543 -0600 ++++ dune-3.11.0/src/dune_rules/dune_project.ml 2023-09-23 22:03:32.641347776 -0600 +@@ -455,7 +455,7 @@ let filename = "dune-project" + let opam_file_location_default ~lang:_ = `Relative_to_project + let implicit_transitive_deps_default ~lang:_ = true + let wrapped_executables_default ~(lang : Lang.Instance.t) = lang.version >= (2, 0) +-let map_workspace_root_default ~(lang : Lang.Instance.t) = lang.version >= (3, 0) ++let map_workspace_root_default ~(lang : Lang.Instance.t) = false + + let executables_implicit_empty_intf_default ~(lang : Lang.Instance.t) = + lang.version >= (3, 0) diff --git a/ocaml-dune-no-lwt.patch b/ocaml-dune-no-lwt.patch new file mode 100644 index 0000000000000000000000000000000000000000..51cabf221a20499296fee6cd96ad8d95822f3641 --- /dev/null +++ b/ocaml-dune-no-lwt.patch @@ -0,0 +1,31 @@ +--- dune-3.15.0/dune-file.orig 2024-04-03 03:29:40.000000000 -0600 ++++ dune-3.15.0/dune-file 2024-04-05 08:48:56.083804773 -0600 +@@ -30,9 +30,6 @@ + (copy dune-private-libs.opam.template ordering.opam.template)) + + (rule +- (copy dune-private-libs.opam.template dune-rpc-lwt.opam.template)) +- +-(rule + (copy dune-private-libs.opam.template fiber.opam.template)) + + (rule +--- dune-3.15.0/dune-project.orig 2024-04-03 03:29:40.000000000 -0600 ++++ dune-3.15.0/dune-project 2024-04-05 08:49:50.546090649 -0600 +@@ -149,16 +149,6 @@ understood by dune language.")) + (description "Library to connect and control a running dune instance")) + + (package +- (name dune-rpc-lwt) +- (synopsis "Communicate with dune using rpc and Lwt") +- (depends +- (dune-rpc (= :version)) +- (csexp (>= 1.5.0)) +- (lwt (>= 5.6.0)) +- base-unix) +- (description "Specialization of dune-rpc to Lwt")) +- +-(package + (name dyn) + (synopsis "Dynamic type") + (depends diff --git a/ocaml-dune.spec b/ocaml-dune.spec index fef37e581bddf57f27c7ac4f295158c4b1ee0f75..4c7958b994e6850dedcc59d98c18e2f25c88c36f 100644 --- a/ocaml-dune.spec +++ b/ocaml-dune.spec @@ -1,52 +1,95 @@ -%global libname dune +%bcond_with lwt +%bcond_without docs -# Since menhir now requires dune to build, but dune needs menhir only for the -# tests, build in bootstrap mode to skip the tests and the need for menhir. -%bcond_with bootstrap +%global giturl https://github.com/ocaml/dune -Name: ocaml-%{libname} -Version: 2.9.1 -Release: 2 -Summary: A composable build system for OCaml +Name: ocaml-dune +Version: 3.18.1 +Release: 1 +Summary: Composable build system for OCaml and Reason # Dune itself is MIT. Some bundled libraries have a different license: # ISC: # - vendor/cmdliner -# LGPLv2: +# - vendor/notty +# - vendor/sha +# - vendor/uutf +# LGPL-2.1-only: # - vendor/incremental-cycles -# LGPLv2 with exceptions: +# LGPL-2.1-only WITH OCaml-LGPL-linking-exception +# - vendor/ocaml-inotify +# - vendor/opam # - vendor/opam-file-format # - vendor/re -License: MIT and LGPLv2 and LGPLv2 with exceptions and ISC - +# MIT: +# - vendor/build_path_prefix_map +# - vendor/fiber +# - vendor/lwd +# - vendor/spawn +License: MIT AND ISC AND LGPL-2.1-only AND LGPL-2.1-only WITH OCaml-LGPL-linking-exception URL: https://dune.build -Source0: https://github.com/ocaml/%{libname}/archive/%{version}/%{libname}-%{version}.tar.gz - -BuildRequires: emacs make -BuildRequires: ocaml >= 4.08 ocaml-csexp-devel >= 1.3.0 -BuildRequires: ocaml-findlib +VCS: git:%{giturl}.git +Source: %{giturl}/archive/%{version}/dune-%{version}.tar.gz +# When building without lwt, remove libraries that need it +Patch: %{name}-no-lwt.patch +# Temporary workaround for broken debuginfo (rhbz#2168932) +# See https://github.com/ocaml/dune/issues/6929 +Patch: %{name}-debuginfo.patch + +# OCaml packages not built on i686 since OCaml 5. +ExcludeArch: %{ix86} + +BuildRequires: emacs +BuildRequires: make +BuildRequires: ocaml >= 4.08 +BuildRequires: ocaml-compiler-libs +BuildRequires: ocaml-rpm-macros + +%if %{with docs} +BuildRequires: python3dist(furo) +BuildRequires: python3dist(myst-parser) BuildRequires: python3dist(sphinx) -BuildRequires: python3dist(sphinx-rtd-theme) - -%if %{without bootstrap} -# Required by tests. -#BuildRequires: ocaml-menhir +BuildRequires: python3dist(sphinx-copybutton) +BuildRequires: python3dist(sphinx-design) %endif -# Dune has vendored deps (ugh): -# I'm not clear on how to unbundle them. -# It seems to be unsupported upstream; the bootstrap process for dune -# doesn't seem to be able to detect libraries installed systemwide. -# https://github.com/ocaml/dune/issues/220 -Provides: bundled(ocaml-build-path-prefix-map) = 0.2 -Provides: bundled(ocaml-opam-file-format) = 2.0.0 -Provides: bundled(ocaml-cmdliner) = 1.0.4 -Provides: bundled(ocaml-re) = 1.9.0 - -Provides: dune = %{version}-%{release} +%if %{with lwt} +BuildRequires: ocaml-lwt-devel >= 5.6.0 +%endif -Provides: jbuilder = %{version}-%{release} -Obsoletes: jbuilder < 1.0.1-3 +# Dune has vendored deps to avoid dependency cycles. Upstream deliberately +# does not support unbundling these dependencies. +# See https://github.com/ocaml/dune/issues/220 +Provides: bundled(ocaml-build-path-prefix-map) = 0.3 +Provides: bundled(ocaml-cmdliner) = 1.2.0 +Provides: bundled(ocaml-fiber) = 3.7.0 +Provides: bundled(ocaml-incremental-cycles) = 1e2030a5d5183d84561cde142eecca40e03db2a3 +Provides: bundled(ocaml-inotify) = 2.3 +Provides: bundled(ocaml-lwd) = 0.3 +Provides: bundled(ocaml-notty) = 0.2.3 +Provides: bundled(ocaml-opam) = 2.2.0~alpha2 +Provides: bundled(ocaml-opam-file-format) = 2.1.6 +Provides: bundled(ocaml-re) = 1.11.0 +Provides: bundled(ocaml-sha) = 1.15.4 +Provides: bundled(ocaml-spawn) = 0.15.1 +Provides: bundled(ocaml-uutf) = 1.0.3 + +Provides: dune = %{version}-%{release} + +# This is needed for the dune-related RPM macros +Requires: ocaml-rpm-macros + +# The dune rules module requires Toploop +Requires: ocaml-compiler-libs + +# This can be removed when F42 reaches EOL +Obsoletes: ocaml-fiber < 3.7.0 +Obsoletes: ocaml-fiber-devel < 3.7.0 +Provides: ocaml-fiber = %{version}-%{release} +Provides: ocaml-fiber-devel = %{version}-%{release} + +# Install documentation in the main package doc directory +%global _docdir_fmt %{name} %description Dune is a build system designed for OCaml/Reason projects only. It focuses @@ -59,28 +102,43 @@ adapted to the open source world. It has matured over a long time and is used daily by hundred of developers, which means that it is highly tested and productive. -%package devel -Summary: Development files for %{name} -Requires: %{name}%{?isa} = %{version}-%{release} -Requires: ocaml-csexp-devel - -%description devel -The %{name}-devel package contains libraries and -signature files for developing applications that use %{name}. - +%if %{with docs} %package doc +# The content is MIT. Other licenses are due to files added by sphinx. +# BSD-2-Clause: +# - _static/basic.css +# - _static/doctools.js +# - _static/documentation_options.js +# - _static/file.png +# - _static/language_data.js +# - _static/minus.png +# - _static/plus.png +# - _static/searchtools.js +# - _static/sphinx_highlight.js +# MIT: +# - _static/check-solid.svg +# - _static/clipboard.min.js +# - _static/copy-button.svg +# - _static/copybutton.css +# - _static/copybutton.js +# - _static/copybutton_funcs.js +# - _static/design-style.*.min.css +# - _static/design-tabs.js +# - _static/css +# - _static/js +License: MIT AND BSD-2-Clause Summary: HTML documentation for %{name} -Requires: %{name} = %{version}-%{release} - BuildArch: noarch %description doc HTML documentation for dune, a composable build system for OCaml. +%endif %package emacs Summary: Emacs support for %{name} License: ISC Requires: %{name} = %{version}-%{release} +Requires: emacs-filesystem >= %{?_emacs_version}%{!?_emacs_version:0} BuildArch: noarch @@ -88,124 +146,425 @@ BuildArch: noarch The %{name}-devel package contains Emacs integration with the dune build system, a mode to edit dune files, and flymake support for dune files. +## Dune libraries + +%package action-plugin +Summary: API for writing dynamic dune actions +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-glob%{?_isa} = %{version}-%{release} + +%description action-plugin +This experimental library provides an API for writing dynamic Dune +actions. Dynamic dune actions do not need to declare their dependencies +upfront; they are instead discovered automatically during the execution +of the action. + +%package action-plugin-devel +Summary: Development files for %{name}-action-plugin +License: MIT +Requires: %{name}-action-plugin%{?_isa} = %{version}-%{release} +Requires: %{name}-glob-devel%{?_isa} = %{version}-%{release} + +%description action-plugin-devel +The ocaml-dune-action-plugin-devel package contains libraries and +signature files for developing applications that use +ocaml-dune-action-plugin. + +%package build-info +Summary: Embed build information in an executable +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description build-info +The build-info library allows access to information about how an +executable was built, such as the version of the project at which it was +built or the list of statically linked libraries with their versions. +It supports reporting the version from a version control system during +development to get a precise reference of when the executable was built. + +%package build-info-devel +Summary: Development files for %{name}-build-info +License: MIT +Requires: %{name}-build-info%{?_isa} = %{version}-%{release} + +%description build-info-devel +The ocaml-dune-build-info-devel package contains libraries and signature +files for developing applications that use ocaml-dune-build-info. + +%package configurator +Summary: Helper library for gathering system configuration +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune%{?_isa} = %{version}-%{release} + +%description configurator +Dune-configurator is a small library that helps write OCaml scripts that +test features available on the system, in order to generate config.h +files for instance. Among other things, dune-configurator allows one +to: + +- test if a C program compiles +- query pkg-config +- import a #define from OCaml header files +- generate a config.h file + +%package configurator-devel +Summary: Development files for %{name}-configurator +License: MIT +Requires: %{name}-configurator%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune-devel%{?_isa} = %{version}-%{release} + +# This can be removed when F40 reaches EOL +Obsoletes: %{name}-devel < 2.9.1-4 +Provides: %{name}-devel = %{version}-%{release} + +%description configurator-devel +The ocaml-dune-configurator-devel package contains libraries and +signature files for developing applications that use +ocaml-dune-configurator. + +%package glob +Summary: Parser and interpreter for dune language globs +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-private-libs%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune%{?_isa} = %{version}-%{release} + +%description glob +Dune-glob provides a parser and interpreter for globs as understood by +the dune language. + +%package glob-devel +Summary: Development files for %{name}-glob +License: MIT +Requires: %{name}-glob%{?_isa} = %{version}-%{release} +Requires: %{name}-private-libs-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune-devel%{?_isa} = %{version}-%{release} + +%description glob-devel +The ocaml-dune-glob-devel package contains libraries and signature files +for developing applications that use ocaml-dune-glob. + +%package private-libs +Summary: Private dune libraries +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune%{?_isa} = %{version}-%{release} + +%description private-libs +This package contains code that is shared between various dune-xxx +packages. However, it is not meant for public consumption and provides +no stability guarantee. + +%package private-libs-devel +Summary: Development files for %{name}-private-libs +License: MIT +Requires: %{name}-private-libs%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn-devel%{?_isa} = %{version}-%{release} + +%description private-libs-devel +The ocaml-dune-private-libs-devel package contains libraries and +signature files for other dune packages. Do not use. + +%package rpc +Summary: Communicate with dune using rpc +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune%{?_isa} = %{version}-%{release} +Requires: ocaml-xdg%{?_isa} = %{version}-%{release} + +%description rpc +This package contains a library used to communicate with dune over rpc. + +%package rpc-devel +Summary: Development files for %{name}-rpc +License: MIT +Requires: %{name}-rpc%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-xdg-devel%{?_isa} = %{version}-%{release} + +%description rpc-devel +The ocaml-dune-rpc-devel package contains libraries and signature files +for developing applications that use ocaml-rpc. + +%if %{with lwt} +%package rpc-lwt +Summary: Communicate with dune using rpc and Lwt +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-rpc%{?_isa} = %{version}-%{release} + +%description rpc-lwt +This package contains a library used to communicate with dune over rpc +using Lwt. + +%package rpc-lwt-devel +Summary: Development files for %{name}-rpc-lwt +License: MIT +Requires: %{name}-rpc-lwt%{?_isa} = %{version}-%{release} +Requires: %{name}-rpc-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-lwt-devel%{?_isa} + +%description rpc-lwt-devel +The ocaml-dune-rpc-lwt-devel package contains libraries and signature +files for developing applications that use ocaml-rpc-lwt. +%endif + +%package site +Summary: Embed location information inside executables and libraries +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-private-libs%{?_isa} = %{version}-%{release} + +%description site +This library enables embedding location information inside executables +and libraries. + +%package site-devel +Summary: Development files for %{name}-site +License: MIT +Requires: %{name}-site%{?_isa} = %{version}-%{release} +Requires: %{name}-private-libs-devel%{?_isa} = %{version}-%{release} + +%description site-devel +The ocaml-dune-site-devel package contains libraries and signature files +for developing applications that use ocaml-dune-site. + +%package -n ocaml-chrome-trace +Summary: Chrome trace event generation library +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n ocaml-chrome-trace +Library to output trace data to a file in Chrome's trace_event format. +This format is compatible with chrome trace viewer (chrome://tracing). +The trace viewer is part of the catapult project. + +%package -n ocaml-chrome-trace-devel +Summary: Development files for ocaml-chrome-trace +License: MIT +Requires: ocaml-chrome-trace%{?_isa} = %{version}-%{release} + +%description -n ocaml-chrome-trace-devel +The ocaml-dyn-devel package contains libraries and signature files for +developing applications that use ocaml-dyn. + +%package -n ocaml-dyn +Summary: Dynamic types +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-ordering%{?_isa} = %{version}-%{release} + +%description -n ocaml-dyn +This library supports dynamic types in OCaml. + +%package -n ocaml-dyn-devel +Summary: Development files for ocaml-dyn +License: MIT +Requires: ocaml-dyn%{?_isa} = %{version}-%{release} +Requires: ocaml-ordering-devel%{?_isa} = %{version}-%{release} + +%description -n ocaml-dyn-devel +The ocaml-dyn-devel package contains libraries and signature files for +developing applications that use ocaml-dyn. + +%package -n ocaml-ocamlc-loc +Summary: Parse OCaml compiler output into structured form +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn%{?_isa} = %{version}-%{release} + +%description -n ocaml-ocamlc-loc +Parse OCaml compiler output into structured form. + +%package -n ocaml-ocamlc-loc-devel +Summary: Development files for ocaml-ocamlc-loc +License: MIT +Requires: ocaml-ocamlc-loc%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn-devel%{?_isa} = %{version}-%{release} + +%description -n ocaml-ocamlc-loc-devel +The ocaml-ordering-devel package contains libraries and signature files +for developing applications that use ocaml-ocamlc-loc. + +%package -n ocaml-ordering +Summary: Element ordering +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n ocaml-ordering +Element ordering in OCaml. + +%package -n ocaml-ordering-devel +Summary: Development files for ocaml-ordering +License: MIT +Requires: ocaml-ordering%{?_isa} = %{version}-%{release} + +%description -n ocaml-ordering-devel +The ocaml-ordering-devel package contains libraries and signature files +for developing applications that use ocaml-ordering. + +%package -n ocaml-stdune +Summary: Dune's unstable standard library +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn%{?_isa} = %{version}-%{release} + +%description -n ocaml-stdune +This package contains Dune's unstable standard library. + +%package -n ocaml-stdune-devel +Summary: Development files for ocaml-stdune +License: MIT +Requires: ocaml-stdune%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn-devel%{?_isa} = %{version}-%{release} + +%description -n ocaml-stdune-devel +The ocaml-stdune-devel package contains libraries and signature files +for developing applications that use ocaml-stdune. + +%package -n ocaml-xdg +Summary: XDG Base Directory Specification +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n ocaml-xdg +This package contains the XDG Base Directory Specification. + +%package -n ocaml-xdg-devel +Summary: Development files for ocaml-xdg +License: MIT +Requires: ocaml-xdg%{?_isa} = %{version}-%{release} + +%description -n ocaml-xdg-devel +The ocaml-xdg-devel package contains libraries and signature files for +developing applications that use ocaml-xdg. + %prep -%autosetup -n %{libname}-%{version} -p1 +%autosetup -N -n dune-%{version} +%if %{without lwt} +%autopatch 0 -p1 +rm -fr otherlibs/dune-rpc-lwt dune-rpc-lwt.opam +%endif +%autopatch -m1 -p1 %build ./configure \ + --prefix %{_prefix} \ + --bindir %{_bindir} \ + --datadir %{_datadir} \ + --docdir %{_prefix}/doc \ --etcdir %{_sysconfdir} \ - --libdir %{_libdir}/ocaml \ - --mandir %{_mandir} - -# This command fails, because ppx_bench, ppx_expect, and core_bench are missing. -# However, it is only tests that fail, not the actual build, so ignore the -# failures and continue. -%make_build release || : -./dune.exe build @install + --libdir %{ocamldir} \ + --libexecdir %{ocamldir} \ + --mandir %{_mandir} \ + --sbindir %{_sbindir} + +%make_build release +%if %{with docs} %make_build doc +%endif -# Relink the stublib. See https://github.com/ocaml/dune/issues/2977. -cd _build/default/src/stdune -ocamlmklib -g -ldopt "%{build_ldflags}" -o stdune_stubs fcntl_stubs.o -cd - -cd _build/default/src/dune_filesystem_stubs -ocamlmklib -g -ldopt "%{build_ldflags}" -o dune_filesystem_stubs_stubs \ - $(ar t libdune_filesystem_stubs_stubs.a) -cd - +./dune.exe build %{?_smp_mflags} --verbose --release @install %install -# "make install" only installs the binary. We want the libraries, too. -./dune.exe install --destdir %{buildroot} +%make_install + +# Install the libraries +./dune.exe install --destdir=%{buildroot} + +# We use %%doc below +rm -fr %{buildroot}%{_prefix}/doc # Byte compile the Emacs files cd %{buildroot}%{_emacs_sitelispdir} -%_emacs_bytecompile dune.el dune-flymake.el +%_emacs_bytecompile *.el cd - -# Install documentation by way of pkgdocdir. -rm -fr %{buildroot}%{_prefix}/doc -mkdir -p %{buildroot}%{_pkgdocdir}/ -cp -ar README.md CHANGES.md MIGRATION.md doc/_build/* %{buildroot}%{_pkgdocdir}/ - -%if %{without bootstrap} -%check -# These are the only tests we can run. The others require components that -# either depend on dune themselves or are not available in Fedora at all. -%{buildroot}%{_bindir}/dune runtest test/unit-tests -%endif +# Generate %%files lists +%ocaml_files -s %files %license LICENSE.md -%doc %{_pkgdocdir}/README.md -%doc %{_pkgdocdir}/CHANGES.md -%doc %{_pkgdocdir}/MIGRATION.md +%doc CHANGES.md README.md %{_bindir}/dune %{_mandir}/man*/dune* -%dir %{_pkgdocdir}/ -%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 -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/dune*/*.cmxs -%{_libdir}/ocaml/dune-private-libs/*/*.cmxs -%{_libdir}/ocaml/dune-site/*/*.cmxs -%{_libdir}/ocaml/stublibs/dllstdune_stubs.so -%{_libdir}/ocaml/stublibs/dlldune_filesystem_stubs_stubs.so -%endif - -%files devel -%{_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 +%if %{with docs} %files doc -%exclude %{_pkgdocdir}/README.md -%exclude %{_pkgdocdir}/CHANGES.md -%doc %{_pkgdocdir}/* +%doc doc/_build/* +%endif %files emacs %{_emacs_sitelispdir}/dune* +%files action-plugin -f .ofiles-dune-action-plugin + +%files action-plugin-devel -f .ofiles-dune-action-plugin-devel + +%files build-info -f .ofiles-dune-build-info + +%files build-info-devel -f .ofiles-dune-build-info-devel + +%files configurator -f .ofiles-dune-configurator +%dir %{ocamldir}/dune/ +%{ocamldir}/dune/META + +%files configurator-devel -f .ofiles-dune-configurator-devel +%{ocamldir}/dune/dune-package +%{ocamldir}/dune/opam + +%files glob -f .ofiles-dune-glob + +%files glob-devel -f .ofiles-dune-glob-devel + +%files private-libs -f .ofiles-dune-private-libs + +%files private-libs-devel -f .ofiles-dune-private-libs-devel + +%files rpc -f .ofiles-dune-rpc + +%files rpc-devel -f .ofiles-dune-rpc-devel + +%if %{with lwt} +%files rpc-lwt -f .ofiles-dune-rpc-lwt + +%files rpc-lwt-devel -f .ofiles-dune-rpc-lwt-devel +%endif + +%files site -f .ofiles-dune-site + +%files site-devel -f .ofiles-dune-site-devel + +%files -n ocaml-chrome-trace -f .ofiles-chrome-trace + +%files -n ocaml-chrome-trace-devel -f .ofiles-chrome-trace-devel + +%files -n ocaml-dyn -f .ofiles-dyn + +%files -n ocaml-dyn-devel -f .ofiles-dyn-devel + +%files -n ocaml-ocamlc-loc -f .ofiles-ocamlc-loc + +%files -n ocaml-ocamlc-loc-devel -f .ofiles-ocamlc-loc-devel + +%files -n ocaml-ordering -f .ofiles-ordering + +%files -n ocaml-ordering-devel -f .ofiles-ordering-devel + +%files -n ocaml-stdune -f .ofiles-stdune + +%files -n ocaml-stdune-devel -f .ofiles-stdune-devel + +%files -n ocaml-xdg -f .ofiles-xdg + +%files -n ocaml-xdg-devel -f .ofiles-xdg-devel + %changelog +* Wed Apr 23 2025 wangkai <13474090681@163.com> - 3.18.1-1 +- Update to 3.18.1 + * Thu Jul 28 2022 houmingyong - 2.9.1-2 - update to 2.9.1-2 @@ -214,4 +573,3 @@ cp -ar README.md CHANGES.md MIGRATION.md doc/_build/* %{buildroot}%{_pkgdocdir}/ * Thu Nov 12 2020 wanghongzhe - 2.4.0-1 - Package Init -