Blame ocaml-cmxs.diff

abe6c3
Update OCaml requires/provides to ignore cmxs
abe6c3
abe6c3
OCaml cmxs files are static libraries, which can be loaded at runtime
abe6c3
via the Dynlink module. They apparently do not provide any useful
abe6c3
runtime dependency information to be stored into the packages
abe6c3
Provides/Requires list. Therefore just skip them.
abe6c3
abe6c3
Adjust attr, remove extension and ELF magic
abe6c3
Adjust ocamldeps, do nothing with cmxs files.
abe6c3
abe6c3
Fixes: a6fe37c39b39acbcbd014dd1e6d5653ff84254a1
abe6c3
abe6c3
Signed-off-by: Olaf Hering <olaf@aepfle.de>
abe6c3
abe6c3
--- ./fileattrs/ocaml.attr.orig	2021-06-21 12:00:44.587611741 +0000
abe6c3
+++ ./fileattrs/ocaml.attr	2021-12-22 13:54:20.384959876 +0000
abe6c3
@@ -1,5 +1,5 @@
abe6c3
 %__ocaml_provides	%{_rpmconfigdir}/ocamldeps.sh --provides
abe6c3
 %__ocaml_requires	%{_rpmconfigdir}/ocamldeps.sh --requires
abe6c3
-%__ocaml_magic		^(ELF|Objective caml|OCaml) .*$
abe6c3
-%__ocaml_path		.(cma|cmi|cmo|cmx|cmxa|cmxs)$
abe6c3
+%__ocaml_magic		^(Objective caml|OCaml) .*$
abe6c3
+%__ocaml_path		.(cma|cmi|cmo|cmx|cmxa)$
abe6c3
 %__ocaml_flags		magic_and_path
abe6c3
--- ./scripts/ocamldeps.sh.orig	2021-06-21 12:00:44.650612737 +0000
abe6c3
+++ ./scripts/ocamldeps.sh	2021-12-22 13:54:20.384959876 +0000
abe6c3
@@ -32,6 +32,10 @@
abe6c3
 #   Implementations imported:
abe6c3
 #     HASH NAME_FROM_OTHER_MODULE
abe6c3
 #
abe6c3
+# cmxs files are recoqnized, but need to be ignored.
abe6c3
+# They contain references of the interfaces and implementations
abe6c3
+# compiled into them.
abe6c3
+#
abe6c3
 # The hash may contain just '-', in which case it is ignored.
abe6c3
 #
abe6c3
 # Output:
abe6c3
@@ -236,7 +240,7 @@ do
abe6c3
   *.cmo)  parse "${filename}" ;;
abe6c3
   *.cmx)  parse "${filename}" ;;
abe6c3
   *.cmxa) parse "${filename}" ;;
abe6c3
-  *.cmxs) parse "${filename}" ;;
abe6c3
+  *.cmxs) ;;
abe6c3
   *) continue ;;
abe6c3
   esac
abe6c3
 done