Skip to content

Package mlgpx.1.0.0 #28338

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Aug 14, 2025
Merged

Package mlgpx.1.0.0 #28338

merged 4 commits into from
Aug 14, 2025

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