diff --git a/.gitignore b/.gitignore index d721205..93512e2 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,7 @@ /v1.4.0.tar.gz /v1.5.0.tar.gz /v1.6.4.tar.gz +/v1.6.5.tar.gz +/v1.6.6.tar.gz +/cppo-1.6.8.tar.gz +/cppo-1.8.0.tar.gz diff --git a/gating.yaml b/gating.yaml new file mode 100755 index 0000000..2c7ed80 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-* +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/ocaml-cppo.spec b/ocaml-cppo.spec index dc5ccb6..03decee 100644 --- a/ocaml-cppo.spec +++ b/ocaml-cppo.spec @@ -1,26 +1,22 @@ -%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) -%if !%{opt} -%global debug_package %{nil} -%endif +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +%global giturl https://github.com/ocaml-community/cppo Name: ocaml-cppo -Version: 1.6.4 -Release: 4%{?dist} +Version: 1.8.0 +Release: 5%{?dist} Summary: Equivalent of the C preprocessor for OCaml programs -License: BSD -URL: http://mjambon.com/cppo.html -Source0: https://github.com/mjambon/cppo/archive/v%{version}.tar.gz +License: BSD-3-Clause +URL: https://ocaml-community.github.io/cppo/ +VCS: git:%{giturl}.git +Source0: %{giturl}/archive/v%{version}/cppo-%{version}.tar.gz -BuildRequires: ocaml >= 3.10.0 +BuildRequires: ocaml >= 4.02.3 +BuildRequires: ocaml-dune BuildRequires: ocaml-findlib -%if !%{opt} -Requires: ocaml >= 3.10.0 -%endif -BuildRequires: ocaml-ocamlbuild-devel -BuildRequires: jbuilder - -%define libname %(sed -e 's/^ocaml-//' <<< %{name}) +BuildRequires: ocaml-ocamlbuild %description Cppo is an equivalent of the C preprocessor targeted at the OCaml @@ -37,37 +33,187 @@ on the standard parsing tools Ocamllex and Ocamlyacc, which contribute to the robustness of cppo across OCaml versions. +%package ocamlbuild +Summary: Preprocessing plugin for ocamlbuild +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-ocamlbuild%{?_isa} +# There is no devel subpackage because this package IS for development purposes + + +%description ocamlbuild +This package contains a plugin for ocamlbuild that enables calling cppo +at build time. To use it, call ocamlbuild with the argument +`-plugin-tag package(cppo_ocamlbuild)`. + + %prep -%setup -q -n %{libname}-%{version} -sed -i.add-debuginfo \ - 's/ocamlopt/ocamlopt -g/;s/ocamlc \(-[co]\)/ocamlc -g \1/' \ - Makefile +%autosetup -n cppo-%{version} %build -make %{?_smp_mflags} all +%dune_build %install -%{__install} -d $RPM_BUILD_ROOT%{_bindir} -%{__install} -p _build/install/default/bin/cppo $RPM_BUILD_ROOT%{_bindir}/ +%dune_install %check -%ifnarch %{arm} %{power64} -# Fails on armv7hl and ppc64le with: -# Error: math error -make test -%endif +%dune_check %files %license LICENSE.md -%doc Changes README.md +%doc Changes.md README.md %{_bindir}/cppo +%{_libdir}/ocaml/cppo + + +%files ocamlbuild +%{_libdir}/ocaml/cppo_ocamlbuild/ %changelog +* Mon Oct 13 2025 Richard W.M. Jones - 1.8.0-5 +- OCaml 5.4.0 rebuild + +* Thu Jul 24 2025 Fedora Release Engineering - 1.8.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jul 11 2025 Jerry James - 1.8.0-3 +- Rebuild to fix OCaml dependencies + +* Fri Jan 17 2025 Fedora Release Engineering - 1.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jan 9 2025 Jerry James - 1.8.0-1 +- OCaml 5.3.0 rebuild for Fedora 42 +- Version 1.8.0 + +* Thu Jul 18 2024 Fedora Release Engineering - 1.6.9-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jun 19 2024 Richard W.M. Jones - 1.6.9-10 +- OCaml 5.2.0 ppc64le fix + +* Wed May 29 2024 Richard W.M. Jones - 1.6.9-9 +- OCaml 5.2.0 for Fedora 41 + +* Thu Jan 25 2024 Fedora Release Engineering - 1.6.9-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.6.9-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 18 2023 Richard W.M. Jones - 1.6.9-6 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + +* Tue Dec 12 2023 Richard W.M. Jones - 1.6.9-5 +- OCaml 5.1.1 rebuild for Fedora 40 + +* Thu Oct 05 2023 Richard W.M. Jones - 1.6.9-4 +- OCaml 5.1 rebuild for Fedora 40 + +* Thu Jul 20 2023 Fedora Release Engineering - 1.6.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Richard W.M. Jones - 1.6.9-2 +- OCaml 5.0 rebuild for Fedora 39 + +* Mon Jul 10 2023 Jerry James - 1.6.9-1 +- Version 1.6.9 +- Convert License tag to SPDX +- Use new dune macros + +* Tue Jan 24 2023 Richard W.M. Jones - 1.6.8-7 +- Rebuild OCaml packages for F38 + +* Thu Jan 19 2023 Fedora Release Engineering - 1.6.8-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 1.6.8-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jun 18 2022 Richard W.M. Jones - 1.6.8-4 +- OCaml 4.14.0 rebuild + +* Fri Feb 04 2022 Richard W.M. Jones - 1.6.8-3 +- OCaml 4.13.1 rebuild to remove package notes + +* Thu Jan 20 2022 Fedora Release Engineering - 1.6.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Dec 14 2021 Jerry James - 1.6.8-1 +- Version 1.6.8 +- New URLs +- Add ocamlbuild subpackage for the plugin +- Build, install, and test with dune + +* Mon Oct 04 2021 Richard W.M. Jones - 1.6.6-14 +- OCaml 4.13.1 build + +* Thu Jul 22 2021 Fedora Release Engineering - 1.6.6-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Mar 1 11:02:42 GMT 2021 Richard W.M. Jones - 1.6.6-12 +- OCaml 4.12.0 build + +* Tue Jan 26 2021 Fedora Release Engineering - 1.6.6-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Sep 01 2020 Richard W.M. Jones - 1.6.6-10 +- OCaml 4.11.1 rebuild + +* Fri Aug 21 2020 Richard W.M. Jones - 1.6.6-9 +- OCaml 4.11.0 rebuild + +* Sat Aug 01 2020 Fedora Release Engineering - 1.6.6-8 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.6.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon May 04 2020 Richard W.M. Jones - 1.6.6-6 +- OCaml 4.11.0+dev2-2020-04-22 rebuild + +* Tue Apr 21 2020 Richard W.M. Jones - 1.6.6-5 +- OCaml 4.11.0 pre-release attempt 2 + +* Fri Apr 03 2020 Richard W.M. Jones - 1.6.6-4 +- Update all OCaml dependencies for RPM 4.16. + +* Wed Feb 26 2020 Richard W.M. Jones - 1.6.6-3 +- OCaml 4.10.0 final. + +* Wed Jan 29 2020 Fedora Release Engineering - 1.6.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sun Jan 19 2020 Richard W.M. Jones - 1.6.6-1 +- New upstream version 1.6.6. +- Change build system from jbuilder to dune. +- Remove patch for fix which is now upstream. +- OCaml 4.10.0+beta1 rebuild. + +* Fri Dec 06 2019 Richard W.M. Jones - 1.6.5-6 +- OCaml 4.09.0 (final) rebuild. + +* Fri Aug 16 2019 Richard W.M. Jones - 1.6.5-5 +- OCaml 4.08.1 (final) rebuild. + +* Wed Jul 31 2019 Richard W.M. Jones - 1.6.5-4 +- OCaml 4.08.1 (rc2) rebuild. + +* Thu Jul 25 2019 Fedora Release Engineering - 1.6.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jun 27 2019 Richard W.M. Jones - 1.6.5-2 +- OCaml 4.08.0 (final) rebuild. + +* Mon Apr 29 2019 Richard W.M. Jones - 1.6.5-1 +- New upstream version 1.6.5. +- OCaml 4.08.0 (beta 3) rebuild. + * Fri Feb 01 2019 Fedora Release Engineering - 1.6.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index c22b611..d65b626 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v1.6.4.tar.gz) = 89c6df66d597d929be7532ad82f0206b028bdbd79a0b4b39451bce3fa5bd63a80dce931d575f69bd7066de829347498c736657dfe9610b20700a652b9b542a4d +SHA512 (cppo-1.8.0.tar.gz) = 3840725b767a0300bdc48f11d26d798bdcae0a764ed6798df3a08dfc8cc76fe124b14a19d47c9b5ea8e229d68b0311510afce77c0e4d9131fbda5116dc2689a2 diff --git a/tests/basic-test.sh b/tests/basic-test.sh new file mode 100755 index 0000000..dd895c1 --- /dev/null +++ b/tests/basic-test.sh @@ -0,0 +1,6 @@ +#!/bin/bash - +set -e +set -x + +# XXX How to test? +# At the moment this is just an installation test. diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100755 index 0000000..5cc05e9 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,12 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + required_packages: + - ocaml + - ocaml-cppo + tests: + - simple: + dir: . + run: ./basic-test.sh