Skip to content

Conversation

@avsm
Copy link
Member

@avsm avsm commented Aug 13, 2025

mlgpx.1.0.0

Library and CLI for parsing and generating GPS Exchange (GPX) formats
mlgpx is a streaming GPX (GPS Exchange Format) library for OCaml. It provides a portable core library using the xmlm streaming XML parser, with a separate Unix layer for file I/O operations. The library supports the complete GPX 1.1 specification including waypoints, routes, tracks, and metadata with strong type safety and validation.



🐫 Pull-request generated by opam-publish v2.5.1

@avsm
Copy link
Member Author

avsm commented Aug 13, 2025

First tangled.sh opam package I think, @mseri! I've filed an issue to allow direct downloads from there in the future; https://tangled.sh/@tangled.sh/core/issues/174

@dinosaure
Copy link
Contributor

It seems that the project does not compile on OCaml 5.0 due to eio.0.12.0:

#=== ERROR while compiling mlgpx.1.0.0 ========================================#
# context              2.3.0 | linux/x86_64 | ocaml-base-compiler.5.0.0 | pinned(https://www.cl.cam.ac.uk/~avsm2/distrib/mlgpx-1.0.0.tbz)
# path                 ~/.opam/5.0/.opam-switch/build/mlgpx.1.0.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p mlgpx -j 255 @install
# exit-code            1
# env-file             ~/.opam/log/mlgpx-7-830d5a.env
# output-file          ~/.opam/log/mlgpx-7-830d5a.out
### output ###
# (cd _build/default && /home/opam/.opam/5.0/bin/ocamlc.opt -w -40 -g -bin-annot -I lib/gpx_eio/.gpx_eio.objs/byte -I /home/opam/.opam/5.0/lib/bigstringaf -I /home/opam/.opam/5.0/lib/cstruct -I /home/opam/.opam/5.0/lib/domain-local-await -I /home/opam/.opam/5.0/lib/eio -I /home/opam/.opam/5.0/lib/eio/core -I /home/opam/.opam/5.0/lib/fmt -I /home/opam/.opam/5.0/lib/hmap -I /home/opam/.opam/5.0/lib/lwt-dllist -I /home/opam/.opam/5.0/lib/mtime -I /home/opam/.opam/5.0/lib/optint -I /home/opam/.opam/5.0/lib/ptime -I /home/opam/.opam/5.0/lib/thread-table -I /home/opam/.opam/5.0/lib/xmlm -I lib/gpx/.gpx.objs/byte -intf-suffix .ml -no-alias-deps -open Gpx_eio__ -o lib/gpx_eio/.gpx_eio.objs/byte/gpx_eio__Gpx_io.cmo -c -impl lib/gpx_eio/gpx_io.ml)
# File "lib/gpx_eio/gpx_io.ml", line 19, characters 16-33:
# 19 |   let content = Eio.Flow.read_all source in
#                      ^^^^^^^^^^^^^^^^^
# Error: Unbound value Eio.Flow.read_all
# (cd _build/default && /home/opam/.opam/5.0/bin/ocamlopt.opt -w -40 -g -I lib/gpx_eio/.gpx_eio.objs/byte -I lib/gpx_eio/.gpx_eio.objs/native -I /home/opam/.opam/5.0/lib/bigstringaf -I /home/opam/.opam/5.0/lib/cstruct -I /home/opam/.opam/5.0/lib/domain-local-await -I /home/opam/.opam/5.0/lib/eio -I /home/opam/.opam/5.0/lib/eio/core -I /home/opam/.opam/5.0/lib/fmt -I /home/opam/.opam/5.0/lib/hmap -I /home/opam/.opam/5.0/lib/lwt-dllist -I /home/opam/.opam/5.0/lib/mtime -I /home/opam/.opam/5.0/lib/optint -I /home/opam/.opam/5.0/lib/ptime -I /home/opam/.opam/5.0/lib/thread-table -I /home/opam/.opam/5.0/lib/xmlm -I lib/gpx/.gpx.objs/byte -I lib/gpx/.gpx.objs/native -intf-suffix .ml -no-alias-deps -open Gpx_eio__ -o lib/gpx_eio/.gpx_eio.objs/native/gpx_eio__Gpx_io.cmx -c -impl lib/gpx_eio/gpx_io.ml)
# File "lib/gpx_eio/gpx_io.ml", line 19, characters 16-33:
# 19 |   let content = Eio.Flow.read_all source in
#                      ^^^^^^^^^^^^^^^^^
# Error: Unbound value Eio.Flow.read_all

Also, it seems that the package requires, at least, eio.1.0.0.

@dinosaure
Copy link
Contributor

Also, the dev-repo field is missing on your opam file, can you add it?

@avsm
Copy link
Member Author

avsm commented Aug 14, 2025

fixes all synced with upstream, thanks @dinosaure!

@hannesm
Copy link
Member

hannesm commented Aug 14, 2025

you're missing the link to the source tarball in the opam file

@avsm
Copy link
Member Author

avsm commented Aug 14, 2025

Woops thanks @hannesm, now pushed

@dinosaure
Copy link
Contributor

Thanks!

@dinosaure dinosaure merged commit d6bf52b into ocaml:master Aug 14, 2025
2 of 3 checks passed
@avsm avsm deleted the opam-publish-mlgpx.1.0.0 branch August 14, 2025 20:14
avsm added a commit to avsm/dune that referenced this pull request Aug 17, 2025
First OCaml package using this service is up in opam-repo at:
ocaml/opam-repository#28338

Signed-off-by: Anil Madhavapeddy <[email protected]>
avsm added a commit to avsm/dune that referenced this pull request Aug 17, 2025
First OCaml package using this service is up in opam-repo at:
ocaml/opam-repository#28338

Signed-off-by: Anil Madhavapeddy <[email protected]>
rgrinberg pushed a commit to avsm/dune that referenced this pull request Aug 17, 2025
First OCaml package using this service is up in opam-repo at:
ocaml/opam-repository#28338

Signed-off-by: Anil Madhavapeddy <[email protected]>
rgrinberg pushed a commit to ocaml/dune that referenced this pull request Aug 17, 2025
First OCaml package using this service is up in opam-repo at:
ocaml/opam-repository#28338

Signed-off-by: Anil Madhavapeddy <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants