[PATCH 00/28] gnu: Add ocaml-5.0.

  • Done
  • quality assurance status badge
Details
2 participants
  • Julien Lepiller
  • pukkamustard
Owner
unassigned
Submitted by
pukkamustard
Severity
normal
P
P
pukkamustard wrote on 16 Dec 2022 14:22
(address . guix-patches@gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132224.2229-1-pukkamustard@posteo.net
Hello Guix,

This adds OCaml 5.0.0, development tools (ocaml5.0-merlin) and some interesting
libraries that highlight the new functionalities (ocaml5.0-eio).

The default OCaml compiler is kept at 4.14. A package transformation
`package-with-ocaml5.0` is provided in (guix build-system ocaml) that can be
used to make packages use the new compiler.

Some packages have not been updated to support OCaml 5.0. A few packages
requires some unreleased fixes or require test to be disabled. In these cases
special ocaml5.0-* packages have been added (e.g. ocaml5.0-base,
ocaml5.0-ppx-expect).

A small hack: When building OCaml 5.0 packages we still use the opam package
compiled with OCaml 4.14. This works as opam is only used as an executable
tool, not as a library. I have unsuccessfully tried to update opam to 2.1.4,
which has support for OCaml 5.0. I will create a separate issue that details
the problems I encountered there. For now, I suggest using the opam tool built
with OCaml 4.14 when building OCaml 5.0 packages.

Best regards,
pukkamustard


pukkamustard (28):
gnu: Add ocaml-5.0.
gnu: ocaml-findlib: Update to 1.9.5.
gnu: Add ocaml5.0-findlib
guix: ocaml: Add package-with-ocaml5.0.
gnu: opam: Use OCaml 4.14 compiled version when building OCaml 5.0
packages.
gnu: Add ocaml-psq.
gnu: Add ocaml-monolith.
gnu: Add ocaml-optint.
gnu: Add ocaml-hmap.
gnu: Add ocaml5.0-base.
gnu: Update ocaml-ppxlib to 0.25.1.
gnu: Update ocaml-qcheck to 0.20.
gnu: Add ocaml5.0-ppx-expect.
gnu: Update ocaml-odoc to 2.2.0.
gnu: Add ocaml5.0-crowbar.
gnu: Add ocaml-lwt-dllist.
gnu: Add ocaml5.0-ctypes
gnu: Add ocaml-bechamel.
gnu: ocaml-mdx: Move inputs to propagated-inputs.
gnu: Add ocaml5.0-eio.
gnu: Add ocaml5.0-eio-luv.
gnu: Add ocaml-uring.
gnu: Add ocaml5.0-eio-linux.
gnu: Add ocaml5.0-eio-main.
gnu: Update ocaml-merlin-lib to 4.7-414.
gnu: Add ocaml5.0-merlin-lib.
gnu: Add ocaml5.0-dot-merlin-reader.
gnu: Add ocaml5.0-merlin.

gnu/packages/ocaml.scm | 566 ++++++++++++++++++++++++++++++++++--
guix/build-system/ocaml.scm | 27 ++
2 files changed, 568 insertions(+), 25 deletions(-)


base-commit: 4a97591d0a13e88037b3073bd891bcdf35352f87
prerequisite-patch-id: 94d076e7ad5843d4b2fbe3d9e497dcc731d6dd55
prerequisite-patch-id: f24c67c4de0b7ce4212808a80efcdb027b3991b3
prerequisite-patch-id: bbf25d5cef502ac2eec946788d386d0e23c36461
prerequisite-patch-id: 5cbc51811824f9b0ca8b647f899afad862341609
prerequisite-patch-id: e059847c6907a54c9350445f81ce2608908f58b7
prerequisite-patch-id: 96524116919f2efb2f34baefeab80185a56c6bec
prerequisite-patch-id: 48a05e62af0e31dc0791ddfa4aeebcb5e488eda2
prerequisite-patch-id: 12a17635848ca0a6937b1f90403633c24d1e7dc4
prerequisite-patch-id: 0eaf7802a398de01d9571185fad0e1e0050089fd
prerequisite-patch-id: 740fe89b92da813d42e75819228225ea7a87f65d
prerequisite-patch-id: bb8d6f8fbe00745325abb1ab8f150e11193d46c3
prerequisite-patch-id: 650c950ef0b1bdc17c6116440e27f5653b1500cb
prerequisite-patch-id: a8052b8fdbd865c4b0f6f5a9e780307bb7299952
prerequisite-patch-id: b02649af7d6359f077038cbc60bcfc1ec0b2f8e8
prerequisite-patch-id: f72d4e4dcfef67e6593f19294a3c5edc671e351c
prerequisite-patch-id: 9e676a2b682755aa132e69150dc5520f55e3f2c8
prerequisite-patch-id: 4f54c86f4fe72c963a6e13f8fed20f243a65cb37
prerequisite-patch-id: 0397a7cc6effad1379c32336996eafd858ed0ed7
prerequisite-patch-id: 5d1a82d6929dcb2bfbe3fe810430b42e6e3be130
prerequisite-patch-id: ff0bc5d4bc288f4d88605fa46e0485599e72734a
prerequisite-patch-id: 3520933078f10cac7a822cac20a2d7c08870d7c3
prerequisite-patch-id: 753c9f1468c6233c7b4fa2efca11c0e18f03ecee
prerequisite-patch-id: 3ee184a2b577f049df6c203415a7e99566191d49
prerequisite-patch-id: 11ee570e9a475cf70873235c7ba3f8c3629b32c3
prerequisite-patch-id: 90509945344c1d0e6314511b30aeb94f1ce909f4
prerequisite-patch-id: 964978dc3d84f9001554ff93ce72b8eebf94b0cc
prerequisite-patch-id: 253b016272071ccf1ad6e2800421e2eb018629cd
prerequisite-patch-id: 387f09a752aaeb32e8be82959a840fadcb43782b
prerequisite-patch-id: 59da070c774e388864d1d8a6520989378bcfbfc1
prerequisite-patch-id: 1643db946909840b14931907904228a1c4831e29
prerequisite-patch-id: 81432baa3a5d7c3d09687f88854f2ed92d6b5346
prerequisite-patch-id: 79333921a2522eae428026d6fd2728adc6b2b039
prerequisite-patch-id: bce14fa84e9c8b0a8c47b827cdc238a3c882e4bb
prerequisite-patch-id: 9a3106f6a23e312c40194d9a91fab50579ac64dd
prerequisite-patch-id: 96732846a6e9af831df5f04eab96cf7614349ab8
prerequisite-patch-id: b40034215f4cb44767e4cff4fdabb219c16f38ac
prerequisite-patch-id: 4ff22edce1439af3d6b7282b59d751cf261d7463
prerequisite-patch-id: 5fe53961bb42672a5c9b20d49f335c36b57d3698
prerequisite-patch-id: cec3f6f2595ef77eae7095e8b608eb00e44d1aab
prerequisite-patch-id: fe6f0ae34455f23c923d38d923fe16f8708143a1
prerequisite-patch-id: bebe94a723ef25ff795004341d3522635b1c4b3e
prerequisite-patch-id: 5e4ede659c5b9c5f36c9b2ca9c7b39000207eb39
prerequisite-patch-id: d8d7fe873ee3af54a5ec98eb927efefbcfa2dd33
prerequisite-patch-id: f444165db02ac0580e11ae282d701efb4781974f
prerequisite-patch-id: a3b47e1d24579c9a8a9302684237eb1574aac56b
prerequisite-patch-id: 9bd17bea969a3a66eeb702eb4f8f852ec63c0cda
prerequisite-patch-id: 5b2883aa586333ff252deedba445a816bb1b4f90
prerequisite-patch-id: 4579defdc01e30a6bbfde006e7d9dd215417081a
prerequisite-patch-id: b9dfc9cff450aef02fba5b7e12de7084f3a38bfb
prerequisite-patch-id: f94b13769bdb79cdbbc75681936ebd903d3d9c54
prerequisite-patch-id: 831bf2a39db010d4d040b224f1316ccc81061c89
prerequisite-patch-id: e4479fcb5d9c04b7722cb1abbd0b57c0ab9cc7f3
prerequisite-patch-id: a5dbc9c733bbd0659be58527295ba044518bed66
prerequisite-patch-id: 356a6f9d01eb9055a01ad5b7bd55edd2b460ddc4
prerequisite-patch-id: 27ed19a8426dc6a83ae9e7f4a3d80b691cd8ac5a
prerequisite-patch-id: 004e13b154b21fc7b989d153404d805970d5aa3f
prerequisite-patch-id: 5d5fb2616b31a2e3577a4bc4094af2aad8057b1d
prerequisite-patch-id: f27f698adc449658d0007437f72e99993879ceed
prerequisite-patch-id: 7fbaabf3eda99a2971fca9cee1da6dbfcddd82b8
prerequisite-patch-id: 50fd1b13b9c8dba02778cf7ee419ad614e960137
prerequisite-patch-id: e07f0e5b65430e5286d340503961e69d3fa45bf5
prerequisite-patch-id: 9e61d061519194aa0c058cbd75bd1d4fae9033d7
prerequisite-patch-id: d4ba6ad69578f6ea4b4935ad890ee79886dd8cc8
prerequisite-patch-id: 98b1457e53ca86a9669920cbca590bdc61c83bb4
prerequisite-patch-id: d838682c41cac0e0b396dbc22dd54223dfc0c9e0
prerequisite-patch-id: 0862991dfd4c262c7feed1aca40e28ab3276d3da
prerequisite-patch-id: e176ed652ab2fea613fdbdba4cd89fb3c665c498
prerequisite-patch-id: c4d3f9ee4505e671a039bf6a9c5e09e51e3327f1
prerequisite-patch-id: 63cd2156a2c80298679e649d501dfb3cc9277228
prerequisite-patch-id: 62d89274420efe783f6d03c2bee42f2622c8fa81
prerequisite-patch-id: 972b28ff11c756a5d503cbb703ae78238ecd2044
prerequisite-patch-id: 5de5c2aa9ba92f0f1eac6f60e19fd351d1029966
prerequisite-patch-id: 4d92001a10e7ac505f56c2e8bd25a861b2e89ebc
prerequisite-patch-id: 58cf483dc6496fddb25996f7657a15a1f17c4d8f
prerequisite-patch-id: 9e46aa10805f09080997860bc8bffcb4a609cb9e
prerequisite-patch-id: 3c836b04148567373feb7ea74ec84ab338555689
prerequisite-patch-id: d23258c854242ae9a376df57c9be6388dd1c00e0
prerequisite-patch-id: 43bfb876d5e62dceaa13ab677e97f4b3daf126b1
prerequisite-patch-id: ffde0aa9f020bc89410ceeb835281df3787290fc
prerequisite-patch-id: 2550a8f4de5ebc0dfd7e807172c1486ed71a4510
prerequisite-patch-id: 7fb17efb5e79f4e924ff34e2710b91e02044f896
prerequisite-patch-id: febbe9410ddd18adf27ba17482a77e2e1bca83de
prerequisite-patch-id: 467f160af12e9d391d4d7604ced2391a2fcde460
prerequisite-patch-id: 92e2ca149843b470eb0d98439df089bd9031c62d
prerequisite-patch-id: 9da052c8b63c341b192c2531740c38175978462f
prerequisite-patch-id: 4113b1ed139ecdfd84da9cbcf7e643eec699e2e0
prerequisite-patch-id: 8155921886749158973c77c052f9f4993fa854ca
prerequisite-patch-id: c95130b8ac235c602d24dd8802e4d68a73643042
prerequisite-patch-id: 7d7deaaed9c5c9c3683b7002a8385546adecf428
prerequisite-patch-id: c2df85accac5b7cb2893c628a451c89af5f8dc07
prerequisite-patch-id: 397cd40e170ea311ca78421007c7d5aa4e952511
prerequisite-patch-id: c19315820cf5403c928549d56616bd37f501a587
prerequisite-patch-id: 8236bbed0594cd6ff5a862484696f3a29304fa7b
prerequisite-patch-id: acfe7438e2e086bb6dad336ef75c2d9896c6ecec
prerequisite-patch-id: 23b8945f6af7abb0bb96f46115d59fef6e19e89b
prerequisite-patch-id: 58622eb013b7fed1916cf164abe3b309dd0ce76d
prerequisite-patch-id: bf72837647d036c68dfa3c2ff2b0c02f2a407369
prerequisite-patch-id: e6cfc8efd00274a48578cceadfc111a26bf15af9
prerequisite-patch-id: b853280a96ba1b3041688c0be5513840418b2e15
prerequisite-patch-id: 6c5486b30d59a0d8070baa41f7a88c75939ca745
prerequisite-patch-id: e778ebb0420ce080ee542ac099c96cb6048a951e
prerequisite-patch-id: b71a583cf42f6f78e0d2d1481e81775de3bf5ddc
prerequisite-patch-id: 937f120f2870ecf0ef7836779186f0c9f7736692
prerequisite-patch-id: 25de2490c37b01e3c13affc078fd4f66a5688222
prerequisite-patch-id: 54f229a7a175e8d32a651e332330a2766cffc8d4
prerequisite-patch-id: 6439ea63fdb30a0800674a5cf293460af1de7037
prerequisite-patch-id: b0ef91f6a39a417011bab2f1825c281364265a1f
prerequisite-patch-id: a0d7960592f26c1a23f6e235194395e7aa7417af
prerequisite-patch-id: f48bee677486fee97fbefc624a1a7b5eb8e5717c
prerequisite-patch-id: ded500e20ece2430d591115fcc48475fcddbac46
prerequisite-patch-id: 08413dac0dc1a94ca0ba28139aa6a7ef25d93ac3
prerequisite-patch-id: 834e84fc7c6ec0385fa10eda637891e5d53188d1
prerequisite-patch-id: 063293e44bcd516942436026c8432479e06630fc
prerequisite-patch-id: 1c2e465ecbcd2dc73446850eec711d5975261e78
prerequisite-patch-id: 9a09cb1d28394c1024a86a90b7ec85eef9f4146e
prerequisite-patch-id: 37b3a04b0c8f81e0f1f5eb1bd954ba5f10ad5353
prerequisite-patch-id: 334fb4fd7d28dc0e663a9120ca4ed3e8189cbf3d
prerequisite-patch-id: 9e37d3eb3f8747806ef0df6a4f79886e3b46a4d4
prerequisite-patch-id: 2132be424a8f89fb33286c2cc3c7514cfe30cf7f
prerequisite-patch-id: 7b9dd002bcfff8bb64ad17bbe4ed8d57ea05f72d
prerequisite-patch-id: 0e91802bfb6c7262e285ef2b338fe0bef89089a9
prerequisite-patch-id: 58b44df943a7772032a8d7c237c12ba0060040b4
prerequisite-patch-id: 5e79f7b3dccc5ebd8a6485a8765f49217fb36f01
prerequisite-patch-id: d9f210df249068e37e737447a1c33a50bc360640
prerequisite-patch-id: 0d6276dc8e3beded8c1513cf3cd0b7cc0cef6cb1
prerequisite-patch-id: f7aa5d77d6eb82d6ac1b1abbe49e8705b0fe8c64
prerequisite-patch-id: c1ff581bdda73051b45d5ee47b356927c63920bd
prerequisite-patch-id: a8edc107ac77c38d1651baf191567a70fbdc32ce
prerequisite-patch-id: 3ceb36a0bc216eab306811f40645d41daf3563e1
prerequisite-patch-id: 8e0cd83dc8dbf7d835a51d275194523413fe7a9e
prerequisite-patch-id: 461065731d52ad521d83ff676267de16828716bf
prerequisite-patch-id: 8150455ba98c5547707e95c95c2e47625131db3a
prerequisite-patch-id: c2b4f5a818c2d5e7c90be0d2968a1b2f646b05de
prerequisite-patch-id: f4a1eb8a545ec9903e9bc1d903ff591880c080a4
prerequisite-patch-id: b6c2d68e264e45dc5209bc4c7086c745be0b34f2
prerequisite-patch-id: de974cf8cde6cc19cc8882a5ca66f122d739a259
prerequisite-patch-id: bde1a70673eec0694a52f55c99396c67e2330046
prerequisite-patch-id: 360c6adfea2a54afd57aa9cde18903aaf8222c59
prerequisite-patch-id: 0eef4f33368a7827aa8fb66d38407344165eeb3b
prerequisite-patch-id: 3bc76ae0581a93fd6e009a197642fa9849ec7416
prerequisite-patch-id: 0400d13ee9f5a5a9de7a37a70904374a7630e608
prerequisite-patch-id: c5892764a7176f3368b815ecd11bf25b9055f4a8
prerequisite-patch-id: e1c2e08c7076cdb6993a1219a0eda8642f90337d
prerequisite-patch-id: 5c8742b8236a914c947176846956ea48ab593559
prerequisite-patch-id: 4e5fd6340b3a9be479dc8528c59da42617363d50
prerequisite-patch-id: d54b8cf4cac55414199a4cfa06d802229c6fd361
prerequisite-patch-id: f4b2d1faab1502d7c9be66628961600d7605aa6f
prerequisite-patch-id: b3fc01e5bda073a45eefcf3151dedfff0e031543
prerequisite-patch-id: 19b568fbdff7db6c176dfdd25c3373f363692945
prerequisite-patch-id: 0d804387d08c473426f5774d22585358c702cc3e
prerequisite-patch-id: b1c53669890c6bee3136abd9f173293ff9a9e275
prerequisite-patch-id: 8a5ee7f5bcefda1a59b84da796fcbeb09930b403
prerequisite-patch-id: 5428e83633fd6e8633b646ae63a5c4980f346aa0
prerequisite-patch-id: be965f93b9b7ed07630d79806313779d24926639
prerequisite-patch-id: 44a55ad6ba390c88ca89a9ae847371331e83e85e
prerequisite-patch-id: 948c6f03b451d20121ba97f709db4b8c84987e44
prerequisite-patch-id: 0e9a0cefa01d52bf759595408985ab5da5f18caa
prerequisite-patch-id: 71a974abbd0fd98543d2ddecb7d4ce7f91470063
prerequisite-patch-id: 1a75acd25bf476b0f3ecc22a69e4689c81fb799e
prerequisite-patch-id: 1f262bdc9b53cdf828f416d41aff42a64a32b887
prerequisite-patch-id: a334353c37996960ee619fd5c9f67e3f4123cd95
prerequisite-patch-id: 77a8ca14a82ab4e39e036c6798e5dd4a295c9a42
prerequisite-patch-id: a276fb83a0ffdd13c93f62fe890d91536cb5d419
prerequisite-patch-id: e69c3c74c745e764af6637550fdb2026f394448f
prerequisite-patch-id: c0cac9a6b6d2e9a3321371397fd519cee48d7cc2
prerequisite-patch-id: d11967353fd0027dbabf7c87c538504006c539a8
prerequisite-patch-id: 7d2b55e6368db71b978c954d9cfc2cdb538965aa
prerequisite-patch-id: 525112049d37a658731dc9c8aa3626375219e512
prerequisite-patch-id: 7a5cfed32c2a40fc2448b0c573a77f056afd816f
prerequisite-patch-id: cd70ca1b7eff6f682990c13cf2155236243cdf5b
prerequisite-patch-id: 9e294031288dda1f3dbddbb415161785c119bf53
prerequisite-patch-id: 10c28cbccb49d4061bfcd05c4bd305ec2be48924
prerequisite-patch-id: 39cde9fd11a1ed41ea79264dbeeea70f341d91ca
prerequisite-patch-id: e2864df360884a2a3ccea67e74ea6ca6b7742e1e
prerequisite-patch-id: 77865a54465e7827e99f0a11a23ec5403cabb752
prerequisite-patch-id: 51669dcfed01f9d8b42a775ddb76c71f44204633
prerequisite-patch-id: 826a8112c0e16451ce9a09dee2b816ef21b00d56
prerequisite-patch-id: c541e61afd50cfa5bb7e4be83ea1d41ffa82e69e
prerequisite-patch-id: cc110ec0b6437432fd6b16ed7139901b57cd0f45
prerequisite-patch-id: c9957e8d81b88363684e201120863750356389ff
prerequisite-patch-id: ea978a318c37da546844673f11ce4b65714ec6e9
prerequisite-patch-id: faa6843fe527b9fcbf62d6c006490c285f8124b5
prerequisite-patch-id: 2fd8fac6c97731672dac16c2378cc4c58c4161f6
prerequisite-patch-id: e2b3922df96b72eadde00277e8c51349e0ad2f82
prerequisite-patch-id: 84f2151f3a949dcd6ab263e89d5eee2892cdddd5
prerequisite-patch-id: d161b7cf48092ea68440be8ad09fb4b342ec1c5d
prerequisite-patch-id: f6ba3a4d623d63ec66746e1f3b1c487ced74787f
prerequisite-patch-id: 9d2763d7c8ea872d2ee4c312d912c40cbd7287bb
prerequisite-patch-id: b2a8338edb9aa469578e8a2cf584fb4c87cf77f3
prerequisite-patch-id: 7521f2a81f76f1614a4d695f476fca3d4e397c1d
prerequisite-patch-id: 53b3957b66faba747476d0e82443612f6dd9aaa0
prerequisite-patch-id: a3432f1ac6393b2a3a2cfbf316009b11db69b81e
prerequisite-patch-id: 42f159f1353a8051838a429cadc162e50d24858d
prerequisite-patch-id: 602570bcc895ff8a7ea13e49e982a393394f96ec
prerequisite-patch-id: 3fdfe65d09caa39dabd18b1057bbe7572279bbcb
prerequisite-patch-id: a0bacda2487d4b02fc8efd2eac391549ab89e8bd
prerequisite-patch-id: 3988884d0b4430f806eea737dfca4d9d4195d137
prerequisite-patch-id: 656abfb2784950bc3a8e1025b97448f1212d1960
prerequisite-patch-id: 4a83e56a3752b546e63f64c0d0f947947a09a9fd
prerequisite-patch-id: 505822009f48a48cb7dc218a40d4287835784a91
prerequisite-patch-id: c7a845b0dfffc0c4acfc49dd0ce951d95d1ea4f4
prerequisite-patch-id: 0a2b28017b0f603aa2339252810123f654ce6ba0
prerequisite-patch-id: 90f8fe71ee14a20bd63031baf1cd96fbf8b26a08
prerequisite-patch-id: efd5c460d2a24e134e9496726d9316be52abf982
prerequisite-patch-id: 058c067ecebf92d174389298c87fd8f4de4d53c0
prerequisite-patch-id: 5d38188732379bf99b4a46cceafd044bb70a9114
prerequisite-patch-id: 264743c7527e3212e70c78825dfeb78b90da1b46
prerequisite-patch-id: ffe1ec0998fca6f09808abbbdd3e5f36d8b99aef
prerequisite-patch-id: cccfbbb276df204f3a30f5076669e3c4e3465a1e
prerequisite-patch-id: f997568b909a534556150aee7eac7e31bc253490
prerequisite-patch-id: 39b516b62db7df0ce370dd8124eeb7bbc1f45e42
prerequisite-patch-id: e09888ce6131958a85c4825dc73a954834850e9b
prerequisite-patch-id: 6f04086c894d6e015df96de40f95f4ceb36d99a0
prerequisite-patch-id: f65ad1dfbcddd0e86cfaae6400a5849de31e8a84
prerequisite-patch-id: 1d60bbd2fb52819635eda97dca5842d05b9a1ce8
prerequisite-patch-id: 9af0e7f3210e1ed3fe1d7a51a6520bc47d48f2aa
prerequisite-patch-id: f9802b80019a8d89cfae81f4cbbdcc329013fc61
prerequisite-patch-id: ab52102730b4823c5339e8e9967ee62bfa900ee3
prerequisite-patch-id: a25ca258cf441aaca9ee6f11a63789d78b73bdf8
prerequisite-patch-id: d08c2322164079f84ca7620d8903c59691074aaa
prerequisite-patch-id: 396ea25f5a93546fb5b37b19e6631c8f8d9f404a
prerequisite-patch-id: 673451f3abee96162497b0727128d09e7904d180
prerequisite-patch-id: a62862a51186455ea47150d171c2fe3fa9f023a8
prerequisite-patch-id: 71ddb50fd4bd5659a013616d13e273a6743f3a8a
prerequisite-patch-id: fcc6fcb225a5fcc94be9ffd1f185c88992529ea3
prerequisite-patch-id: bd219bf706ce0ef272e72b1649b3ca4b949f3374
prerequisite-patch-id: 57e549b6596e21bd3ccc6a499cee56d32a0584d4
prerequisite-patch-id: 3b785c2fe948fda7904b7a716dd832594bc13171
prerequisite-patch-id: bdde999968b76d9eb349df4da3722225d6697862
prerequisite-patch-id: b72231886e1003e7b9330ac5aa7bd362d76c4877
prerequisite-patch-id: 8a4b9ae19564bb79125074b5ea416a4a696f7eb6
prerequisite-patch-id: f8e356e068e91a4d5d67dc7e3b2c981be85d427b
prerequisite-patch-id: 694b77c2d40bde39f58967ff115c52197248a955
prerequisite-patch-id: 91771507dd145993c04b732a5e673bad9d1a8cd2
prerequisite-patch-id: b8a6564d2637e3ca90031521c48488fff578c1a4
prerequisite-patch-id: e6cab312a4d0d4a8b0c9e4e2ebd7c8516e1adbeb
prerequisite-patch-id: 447b2a2e0c1531956e2387463cf1dc255f18fa40
prerequisite-patch-id: b8fc90f31e71837cd7844299a20d911cde7b80f2
prerequisite-patch-id: 2a3a6ac888e56de6d9329b755a0883d19d408373
prerequisite-patch-id: f456088d55cbe54efa99a92ce1d45a367c66890a
prerequisite-patch-id: aca9324cd23174d71ac0e2eccf5be156ddcd7e7d
prerequisite-patch-id: d7cf8702604a02cc93309ba8a713524c3d4614ae
prerequisite-patch-id: 80cd78917cf21cf24029204e4f760b2a6ebd513d
prerequisite-patch-id: c9a70206e5881639cf5807983083112387d6f3d2
prerequisite-patch-id: f0193d9a41dad05e3fc3a8779db98d2d740f0d10
prerequisite-patch-id: 9e3e83fdcd2fa437256806da0daab860de7f321c
prerequisite-patch-id: 73771ed935ddca253e4f3dc99d9d85c1c32acf9c
prerequisite-patch-id: 22ed24e96fcd07333ebea17cc99cc1b127bbe210
prerequisite-patch-id: 237ec17c105411409747abca0398ca7e0279201e
prerequisite-patch-id: 0de3ba6a87f355da53e902def1355e61baad2c08
prerequisite-patch-id: fa5875bd8bba5b65790c60f576812ef0b22e7642
prerequisite-patch-id: 527ef5f9cad99339182d3a2f8ae1de5b29d2b5c3
prerequisite-patch-id: eecbc5483d67d002e344c5015a88f92f3362a8dc
prerequisite-patch-id: 95e515d7a0939da823f1a4d17422514196f49c47
prerequisite-patch-id: 55fbc09c0732f6e767f13eda0c86e5a39316fa05
prerequisite-patch-id: 5dc1dac88f427012b9d221179ccc85513f0c4ffc
prerequisite-patch-id: ae462986e9b9b2b9c4bdd4eda6abfff06bbfa58a
prerequisite-patch-id: 25ef85b3ff1e39c2807c934af0a0f9d1e6b90c84
prerequisite-patch-id: 3c2a9454fc0700d056b6c70a3ff774be0c008833
prerequisite-patch-id: 2263442fd9af8dccb1344c4e95c79cdf71adfa33
prerequisite-patch-id: 5550dcd9d154a780071daf238e53894155f87462
prerequisite-patch-id: c8ee73c8006ca1ae5fb3f97dfb2a27a5b6092e93
prerequisite-patch-id: 9b16215d19f6f03a82cb79b1926771d07617f7ca
prerequisite-patch-id: 3ef4522174f535b89d28984553255e3ce1cef37d
prerequisite-patch-id: 7774e94a17cf7a5d53500fb16f53bb721a475d23
prerequisite-patch-id: 7ebfb306071f40e16580296ff86e474736199a97
prerequisite-patch-id: 1ec59b11b989250590f9b52b689223204cd65e5d
prerequisite-patch-id: f238d4d7186e301d18c4b973498b9366f98c8452
prerequisite-patch-id: 0a3563727d4422f8080bd922ae4c9a54916ec61e
prerequisite-patch-id: ba6b6473eacbeb9b00a02a09fb6d975d5911c52c
prerequisite-patch-id: 09c6cb203dc5ab7748fe46325e41b8898e51efff
prerequisite-patch-id: 3158282b6d65f506681e08051a0d6b0efadd9d55
prerequisite-patch-id: 1c19ccac47dc435c2c61cd73326baec8116facfe
prerequisite-patch-id: a6f4a08af83962dae1efc31e2691c69cf9e007b1
prerequisite-patch-id: 8d758ff0772c437072436151a484a5e837612277
prerequisite-patch-id: f6e40277904afe3860f3b287c14c63f79d21c32e
prerequisite-patch-id: f4c9dae1969b2e83f1ef95b4744466b7760abf6e
prerequisite-patch-id: 6072f05a52b29f5b9433a5b2801c40e74
This message was truncated. Download the full message here.
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 01/28] gnu: Add ocaml-5.0.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-1-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-5.0): New variable.
---
gnu/packages/ocaml.scm | 60 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)

