Compare commits

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

15 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
Jerry James
bdff9da145 Add forgotten changelog entry 2025-02-15 09:09:26 -07:00
Jerry James
5e00b46ccb Version 3.17.2 2025-01-23 12:11:26 -07:00
Fedora Release Engineering
65b81cbfb7 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 20:48:17 +00:00
Jerry James
8a80202e94 Version 3.17.1
- Update License field for changes in vendored dependencies
- Drop upstreamed furo theme patch
2024-12-26 20:01:26 -07:00
8 changed files with 110 additions and 203 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,45 +13,42 @@
%global giturl https://github.com/ocaml/dune
Name: ocaml-dune
Version: 3.16.1
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/opam-0install
# - vendor/sha
# - vendor/uutf
# LGPL-2.0-only:
# LGPL-2.1-only:
# - vendor/incremental-cycles
# LGPL-2.0-only WITH OCaml-LGPL-linking-exception
# LGPL-2.1-only WITH OCaml-LGPL-linking-exception
# - vendor/ocaml-inotify
# - vendor/opam
# - vendor/opam-file-format
# - vendor/re
# LGPL-2.1-or-later:
# - vendor/0install-solver
# 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.0-only AND LGPL-2.0-only WITH OCaml-LGPL-linking-exception AND LGPL-2.1-or-later
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
# Change to the furo theme for the docs
# https://github.com/ocaml/dune/commit/9f3da04c1c27ff80e8d1ab71de15c53a0ca953da
Patch: use-furo-theme.patch
Patch1: %{name}-debuginfo.patch
# OCaml packages not built on i686 since OCaml 5 / Fedora 39.
ExcludeArch: %{ix86}
@ -62,12 +59,13 @@ BuildRequires: ocaml >= 4.08
BuildRequires: ocaml-compiler-libs
%if !0%{?rhel}
BuildRequires: ocaml-csexp-devel >= 1.5.0
BuildRequires: ocaml-pp-devel >= 1.2.0
BuildRequires: ocaml-pp-devel >= 2.0.0
%endif
BuildRequires: ocaml-rpm-macros
%if %{with docs}
BuildRequires: %{py3_dist furo}
BuildRequires: %{py3_dist myst-parser}
BuildRequires: %{py3_dist sphinx}
BuildRequires: %{py3_dist sphinx-copybutton}
BuildRequires: %{py3_dist sphinx-design}
@ -80,17 +78,14 @@ BuildRequires: ocaml-lwt-devel >= 5.6.0
# 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-0install-solver) = 2.18
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-opam-0install) = 0.4.3
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
@ -174,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
@ -188,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
@ -197,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
@ -218,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
@ -237,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
@ -250,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
@ -263,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
@ -272,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
@ -284,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
@ -293,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}
@ -304,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
@ -315,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
@ -340,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
@ -360,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.
@ -379,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
@ -390,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
@ -401,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
@ -420,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.
@ -437,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.
@ -448,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
@ -459,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.
@ -483,6 +488,7 @@ rm -fr otherlibs/dune-rpc-lwt dune-rpc-lwt.opam
%build
./configure \
--prefix %{_prefix} \
--bindir %{_bindir} \
--datadir %{_datadir} \
--docdir %{_prefix}/doc \
@ -598,6 +604,47 @@ 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
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.17.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Dec 26 2024 Jerry James <loganjerry@gmail.com> - 3.17.1-1
- Version 3.17.1
- Update License field for changes in vendored dependencies
- Drop upstreamed furo theme patch
* Thu Oct 31 2024 Jerry James <loganjerry@gmail.com> - 3.16.1-1
- Version 3.16.1

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.16.1.tar.gz) = 18e8022c5fa276e06f788cf25a4d6d08e3247c546cd69a5206d4e78ece1f47a615c6d5842e68e1fa7908cae7ae8c6e4f31d2eb835d97b5e6b5e4154957139e9f
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

View file

@ -1,141 +0,0 @@
From ef461f6000ffbf2f7381e3b8d1d9c7ecdd518b20 Mon Sep 17 00:00:00 2001
From: Etienne Millon <me@emillon.org>
Date: Fri, 2 Aug 2024 10:28:46 +0200
Subject: [PATCH] docs: use furo theme (#10786)
* docs: use furo theme
This theme has several advantages compared to `sphinx_rtd_theme`:
- support for light and dark mode
- a sidebar on the right with a table of contents for the current
documentation
- better use of horizontal space (half of the screen is unused with
`sphinx_rtd_theme`)
- "it looks better"
Signed-off-by: Etienne Millon <me@emillon.org>
* use sphinx >= 6
Signed-off-by: Etienne Millon <me@emillon.org>
---------
Signed-off-by: Etienne Millon <me@emillon.org>
---
doc/conf.py | 12 +++---------
doc/coq.rst | 3 ---
doc/hacking.rst | 5 -----
doc/requirements.txt | 4 ++--
flake.nix | 4 ++--
5 files changed, 7 insertions(+), 21 deletions(-)
diff --git a/doc/conf.py b/doc/conf.py
index 787d072..f3bd7ee 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -74,7 +74,7 @@ language = "en"
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
+pygments_style = 'friendly'
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = False
@@ -85,13 +85,13 @@ todo_include_todos = False
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
-html_theme = 'sphinx_rtd_theme'
+html_theme = 'furo'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
-html_theme_options = {'navigation_depth': 6}
+html_theme_options = {}
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
@@ -155,12 +155,6 @@ texinfo_documents = [
'Miscellaneous'),
]
-
-
-import sphinx_rtd_theme
-
-html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
-
html_context = {
'display_github': True,
'github_user': 'ocaml',
diff --git a/doc/coq.rst b/doc/coq.rst
index 2266cc4..d20a4da 100644
--- a/doc/coq.rst
+++ b/doc/coq.rst
@@ -11,9 +11,6 @@ Coq
- reference info for stanzas and variables
- tutorials (the examples part)
-.. contents:: Table of Contents
- :depth: 3
-
Introduction
------------
diff --git a/doc/hacking.rst b/doc/hacking.rst
index 096ee5d..6f1ff14 100644
--- a/doc/hacking.rst
+++ b/doc/hacking.rst
@@ -10,11 +10,6 @@ general guidelines specific to Dune. However, given that Dune is a large project
developed by many different people, it's important to follow these guidelines in
order to keep the project in a good state and pleasant to work on for everybody.
-.. contents:: Table of Contents
- :depth: 1
- :local:
- :backlinks: none
-
Dependencies
============
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 21f8f5f..b4a0e74 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -1,4 +1,4 @@
-sphinx >= 4.5.0, < 6
-sphinx_rtd_theme >= 1.0.0
+sphinx >= 6
+furo
sphinx-copybutton >= 0.5.0
sphinx-design
diff --git a/flake.nix b/flake.nix
index 00f97e1..ca349f2 100644
--- a/flake.nix
+++ b/flake.nix
@@ -122,7 +122,7 @@
docInputs = with pkgs'.python3.pkgs; [
sphinx-autobuild
- sphinx_rtd_theme
+ furo
sphinx-copybutton
sphinx-design
];
@@ -164,7 +164,7 @@
sphinx
sphinx-autobuild
python310Packages.sphinx-copybutton
- python310Packages.sphinx-rtd-theme
+ python310Packages.furo
python310Packages.sphinx-design
]
);
--
2.46.2