Version 3.3.1.
- Expose the libraries individually. - Explain why we do not run the test suite. - Use new OCaml macros. - Various spec file cleanups.
This commit is contained in:
parent
14881fd6e2
commit
3bff422f6b
11
README.md
11
README.md
@ -1,3 +1,12 @@
|
|||||||
# ocaml-dune
|
# ocaml-dune
|
||||||
|
|
||||||
The ocaml-dune package
|
[Dune](https://dune.build) is a build system designed for
|
||||||
|
[OCaml](https://ocaml.org/)/[Reason](https://reasonml.github.io/) projects
|
||||||
|
only. It focuses on providing the user with a consistent experience and takes
|
||||||
|
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.
|
||||||
|
|
||||||
|
The scheme it implements is inspired from the one used inside
|
||||||
|
[Jane Street](https://opensource.janestreet.com/) and 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.
|
||||||
|
32
ocaml-dune-no-lwt.patch
Normal file
32
ocaml-dune-no-lwt.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
--- dune-3.3.1/dune.orig 2022-06-19 11:20:42.000000000 -0600
|
||||||
|
+++ dune-3.3.1/dune 2022-06-25 13:22:05.768505945 -0600
|
||||||
|
@@ -26,9 +26,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.3.1/dune-project.orig 2022-06-19 11:20:42.000000000 -0600
|
||||||
|
+++ dune-3.3.1/dune-project 2022-06-25 13:24:12.903696002 -0600
|
||||||
|
@@ -144,17 +144,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))
|
||||||
|
- (result (>= 1.5))
|
||||||
|
- (csexp (>= 1.5.0))
|
||||||
|
- (lwt (>= 5.3.0))
|
||||||
|
- base-unix)
|
||||||
|
- (description "Specialization of dune-rpc to Lwt"))
|
||||||
|
-
|
||||||
|
-(package
|
||||||
|
(name dyn)
|
||||||
|
(synopsis "Dynamic type")
|
||||||
|
(depends
|
552
ocaml-dune.spec
552
ocaml-dune.spec
@ -1,14 +1,18 @@
|
|||||||
|
# TESTING NOTE: The testsuite requires numerous packages, many of which are
|
||||||
|
# built with dune. Furthermore, the testsuite assumes it is running in a git
|
||||||
|
# checkout, and has access to the Internet. We cannot satisfy any of these
|
||||||
|
# conditions on a koji builder, so we do not run the test suite.
|
||||||
|
|
||||||
%undefine _package_note_flags
|
%undefine _package_note_flags
|
||||||
%global libname dune
|
|
||||||
|
|
||||||
# Since menhir now requires dune to build, but dune needs menhir only for the
|
# One of the dune libraries now depends on lwt. We do not currently need that
|
||||||
# tests, build in bootstrap mode to skip the tests and the need for menhir.
|
# library in Fedora, so don't build it.
|
||||||
%bcond_without menhir
|
%bcond_with lwt
|
||||||
|
|
||||||
Name: ocaml-%{libname}
|
Name: ocaml-dune
|
||||||
Version: 2.9.3
|
Version: 3.3.1
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: A composable build system for OCaml
|
Summary: Composable build system for OCaml and Reason
|
||||||
|
|
||||||
# Dune itself is MIT. Some bundled libraries have a different license:
|
# Dune itself is MIT. Some bundled libraries have a different license:
|
||||||
# ISC:
|
# ISC:
|
||||||
@ -16,42 +20,52 @@ Summary: A composable build system for OCaml
|
|||||||
# LGPLv2:
|
# LGPLv2:
|
||||||
# - vendor/incremental-cycles
|
# - vendor/incremental-cycles
|
||||||
# LGPLv2 with exceptions:
|
# LGPLv2 with exceptions:
|
||||||
|
# - vendor/ocaml-inotify
|
||||||
# - vendor/opam-file-format
|
# - vendor/opam-file-format
|
||||||
# - vendor/re
|
# - vendor/re
|
||||||
# MIT:
|
# MIT:
|
||||||
# - vendor/build_path_prefix_map
|
# - vendor/build_path_prefix_map
|
||||||
|
# - vendor/spawn
|
||||||
License: MIT and LGPLv2 and LGPLv2 with exceptions and ISC
|
License: MIT and LGPLv2 and LGPLv2 with exceptions and ISC
|
||||||
|
|
||||||
URL: https://dune.build
|
URL: https://dune.build
|
||||||
Source0: https://github.com/ocaml/%{libname}/archive/%{version}/%{libname}-%{version}.tar.gz
|
Source0: https://github.com/ocaml/dune/archive/%{version}/dune-%{version}.tar.gz
|
||||||
|
# When building without lwt, remove libraries that need it
|
||||||
|
Patch0: %{name}-no-lwt.patch
|
||||||
|
|
||||||
BuildRequires: emacs-nox
|
BuildRequires: emacs-nox
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: ocaml >= 4.08
|
BuildRequires: ocaml >= 4.08
|
||||||
BuildRequires: ocaml-csexp-devel >= 1.3.0
|
BuildRequires: ocaml-csexp-devel >= 1.5.0
|
||||||
|
BuildRequires: ocaml-pp-devel >= 1.1.0
|
||||||
BuildRequires: %{py3_dist sphinx}
|
BuildRequires: %{py3_dist sphinx}
|
||||||
BuildRequires: %{py3_dist sphinx-rtd-theme}
|
BuildRequires: %{py3_dist sphinx-rtd-theme}
|
||||||
|
|
||||||
%if %{without menhir}
|
%if %{with lwt}
|
||||||
# Required by tests.
|
BuildRequires: ocaml-lwt-devel
|
||||||
BuildRequires: ocaml-menhir
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Dune has vendored deps (ugh):
|
# Dune has vendored deps to avoid dependency cycles. Upstream deliberately
|
||||||
# I'm not clear on how to unbundle them.
|
# does not support unbundling these dependencies.
|
||||||
# It seems to be unsupported upstream; the bootstrap process for dune
|
# See https://github.com/ocaml/dune/issues/220
|
||||||
# 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-build-path-prefix-map) = 0.2
|
||||||
Provides: bundled(ocaml-incremental-cycles) = 1e2030a5d5183d84561cde142eecca40e03db2a3
|
|
||||||
Provides: bundled(ocaml-opam-file-format) = 2.0.0
|
|
||||||
Provides: bundled(ocaml-cmdliner) = 1.0.4
|
Provides: bundled(ocaml-cmdliner) = 1.0.4
|
||||||
|
Provides: bundled(ocaml-incremental-cycles) = 1e2030a5d5183d84561cde142eecca40e03db2a3
|
||||||
|
Provides: bundled(ocaml-inotify) = 2.3
|
||||||
|
Provides: bundled(ocaml-opam-file-format) = 2.0.0
|
||||||
Provides: bundled(ocaml-re) = 1.9.0
|
Provides: bundled(ocaml-re) = 1.9.0
|
||||||
|
Provides: bundled(ocaml-spawn) = 0.15.1
|
||||||
|
|
||||||
Provides: dune = %{version}-%{release}
|
Provides: dune = %{version}-%{release}
|
||||||
|
|
||||||
Provides: jbuilder = %{version}-%{release}
|
# This is needed for the dune-related RPM macros
|
||||||
Obsoletes: jbuilder < 1.0.1-3
|
Requires: python3
|
||||||
|
|
||||||
|
# Both packages install a binary named dune and an associated man page
|
||||||
|
Conflicts: wdune
|
||||||
|
|
||||||
|
# Install documentation in the main package doc directory
|
||||||
|
%global _docdir_fmt %{name}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Dune is a build system designed for OCaml/Reason projects only. It focuses
|
Dune is a build system designed for OCaml/Reason projects only. It focuses
|
||||||
@ -64,19 +78,8 @@ 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
|
daily by hundred of developers, which means that it is highly tested and
|
||||||
productive.
|
productive.
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development files for %{name}
|
|
||||||
Requires: %{name}%{?isa} = %{version}-%{release}
|
|
||||||
Requires: ocaml-csexp-devel%{?_isa}
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
The %{name}-devel package contains libraries and
|
|
||||||
signature files for developing applications that use %{name}.
|
|
||||||
|
|
||||||
%package doc
|
%package doc
|
||||||
Summary: HTML documentation for %{name}
|
Summary: HTML documentation for %{name}
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description doc
|
%description doc
|
||||||
@ -86,6 +89,7 @@ HTML documentation for dune, a composable build system for OCaml.
|
|||||||
Summary: Emacs support for %{name}
|
Summary: Emacs support for %{name}
|
||||||
License: ISC
|
License: ISC
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Requires: emacs-filesystem >= %{?_emacs_version}%{!?_emacs_version:0}
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
@ -93,125 +97,423 @@ BuildArch: noarch
|
|||||||
The %{name}-devel package contains Emacs integration with the dune build
|
The %{name}-devel package contains Emacs integration with the dune build
|
||||||
system, a mode to edit dune files, and flymake support for dune files.
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
Requires: %{name}-rpc-lwt%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: %{name}-rpc-devel%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: ocaml-csexp-devel%{?_isa}
|
||||||
|
Requires: ocaml-lwt-devel%{?_isa}
|
||||||
|
Requires: ocaml-result-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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
Requires: ocaml-dyn%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: ocaml-ordering-devel%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: ocaml-pp-devel%{?_isa}
|
||||||
|
|
||||||
|
%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-fiber
|
||||||
|
Summary: Structured concurrency library
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: ocaml-stdune%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n ocaml-fiber
|
||||||
|
A structured concurrency library for OCaml.
|
||||||
|
|
||||||
|
%package -n ocaml-fiber-devel
|
||||||
|
Summary: Development files for ocaml-fiber
|
||||||
|
Requires: ocaml-fiber%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: ocaml-stdune-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n ocaml-fiber-devel
|
||||||
|
The ocaml-fiber-devel package contains libraries and signature files for
|
||||||
|
developing applications that use ocaml-fiber.
|
||||||
|
|
||||||
|
%package -n ocaml-ocamlc-loc
|
||||||
|
Summary: Parse OCaml compiler output into structured form
|
||||||
|
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
|
||||||
|
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
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n ocaml-ordering
|
||||||
|
Element ordering in OCaml.
|
||||||
|
|
||||||
|
%package -n ocaml-ordering-devel
|
||||||
|
Summary: Development files for ocaml-ordering
|
||||||
|
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
|
||||||
|
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
|
||||||
|
Requires: ocaml-stdune%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: ocaml-dyn-devel%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: ocaml-csexp-devel%{?_isa}
|
||||||
|
|
||||||
|
%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
|
||||||
|
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
|
||||||
|
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
|
%prep
|
||||||
%autosetup -n %{libname}-%{version} -p1
|
%autosetup -N -n dune-%{version}
|
||||||
|
%if %{without lwt}
|
||||||
|
%patch0 -p1
|
||||||
|
rm -fr otherlibs/dune-rpc-lwt dune-rpc-lwt.opam
|
||||||
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Also set --docdir when we are ready to migrate all ocaml packages
|
|
||||||
./configure \
|
./configure \
|
||||||
|
--bindir %{_bindir} \
|
||||||
|
--datadir %{_datadir} \
|
||||||
|
--docdir %{_prefix}/doc \
|
||||||
--etcdir %{_sysconfdir} \
|
--etcdir %{_sysconfdir} \
|
||||||
--libdir %{_libdir}/ocaml \
|
--libdir %{ocamldir} \
|
||||||
--mandir %{_mandir}
|
--libexecdir %{ocamldir} \
|
||||||
|
--mandir %{_mandir} \
|
||||||
|
--sbindir %{_sbindir}
|
||||||
|
|
||||||
# This command fails, because ppx_bench, ppx_expect, and core_bench are missing.
|
%make_build release
|
||||||
# However, it is only tests that fail, not the actual build, so ignore the
|
|
||||||
# failures and continue.
|
|
||||||
%make_build release || :
|
|
||||||
./dune.exe build @install
|
|
||||||
%make_build doc
|
%make_build doc
|
||||||
|
|
||||||
# Relink the stublibs. See https://github.com/ocaml/dune/issues/2977.
|
# We also want the libraries
|
||||||
cd _build/default/src/stdune
|
# Do not use the bundled csexp and pp when building them
|
||||||
ocamlmklib -g -ldopt "%{build_ldflags}" -o stdune_stubs fcntl_stubs.o
|
rm -fr vendor/{csexp,pp}
|
||||||
cd -
|
./dune.exe build %{?_smp_mflags} --verbose --release @install
|
||||||
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 -
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
# "make install" only installs the binary. We want the libraries, too.
|
%make_install
|
||||||
./dune.exe install --destdir %{buildroot}
|
|
||||||
|
# Install the libraries
|
||||||
|
./dune.exe install --destdir=%{buildroot}
|
||||||
|
|
||||||
|
# We use %%doc below
|
||||||
|
rm -fr %{buildroot}%{_prefix}/doc
|
||||||
|
|
||||||
# Byte compile the Emacs files
|
# Byte compile the Emacs files
|
||||||
cd %{buildroot}%{_emacs_sitelispdir}
|
cd %{buildroot}%{_emacs_sitelispdir}
|
||||||
%_emacs_bytecompile dune.el dune-flymake.el
|
%_emacs_bytecompile *.el
|
||||||
cd -
|
cd -
|
||||||
|
|
||||||
# Install documentation by way of pkgdocdir.
|
# Generate %%files lists
|
||||||
rm -fr %{buildroot}%{_prefix}/doc
|
%ocaml_files -s
|
||||||
mkdir -p %{buildroot}%{_pkgdocdir}/
|
|
||||||
cp -ar README.md CHANGES.md MIGRATION.md doc/_build/* %{buildroot}%{_pkgdocdir}/
|
|
||||||
|
|
||||||
%if %{without menhir}
|
|
||||||
%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
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE.md
|
%license LICENSE.md
|
||||||
%doc %{_pkgdocdir}/README.md
|
%doc CHANGES.md README.md
|
||||||
%doc %{_pkgdocdir}/CHANGES.md
|
|
||||||
%doc %{_pkgdocdir}/MIGRATION.md
|
|
||||||
%{_bindir}/dune
|
%{_bindir}/dune
|
||||||
%{_mandir}/man*/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
|
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
%exclude %{_pkgdocdir}/README.md
|
%doc doc/_build/*
|
||||||
%exclude %{_pkgdocdir}/CHANGES.md
|
|
||||||
%doc %{_pkgdocdir}/*
|
|
||||||
|
|
||||||
%files emacs
|
%files emacs
|
||||||
%{_emacs_sitelispdir}/dune*
|
%{_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-fiber -f .ofiles-fiber
|
||||||
|
|
||||||
|
%files -n ocaml-fiber-devel -f .ofiles-fiber-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
|
%changelog
|
||||||
|
* Tue Jul 5 2022 Jerry James <loganjerry@gmail.com> - 3.3.1-1
|
||||||
|
- Version 3.3.1
|
||||||
|
- Expose the libraries individually
|
||||||
|
- Explain why we do not run the test suite
|
||||||
|
- Use new OCaml macros
|
||||||
|
- Various spec file cleanups
|
||||||
|
|
||||||
* Sat Jun 18 2022 Richard W.M. Jones <rjones@redhat.com> - 2.9.3-3
|
* Sat Jun 18 2022 Richard W.M. Jones <rjones@redhat.com> - 2.9.3-3
|
||||||
- OCaml 4.14.0 rebuild
|
- OCaml 4.14.0 rebuild
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (dune-2.9.3.tar.gz) = df6e06a9beebf41f3ed375384be781b5c87c7949048995cc0bbad13dd65c96bd8b27415cd41e43b1112bd86524a59a7dd418e14b5c72b4f1f8fd4ac5ca2d1494
|
SHA512 (dune-3.3.1.tar.gz) = c87763018a7550c40b9497718b801caa51d39410285cb44ad49b1507571162bf4142cf31186e8c4c762dab874b4cf4d6d0e11220cf910f52a31e46753a04c56a
|
||||||
|
Loading…
Reference in New Issue
Block a user