Toggle diff (73 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e0bedf74f9..ae8b0c8ee1 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -185,6 +185,66 @@ (define-public camlboot
This package produces a native @command{ocamlc} and a bytecode @command{ocamllex}.")
(license license:expat))))
+(define-public ocaml-5.0
+ (package
+ (name "ocaml")
+ (version "5.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/ocaml")
+ (commit version)))
+ (sha256
+ (base32
+ "1p0p8wldrnbr61wfy3x4122017g4k5gjvfwlg3mvlqn8r2fxn2m5"))))
+ (build-system gnu-build-system)
+ (native-search-paths
+ (list (search-path-specification
+ (variable "OCAMLPATH")
+ (files (list "lib/ocaml" "lib/ocaml/site-lib")))
+ (search-path-specification
+ (variable "CAML_LD_LIBRARY_PATH")
+ (files (list "lib/ocaml/site-lib/stubslibs"
+ "lib/ocaml/site-lib/stublibs")))))
+ (native-inputs
+ (list perl pkg-config))
+ (inputs
+ (list libx11 libiberty ;needed for objdump support
+ zlib)) ;also needed for objdump support
+ (arguments
+ `(#:configure-flags '("--enable-ocamltest")
+ #:test-target "tests"
+ #:make-flags '("world.opt")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-/bin/sh-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((sh (search-input-file inputs "/bin/sh"))
+ (quoted-sh (string-append "\"" sh "\"")))
+ (with-fluids ((%default-port-encoding #f))
+ (for-each
+ (lambda (file)
+ (substitute* file
+ (("\"/bin/sh\"")
+ (begin
+ (format (current-error-port) "\
+patch-/bin/sh-references: ~a: changing `\"/bin/sh\"' to `~a'~%"
+ file quoted-sh)
+ quoted-sh))))
+ (find-files "." "\\.ml$")))))))))
+ (home-page "https://ocaml.org/")
+ (synopsis "The OCaml programming language")
+ (description
+ "OCaml is a general purpose industrial-strength programming language with
+an emphasis on expressiveness and safety. Developed for more than 20 years at
+Inria it benefits from one of the most advanced type systems and supports
+functional, imperative and object-oriented styles of programming.")
+ ;; The compiler is distributed under qpl1.0 with a change to choice of
+ ;; law: the license is governed by the laws of France. The library is
+ ;; distributed under lgpl2.0.
+ (license (list license:qpl license:lgpl2.0))))
+
+
(define-public ocaml-4.14
(package
(name "ocaml")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 02/28] gnu: ocaml-findlib: Update to 1.9.5.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-2-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-findlib): Update to 1.9.5.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ae8b0c8ee1..699dbca8f1 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1403,14 +1403,14 @@ (define-public unison
(define-public ocaml-findlib
(package
(name "ocaml-findlib")
- (version "1.9.3")
+ (version "1.9.5")
(source (origin
(method url-fetch)
(uri (string-append "http://download.camlcity.org/download/"
"findlib" "-" version ".tar.gz"))
(sha256
(base32
- "0hfcwamcvinmww59b5i4yxbf0kxyzkp5qv3d1c7ybn9q52vgq463"))))
+ "0w9578j1561f5gi51sn2jgxm3kh3sn88cpannhdkqcdg1kk08iqd"))))
(build-system gnu-build-system)
(native-inputs
(list m4 ocaml))
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 03/28] gnu: Add ocaml5.0-findlib
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-3-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-findlib): New variable.
---
gnu/packages/ocaml.scm | 7 +++++++
1 file changed, 7 insertions(+)

