diff --git a/.gitignore b/.gitignore index 8fe9270..384150d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,3 @@ ocaml-fileutils-0.4.0.tar.gz /ocaml-fileutils-0.4.5.tar.gz /ocaml-fileutils-0.5.1.tar.gz /ocaml-fileutils-0.5.2.tar.gz -/fileutils-0.6.4.tbz -/fileutils-0.6.6.tbz diff --git a/fileutils-0.5.2-fix-bytes.patch b/fileutils-0.5.2-fix-bytes.patch new file mode 100644 index 0000000..cd0011d --- /dev/null +++ b/fileutils-0.5.2-fix-bytes.patch @@ -0,0 +1,20 @@ +--- ocaml-fileutils-0.5.2.old/src/FileUtilCP.ml 2017-05-23 21:12:19.000000000 +0100 ++++ ocaml-fileutils-0.5.2/src/FileUtilCP.ml 2017-11-08 17:36:42.271524209 +0000 +@@ -138,7 +138,7 @@ + end + in + +- let buffer = String.make 1024 ' ' in ++ let buffer = Bytes.make 1024 ' ' in + + let cp_file st_src dst_exists fn_src fn_dst = + let mode = int_of_permission st_src.permission in +@@ -176,7 +176,7 @@ + try + while (read := + handle_exception +- (Unix.read fd_src buffer 0) (String.length buffer) ++ (Unix.read fd_src buffer 0) (Bytes.length buffer) + (fun e -> `ErrorRead(fn_src, e)); + !read <> 0) do + let written = diff --git a/gating.yaml b/gating.yaml deleted file mode 100755 index 2c7ed80..0000000 --- a/gating.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- !Policy -product_versions: - - rhel-* -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/ocaml-fileutils-0.5.2-ounit2.patch b/ocaml-fileutils-0.5.2-ounit2.patch new file mode 100644 index 0000000..96a21e0 --- /dev/null +++ b/ocaml-fileutils-0.5.2-ounit2.patch @@ -0,0 +1,30 @@ +diff -ur ocaml-fileutils-0.5.2.old/setup.ml ocaml-fileutils-0.5.2.new/setup.ml +--- ocaml-fileutils-0.5.2.old/setup.ml 2017-05-23 21:12:33.000000000 +0100 ++++ ocaml-fileutils-0.5.2.new/setup.ml 2020-02-27 08:52:42.964618292 +0000 +@@ -7621,7 +7621,7 @@ + InternalLibrary "fileutils"; + InternalLibrary "fileutils-str"; + FindlibPackage +- ("oUnit", ++ ("ounit2", + Some (OASISVersion.VGreaterEqual "2.0.0")) + ]; + bs_build_tools = [ExternalTool "ocamlbuild"]; +diff -ur ocaml-fileutils-0.5.2.old/_tags ocaml-fileutils-0.5.2.new/_tags +--- ocaml-fileutils-0.5.2.old/_tags 2017-05-23 21:12:33.000000000 +0100 ++++ ocaml-fileutils-0.5.2.new/_tags 2020-02-27 08:52:38.020680545 +0000 +@@ -25,12 +25,12 @@ + : pkg_unix + : use_fileutils + # Executable test +-"test/test.byte": pkg_oUnit ++"test/test.byte": pkg_ounit2 + "test/test.byte": pkg_str + "test/test.byte": pkg_unix + "test/test.byte": use_fileutils + "test/test.byte": use_fileutils-str +-: pkg_oUnit ++: pkg_ounit2 + : pkg_str + : pkg_unix + : use_fileutils diff --git a/ocaml-fileutils.spec b/ocaml-fileutils.spec index a664cef..6e3ec5e 100644 --- a/ocaml-fileutils.spec +++ b/ocaml-fileutils.spec @@ -1,27 +1,25 @@ -# OCaml packages not built on i686 since OCaml 5 / Fedora 39. -ExcludeArch: %{ix86} - -%ifnarch %{ocaml_native_compiler} -%global debug_package %{nil} -%endif - -%global giturl https://github.com/gildor478/ocaml-fileutils - +%undefine _package_note_flags Name: ocaml-fileutils -Version: 0.6.6 -Release: 5%{?dist} +Version: 0.5.2 +Release: 31%{?dist} Summary: OCaml library for common file and filename operations -License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception -URL: https://gildor478.github.io/ocaml-fileutils/ -VCS: git:%{giturl}.git -Source0: %{giturl}/releases/download/v%{version}/fileutils-%{version}.tbz +License: LGPLv2 with exceptions +URL: https://forge.ocamlcore.org/projects/ocaml-fileutils/ +Source0: http://forge.ocamlcore.org/frs/download.php/1695/ocaml-fileutils-0.5.2.tar.gz -BuildRequires: ocaml >= 4.14 -BuildRequires: ocaml-dune >= 2.9 -%if 0%{?fedora} -BuildRequires: ocaml-ounit-devel >= 2.0.0 +Patch1: fileutils-0.5.2-fix-bytes.patch +# Use ounit2. +Patch2: ocaml-fileutils-0.5.2-ounit2.patch + +BuildRequires: make +BuildRequires: ocaml >= 4.00.1 +BuildRequires: ocaml-findlib-devel >= 1.3.3-3 +BuildRequires: ocaml-ocamldoc +%if 0%{?fedora} || 0%{?rhel} <= 6 +BuildRequires: ocaml-ounit-devel %endif +BuildRequires: ocaml-ocamlbuild %description @@ -37,7 +35,7 @@ abstract filenames. %package devel Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name} = %{version}-%{release} %description devel @@ -46,103 +44,61 @@ developing applications that use %{name}. %prep -%autosetup -n fileutils-%{version} -p1 +%setup -q +%autopatch -p1 %build -%dune_build +# Disable the tests (RHEL 7 only) since they require ocaml-ounit. +ocaml setup.ml -configure --prefix %{_prefix} --destdir $RPM_BUILD_ROOT \ +%if 0%{?rhel} >= 7 + --disable-tests +%else + --enable-tests +%endif +make %install -%dune_install +export DESTDIR=$RPM_BUILD_ROOT +export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml +mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs + +# Set htmldir to current directory, then copy the docs (in api/) +# as a %doc rule. +make htmldir=. install -# Do not run the tests (RHEL 7+ only) since they require ocaml-ounit. -%if 0%{?fedora} || 0%{?rhel} <= 6 %check -%dune_check +%if ! 0%{?rhel} >= 7 +make test %endif -%files -f .ofiles -%license LICENSE.txt +%files +%doc COPYING.txt +%{_libdir}/ocaml/fileutils +%ifarch %{ocaml_native_compiler} +%exclude %{_libdir}/ocaml/fileutils/*.a +%exclude %{_libdir}/ocaml/fileutils/*.cmx +%exclude %{_libdir}/ocaml/fileutils/*.cmxa +%endif +%exclude %{_libdir}/ocaml/fileutils/*.ml +%exclude %{_libdir}/ocaml/fileutils/*.mli -%files devel -f .ofiles-devel -%doc README.md CHANGES.md -%license LICENSE.txt +%files devel +%doc COPYING.txt AUTHORS.txt CHANGELOG.txt README.txt TODO.txt +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/fileutils/*.a +%{_libdir}/ocaml/fileutils/*.cmx +%{_libdir}/ocaml/fileutils/*.cmxa +%endif +%{_libdir}/ocaml/fileutils/*.ml +%{_libdir}/ocaml/fileutils/*.mli %changelog -* Tue Oct 14 2025 Richard W.M. Jones - 0.6.6-5 -- OCaml 5.4.0 rebuild - -* Thu Jul 24 2025 Fedora Release Engineering - 0.6.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sat Jul 12 2025 Jerry James - 0.6.6-3 -- Rebuild to fix OCaml dependencies - -* Fri Jan 17 2025 Fedora Release Engineering - 0.6.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jan 9 2025 Jerry James - 0.6.6-1 -- OCaml 5.3.0 rebuild for Fedora 42 -- Version 0.6.6 -- All patches have been upstreamed - -* Thu Jul 18 2024 Fedora Release Engineering - 0.6.4-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jun 19 2024 Richard W.M. Jones - 0.6.4-10 -- OCaml 5.2.0 ppc64le fix - -* Wed May 29 2024 Richard W.M. Jones - 0.6.4-9 -- OCaml 5.2.0 for Fedora 41 - -* Thu Jan 25 2024 Fedora Release Engineering - 0.6.4-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 0.6.4-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Dec 18 2023 Richard W.M. Jones - 0.6.4-6 -- OCaml 5.1.1 + s390x code gen fix for Fedora 40 - -* Tue Dec 12 2023 Richard W.M. Jones - 0.6.4-5 -- OCaml 5.1.1 rebuild for Fedora 40 - -* Thu Oct 05 2023 Richard W.M. Jones - 0.6.4-4 -- OCaml 5.1 rebuild for Fedora 40 - -* Thu Jul 20 2023 Fedora Release Engineering - 0.6.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 11 2023 Richard W.M. Jones - 0.6.4-2 -- OCaml 5.0 rebuild for Fedora 39 - -* Mon Jul 10 2023 Jerry James - 0.6.4-1 -- Version 0.6.4 -- New project URLs -- Convert License tag to SPDX -- Drop upstreamed bytes and ounit2 patches -- Build with dune - -* Tue Jan 24 2023 Richard W.M. Jones - 0.5.2-36 -- Bump release and rebuild - -* Tue Jan 24 2023 Richard W.M. Jones - 0.5.2-35 -- Rebuild OCaml packages for F38 - -* Thu Jan 19 2023 Fedora Release Engineering - 0.5.2-34 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Jul 22 2022 Fedora Release Engineering - 0.5.2-33 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sun Jun 19 2022 Richard W.M. Jones - 0.5.2-32 -- OCaml 4.14.0 rebuild - * Fri Feb 04 2022 Richard W.M. Jones - 0.5.2-31 - OCaml 4.13.1 rebuild to remove package notes diff --git a/sources b/sources index ee75ed3..23e4068 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (fileutils-0.6.6.tbz) = ecc38b1577ab108bd24d1e9f0e83596254e542eefb37020dedcff7ca0109e562411cbb9806fbc6f88f4166569bf061a444971388c26950ec02dfc48b35daed90 +SHA512 (ocaml-fileutils-0.5.2.tar.gz) = 264282c54ff693686ca9e60f371038f8ea9bce219d04556297dc7b6028c9f65c5a03b7cd263c3519cb212e29665200db1c95c88874bb2cb3d7b610e3b832018d diff --git a/tests/basic-test.sh b/tests/basic-test.sh deleted file mode 100755 index 9c74e1c..0000000 --- a/tests/basic-test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -set -e -set -x - -# Compile trivial fileutils program. -echo 'assert (FilePath.compare "/" "/" = 0)' > filetest.ml -ocamlfind ocamlopt -package fileutils filetest.ml -linkpkg -o filetest -./filetest diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100755 index 24edee1..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,13 +0,0 @@ -- hosts: localhost - roles: - - role: standard-test-basic - tags: - - classic - required_packages: - - ocaml - - ocaml-findlib - - ocaml-fileutils-devel - tests: - - simple: - dir: . - run: ./basic-test.sh