diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/ocaml-dune-debuginfo.patch b/ocaml-dune-debuginfo.patch index 8917c71..906cec4 100644 --- a/ocaml-dune-debuginfo.patch +++ b/ocaml-dune-debuginfo.patch @@ -1,8 +1,8 @@ ---- 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" +--- dune-3.20.0/src/dune_lang/dune_project.ml.orig 2025-08-19 00:28:44.000000000 -0600 ++++ dune-3.20.0/src/dune_lang/dune_project.ml 2025-08-21 20:42:51.793195598 -0600 +@@ -425,7 +425,7 @@ let interpret_lang_and_extensions ~(lang + 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 diff --git a/ocaml-dune.spec b/ocaml-dune.spec index 73d3f51..9409c70 100644 --- a/ocaml-dune.spec +++ b/ocaml-dune.spec @@ -13,14 +13,15 @@ %global giturl https://github.com/ocaml/dune Name: ocaml-dune -Version: 3.17.2 -Release: 1%{?dist} +Version: 3.20.2 +Release: 2%{?dist} Summary: Composable build system for OCaml and Reason # Dune itself is MIT. Some bundled libraries have a different license: +# BSD-2-Clause: +# - vendor/ocaml-blake3-mini # ISC: # - vendor/cmdliner -# - vendor/fmt # - vendor/notty # - vendor/sha # - vendor/uutf @@ -31,20 +32,23 @@ Summary: Composable build system for OCaml and Reason # - vendor/opam # - vendor/opam-file-format # - vendor/re +# LGPL-2.1-or-later +# - src/dune_pkg/opam_solver.* +# - src/sat/hash_set.* +# - src/sat/sat.* # 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 +License: MIT AND BSD-2-Clause AND ISC AND LGPL-2.1-only AND LGPL-2.1-only WITH OCaml-LGPL-linking-exception AND LGPL-2.1-or-later URL: https://dune.build 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 +Patch0: %{name}-no-lwt.patch # Temporary workaround for broken debuginfo (rhbz#2168932) # See https://github.com/ocaml/dune/issues/6929 -Patch: %{name}-debuginfo.patch +Patch1: %{name}-debuginfo.patch # OCaml packages not built on i686 since OCaml 5 / Fedora 39. ExcludeArch: %{ix86} @@ -76,13 +80,12 @@ BuildRequires: ocaml-lwt-devel >= 5.6.0 # 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-fmt) = 0.8.10 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-blake3-mini) = c6aa40e5f1973c2e6b736660ce2c8dcd3b3f9c9f +Provides: bundled(ocaml-opam) = 2.2.0 Provides: bundled(ocaml-opam-file-format) = 2.1.6 Provides: bundled(ocaml-re) = 1.11.0 Provides: bundled(ocaml-sha) = 1.15.4 @@ -166,8 +169,11 @@ system, a mode to edit dune files, and flymake support for dune files. %package action-plugin Summary: API for writing dynamic dune actions License: MIT -Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-glob%{?_isa} = %{version}-%{release} +Requires: %{name}-rpc%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn%{?_isa} = %{version}-%{release} +Requires: ocaml-ordering%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune%{?_isa} = %{version}-%{release} %description action-plugin This experimental library provides an API for writing dynamic Dune @@ -180,6 +186,14 @@ Summary: Development files for %{name}-action-plugin License: MIT Requires: %{name}-action-plugin%{?_isa} = %{version}-%{release} Requires: %{name}-glob-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-rpc-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-ordering-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune-devel%{?_isa} = %{version}-%{release} +%if !0%{?rhel} +Requires: ocaml-csexp-devel%{?_isa} +Requires: ocaml-pp-devel%{?_isa} +%endif %description action-plugin-devel The ocaml-dune-action-plugin-devel package contains libraries and @@ -189,7 +203,6 @@ 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 @@ -210,7 +223,6 @@ 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 @@ -229,10 +241,9 @@ 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} +%if !0%{?rhel} +Requires: ocaml-csexp-devel%{?_isa} +%endif %description configurator-devel The ocaml-dune-configurator-devel package contains libraries and @@ -242,8 +253,9 @@ 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-dyn%{?_isa} = %{version}-%{release} +Requires: ocaml-ordering%{?_isa} = %{version}-%{release} Requires: ocaml-stdune%{?_isa} = %{version}-%{release} %description glob @@ -255,7 +267,12 @@ Summary: Development files for %{name}-glob License: MIT Requires: %{name}-glob%{?_isa} = %{version}-%{release} Requires: %{name}-private-libs-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-ordering-devel%{?_isa} = %{version}-%{release} Requires: ocaml-stdune-devel%{?_isa} = %{version}-%{release} +%if !0%{?rhel} +Requires: ocaml-pp-devel%{?_isa} +%endif %description glob-devel The ocaml-dune-glob-devel package contains libraries and signature files @@ -264,8 +281,6 @@ 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 @@ -276,7 +291,6 @@ no stability guarantee. 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 @@ -285,7 +299,8 @@ 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-dyn%{?_isa} = %{version}-%{release} +Requires: ocaml-ordering%{?_isa} = %{version}-%{release} Requires: ocaml-stdune%{?_isa} = %{version}-%{release} Requires: ocaml-xdg%{?_isa} = %{version}-%{release} @@ -296,8 +311,14 @@ This package contains a library used to communicate with dune over rpc. Summary: Development files for %{name}-rpc License: MIT Requires: %{name}-rpc%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-ordering-devel%{?_isa} = %{version}-%{release} Requires: ocaml-stdune-devel%{?_isa} = %{version}-%{release} Requires: ocaml-xdg-devel%{?_isa} = %{version}-%{release} +%if !0%{?rhel} +Requires: ocaml-csexp-devel%{?_isa} +Requires: ocaml-pp-devel%{?_isa} +%endif %description rpc-devel The ocaml-dune-rpc-devel package contains libraries and signature files @@ -307,7 +328,6 @@ for developing applications that use ocaml-rpc. %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 @@ -332,7 +352,6 @@ files for developing applications that use ocaml-rpc-lwt. %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 @@ -352,7 +371,6 @@ 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. @@ -371,7 +389,6 @@ 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 @@ -382,9 +399,6 @@ Summary: Development files for ocaml-dyn License: MIT Requires: ocaml-dyn%{?_isa} = %{version}-%{release} Requires: ocaml-ordering-devel%{?_isa} = %{version}-%{release} -%if !0%{?rhel} -Requires: ocaml-pp-devel%{?_isa} -%endif %description -n ocaml-dyn-devel The ocaml-dyn-devel package contains libraries and signature files for @@ -393,7 +407,6 @@ 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 @@ -412,7 +425,6 @@ 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. @@ -429,8 +441,8 @@ 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} +Requires: ocaml-ordering%{?_isa} = %{version}-%{release} %description -n ocaml-stdune This package contains Dune's unstable standard library. @@ -440,8 +452,10 @@ Summary: Development files for ocaml-stdune License: MIT Requires: ocaml-stdune%{?_isa} = %{version}-%{release} Requires: ocaml-dyn-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-ordering-devel%{?_isa} = %{version}-%{release} %if !0%{?rhel} Requires: ocaml-csexp-devel%{?_isa} +Requires: ocaml-pp-devel%{?_isa} %endif %description -n ocaml-stdune-devel @@ -451,7 +465,6 @@ 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. @@ -475,6 +488,7 @@ rm -fr otherlibs/dune-rpc-lwt dune-rpc-lwt.opam %build ./configure \ + --prefix %{_prefix} \ --bindir %{_bindir} \ --datadir %{_datadir} \ --docdir %{_prefix}/doc \ @@ -590,6 +604,36 @@ cd - %files -n ocaml-xdg-devel -f .ofiles-xdg-devel %changelog +* Mon Oct 13 2025 Richard W.M. Jones - 3.20.2-2 +- OCaml 5.4.0 rebuild + +* Tue Sep 16 2025 Jerry James - 3.20.2-1 +- Version 3.20.2 + +* Mon Aug 25 2025 Jerry James - 3.20.1-1 +- Version 3.20.1 + +* Fri Aug 22 2025 Jerry James - 3.20.0-1 +- Version 3.20.0 + +* Wed Jul 23 2025 Jerry James - 3.19.1-2 +- Migrate tests from STI to TMT (rhbz#2382985) + +* Wed Jun 11 2025 Jerry James - 3.19.1-1 +- Version 3.19.1 + +* Fri May 23 2025 Jerry James - 3.19.0-1 +- Version 3.19.0 + +* Fri May 02 2025 Jerry James - 3.18.2-1 +- Version 3.18.2 + +* Fri Apr 18 2025 Jerry James - 3.18.1-1 +- Version 3.18.1 + +* Thu Apr 3 2025 Jerry James - 3.18.0-1 +- Version 3.18.0 + * Thu Jan 23 2025 Jerry James - 3.17.2-1 - Version 3.17.2 diff --git a/plans.fmf b/plans.fmf new file mode 100644 index 0000000..9337313 --- /dev/null +++ b/plans.fmf @@ -0,0 +1,10 @@ +summary: Run all tests +discover: + how: fmf +execute: + how: tmt +prepare: + how: install + package: + - ocaml + - ocaml-dune diff --git a/sources b/sources index 1650c5e..828aee6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dune-3.17.2.tar.gz) = 8feaf89c5bada83d840e6a1e42ae9308375b07dabc2363015b667bcff638dd78acd526c1a43dd4730ab675b4828f7304e503b97e9f53397e73ed4e644693f260 +SHA512 (dune-3.20.2.tar.gz) = efb4376e03a3e760ee230c22ba8ac788623382437d9e3551fdd6bacdca1c6aa2db90246feb011d3d0e7ba3afa47161ebd06c80cfb24e357a82f7764bf003e355 diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..a5f5b31 --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,2 @@ +summary: Basic test +test: ./basic-test.sh diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100755 index 6d126cf..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,12 +0,0 @@ -- hosts: localhost - roles: - - role: standard-test-basic - tags: - - classic - required_packages: - - ocaml - - ocaml-dune - tests: - - simple: - dir: . - run: ./basic-test.sh