diff --git a/.gitignore b/.gitignore index e69de29..3cfc1a3 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,3 @@ +ocaml-augeas-0.4.tar.gz +/ocaml-augeas-0.5.tar.gz +/ocaml-augeas-0.6.tar.gz diff --git a/0001-Use-ocamlopt-g-option.patch b/0001-Use-ocamlopt-g-option.patch new file mode 100644 index 0000000..be46e09 --- /dev/null +++ b/0001-Use-ocamlopt-g-option.patch @@ -0,0 +1,28 @@ +From 56c0602e972f1fae336198eb9587d71f1e36daff Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 20 Aug 2019 15:06:57 +0100 +Subject: [PATCH 1/2] Use ocamlopt -g option. + +Originally from Fedora. +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index e01385f..4ae5ef5 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -34,8 +34,8 @@ LIBS = @AUGEAS_LIBS@ @LIBXML2_LIBS@ @LIBS@ + + OCAMLCFLAGS = -g + OCAMLCPACKAGES = +-OCAMLOPTFLAGS = +-OCAMLOPTPACKAGES = ++OCAMLOPTFLAGS = $(OCAMLCFLAGS) ++OCAMLOPTPACKAGES = $(OCAMLCPACKAGES) + + OCAMLDOCFLAGS = -html -sort + +-- +2.23.0 + diff --git a/0002-caml_named_value-returns-const-value-pointer-in-OCam.patch b/0002-caml_named_value-returns-const-value-pointer-in-OCam.patch new file mode 100644 index 0000000..22c5ed9 --- /dev/null +++ b/0002-caml_named_value-returns-const-value-pointer-in-OCam.patch @@ -0,0 +1,35 @@ +From 1cf5aef99b26a46529ca797547c0b49627fffe78 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 7 Dec 2019 11:08:54 +0000 +Subject: [PATCH 2/2] caml_named_value returns const value pointer in OCaml + 4.09+ + +--- + augeas-c.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/augeas-c.c b/augeas-c.c +index 9217017..679bcb5 100644 +--- a/augeas-c.c ++++ b/augeas-c.c +@@ -86,7 +86,7 @@ static const int error_map_len = sizeof error_map / sizeof error_map[0]; + static void + raise_error_and_maybe_close (augeas_t t, const char *msg, bool close_handle) + { +- value *exn = caml_named_value ("Augeas.Error"); ++ const value *exn = caml_named_value ("Augeas.Error"); + value args[5]; + const int code = aug_error (t); + const char *aug_err_msg; +@@ -132,7 +132,7 @@ raise_error_and_maybe_close (augeas_t t, const char *msg, bool close_handle) + static void + raise_init_error (const char *msg) + { +- value *exn = caml_named_value ("Augeas.Error"); ++ const value *exn = caml_named_value ("Augeas.Error"); + value args[5]; + + args[0] = caml_alloc (1, 0); +-- +2.23.0 + diff --git a/ocaml-augeas.spec b/ocaml-augeas.spec new file mode 100644 index 0000000..db756e9 --- /dev/null +++ b/ocaml-augeas.spec @@ -0,0 +1,320 @@ +%undefine _package_note_flags +%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) + +Name: ocaml-augeas +Version: 0.6 +Release: 23%{?dist} +Summary: OCaml bindings for Augeas configuration API +License: LGPLv2+ with exceptions + +URL: http://people.redhat.com/~rjones/augeas/files/ +Source0: http://people.redhat.com/~rjones/augeas/files/%{name}-%{version}.tar.gz + +# Upstream patch to enable debuginfo. +Patch1: 0001-Use-ocamlopt-g-option.patch +# Const-correctness fix for OCaml 4.09+ +Patch2: 0002-caml_named_value-returns-const-value-pointer-in-OCam.patch + +BuildRequires: make +BuildRequires: ocaml >= 3.09.0 +BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml-ocamldoc +BuildRequires: augeas-devel >= 0.1.0 +BuildRequires: chrpath + + +%description +Augeas is a unified system for editing arbitrary configuration +files. This provides complete OCaml bindings for Augeas. + + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} + + +%description devel +The %{name}-devel package contains libraries and signature files for +developing applications that use %{name}. + + +%prep +%autosetup -p1 + + +%build +%configure +%if %opt +make +%else +make mlaugeas.cma test_augeas +%endif +make doc + + +%check +make check + + +%install +export DESTDIR=$RPM_BUILD_ROOT +export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml +mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs + +# The upstream 'make install' rule is missing '*.so' and distributes +# '*.cmi' instead of just the augeas.cmi file. Temporary fix: +#make install +%if %opt +ocamlfind install augeas META *.mli *.cmx *.cma *.cmxa *.a augeas.cmi *.so +%else +ocamlfind install augeas META *.mli *.cma *.a augeas.cmi *.so +%endif + +chrpath --delete $OCAMLFIND_DESTDIR/stublibs/dll*.so + + +%files +%doc COPYING.LIB +%{_libdir}/ocaml/augeas +%if %opt +%exclude %{_libdir}/ocaml/augeas/*.a +%exclude %{_libdir}/ocaml/augeas/*.cmxa +%exclude %{_libdir}/ocaml/augeas/*.cmx +%endif +%exclude %{_libdir}/ocaml/augeas/*.mli +%{_libdir}/ocaml/stublibs/*.so +%{_libdir}/ocaml/stublibs/*.so.owner + + +%files devel +%doc html +%if %opt +%{_libdir}/ocaml/augeas/*.a +%{_libdir}/ocaml/augeas/*.cmxa +%{_libdir}/ocaml/augeas/*.cmx +%endif +%{_libdir}/ocaml/augeas/*.mli + + +%changelog +* Tue Jan 24 2023 Richard W.M. Jones - 0.6-23 +- Rebuild OCaml packages for F38 + +* Thu Jan 19 2023 Fedora Release Engineering - 0.6-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 0.6-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jun 18 2022 Richard W.M. Jones - 0.6-20 +- OCaml 4.14.0 rebuild + +* Fri Feb 04 2022 Richard W.M. Jones - 0.6-19 +- OCaml 4.13.1 rebuild to remove package notes + +* Thu Jan 20 2022 Fedora Release Engineering - 0.6-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Oct 04 2021 Richard W.M. Jones - 0.6-17 +- OCaml 4.13.1 build + +* Thu Jul 22 2021 Fedora Release Engineering - 0.6-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Mar 1 2021 Richard W.M. Jones - 0.6-15 +- OCaml 4.12.0 build + +* Tue Jan 26 2021 Fedora Release Engineering - 0.6-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Sep 01 2020 Richard W.M. Jones - 0.6-13 +- OCaml 4.11.1 rebuild + +* Fri Aug 21 2020 Richard W.M. Jones - 0.6-12 +- OCaml 4.11.0 rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 0.6-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon May 04 2020 Richard W.M. Jones - 0.6-10 +- OCaml 4.11.0+dev2-2020-04-22 rebuild + +* Tue Apr 21 2020 Richard W.M. Jones - 0.6-9 +- OCaml 4.11.0 pre-release attempt 2 + +* Fri Apr 17 2020 Richard W.M. Jones - 0.6-8 +- OCaml 4.11.0 pre-release + +* Thu Apr 02 2020 Richard W.M. Jones - 0.6-7 +- Update all OCaml dependencies for RPM 4.16. + +* Wed Feb 26 2020 Richard W.M. Jones - 0.6-6 +- OCaml 4.10.0 final. + +* Wed Jan 29 2020 Fedora Release Engineering - 0.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sun Jan 19 2020 Richard W.M. Jones - 0.6-4 +- OCaml 4.10.0+beta1 rebuild. + +* Thu Jan 09 2020 Richard W.M. Jones - 0.6-3 +- OCaml 4.09.0 for riscv64 + +* Fri Dec 06 2019 Richard W.M. Jones - 0.6-2 +- OCaml 4.09.0 (final) rebuild. +- Add upstream const-correctness build fix. + +* Tue Aug 20 2019 Richard W.M. Jones - 0.6-1 +- New upstream version 0.6. + +* Fri Aug 16 2019 Richard W.M. Jones - 0.5-37 +- OCaml 4.08.1 (final) rebuild. + +* Wed Jul 31 2019 Richard W.M. Jones - 0.5-36 +- OCaml 4.08.1 (rc2) rebuild. + +* Thu Jul 25 2019 Fedora Release Engineering - 0.5-35 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jun 27 2019 Richard W.M. Jones - 0.5-34 +- OCaml 4.08.0 (final) rebuild. + +* Mon Apr 29 2019 Richard W.M. Jones - 0.5-33 +- OCaml 4.08.0 (beta 3) rebuild. + +* Fri Feb 01 2019 Fedora Release Engineering - 0.5-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 0.5-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 11 2018 Richard W.M. Jones - 0.5-30 +- OCaml 4.07.0 (final) rebuild. + +* Wed Jun 20 2018 Richard W.M. Jones - 0.5-29 +- OCaml 4.07.0-rc1 rebuild. + +* Thu Feb 08 2018 Fedora Release Engineering - 0.5-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Nov 17 2017 Richard W.M. Jones - 0.5-27 +- OCaml 4.06.0 rebuild. + +* Tue Aug 08 2017 Richard W.M. Jones - 0.5-26 +- OCaml 4.05.0 rebuild. + +* Thu Aug 03 2017 Fedora Release Engineering - 0.5-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.5-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jun 27 2017 Richard W.M. Jones - 0.5-23 +- OCaml 4.04.2 rebuild. + +* Sat May 13 2017 Richard W.M. Jones - 0.5-22 +- OCaml 4.04.1 rebuild. + +* Sat Feb 11 2017 Fedora Release Engineering - 0.5-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Nov 07 2016 Richard W.M. Jones - 0.5-20 +- Rebuild for OCaml 4.04.0. + +* Thu Feb 04 2016 Fedora Release Engineering - 0.5-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jul 28 2015 Richard W.M. Jones - 0.5-18 +- OCaml 4.02.3 rebuild. + +* Tue Jul 21 2015 Richard W.M. Jones - 0.5-17 +- Enable bytecode compilation. + +* Wed Jun 24 2015 Richard W.M. Jones - 0.5-16 +- ocaml-4.02.2 final rebuild. + +* Thu Jun 18 2015 Richard W.M. Jones - 0.5-15 +- ocaml-4.02.2 rebuild. + +* Wed Jun 17 2015 Fedora Release Engineering - 0.5-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Feb 17 2015 Richard W.M. Jones - 0.5-13 +- ocaml-4.02.1 rebuild. + +* Sun Aug 31 2014 Richard W.M. Jones - 0.5-12 +- ocaml-4.02.0 final rebuild. + +* Sat Aug 23 2014 Richard W.M. Jones - 0.5-11 +- ocaml-4.02.0+rc1 rebuild. + +* Sun Aug 17 2014 Fedora Release Engineering - 0.5-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Aug 01 2014 Richard W.M. Jones - 0.5-9 +- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild. + +* Thu Jul 17 2014 Richard W.M. Jones - 0.5-8 +- OCaml 4.02.0 beta rebuild. + +* Sat Jun 07 2014 Fedora Release Engineering - 0.5-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Sep 14 2013 Richard W.M. Jones - 0.5-6 +- Rebuild for OCaml 4.01.0. +- Enable debuginfo. + +* Sat Aug 03 2013 Fedora Release Engineering - 0.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 0.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Dec 02 2012 Bruno Wolff III - 0.5-3 +- Rebuild for ocaml 4.0.1. + +* Fri Jul 20 2012 Fedora Release Engineering - 0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jun 11 2012 Richard W.M. Jones - 0.5-1 +- New upstream version 0.5. +- Update URLs. +- Add check section. +- Bring spec file up to modern standards. + +* Mon Jun 11 2012 Richard W.M. Jones - 0.4-11 +- Rebuild for OCaml 4.00.0. + +* Fri Jan 06 2012 Richard W.M. Jones - 0.4-10 +- Rebuild for OCaml 3.12.1. + +* Tue Feb 08 2011 Fedora Release Engineering - 0.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Jan 06 2011 Richard W.M. Jones - 0.4-8 +- Rebuild for OCaml 3.12 (http://fedoraproject.org/wiki/Features/OCaml3.12). + +* Wed Dec 30 2009 Richard W.M. Jones - 0.4-7 +- Rebuild for OCaml 3.11.2. + +* Sat Jul 25 2009 Fedora Release Engineering - 0.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sat May 23 2009 Richard W.M. Jones - 0.4-5 +- Rebuild for OCaml 3.11.1 + +* Thu Apr 16 2009 S390x secondary arch maintainer +- ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs + (added sparc64 per request from the sparc maintainer) + +* Wed Feb 25 2009 Fedora Release Engineering - 0.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Nov 26 2008 Richard W.M. Jones - 0.4-3 +- Rebuild for OCaml 3.11.0+rc1. + +* Wed Nov 19 2008 Richard W.M. Jones - 0.4-2 +- Rebuild for OCaml 3.11.0 + +* Wed May 7 2008 Richard W.M. Jones - 0.4-1 +- Initial RPM release. diff --git a/sources b/sources new file mode 100644 index 0000000..f55c17d --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (ocaml-augeas-0.6.tar.gz) = e747f5c09d3821b41d98e3f12c8dfe9bb13a69d6ccaaf954f4bb33e8e4d9d62603ae26fe9f93f10b2705872526b1863a1c20e0c8a53858fdf60f8cb8cbf50b7a