Hello community, here is the log from the commit of package ocaml-camlp4 for openSUSE:Leap:15.2 checked in at 2020-03-13 10:55:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/ocaml-camlp4 (Old) and /work/SRC/openSUSE:Leap:15.2/.ocaml-camlp4.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ocaml-camlp4" Fri Mar 13 10:55:42 2020 rev:12 rq:783327 version:4.05 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/ocaml-camlp4/ocaml-camlp4.changes 2020-01-15 15:34:19.282897470 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.ocaml-camlp4.new.3160/ocaml-camlp4.changes 2020-03-13 10:55:46.420366167 +0100 @@ -1,0 +2,23 @@ +Thu Feb 20 20:20:20 UTC 2020 - [email protected] + +- Fix inconsistent packaging + Move everything into the devel subpkg The binaries are already + in the devel subpkg, but they need libs from the main pkg. With + the update Requires/Provides both pkgs provide identical strings, + which leads to conflicts +- Require current ocaml-rpm-macros + +------------------------------------------------------------------- +Mon Nov 25 12:34:56 UTC 2019 - [email protected] + +- Add compiler-libs-devel to BuildRequires (bsc#1156934) + +------------------------------------------------------------------- +Fri Nov 1 12:34:56 UTC 2019 - [email protected] + +- Require current rpm macros +- Require exact ocaml(ocaml_base_version) +- Provide ocamlfind() via private META files, copied from findlib +- Use _service file + +------------------------------------------------------------------- Old: ---- camlp4-4.05-1.tar.xz New: ---- _service ocaml-camlp4-4.05.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ocaml-camlp4.spec ++++++ --- /var/tmp/diff_new_pack.ALZRL9/_old 2020-03-13 10:55:46.900366509 +0100 +++ /var/tmp/diff_new_pack.ALZRL9/_new 2020-03-13 10:55:46.908366515 +0100 @@ -24,13 +24,13 @@ License: SUSE-LGPL-2.0-with-linking-exception Group: Development/Languages/OCaml Url: https://github.com/ocaml/camlp4 -Source: camlp4-%{version}-1.tar.xz -BuildRoot: %{_tmppath}/%{name}-%{version}-build +Source: %{name}-%{version}.tar.xz BuildRequires: ocaml-ocamlbuild -BuildRequires: ocaml-rpm-macros >= 4.05.0 +BuildRequires: ocaml-rpm-macros >= 20200220 BuildRequires: ocaml(ocaml_base_version) = 4.05 +BuildRequires: ocamlfind(compiler-libs) Conflicts: ocaml < 4.05.0 -Requires: ocaml-runtime >= 4.05.0 +Requires: ocaml(ocaml_base_version) = 4.05 %description Camlp4 is a Pre-Processor-Pretty-Printer for Objective Caml, parsing a @@ -38,12 +38,12 @@ This package contains the runtime files. - %package devel Summary: Pre-Processor-Pretty-Printer for Objective Caml Group: Development/Languages/OCaml Requires: %{name} = %{version} Requires: ocaml(ocaml_base_version) = 4.05 +Conflicts: ocaml-findlib-camlp4 <= 1.7.3 Provides: camlp4 = %{version} Obsoletes: camlp4 < %{version} @@ -54,7 +54,7 @@ This package contains the development files. %prep -%setup -q -n camlp4-%{version}-1 +%autosetup -p1 %build ./configure @@ -68,46 +68,160 @@ %endif %install -make install DESTDIR=%{buildroot} %{?_smp_mflags} +%make_install +d="%{buildroot}%{ocaml_standard_library}/camlp4" +tee "${d}/META" <<_META_ +# Specifications for the "camlp4" preprocessor: +requires = "" +version = "%{name} %{version}" +description = "Base for Camlp4 syntax extensions" +directory = "+camlp4" + +# For the toploop: +requires(byte,toploop) = "dynlink" +archive(byte,toploop,camlp4o) = "camlp4o.cma" +archive(byte,toploop,camlp4r) = "camlp4r.cma" + +# For the preprocessor itself: +archive(syntax,preprocessor,camlp4o) = "-parser o -parser op -printer p" +archive(syntax,preprocessor,camlp4r) = "-parser r -parser rp -printer p" +preprocessor = "camlp4" + +package "lib" ( + requires = "camlp4 dynlink" + version = "%{name} %{version}" + description = "Camlp4 library" + archive(byte) = "camlp4lib.cma" + archive(byte,toploop) = "" # already contained in camlp4*.cma + archive(native) = "camlp4lib.cmxa" +) + +package "gramlib" ( + requires = "camlp4.lib" + version = "%{name} %{version}" + description = "Compatibilty name for camlp4.lib" +) + +# dont use camlp4.lib and camlp4.fulllib together' +package "fulllib" ( + requires = "camlp4 dynlink" + version = "%{name} %{version}" + description = "Camlp4 library" + error(pkg_camlp4.lib) = "camlp4.lib and camlp4.fulllib are incompatible" + archive(byte) = "camlp4fulllib.cma" + archive(byte,toploop) = "" # already contained in camlp4*.cma + archive(native) = "camlp4fulllib.cmxa" +) + +package "quotations" ( + version = "%{name} %{version}" + description = "Syntax extension: Quotations to create AST nodes" + requires = "camlp4.quotations.r" # backward compat + archive(syntax,preprocessor) = "-ignore foo" + package "o" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax extension: Quotations to create AST nodes (original syntax)" + archive(syntax,preprocessor) = "-parser Camlp4QuotationCommon -parser Camlp4OCamlOriginalQuotationExpander" + archive(syntax,toploop) = "Camlp4Parsers/Camlp4QuotationCommon.cmo Camlp4Parsers/Camlp4OCamlOriginalQuotationExpander.cmo" + ) + package "r" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax extension: Quotations to create AST nodes (revised syntax)" + archive(syntax,preprocessor) = "-parser Camlp4QuotationCommon -parser Camlp4OCamlRevisedQuotationExpander" + archive(syntax,toploop) = "Camlp4Parsers/Camlp4QuotationCommon.cmo Camlp4Parsers/Camlp4OCamlRevisedQuotationExpander.cmo" + ) +) + +package "extend" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax extension: EXTEND the camlp4 grammar" + archive(syntax,preprocessor) = "-parser Camlp4GrammarParser" + archive(syntax,toploop) = "Camlp4Parsers/Camlp4GrammarParser.cmo" +) + +package "listcomprehension" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax extension for list comprehensions" + archive(syntax,preprocessor) = "-parser Camlp4ListComprehension" + archive(syntax,toploop) = "Camlp4Parsers/Camlp4ListComprehension.cmo" +) + +package "macro" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax extension: Conditional compilation" + archive(syntax,preprocessor) = "-parser Camlp4MacroParser" + archive(syntax,toploop) = "Camlp4Parsers/Camlp4MacroParser.cmo" +) + +package "mapgenerator" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax filter: Traverse data structure (map style)" + archive(syntax,preprocessor) = "-filter Camlp4MapGenerator" + archive(syntax,toploop) = "Camlp4Filters/Camlp4MapGenerator.cmo" +) + +package "foldgenerator" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax filter: Traverse data structure (fold style)" + archive(syntax,preprocessor) = "-filter Camlp4FoldGenerator" + archive(syntax,toploop) = "Camlp4Filters/Camlp4FoldGenerator.cmo" +) + +package "metagenerator" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax filter: Generate AST generator for data structure" + archive(syntax,preprocessor) = "-filter Camlp4MetaGenerator" + archive(syntax,toploop) = "Camlp4Filters/Camlp4MetaGenerator.cmo" +) + +package "locationstripper" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax filter: Remove location info from AST" + archive(syntax,preprocessor) = "-filter Camlp4LocationStripper" + archive(syntax,toploop) = "Camlp4Filters/Camlp4LocationStripper.cmo" +) + +package "tracer" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax filter: Trace execution" + archive(syntax,preprocessor) = "-filter Camlp4Tracer" + archive(syntax,toploop) = "Camlp4Filters/Camlp4Tracer.cmo" +) + +package "exceptiontracer" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax filter: Trace exception execution" + archive(syntax,preprocessor) = "-filter Camlp4ExceptionTracer" + archive(syntax,toploop) = "Camlp4Filters/Camlp4ExceptionTracer.cmo" +) + +package "profiler" ( + requires = "camlp4" + version = "%{name} %{version}" + description = "Syntax filter: Count events during execution" + archive(syntax,preprocessor) = "-filter Camlp4Profiler" + archive(syntax,toploop) = "Camlp4Filters/Camlp4Profiler.cmo" + archive(byte) = "camlp4prof.cmo" + archive(native) = "camlp4prof.cmx" +) +_META_ +%ocaml_create_file_list -%files -%defattr(-,root,root) -%doc LICENSE README.md -%dir %{_libdir}/ocaml/camlp4 -%dir %{_libdir}/ocaml/camlp4/Camlp4Filters -%dir %{_libdir}/ocaml/camlp4/Camlp4Parsers -%dir %{_libdir}/ocaml/camlp4/Camlp4Printers -%dir %{_libdir}/ocaml/camlp4/Camlp4Top -%{_libdir}/ocaml/camlp4/*.cma -%{_libdir}/ocaml/camlp4/*.cmi -%{_libdir}/ocaml/camlp4/*.cmo -%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmi -%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmo -%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmi -%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmo -%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmi -%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmo -%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmi -%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmo - -%files devel -%defattr(-,root,root) -%{_bindir}/camlp4* -%{_bindir}/mkcamlp4 -%if 0%{?ocaml_native_compiler} -%dir %{_libdir}/ocaml/camlp4 -%{_libdir}/ocaml/camlp4/*.a -%{_libdir}/ocaml/camlp4/*.cmx -%{_libdir}/ocaml/camlp4/*.cmxa -%{_libdir}/ocaml/camlp4/*.o -%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmx -%{_libdir}/ocaml/camlp4/Camlp4Filters/*.o -%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmx -%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.o -%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmx -%{_libdir}/ocaml/camlp4/Camlp4Printers/*.o -%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmx -%{_libdir}/ocaml/camlp4/Camlp4Top/*.o -%endif +%files -f %{name}.files +%doc README.md + +%files devel -f %{name}.files.devel +%{_bindir}/* %changelog ++++++ _service ++++++ <services> <service name="tar_scm" mode="disabled"> <param name="url">git://github.com/ocaml/camlp4.git</param> <param name="scm">git</param> <param name="versionformat">4.05</param> <param name="revision">4.05</param> <param name="filename">ocaml-camlp4</param> </service> <service name="recompress" mode="disabled"> <param name="file">*.tar</param> <param name="compression">xz</param> </service> <service name="set_version" mode="disabled"/> </services>
