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