Compare commits

...

20 Commits

Author SHA1 Message Date
David Abdurachmanov 393444074b
Rebuilt for Fedora/RISCV (riscv64); adding .rvreX to Release:
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-02-27 11:29:59 +02:00
Richard W.M. Jones dcbe41532f Rebuild OCaml packages for F38 2023-01-24 10:35:29 +00:00
Fedora Release Engineering 4e07818eb9 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 22:02:01 +00:00
Jerry James b598362a43 Add Apache-2.0 to the License tag while converting to SPDX. 2022-12-12 08:49:32 -07:00
Jerry James 759a937bf9 Version 0.15.1. 2022-11-01 09:59:40 -06:00
Fedora Release Engineering 0c43e7e377 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 01:06:19 +00:00
Jerry James 3ce918a734 Optionally run tests.
- Link against the math library.
- Use new OCaml macros.
2022-07-20 13:37:05 -06:00
Richard W.M. Jones b6387cb0e6 OCaml 4.14.0 rebuild 2022-06-18 15:25:51 +01:00
Jerry James bd3027f003 Version 0.15.0 rerelease. 2022-02-28 09:05:36 -07:00
Richard W.M. Jones 1cf8d41801 OCaml 4.13.1 rebuild to remove package notes 2022-02-04 13:23:25 +00:00
Fedora Release Engineering bbc2a8de6f - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 21:38:27 +00:00
Jerry James b62568cc70 Version 0.15.0. Add patch for OCaml 4.13 compatibility. 2021-11-30 10:05:00 -07:00
Richard W.M. Jones a28a8d65bb OCaml 4.13.1 build 2021-10-04 22:25:11 +01:00
Fedora Release Engineering fcc1625e29 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 16:32:23 +00:00
Jerry James c5c72659cd Drop obsolete workaround for dune bug. 2021-07-19 14:40:12 -06:00
Richard W.M. Jones 13d5c69834 OCaml 4.12.0 build 2021-03-01 12:17:34 +00:00
Jerry James f8c966d3e4 Version 0.14.1. 2021-02-20 19:23:48 -07:00
Richard W.M. Jones 9604f4ab58 Bump and rebuild for updated ocaml-camomile dep (RHBZ#1923853). 2021-02-02 12:38:38 +00:00
Fedora Release Engineering a7d2e8213d - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 21:53:03 +00:00
Jerry James 65337170a6 Update URLs. 2021-01-20 08:00:04 -07:00
6 changed files with 139 additions and 78 deletions

View File

@ -1,3 +1,10 @@
# ocaml-base
The ocaml-base package
[Base](https://opensource.janestreet.com/base/) is a complete and portable
alternative to the OCaml standard library. It provides all standard
functionalities one would expect from a language standard library. It uses
consistent conventions across all of its modules.
Base aims to be usable in any context. As a result system dependent features
such as I/O are not offered by Base. They are instead provided by companion
libraries such as [stdio](https://github.com/janestreet/stdio).

10
ocaml-base-mathlib.patch Normal file
View File

@ -0,0 +1,10 @@
--- a/src/dune 2022-02-18 15:56:18.448932476 -0700
+++ b/src/dune 2022-02-18 15:57:07.165948459 -0700
@@ -11,6 +11,7 @@
(libraries base_internalhash_types caml sexplib0 shadow_stdlib)
(flags :standard -w -55)
(c_flags :standard -D_LARGEFILE64_SOURCE (:include mpopcnt.sexp))
+ (c_library_flags -lm)
(c_names exn_stubs int_math_stubs hash_stubs am_testing)
(preprocess no_preprocessing)
(lint

26
ocaml-base-ocaml413.patch Normal file
View File

@ -0,0 +1,26 @@
--- a/shadow-stdlib/gen/mapper.mll 2021-11-19 11:05:01.000000000 -0700
+++ b/shadow-stdlib/gen/mapper.mll 2021-11-23 15:17:54.018455142 -0700
@@ -110,10 +110,13 @@ let val_replacement = function
| "abs" -> No_equivalent
| "abs_float" -> No_equivalent
| "acos" -> Repl "Float.acos"
+ | "acosh" -> Repl "Float.acosh"
| "asin" -> Repl "Float.asin"
+ | "asinh" -> Repl "Float.asinh"
| "at_exit" -> No_equivalent
| "atan" -> Repl "Float.atan"
| "atan2" -> Repl "Float.atan2"
+ | "atanh" -> Repl "Float.atanh"
| "bool_of_string" -> Repl "Bool.of_string"
| "bool_of_string_opt" -> No_equivalent
| "ceil" -> Repl "Float.round_up"
--- a/src/dune 2021-11-19 11:05:01.000000000 -0700
+++ b/src/dune 2021-11-23 15:29:54.579266675 -0700
@@ -9,6 +9,7 @@
(library (name base) (public_name base)
(libraries base_internalhash_types caml sexplib0 shadow_stdlib)
+ (flags :standard -w -55)
(c_flags :standard -D_LARGEFILE64_SOURCE (:include mpopcnt.sexp))
(c_names exn_stubs int_math_stubs hash_stubs am_testing)
(preprocess no_preprocessing)

View File

@ -1,11 +0,0 @@
# THIS FILE IS FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON
# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors
# The dictionary is missing some technical terms
addFilter(r'W: spelling-error .* performant')
# Documentation is in the main package
addFilter(r'ocaml-base-devel\.[^:]+: W: no-documentation')
# The stub library does not need any C library symbols
addFilter(r'E: shared-lib-without-dependency-information .*stubs\.so')

View File

@ -1,22 +1,37 @@
# TESTING NOTE: The ppx_jane module is needed to run the tests. However,
# ppx_jane transitively requires this module. Therefore, we cannot run the
# tests at all until we are able to add ppx_jane to Fedora, and even then we
# will only be able to run the tests in non-bootstrap mode.
%undefine _package_note_flags
%global srcname base
# This package is needed to build ppx_jane, but its tests require ppx_jane.
# Break the dependency cycle here.
%bcond_with test
Name: ocaml-%{srcname}
Version: 0.14.0
Release: 4%{?dist}
Name: ocaml-base
Version: 0.15.1
Release: 3%{?dist}.rvre0
Summary: Jane Street standard library for OCaml
License: MIT
URL: https://github.com/janestreet/%{srcname}
Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz
# MIT: The project as a whole
# Apache-2.0: src/map.ml, src/random.mli, src/set.ml
License: MIT AND Apache-2.0
URL: https://opensource.janestreet.com/base/
Source0: https://github.com/janestreet/base/archive/v%{version}/base-%{version}.tar.gz
# Adapt to changes in the OCaml 4.13 standard library
# See https://github.com/janestreet/base/issues/125
Patch0: %{name}-ocaml413.patch
# Expose a dependency on the math library so RPM can see it
Patch1: %{name}-mathlib.patch
BuildRequires: ocaml >= 4.07.0
BuildRequires: ocaml-dune-devel >= 2.0.0
BuildRequires: ocaml-sexplib0-devel >= 0.14
BuildRequires: ocaml >= 4.08.0
BuildRequires: ocaml-dune >= 2.0.0
BuildRequires: ocaml-dune-configurator-devel
BuildRequires: ocaml-sexplib0-devel >= 0.15
%if %{with test}
BuildRequires: ocaml-num-devel
BuildRequires: ocaml-ppx-jane-devel
BuildRequires: ocaml-sexplib-devel
BuildRequires: ocaml-stdio-devel
BuildRequires: ocaml-uutf-devel
%endif
%description
Base is a standard library for OCaml. It provides a standard set of
@ -38,13 +53,10 @@ The %{name}-devel package contains libraries and signature files for
developing applications that use %{name}.
%prep
%autosetup -n %{srcname}-%{version} -p1
%autosetup -n base-%{version} -p1
%build
dune build %{?_smp_mflags}
# TODO: Once odoc is available, BR it and run this to generate documentation:
# dune build %{?_smp_mflags} @doc
%dune_build
# Dune passes %%build_ldflags to ocamlmklib without -ldopt, resulting in
# "Unknown option" warnings from ocamlmklib and a library that has not been
@ -60,60 +72,77 @@ ocamlmklib -g -ldopt "%build_ldflags" -o base_internalhash_types_stubs *.o
popd
%install
dune install --destdir=%{buildroot}
%dune_install
# We install the documentation with the doc macro
rm -fr %{buildroot}%{_prefix}/doc
%ifarch %{ocaml_native_compiler}
# Add missing executable bits
find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod a+x {} \+
%if %{with test}
%check
%dune_check
%endif
%files
%files -f .ofiles
%doc CHANGES.md README.org ROADMAP.md
%license LICENSE.md
%dir %{_libdir}/ocaml/%{srcname}/
%dir %{_libdir}/ocaml/%{srcname}/base_internalhash_types/
%dir %{_libdir}/ocaml/%{srcname}/caml/
%dir %{_libdir}/ocaml/%{srcname}/md5/
%dir %{_libdir}/ocaml/%{srcname}/shadow_stdlib/
%{_libdir}/ocaml/%{srcname}/META
%{_libdir}/ocaml/%{srcname}/*.cma
%{_libdir}/ocaml/%{srcname}/*.cmi
%{_libdir}/ocaml/%{srcname}/*.js
%{_libdir}/ocaml/%{srcname}/*/*.cma
%{_libdir}/ocaml/%{srcname}/*/*.cmi
%{_libdir}/ocaml/%{srcname}/*/*.js
%ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/%{srcname}/*.cmxs
%{_libdir}/ocaml/%{srcname}/*/*.cmxs
%endif
%{_libdir}/ocaml/stublibs/dllbase_stubs.so
%{_libdir}/ocaml/stublibs/dllbase_internalhash_types_stubs.so
%files devel
%{_libdir}/ocaml/%{srcname}/dune-package
%{_libdir}/ocaml/%{srcname}/opam
%ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/%{srcname}/*.a
%{_libdir}/ocaml/%{srcname}/*.cmx
%{_libdir}/ocaml/%{srcname}/*.cmxa
%{_libdir}/ocaml/%{srcname}/*/*.a
%{_libdir}/ocaml/%{srcname}/*/*.cmx
%{_libdir}/ocaml/%{srcname}/*/*.cmxa
%endif
%{_libdir}/ocaml/%{srcname}/*.cmt
%{_libdir}/ocaml/%{srcname}/*.cmti
%{_libdir}/ocaml/%{srcname}/*.ml
%{_libdir}/ocaml/%{srcname}/*.mli
%{_libdir}/ocaml/%{srcname}/*/*.cmt
%{_libdir}/ocaml/%{srcname}/*/*.cmti
%{_libdir}/ocaml/%{srcname}/*/*.h
%{_libdir}/ocaml/%{srcname}/*/*.ml
%{_libdir}/ocaml/%{srcname}/*/*.mli
%files devel -f .ofiles-devel
%changelog
* Mon Feb 27 2023 David Abdurachmanov <davidlt@rivosinc.com> - 0.15.1-3.rvre0
- Rebuilt for Fedora/RISCV (riscv64)
* Tue Jan 24 2023 Richard W.M. Jones <rjones@redhat.com> - 0.15.1-3
- Rebuild OCaml packages for F38
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Dec 12 2022 Jerry James <loganjerry@gmail.com> - 0.15.1-1
- Add Apache-2.0 to the License tag while converting to SPDX
* Mon Oct 31 2022 Jerry James <loganjerry@gmail.com> - 0.15.1-1
- Version 0.15.1
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 27 2022 Jerry James <loganjerry@gmail.com> - 0.15.0-5
- Optionally run tests
- Link against the math library
- Use new OCaml macros
* Sat Jun 18 2022 Richard W.M. Jones <rjones@redhat.com> - 0.15.0-5
- OCaml 4.14.0 rebuild
* Thu Feb 24 2022 Jerry James <loganjerry@gmail.com> - 0.15.0-4
- Version 0.15.0 rerelease
* Fri Feb 04 2022 Richard W.M. Jones <rjones@redhat.com> - 0.15.0-3
- OCaml 4.13.1 rebuild to remove package notes
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Nov 30 2021 Jerry James <loganjerry@gmail.com> - 0.15.0-1
- Version 0.15.0
- Add patch for OCaml 4.13 compatibility
* Mon Oct 04 2021 Richard W.M. Jones <rjones@redhat.com> - 0.14.1-4
- OCaml 4.13.1 build
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Mar 1 12:17:33 GMT 2021 Richard W.M. Jones <rjones@redhat.com> - 0.14.1-2
- OCaml 4.12.0 build
* Sat Feb 20 2021 Jerry James <loganjerry@gmail.com> - 0.14.1-1
- Version 0.14.1
* Tue Feb 2 2021 Richard W.M. Jones <rjones@redhat.com> - 0.14.0-6
- Bump and rebuild for updated ocaml-camomile dep (RHBZ#1923853).
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Sep 01 2020 Richard W.M. Jones <rjones@redhat.com> - 0.14.0-4
- OCaml 4.11.1 rebuild

View File

@ -1 +1 @@
SHA512 (base-0.14.0.tar.gz) = c713c9aaf369bc042afb1ead53dc5a34a6eb3c97abc7fef99868e3be8e976adc6297f34d13cfc314adf2182fc64b0cde9c9a05aeeb0f51380255aa1f8e0edf16
SHA512 (base-0.15.1.tar.gz) = 4ac43829229765c19d8af98d45783c098abffd026328b03f5dc4390911b26cf6b65879d4084d30dd4b0b4f5a1d23079270e9bb10b1aeccf575ee70c7e16021ec