Coder Social home page Coder Social logo

mlpost's People

Contributors

backtracking avatar bobot avatar conchon avatar damiendoligez avatar pascutto avatar zapashcanon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mlpost's Issues

integrate Debian patches to make documentation build again

While working on OCaml bug MPR#7037 I tried to compile mlpost's documentation make doc, and this fails and seems to have been broken for a long time. On the contrary, the Debian package for mlpost provides several patches, developed over time by the Debian maintainers, to fix various things in the mlpost-0.8.1 sources.

https://sources.debian.net/src/mlpost/0.8.1-6/debian/patches/

I don't know which of them are still relevant to upstream mlpost, but I think that at least 0006-Fix-for-ocamldoc-4.patch, which makes mlpost's documentation buildable again, could be integrated.

Non-default Pen

The concrete backend is not able to stroke path with something else than the default pen. In order to compute the bounding box in a more precise way and to be able to support them in the .mps or cairo backend, I think that concrete need a function that take one path (closed or not), a pen (a closed path) and compute a closed path which represents the pen along the path.

But I have no idea how to to that. Related work?

Use ocamlformat?

ocamlformat is quite nice for ensuring in such projects that the style is coherent. But for it to work it should be tested in the continuous integration (that we don't yet have in mlpost, but adding github actions is quite easy). However it also means that make fmt should be run in each MR, which is often overlooked.

`-ccopt` seems ignored

The -ccopt options seem ignored in practice, and looking at the code, they are collected in the ccopt reference in tools/tool.ml, but used nowhere.

cairo 1.2.0 problem

Using ocaml 4.06.1, cairo 1.2.0 no longer compiles. Opam outputs the following error:

### stderr ###
# File "cairo_png.ml", line 16, characters 1-18:
# Warning 3: deprecated: String.unsafe_set
# File "cairo_png.ml", line 16, characters 19-20:
# Error: This expression has type string but an expression was expected of type
#          bytes

The dependency of mlpost to cairo 1.2.0 makes it difficult/impossible to install with opam with ocaml 4.06.1. Maybe it would be worth for mlpost to move to cairo2. Or maybe there is a work around to install cairo 1.2.0 with opam.

Linking problem with the opam `mlpost` package

I have just installed mlpost using opam (ocaml version: 4.04.2) and attempted to compile the following trivial program using ocamlbuild:

open Mlpost
open Command
open Box

let fig = draw (rect (tex "F"))

let () = 
    Metapost.emit "fig" fig ;
    Metapost.dump ~pdf:true "tmp"

I got the following linking error:

ocamlbuild -use-ocamlfind main.native
+ ocamlfind ocamlopt -linkpkg -package mlpost main.cmx -o main.native
Undefined symbols for architecture x86_64:
  "_ml_FT_Get_Char_Index", referenced from:
      _camlMlpost__Fonts__fun_2589 in mlpost.a(mlpost.o)
      _camlMlpost__Fonts__fun_2583 in mlpost.a(mlpost.o)
      _camlMlpost__Mlpost_ft__3 in mlpost.a(mlpost.o)
  "_ml_FT_Get_Name_Index", referenced from:
      _camlMlpost__Fonts__compute_trans_enc_1967 in mlpost.a(mlpost.o)
      _camlMlpost__Mlpost_ft__3 in mlpost.a(mlpost.o)
  "_ml_FT_num_charmaps", referenced from:
      _camlMlpost__Mlpost_ft__ft_set_charmap_1220 in mlpost.a(mlpost.o)
      _camlMlpost__Mlpost_ft__3 in mlpost.a(mlpost.o)
  "_ml_FT_set_charmap", referenced from:
      _camlMlpost__Mlpost_ft__ft_set_charmap_1220 in mlpost.a(mlpost.o)
      _camlMlpost__Mlpost_ft__3 in mlpost.a(mlpost.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
File "caml_startup", line 1:
Error: Error during linking
Command exited with code 2.

Besides, if I run the mlpost command line program on my source file, I get this other linking error:

File "main.ml", line 1:
Error: Error on dynamically loaded library: /Users/jlauren1/.opam/latest/lib/stublibs/dllmlpost_ft.so: dlopen(/Users/jlauren1/.opam/late
st/lib/stublibs/dllmlpost_ft.so, 138): Symbol not found: _caml_curry2
  Referenced from: /Users/jlauren1/.opam/latest/lib/stublibs/dllmlpost_ft.so
  Expected in: flat namespace
 in /Users/jlauren1/.opam/latest/lib/stublibs/dllmlpost_ft.so

I am a Mac user if this helps.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.