Toggle diff (20 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 699dbca8f1..e8f64915d9 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1465,6 +1465,13 @@ (define-public ocaml4.09-findlib
(native-inputs
(list m4 ocaml-4.09))))
+(define-public ocaml5.0-findlib
+ (package
+ (inherit ocaml-findlib)
+ (name "ocaml5.0-findlib")
+ (native-inputs
+ (list m4 ocaml-5.0))))
+
(define-public ocaml-ounit2
(package
(name "ocaml-ounit2")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 04/28] guix: ocaml: Add package-with-ocaml5.0.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-4-pukkamustard@posteo.net
* guix/build-system/ocaml.scm (package-with-ocaml5.0)
(strip-ocaml5.0-variant): New variables.
* gnu/packages/ocaml.scm (ocaml5.0-dune-bootstrap)
(ocaml5.0-dune, ocaml5.0-dune-configurator)
(ocaml5.0-csexp, ocaml5.0-result): New variables.
---
gnu/packages/ocaml.scm | 51 ++++++++++++++++++++++++++++++++++---
guix/build-system/ocaml.scm | 27 ++++++++++++++++++++
2 files changed, 75 insertions(+), 3 deletions(-)

Toggle diff (164 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e8f64915d9..605baa801d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1819,6 +1819,9 @@ (define dune-bootstrap
(define ocaml4.09-dune-bootstrap
(package-with-ocaml4.09 dune-bootstrap))
+(define ocaml5.0-dune-bootstrap
+ (package-with-ocaml5.0 dune-bootstrap))
+
(define-public dune-configurator
(package
(inherit dune-bootstrap)
@@ -1839,7 +1842,8 @@ (define-public dune-configurator
(delete-file-recursively "vendor/pp"))))))
(propagated-inputs
(list ocaml-csexp))
- (properties `((ocaml4.09-variant . ,(delay ocaml4.09-dune-configurator))))
+ (properties `((ocaml4.09-variant . ,(delay ocaml4.09-dune-configurator))
+ (ocaml5.0-variant . ,(delay ocaml5.0-dune-configurator))))
(synopsis "Dune helper library for gathering system configuration")
(description "Dune-configurator is a small library that helps writing
OCaml scripts that test features available on the system, in order to generate
@@ -1864,13 +1868,25 @@ (define-public ocaml4.09-dune-configurator
(propagated-inputs
`(("ocaml-csexp" ,ocaml4.09-csexp)))))
+(define-public ocaml5.0-dune-configurator
+ (package
+ (inherit dune-configurator)
+ (name "ocaml5.0-dune-configurator")
+ (arguments
+ `(,@(package-arguments dune-configurator)
+ #:dune ,ocaml5.0-dune-bootstrap
+ #:ocaml ,ocaml-5.0
+ #:findlib ,ocaml5.0-findlib))
+ (propagated-inputs (list ocaml5.0-csexp))))
+
(define-public dune
(package
(inherit dune-bootstrap)
(propagated-inputs
(list dune-configurator))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))
- (ocaml4.09-variant . ,(delay ocaml4.09-dune))))))
+ (ocaml4.09-variant . ,(delay ocaml4.09-dune))
+ (ocaml5.0-variant . ,(delay ocaml5.0-dune))))))
(define-public ocaml4.09-dune
(package
@@ -1892,6 +1908,12 @@ (define-public ocaml4.07-dune
(base32
"0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"))))))
+(define-public ocaml5.0-dune
+ (package
+ (inherit ocaml5.0-dune-bootstrap)
+ (propagated-inputs
+ (list ocaml5.0-dune-configurator))))
+
(define-public ocaml-csexp
(package
(name "ocaml-csexp")
@@ -1946,6 +1968,18 @@ (define-public ocaml4.09-csexp
(propagated-inputs
`(("ocaml-result" ,ocaml4.09-result)))))
+(define-public ocaml5.0-csexp
+ (package
+ (inherit ocaml-csexp)
+ (name "ocaml5.0-csexp")
+ (arguments
+ `(#:ocaml ,ocaml-5.0
+ #:findlib ,ocaml5.0-findlib
+ ,@(substitute-keyword-arguments (package-arguments ocaml-csexp)
+ ((#:dune _) ocaml5.0-dune-bootstrap))))
+ (propagated-inputs
+ `(("ocaml-result" ,ocaml5.0-result)))))
+
(define-public ocaml-migrate-parsetree
(package
(name "ocaml-migrate-parsetree")
@@ -2131,7 +2165,8 @@ (define-public ocaml-result
(arguments
`(#:test-target "."
#:dune ,dune-bootstrap))
- (properties `((ocaml4.09-variant . ,(delay ocaml4.09-result))))
+ (properties `((ocaml4.09-variant . ,(delay ocaml4.09-result))
+ (ocaml5.0-variant . ,(delay ocaml5.0-result))))
(home-page "https://github.com/janestreet/result")
(synopsis "Compatibility Result module")
(description "Uses the new result type defined in OCaml >= 4.03 while
@@ -2148,6 +2183,16 @@ (define-public ocaml4.09-result
#:dune ,ocaml4.09-dune-bootstrap
#:ocaml ,ocaml-4.09
#:findlib ,ocaml4.09-findlib))))
+
+(define-public ocaml5.0-result
+ (package
+ (inherit ocaml-result)
+ (name "ocaml5.0-result")
+ (arguments
+ `(#:test-target "."
+ #:dune ,ocaml5.0-dune-bootstrap
+ #:ocaml ,ocaml-5.0
+ #:findlib ,ocaml5.0-findlib))))
(define-public ocaml-topkg
(package
diff --git a/guix/build-system/ocaml.scm b/guix/build-system/ocaml.scm
index 5ced9d243b..b08985cd4d 100644
--- a/guix/build-system/ocaml.scm
+++ b/guix/build-system/ocaml.scm
@@ -32,6 +32,8 @@ (define-module (guix build-system ocaml)
strip-ocaml4.07-variant
package-with-ocaml4.09
strip-ocaml4.09-variant
+ package-with-ocaml5.0
+ strip-ocaml5.0-variant
default-findlib
default-ocaml
lower
@@ -111,6 +113,18 @@ (define (default-ocaml4.09-dune)
(let ((module (resolve-interface '(gnu packages ocaml))))
(module-ref module 'ocaml4.09-dune)))
+(define (default-ocaml5.0)
+ (let ((ocaml (resolve-interface '(gnu packages ocaml))))
+ (module-ref ocaml 'ocaml-5.0)))
+
+(define (default-ocaml5.0-findlib)
+ (let ((module (resolve-interface '(gnu packages ocaml))))
+ (module-ref module 'ocaml5.0-findlib)))
+
+(define (default-ocaml5.0-dune)
+ (let ((module (resolve-interface '(gnu packages ocaml))))
+ (module-ref module 'ocaml5.0-dune)))
+
(define* (package-with-explicit-ocaml ocaml findlib dune old-prefix new-prefix
#:key variant-property)
"Return a procedure of one argument, P. The procedure creates a package
@@ -199,6 +213,19 @@ (define (strip-ocaml4.09-variant p)
(inherit p)
(properties (alist-delete 'ocaml4.09-variant (package-properties p)))))
+(define package-with-ocaml5.0
+ (package-with-explicit-ocaml (delay (default-ocaml5.0))
+ (delay (default-ocaml5.0-findlib))
+ (delay (default-ocaml5.0-dune))
+ "ocaml-" "ocaml5.0-"
+ #:variant-property 'ocaml5.0-variant))
+
+(define (strip-ocaml5.0-variant p)
+ "Remove the 'ocaml5.0-variant' property from P."
+ (package
+ (inherit p)
+ (properties (alist-delete 'ocaml5.0-variant (package-properties p)))))
+
(define* (lower name
#:key source inputs native-inputs outputs system target
(ocaml (default-ocaml))
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 05/28] gnu: opam: Use OCaml 4.14 compiled version when building OCaml 5.0 packages.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-5-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam)[properties]: Add ocaml5.0-variant.
(opam)[propagated-inputs]: Move to inputs.
---
gnu/packages/ocaml.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 605baa801d..7abb31d183 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -960,11 +960,12 @@ (define-public opam
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
- (inputs
- (list ocaml ncurses curl bubblewrap))
- (propagated-inputs
- (list ocaml-cmdliner ocaml-dose3 ocaml-mccs ocaml-opam-file-format
- ocaml-re))
+ (inputs (list ocaml ncurses curl bubblewrap ocaml-cmdliner ocaml-dose3
+ ocaml-mccs ocaml-opam-file-format ocaml-re))
+ (properties
+ ;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
+ ;; compiled opam until opam is compatible with OCaml 5.0.
+ `((ocaml5.0-variant . ,(delay opam))))
(home-page "http://opam.ocamlpro.com/")
(synopsis "Package manager for OCaml")
(description
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 06/28] gnu: Add ocaml-psq.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-6-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-psq): New variable.
---
gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7abb31d183..261de17dbb 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2720,6 +2720,28 @@ (define-public ocaml-mmap
@command{Unix.map_file} function added in OCaml >= 4.06.")
(license (list license:qpl license:lgpl2.0))))
+(define-public ocaml-psq
+ (package
+ (name "ocaml-psq")
+ (version "0.2.0")
+ (home-page "https://github.com/pqwy/psq")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32
+ "1cvib0z9ndh83mz9v2xymx8nzvhb9w1yvccp4nx3p8zqsgcnn7d8"))))
+ (build-system dune-build-system)
+ (native-inputs (list ocaml-qcheck ocaml-alcotest))
+ (synopsis "Functional Priority Search Queues for OCaml")
+ (description
+ "This library provides Functional Priority Search Queues for OCaml.
+Typical applications are searches, schedulers and caches.")
+ (license license:isc)))
+
(define-public ocaml-lwt
(package
(name "ocaml-lwt")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 07/28] gnu: Add ocaml-monolith.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-7-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-monolith): New variable.
---
gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 261de17dbb..58eef28558 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8662,6 +8662,29 @@ (define-public ocaml-afl-persistent
repeated forking and is much faster.")
(license license:expat)))
+(define-public ocaml-monolith
+ (package
+ (name "ocaml-monolith")
+ (version "20210525")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ "https://gitlab.inria.fr/fpottier/monolith/-/archive/20210525/archive.tar.gz")
+ (sha256
+ (base32
+ "1fcjpxspdksyrk2gmmk968s6fpkqlyn6zsg2rbz044f5slm39rcx"))))
+ (build-system dune-build-system)
+ (arguments `(#:test-target "."))
+ (propagated-inputs (list ocaml-afl-persistent ocaml-pprint ocaml-seq))
+ (home-page "https://gitlab.inria.fr/fpottier/monolith")
+ (synopsis "Framework for testing an OCaml library using afl-fuzz")
+ (description "Monolith offers facilities for testing an OCaml library (for
+instance, a data structure implementation) by comparing it against a reference
+implementation. It can be used to perform either random testing or fuzz
+testing by using the @code{afl-fuzz} tool.")
+ (license license:lgpl3+)))
+
(define-public ocaml-pprint
(package
(name "ocaml-pprint")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 13/28] gnu: Add ocaml5.0-ppx-expect.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-13-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-ppx-expect): New variable.
---
gnu/packages/ocaml.scm | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)

Toggle diff (45 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d3e0e0dbc3..057c062879 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6754,7 +6754,8 @@ (define-public ocaml-ppx-expect
ocaml-migrate-parsetree
ocaml-re))
(properties `((upstream-name . "ppx_expect")
- (ocaml4.07-variant . ,(delay ocaml4.07-ppx-expect))))
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-expect))
+ (ocaml5.0-variant . ,(delay ocaml5.0-ppx-expect))))
(home-page "https://github.com/janestreet/ppx_expect")
(synopsis "Cram like framework for OCaml")
(description "Expect-test is a framework for writing tests in OCaml, similar
@@ -6764,6 +6765,28 @@ (define-public ocaml-ppx-expect
to denote the expected output.")
(license license:asl2.0)))
+(define-public ocaml5.0-ppx-expect
+ ;; Contains fixes for OCaml 5.0
+ ;; (https://github.com/janestreet/ppx_expect/pull/39/).
+ (let ((commit "83edfc1ee779e8dcdd975e26715c2e688326befa")
+ (revision "0"))
+ (package-with-ocaml5.0
+ (package
+ (inherit ocaml-ppx-expect)
+ (name "ocaml-ppx-expect")
+ (version (git-version "0.15.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_expect")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05r7wlmrhb5biwyw6bjcpmr77srglijcbf7nm7h2hiil0d0i7bkz"))))
+ (properties '())))))
+
(define-public ocaml4.07-ppx-expect
(package-with-ocaml4.07
(package
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 08/28] gnu: Add ocaml-optint.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-8-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-optint): New variable.
---
gnu/packages/ocaml.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 58eef28558..7118f88318 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2742,6 +2742,31 @@ (define-public ocaml-psq
Typical applications are searches, schedulers and caches.")
(license license:isc)))
+(define-public ocaml-optint
+ (package
+ (name "ocaml-optint")
+ (version "0.2.0")
+ (home-page "https://github.com/mirage/optint")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32
+ "0d82nf9w46zbyfq3h3n2b9jajvv8gndjyc168xzzk328vj63i12p"))))
+ (build-system dune-build-system)
+ (arguments `(#:test-target "."))
+ (native-inputs (list ocaml-crowbar ocaml-monolith ocaml-fmt))
+ (synopsis "Efficient integer types on 64-bit architectures for OCaml")
+ (description
+ "This OCaml library provides two new integer types, @code{Optint.t} and
+@code{Int63.t}, which guarantee efficient representation on 64-bit
+architectures and provide a best-effort boxed representation on 32-bit
+architectures.")
+ (license license:isc)))
+
(define-public ocaml-lwt
(package
(name "ocaml-lwt")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 09/28] gnu: Add ocaml-hmap.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-9-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-hmap): New variable.
---
gnu/packages/ocaml.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7118f88318..6a7abed03c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2767,6 +2767,32 @@ (define-public ocaml-optint
architectures.")
(license license:isc)))
+(define-public ocaml-hmap
+ (package
+ (name "ocaml-hmap")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "http://erratique.ch/software/hmap/releases/hmap-0.8.1.tbz")
+ (sha256
+ (base32 "10xyjy4ab87z7jnghy0wnla9wrmazgyhdwhr4hdmxxdn28dxn03a"))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:build-flags
+ (list "build" "--tests" "true")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs (list ocaml-topkg ocamlbuild opam))
+ (home-page "http://erratique.ch/software/hmap")
+ (synopsis "Heterogeneous value maps for OCaml")
+ (description
+ "Hmap provides heterogeneous value maps for OCaml. These maps bind keys to
+values with arbitrary types. Keys witness the type of the value they are bound
+to which allows to add and lookup bindings in a type safe manner. ")
+ (license license:isc)))
+
(define-public ocaml-lwt
(package
(name "ocaml-lwt")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 10/28] gnu: Add ocaml5.0-base.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-10-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-base): New variable.
---
gnu/packages/ocaml.scm | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)

Toggle diff (45 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6a7abed03c..035a692d08 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5484,7 +5484,8 @@ (define-public ocaml-base
(build-system dune-build-system)
(propagated-inputs
(list ocaml-sexplib0))
- (properties `((ocaml4.07-variant . ,(delay ocaml4.07-base))))
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-base))
+ (ocaml5.0-variant . ,(delay ocaml5.0-base))))
(synopsis
"Full standard library replacement for OCaml")
(description
@@ -5499,6 +5500,28 @@ (define-public ocaml-base
@url{https://github.com/janestreet/stdio, ocaml-stdio}.")
(license license:expat)))
+(define-public ocaml5.0-base
+ ;; This version contains fixes for OCaml 5.0
+ ;; (see https://github.com/ocaml/opam-repository/pull/21851)
+ (let ((commit "423dbad212f55506767d758b1ceb2d6e0ee8e7f5")
+ (revision "0"))
+ (package-with-ocaml5.0
+ (package
+ (inherit ocaml-base)
+ (name "ocaml-base")
+ (version (git-version "0.15.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kit-ty-kate/base")
+ (commit commit)))
+ (file-name (git-file-name "ocaml5.0-base" version))
+ (sha256
+ (base32
+ "15vsiv3q53l1bzrvqgspf3lp2104s9dzw62z3nl75f53jvjvsyf6"))))
+ (properties '())))))
+
(define-public ocaml4.07-base
(package-with-ocaml4.07
(package
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 11/28] gnu: Update ocaml-ppxlib to 0.25.1.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-11-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-ppxlib): Update to 0.25.1.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 035a692d08..1c2a5c9e64 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5674,7 +5674,7 @@ (define-public ocaml-ppx-derivers
(define-public ocaml-ppxlib
(package
(name "ocaml-ppxlib")
- (version "0.25.0")
+ (version "0.25.1")
(home-page "https://github.com/ocaml-ppx/ppxlib")
(source
(origin
@@ -5685,7 +5685,7 @@ (define-public ocaml-ppxlib
(file-name (git-file-name name version))
(sha256
(base32
- "0wlqvyqy9ccp7z981blv42aqwq7zfq93cakbahjyy48hiiir6vp2"))))
+ "1402fzv5mg5grf3hb82fqsdkzxk07yfp9hvjh33dzjwjsqfhx3wi"))))
(build-system dune-build-system)
(arguments
`(#:phases
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 17/28] gnu: Add ocaml5.0-ctypes
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-17-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-ctypes): New variable.
---
gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index bcd88c8637..7fbaed69ad 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4797,6 +4797,7 @@ (define-public ocaml-ctypes
("integers" ,ocaml-integers)))
(inputs
(list libffi))
+ (properties `((ocaml5.0-variant . ,(delay ocaml5.0-ctypes))))
(synopsis "Library for binding to C libraries using pure OCaml")
(description "Ctypes is a library for binding to C libraries using pure
OCaml. The primary aim is to make writing C extensions as straightforward as
@@ -4807,6 +4808,33 @@ (define-public ocaml-ctypes
without writing or generating any C!")
(license license:expat)))
+(define-public ocaml5.0-ctypes
+ ;; Contains fix to support OCaml 5.0
+ ;; (https://github.com/ocamllabs/ocaml-ctypes/pull/709)
+ (let ((commit "52ff621f47dbc1ee5a90c30af0ae0474549946b4")
+ (revision "0"))
+ (package-with-ocaml5.0
+ (package
+ (inherit ocaml-ctypes)
+ (name "ocaml-ctypes")
+ (version (git-version "0.20.1" revision commit))
+ (home-page "https://github.com/ocamllabs/ocaml-ctypes")
+ (arguments
+ (append
+ ;; Some tests fail. Failure seems to be due to OCaml 5.0.
+ `(#:tests? #f)
+ (package-arguments ocaml-ctypes)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vyiryqchz0mdfhal7bdivqsk5yhvzzckrqv495rlpbdxzklcp7g"))))
+ (properties '())))))
+
(define-public ocaml-ocb-stubblr
(package
(name "ocaml-ocb-stubblr")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 18/28] gnu: Add ocaml-bechamel.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-18-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-bechamel): New variable.
---
gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7fbaed69ad..3bceb9c3d3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3607,6 +3607,30 @@ (define-public ocaml-benchmark
is used to determine whether the results truly differ.")
(license license:lgpl3+)))
+(define-public ocaml-bechamel
+ (package
+ (name "ocaml-bechamel")
+ (version "0.3.0")
+ (home-page "https://github.com/mirage/bechamel")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1x7sf45iy5dzx7kknbkkvpna42rcwpj5p55y0nqsg2fb4srj0b1q"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "bechamel"))
+ (propagated-inputs (list ocaml-fmt ocaml-stdlib-shims))
+ (synopsis "Yet Another Benchmark in OCaml")
+ (description
+ "BEnchmark for a CHAMEL/camel/caml which is agnostic to the system. It's a
+micro-benchmark tool for OCaml which lets the user to re-analyzes and prints
+samples.")
+ (license license:expat)))
+
(define-public ocaml-batteries
(package
(name "ocaml-batteries")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 12/28] gnu: Update ocaml-qcheck to 0.20.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-12-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-qcheck): Update to 0.20.
---
gnu/packages/ocaml.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (30 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 1c2a5c9e64..d3e0e0dbc3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1686,7 +1686,7 @@ (define-public ocaml4.07-frontc
(define-public ocaml-qcheck
(package
(name "ocaml-qcheck")
- (version "0.18.1")
+ (version "0.20")
(source
(origin
(method git-fetch)
@@ -1695,12 +1695,12 @@ (define-public ocaml-qcheck
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0g3r8lrw6fsdphgpnp08saxyxk1vd3chpmb564ir2qnsp716vz6z"))))
+ (base32 "1r0m5p1dd06lbgfxqdpl1ya4vb8252z7hqkvdi9k444g4rx2ay3p"))))
(build-system dune-build-system)
(arguments
`(#:test-target "."))
(propagated-inputs
- (list ocaml-alcotest ocaml-ounit))
+ (list ocaml-alcotest ocaml-ounit ocaml-ppxlib))
(native-inputs
(list ocamlbuild))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-qcheck))))
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 20/28] gnu: Add ocaml5.0-eio.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-20-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-eio): New variable.
---
gnu/packages/ocaml.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 148502f26f..02173421d9 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2793,6 +2793,42 @@ (define-public ocaml-hmap
to which allows to add and lookup bindings in a type safe manner. ")
(license license:isc)))
+(define ocaml-eio
+ (package
+ (name "ocaml-eio")
+ (version "0.7")
+ (home-page "https://github.com/ocaml-multicore/eio")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32
+ "118raxdwv6pn5b152ffdhmwdi0l4wlwflcj2nmckfmm7v1z2fq4s"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "eio"
+ #:test-target "."))
+ (propagated-inputs (list ocaml-bigstringaf
+ ocaml-cstruct
+ ocaml-lwt
+ ocaml-lwt-dllist
+ ocaml-logs
+ ocaml-optint
+ ocaml-psq
+ ocaml-fmt
+ ocaml-hmap
+ ocaml-mtime
+ ocaml-odoc))
+ (native-inputs (list ocaml-astring ocaml-crowbar ocaml-alcotest))
+ (synopsis "Effect-based direct-style IO API for OCaml")
+ (description "An effect-based IO API for multicore OCaml with fibers.")
+ (license license:isc)))
+
+(define-public ocaml5.0-eio
+ (package-with-ocaml5.0 ocaml-eio))
+
(define-public ocaml-lwt
(package
(name "ocaml-lwt")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 14/28] gnu: Update ocaml-odoc to 2.2.0.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-14-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-odoc): Update to 2.2.0.
---
gnu/packages/ocaml.scm | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 057c062879..5383972eb6 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7805,9 +7805,7 @@ (define-public ocaml4.07-bisect-ppx
(define-public ocaml-odoc
(package
(name "ocaml-odoc")
- ;; 2.2.0-alpha contains fixes for Dune 3.0 compatibility
- ;; (https://github.com/ocaml/odoc/commit/6ac97f3148f7791ec7451785ef4dbd9ca0daf2d1)
- (version "2.2.0-alpha")
+ (version "2.2.0")
(source
(origin
(method git-fetch)
@@ -7816,7 +7814,7 @@ (define-public ocaml-odoc
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "07zjkk455l51i29lcayzrc1q8j5bvbv97sscv8yhcj7x6h6q2nag"))))
+ (base32 "19mww1lyrdi705aw3lwql6xc7p11fcq5gprmhyxpb4x80gnvlzrh"))))
(build-system dune-build-system)
(arguments
`(#:tests? #f; not compatible with current version of ocaml-yojson
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 15/28] gnu: Add ocaml5.0-crowbar.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-15-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-crowbar): New variable.
---
gnu/packages/ocaml.scm | 9 +++++++++
1 file changed, 9 insertions(+)

Toggle diff (28 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5383972eb6..0998d6cd09 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8834,12 +8834,21 @@ (define-public ocaml-crowbar
ocaml-uunf
ocaml-uutf
ocaml-pprint))
+ (properties `((ocaml5.0-variant . ,(delay ocaml5.0-crowbar))))
(synopsis "Ocaml library for tests, let a fuzzer find failing cases")
(description "Crowbar is a library for testing code, combining
QuickCheck-style property-based testing and the magical bug-finding powers of
@uref{http://lcamtuf.coredump.cx/afl/, afl-fuzz}.")
(license license:expat)))
+(define-public ocaml5.0-crowbar
+ (package-with-ocaml5.0
+ (package
+ (inherit ocaml-crowbar)
+ ;; Tests require ocaml-calendar which does not work with OCaml 5.0
+ (arguments `(#:tests? #f))
+ (properties '()))))
+
(define-public ocaml-eqaf
(package
(name "ocaml-eqaf")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 16/28] gnu: Add ocaml-lwt-dllist.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-16-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-lwt-dllist): New variable.
---
gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0998d6cd09..bcd88c8637 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2823,6 +2823,27 @@ (define-public ocaml-lwt
locks or other synchronization primitives.")
(license license:lgpl2.1)))
+(define-public ocaml-lwt-dllist
+ (package
+ (name "ocaml-lwt-dllist")
+ (version "1.0.1")
+ (home-page "https://github.com/mirage/lwt-dllist")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "18bi8fb4yly1pyf43pjvvdhlyzb3wkgxifffx9d1g9y2mwsng6jw"))))
+ (build-system dune-build-system)
+ (native-inputs (list ocaml-lwt))
+ (synopsis "OCaml library providing mutable doubly-linked list with Lwt iterators")
+ (description "This OCaml library provides an implementation of a mutable
+doubly-linked list with Lwt iterators.")
+ (license license:expat)))
+
(define-public ocaml-luv
(package
(name "ocaml-luv")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 21/28] gnu: Add ocaml5.0-eio-luv.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-21-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-eio-luv): New variable.
---
gnu/packages/ocaml.scm | 13 +++++++++++++
1 file changed, 13 insertions(+)

Toggle diff (26 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 02173421d9..afad994d8d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2829,6 +2829,19 @@ (define ocaml-eio
(define-public ocaml5.0-eio
(package-with-ocaml5.0 ocaml-eio))
+(define ocaml-eio-luv
+ (package
+ (inherit ocaml-eio)
+ (name "ocaml-eio-luv")
+ (arguments `(#:package "eio_luv"
+ #:test-target "."))
+ (propagated-inputs (list ocaml-eio ocaml-luv))
+ (native-inputs
+ (list ocaml-mdx))))
+
+(define-public ocaml5.0-eio-luv
+ (package-with-ocaml5.0 ocaml-eio-luv))
+
(define-public ocaml-lwt
(package
(name "ocaml-lwt")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 22/28] gnu: Add ocaml-uring.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-22-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-uring): New variable.
---
gnu/packages/ocaml.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index afad994d8d..d413d54f63 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2842,6 +2842,37 @@ (define ocaml-eio-luv
(define-public ocaml5.0-eio-luv
(package-with-ocaml5.0 ocaml-eio-luv))
+(define-public ocaml-uring
+ (package
+ (name "ocaml-uring")
+ (version "0.4")
+ (home-page "https://github.com/ocaml-multicore/ocaml-uring")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32
+ "0k70y7nb2wrk2yql0pwnrhsp1x7k9ld4gd8iihbv6r34kcm3a5m1"))))
+ (build-system dune-build-system)
+ (arguments `(#:test-target "."))
+ (propagated-inputs
+ (list ocaml-cstruct
+ ocaml-fmt
+ ocaml-optint))
+ (native-inputs
+ (list ocaml-lwt
+ ocaml-bechamel
+ ocaml-logs
+ ocaml-cmdliner
+ ocaml-mdx))
+ (synopsis "OCaml bindings for Linux io_uring")
+ (description "OCaml bindings to the Linux io_uring kernel IO interfaces.")
+ (license
+ (list license:isc license:expat))))
+
(define-public ocaml-lwt
(package
(name "ocaml-lwt")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 23/28] gnu: Add ocaml5.0-eio-linux.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-23-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-eio-linux): New variable.
---
gnu/packages/ocaml.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d413d54f63..1dc1341555 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2873,6 +2873,25 @@ (define-public ocaml-uring
(license
(list license:isc license:expat))))
+(define ocaml-eio-linux
+ (package
+ (inherit ocaml-eio)
+ (name "ocaml-eio-linux")
+ (arguments `(#:package "eio_linux"
+ #:test-target "."))
+ (propagated-inputs
+ (list ocaml-eio
+ ocaml-uring
+ ocaml-logs
+ ocaml-fmt))
+ (native-inputs
+ (list ocaml-mdx
+ ocaml-alcotest
+ ocaml-mdx))))
+
+(define-public ocaml5.0-eio-linux
+ (package-with-ocaml5.0 ocaml-eio-linux))
+
(define-public ocaml-lwt
(package
(name "ocaml-lwt")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 19/28] gnu: ocaml-mdx: Move inputs to propagated-inputs.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-19-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-mdx): Move inputs to propagated-inputs.
---
gnu/packages/ocaml.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3bceb9c3d3..148502f26f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8139,7 +8139,7 @@ (define-public ocaml-mdx
(("`") "'")
(("COMMAND") "[COMMAND]")
(("\\.\\.\\.") "…")))))))
- (inputs
+ (propagated-inputs
(list ocaml-fmt
ocaml-astring
ocaml-logs
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 25/28] gnu: Update ocaml-merlin-lib to 4.7-414.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-25-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-merlin-lib): Update to 4.7-414.
---
gnu/packages/ocaml.scm | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8ad56336dd..f9dc9998c1 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5355,7 +5355,7 @@ (define-public ocaml-yojson
(define-public ocaml-merlin-lib
(package
(name "ocaml-merlin-lib")
- (version "4.6-414")
+ (version "4.7-414")
(source
(origin
(method git-fetch)
@@ -5365,7 +5365,7 @@ (define-public ocaml-merlin-lib
(file-name (git-file-name name version))
(sha256
(base32
- "1cpa9x45w54l4mqqmc8z3s5gscggw37gb6z9i7wwss86fj1wgclh"))))
+ "1bd4j2zq0lyszbkibgky1z9swv4scb7ljww3fv1kqy0cya743b5l"))))
(build-system dune-build-system)
(arguments '(#:package "merlin-lib"
#:tests? #f)) ; no tests
@@ -5402,7 +5402,9 @@ (define-public ocaml-merlin
(propagated-inputs (list ocaml-merlin-lib ocaml-yojson))
(native-inputs
(list ocaml-dot-merlin-reader ; required for tests
- ocaml-mdx jq))
+ ocaml-ppxlib
+ ocaml-mdx
+ jq))
(synopsis "Context sensitive completion for OCaml in Vim and Emacs")
(description "Merlin is an editor service that provides modern IDE
features for OCaml. Emacs and Vim support is provided out-of-the-box.
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 26/28] gnu: Add ocaml5.0-merlin-lib.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-26-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-merlin-lib): New variable.
---
gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f9dc9998c1..1b3e51001f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5370,12 +5370,34 @@ (define-public ocaml-merlin-lib
(arguments '(#:package "merlin-lib"
#:tests? #f)) ; no tests
(propagated-inputs (list ocaml-csexp ocaml-menhir))
+ (properties `((ocaml5.0-variant . ,(delay ocaml5.0-merlin-lib))))
(home-page "https://ocaml.github.io/merlin/")
(synopsis "Merlin libraries")
(description "These libraries provides access to low-level compiler
interfaces and the standard higher-level merlin protocol.")
(license license:expat)))
+;; the 500 indicates that this version is for OCaml 5.0
+(define ocaml-merlin-lib-500
+ (package
+ (inherit ocaml-merlin-lib)
+ (name "ocaml-merlin-lib")
+ (version "4.7.1-500")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/merlin")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05a87i2dkzv800nwb6y7b2j45avg8gs3gzb5a98wrj1i5zjqwh01"))))
+ (properties '())))
+
+(define-public ocaml5.0-merlin-lib
+ (package-with-ocaml5.0 ocaml-merlin-lib-500))
+
(define-public ocaml-dot-merlin-reader
(package
(inherit ocaml-merlin-lib)
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 27/28] gnu: Add ocaml5.0-dot-merlin-reader.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-27-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-dot-merlin-reader): New variable.
---
gnu/packages/ocaml.scm | 13 +++++++++++++
1 file changed, 13 insertions(+)

Toggle diff (30 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 1b3e51001f..dc824626fd 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5405,10 +5405,23 @@ (define-public ocaml-dot-merlin-reader
(arguments '(#:package "dot-merlin-reader"
#:tests? #f)) ; no tests
(propagated-inputs (list ocaml-merlin-lib))
+ (properties `((ocaml5.0-variant . ,(delay ocaml5.0-dot-merlin-reader))))
(synopsis "Reads config files for @code{ocaml-merlin}")
(description "@code{ocaml-dot-merlin-reader} is an external reader for
@code{ocaml-merlin} configurations.")))
+(define-public ocaml5.0-dot-merlin-reader
+ (package-with-ocaml5.0
+ (package
+ (inherit ocaml-merlin-lib-500)
+ (name "ocaml-dot-merlin-reader")
+ (arguments '(#:package "dot-merlin-reader"
+ #:tests? #f)) ; no tests
+ (propagated-inputs (list ocaml5.0-merlin-lib))
+ (synopsis "Reads config files for @code{ocaml-merlin}")
+ (description "@code{ocaml-dot-merlin-reader} is an external reader for
+@code{ocaml-merlin} configurations."))))
+
(define-public ocaml-merlin
(package
(inherit ocaml-dot-merlin-reader)
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 28/28] gnu: Add ocaml5.0-merlin.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-28-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-merlin): New variable.
---
gnu/packages/ocaml.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index dc824626fd..1e4fb46645 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5435,6 +5435,7 @@ (define-public ocaml-merlin
(when tests?
(invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader")))))))
(propagated-inputs (list ocaml-merlin-lib ocaml-yojson))
+ (properties `((ocaml5.0-variant . ,(delay ocaml5.0-merlin))))
(native-inputs
(list ocaml-dot-merlin-reader ; required for tests
ocaml-ppxlib
@@ -5447,6 +5448,32 @@ (define-public ocaml-merlin
Atom.")
(license license:expat)))
+(define-public ocaml5.0-merlin
+ (package-with-ocaml5.0
+ (package
+ (inherit ocaml-merlin-lib-500)
+ (name "ocaml-merlin")
+ (arguments
+ '(#:package "merlin"
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader")))))))
+ (propagated-inputs (list ocaml-merlin-lib ocaml-yojson))
+ (native-inputs
+ (list ocaml-dot-merlin-reader ; required for tests
+ ocaml-ppxlib
+ ocaml-mdx
+ jq))
+ (synopsis "Context sensitive completion for OCaml in Vim and Emacs")
+ (description "Merlin is an editor service that provides modern IDE
+features for OCaml. Emacs and Vim support is provided out-of-the-box.
+External contributors added support for Visual Studio Code, Sublime Text and
+Atom.")
+ (license license:expat))))
+
(define-public ocaml-gsl
(package
(name "ocaml-gsl")
--
2.38.1
P
P
pukkamustard wrote on 16 Dec 2022 14:25
[PATCH 24/28] gnu: Add ocaml5.0-eio-main.
(address . 60120@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20221216132527.2539-24-pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml5.0-eio-main): New variable.
---
gnu/packages/ocaml.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 1dc1341555..8ad56336dd 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2892,6 +2892,24 @@ (define ocaml-eio-linux
(define-public ocaml5.0-eio-linux
(package-with-ocaml5.0 ocaml-eio-linux))
+(define ocaml-eio-main
+ (package
+ (inherit ocaml-eio)
+ (name "ocaml-eio-main")
+ (arguments `(#:package "eio_main"
+ #:test-target "."
+ ;; tests require network
+ #:tests? #f))
+ (propagated-inputs
+ (list ocaml-eio
+ ocaml-eio-luv
+ ocaml-eio-linux))
+ (native-inputs
+ (list ocaml-mdx))))
+
+(define-public ocaml5.0-eio-main
+ (package-with-ocaml5.0 ocaml-eio-main))
+
(define-public ocaml-lwt
(package
(name "ocaml-lwt")
--
2.38.1
J
J
Julien Lepiller wrote on 21 Dec 2022 22:11
Re: [bug#60120] [PATCH 01/28] gnu: Add ocaml-5.0.
(name . pukkamustard)(address . pukkamustard@posteo.net)(address . 60120-done@debbugs.gnu.org)
20221221221153.7915a496@sybil.lepiller.eu
Hi!

Thanks for the patch series. Pushed to master with the following fixes:

[01/28]
Toggle quote (6 lines)
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/ocaml/ocaml")
> + (commit version)))

is missing a file-name field (guix lint complains about it), like this:
(file-name (git-file-name name version))

[04/28]
Toggle quote (1 lines)
> +(define-public ocaml5.0-result
but this was not added to the properties of ocaml-result.

[06/28]
0.2.1 is the latest version.

[07/28]
Toggle quote (2 lines)
I think this might not be a stable archive, and guix lint complains
about the name, so I used git-fetch instead.

[08/28]
0.3.0 is the latest version.

[09/28]
There was a space at the end of description, and it contained typos.
You should use https instead of http when available. There was a tab in
the patch.

[20/28]
Description does not match our usual style. It seems you didn't define
ocaml-eio as public, because it fails to build. Would be great to fix,
wdyt?

[21/28]
Missing synopsis and description.

[22/28]
Description does not match our usual style.

[23/28]
Missing synopsis and description.

[24/28]
Missing synopsis and description.
Closed
P
P
pukkamustard wrote on 22 Dec 2022 08:08
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 60120-done@debbugs.gnu.org)
86fsd7dhvk.fsf@posteo.net
Hi Julien,

Thanks for your review! I'm very sorry for the sloppiness. I guess these
patches were collecting in a WIP status for months and I hurriedly fixed
them up in OCaml 5 excitement.

Julien Lepiller <julien@lepiller.eu> writes:

Toggle quote (5 lines)
> [20/28]
> Description does not match our usual style. It seems you didn't define
> ocaml-eio as public, because it fails to build. Would be great to fix,
> wdyt?

ocaml-eio is an OCaml 5 only package. It won't compile with OCaml
4.14. That's the reason for not making ocaml-eio public. I guess a
comment shold have been added.

Thanks again!

-pukkamustard
Closed
?