Compare commits

...
Sign in to create a new pull request.

11 commits

Author SHA1 Message Date
Richard W.M. Jones
06a86cad81 OCaml 5.4.0 rebuild 2025-10-13 13:08:55 +01:00
Jerry James
146142d656 Version 3.20.2 2025-09-16 08:36:28 -06:00
Jerry James
836822abda Version 3.20.1 2025-08-25 08:16:16 -06:00
Jerry James
2f3375545a Version 3.20.0
- Add BSD-2-Clause to License for bundled ocaml-blake3-mini
- Add LGPL-2.1-or-later to License for code copied from 0install
- Recompute Requires between subpackages
2025-08-22 09:45:02 -06:00
Jerry James
890a33a2d0 Migrate tests from STI to TMT (rhbz#2382985) 2025-07-23 10:59:57 -06:00
Jerry James
493ce7b7ef Remove old obsoletes 2025-07-11 10:36:08 -06:00
Jerry James
fdd91af0d8 Version 3.19.1 2025-06-11 09:56:01 -06:00
Jerry James
f7bd4f2975 Version 3.19.0 2025-05-23 10:30:54 -06:00
Jerry James
85859ce6f2 Version 3.18.2 2025-05-02 09:50:02 -06:00
Jerry James
44d69f6b11 Version 3.18.1 2025-04-18 10:17:40 -06:00
Jerry James
3025091edc Version 3.18.0
- ocaml-fmt is no longer bundled
2025-04-03 11:55:45 -06:00
7 changed files with 95 additions and 50 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

View file

@ -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

View file

@ -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 <rjones@redhat.com> - 3.20.2-2
- OCaml 5.4.0 rebuild
* Tue Sep 16 2025 Jerry James <loganjerry@gmail.com> - 3.20.2-1
- Version 3.20.2
* Mon Aug 25 2025 Jerry James <loganjerry@gmail.com> - 3.20.1-1
- Version 3.20.1
* Fri Aug 22 2025 Jerry James <loganjerry@gmail.com> - 3.20.0-1
- Version 3.20.0
* Wed Jul 23 2025 Jerry James <loganjerry@gmail.com> - 3.19.1-2
- Migrate tests from STI to TMT (rhbz#2382985)
* Wed Jun 11 2025 Jerry James <loganjerry@gmail.com> - 3.19.1-1
- Version 3.19.1
* Fri May 23 2025 Jerry James <loganjerry@gmail.com> - 3.19.0-1
- Version 3.19.0
* Fri May 02 2025 Jerry James <loganjerry@gmail.com> - 3.18.2-1
- Version 3.18.2
* Fri Apr 18 2025 Jerry James <loganjerry@gmail.com> - 3.18.1-1
- Version 3.18.1
* Thu Apr 3 2025 Jerry James <loganjerry@gmail.com> - 3.18.0-1
- Version 3.18.0
* Thu Jan 23 2025 Jerry James <loganjerry@gmail.com> - 3.17.2-1
- Version 3.17.2

10
plans.fmf Normal file
View file

@ -0,0 +1,10 @@
summary: Run all tests
discover:
how: fmf
execute:
how: tmt
prepare:
how: install
package:
- ocaml
- ocaml-dune

View file

@ -1 +1 @@
SHA512 (dune-3.17.2.tar.gz) = 8feaf89c5bada83d840e6a1e42ae9308375b07dabc2363015b667bcff638dd78acd526c1a43dd4730ab675b4828f7304e503b97e9f53397e73ed4e644693f260
SHA512 (dune-3.20.2.tar.gz) = efb4376e03a3e760ee230c22ba8ac788623382437d9e3551fdd6bacdca1c6aa2db90246feb011d3d0e7ba3afa47161ebd06c80cfb24e357a82f7764bf003e355

2
tests/main.fmf Normal file
View file

@ -0,0 +1,2 @@
summary: Basic test
test: ./basic-test.sh

View file

@ -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