Subject: [PATCH 14/39] gnu: Add aliases for ocaml-cstruct and ocaml-lwt subpackages.

From: Csepp <[email-masked]>
Date: Mon, 9 Jan 2023 01:35:04 +0100

From: raingloom <[email-masked]>

* gnu/packages/ocaml.scm (ocaml-lwt-ppx ocaml-cstruct-unix
  ocaml-cstruct-sexp): New variables.
---
We've discussed aliases vs variants with Julien Lepiller and yeah, these are not ideal, but also it's unclear how variants could be used when the original packages already explicitly specify which subpackage they are building.
But, perfect is the enemy of the good.  So I'm gonna leave these aliases in for now because I have a lot more MirageOS stuff to work on for my thesis project at uni.

 gnu/packages/ocaml.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 53252aac03..ee4c1cf91a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2971,6 +2971,11 @@ (define-public ocaml-lwt
 locks or other synchronization primitives.")
     (license license:lgpl2.1)))
 
+;; TODO this alias is not ideal but ocaml-lwt already explicitly specifies a
+;; package argument and at least this way the importer doesn't try to
+;; re-import it.
+(define ocaml-lwt-ppx ocaml-lwt)
+
 (define-public ocaml-lwt-dllist
   (package
     (name "ocaml-lwt-dllist")
@@ -4458,6 +4463,12 @@ (define-public ocaml4.07-cstruct
                   "0jj3whs8r3jc524i9bb67rffh7y7r157hjgvws0bkxijxpjzwkbk"))))
       (properties '()))))
 
+;; TODO again, the "parent" package already has an explicit package argument,
+;; so a variant package doesn't make sense, at least these aliases help the
+;; importer out so it doesn't re-import things.  At least hopefully.
+(define ocaml-cstruct-unix ocaml-cstruct)
+(define ocaml-cstruct-sexp ocaml-cstruct)
+
 (define-public ocaml-hex
   (package
     (name "ocaml-hex")
-- 
2.38.1