diff --git a/.gitignore b/.gitignore index 02a869b..9e37fe9 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ findlib-1.2.5.tar.gz /findlib-1.9.4.tar.gz /findlib-1.9.5.tar.gz /findlib-1.9.6.tar.gz +/findlib-1.9.8.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-findlib.spec b/ocaml-findlib.spec index 9ba165e..bd818f1 100644 --- a/ocaml-findlib.spec +++ b/ocaml-findlib.spec @@ -2,18 +2,17 @@ ExcludeArch: %{ix86} %ifnarch %{ocaml_native_compiler} -# Stripping the binary removes its bytecode payload -%global __strip %{_bindir}/true %global debug_package %{nil} %endif Name: ocaml-findlib -Version: 1.9.6 +Version: 1.9.8 Release: 5%{?dist} Summary: Objective CAML package manager and build helper License: MIT URL: http://projects.camlcity.org/projects/findlib.html +VCS: git:https://github.com/ocaml/ocamlfind.git Source0: http://download.camlcity.org/download/findlib-%{version}.tar.gz # Fix the toolbox build with OCaml 5.x @@ -24,13 +23,13 @@ BuildRequires: ocaml-labltk-devel BuildRequires: ocaml-ocamlbuild BuildRequires: ocaml-compiler-libs BuildRequires: ocaml-ocamldoc +BuildRequires: ocaml-rpm-macros BuildRequires: m4, ncurses-devel BuildRequires: make -BuildRequires: python3 Requires: ocaml # Do not require ocaml-compiler-libs at runtime -%global __ocaml_requires_opts -i Asttypes -i Build_path_prefix_map -i Cmi_format -i Env -i Ident -i Identifiable -i Load_path -i Location -i Longident -i Misc -i Outcometree -i Parsetree -i Path -i Primitive -i Shape -i Subst -i Topdirs -i Toploop -i Type_immediacy -i Types -i Warnings +%global __ocaml_requires_opts -i Asttypes -i Build_path_prefix_map -i Cmi_format -i Env -i Format_doc -i Ident -i Identifiable -i Load_path -i Location -i Longident -i Misc -i Oprint -i Outcometree -i Parsetree -i Path -i Primitive -i Shape -i Subst -i Topdirs -i Toploop -i Type_immediacy -i Types -i Unit_info -i Warnings %description @@ -58,8 +57,11 @@ mv doc/README.utf8 doc/README # Fix the OCaml core man directory sed -i 's,/usr/local/man,%{_mandir},' configure -# Configure bug? dynlink_subdir is the empty string -sed -i 's/\${dynlink_subdir}/dynlink/' configure +# Build an executable that is not damaged by stripping +sed -i 's/\(custom=\)-custom/\1-output-complete-exe/' configure + +# Skip broken test for ocamlopt -g +sed -i '/^ocamlopt -g/d' configure %build @@ -68,7 +70,7 @@ ocamlc -where (cd tools/extract_args && make) tools/extract_args/extract_args -o src/findlib/ocaml_args.ml ocamlc ocamlcp ocamlmktop ocamlopt ocamldep ocamldoc ||: cat src/findlib/ocaml_args.ml -./configure -config %{_sysconfdir}/ocamlfind.conf \ +./configure -config %{_sysconfdir}/findlib.conf \ -bindir %{_bindir} \ -sitelib `ocamlc -where` \ -mandir %{_mandir} \ @@ -81,29 +83,20 @@ rm doc/guide-html/TIMESTAMP %install -# Grrr destdir grrrr -mkdir -p $RPM_BUILD_ROOT%{_bindir} -mkdir -p $RPM_BUILD_ROOT%{_mandir}/man{1,5} -make install \ - prefix=$RPM_BUILD_ROOT \ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +%make_install \ OCAMLFIND_BIN=%{_bindir} \ + OCAMLFIND_CONF=%{_sysconfdir} \ OCAMLFIND_MAN=%{_mandir} - -# Remove spurious executable bits -chmod 0644 $RPM_BUILD_ROOT%{_mandir}/man{1,5}/* -chmod 0644 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/*.{cma,cmi,ml,mli,pattern} -chmod 0644 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/{META,Makefile*} -%ifarch %{ocaml_native_compiler} -chmod 0644 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/*.{a,cmxa} -%endif +rmdir $RPM_BUILD_ROOT%{_mandir}/man3 %ocaml_files -sed -i '/ocamlfind\.conf/d' .ofiles +sed -i '/etc/d' .ofiles %files -f .ofiles %doc LICENSE doc/README -%config(noreplace) %{_sysconfdir}/ocamlfind.conf +%config(noreplace) %{_sysconfdir}/findlib.conf %files devel -f .ofiles-devel @@ -111,6 +104,55 @@ sed -i '/ocamlfind\.conf/d' .ofiles %changelog +* Mon Oct 13 2025 Richard W.M. Jones - 1.9.8-5 +- OCaml 5.4.0 rebuild + +* Thu Jul 24 2025 Fedora Release Engineering - 1.9.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jul 11 2025 Jerry James - 1.9.8-3 +- Rebuild to fix OCaml dependencies + +* Fri Jan 17 2025 Fedora Release Engineering - 1.9.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jan 9 2025 Jerry James - 1.9.8-1 +- OCaml 5.3.0 rebuild for Fedora 42 +- Version 1.9.8 +- Drop workaround for upstream dynlink_subdir bug +- Change config name to findlib.conf to match upstream +- Update __ocaml_requires_opts for OCaml 5.3.0 + +* Thu Jul 18 2024 Fedora Release Engineering - 1.9.6-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jun 19 2024 Richard W.M. Jones - 1.9.6-13 +- OCaml 5.2.0 ppc64le fix + +* Wed May 29 2024 Richard W.M. Jones - 1.9.6-12 +- OCaml 5.2.0 for Fedora 41 + +* Mon Jan 29 2024 Richard W.M. Jones - 1.9.6-11 +- Bump and rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 1.9.6-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.9.6-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 18 2023 Richard W.M. Jones - 1.9.6-8 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + +* Tue Dec 12 2023 Richard W.M. Jones - 1.9.6-7 +- OCaml 5.1.1 rebuild for Fedora 40 + +* Thu Oct 05 2023 Richard W.M. Jones - 1.9.6-6 +- OCaml 5.1 rebuild for Fedora 40 + +* Wed Oct 4 2023 Jerry James - 1.9.6-5 +- Build an executable that is not damaged by stripping + * Thu Jul 20 2023 Fedora Release Engineering - 1.9.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index 91ef8e4..d5baf22 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (findlib-1.9.6.tar.gz) = cfaf1872d6ccda548f07d32cc6b90c3aafe136d2aa6539e03143702171ee0199add55269bba894c77115535dc46a5835901a5d7c75768999e72db503bfd83027 +SHA512 (findlib-1.9.8.tar.gz) = 64aa28ac27358e1bc5d118e283fb64757fb96329151860bb9c1e9352a9fa1728ebcb4320b8d2eeb57ed2eea83c9849ea89d06c0fa25e1884ececb431341f9f1a diff --git a/tests/basic-test.sh b/tests/basic-test.sh new file mode 100755 index 0000000..cf3c2e3 --- /dev/null +++ b/tests/basic-test.sh @@ -0,0 +1,7 @@ +#!/bin/bash - +set -e +set -x + +# There's not really any reason to test this as chain builds +# use findlib extensively. Just check the binary functions. +ocamlfind query findlib diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100755 index 0000000..49cfb7f --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,12 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + required_packages: + - ocaml + - ocaml-findlib + tests: + - simple: + dir: . + run: ./basic-test.sh