agraef / pure-lang

Pure programming language
https://agraef.github.io/pure-lang/
314 stars 20 forks source link

Suggestion: distribute fully-dockerized builds #27

Open rebcabin opened 5 years ago

rebcabin commented 5 years ago

I gave a couple of hours to trying to build (failed due to syntax error in configure after autoconf configure.ac), then trying to install (failed due to 'broken packages held; see issue #26). I had to give up, as either of these ways to get pure-lang are now blocked for me. I was motivated by looking for a free alternative to Mathematica, but only had a couple of hours to try to get it going.

It occurred to me that others may experience the same problems, and that a solution would be a fully self-contained docker container that can run on any operating system. It might also be less work for you because you'll only have to support one build!

mardukbp commented 5 years ago

Currently, the best cross-platform solution I know of to get Pure is the Nix package manager. After installing Nix just do nix-env -i pure. Since you, like me, are interested in using Pure for symbolic manipulation of mathematical expressions, I recommend you also install TeXmacs, nix-env -i TeXmacs.

EDIT: I just remembered that Pure comes with an example file that shows how to pretty-print Pure expressions in TeXmacs.

nilqed commented 5 years ago

Here is a docker image (pure_complete_ppa), giving evidence (BTW) that the problem is solved ;-)

https://hub.docker.com/r/nilqed/pure_complete_ppa/

agraef commented 4 years ago

Nice. :) Is there a tool that automatizes this, or do you need to create the Docker image manually? How? (Yeah, I don't know much about Docker, I'm afraid.)

I've also been thinking about snaps and friends, but that looks like that there are quite some hoops to jump through to get those, especially if there are libraries that need to be exposed to other applications (like the pd-pure plugin).

If anyone can give a helping hand with any of these solutions, or maybe write a wiki page on it, please get in touch.