Re: [isabelle] Isabelle's environment and external executables



> So, to check that Iâve understood correctly:
> - Both my executables are in "$HOME/Library/Haskell/bin/â
> - $ISABELLE_USER/etc/components I add one line with the path to where the executables are.
> 
> - I then have to create a file etc/settings *also* in "$HOME/Library/Haskell/bin/â
> - In this file I include the line
> $HOME/Library/Haskell/bin/="$COMPONENTâ

Almost. The line literally has to say:

  HIPSPEC_HOME="$COMPONENT"

> Itâs a little bit complicated, yes. Iâd like to avoid too much set up burden for the user of my tool if possible.

How do you plan to distribute your tool? Maybe you could publish a
tarball with the binaries or build instructions; then all you'd have to
do would be to tell your users to

1) unpack it somewhere
2) add "/path/to/unpacked/tarball" to $ISABELLE_HOME_USER/etc/components

You can bundle the "etc/settings" into the tarball, as there's nothing
installation-specific in there.

But to be fair if you want to put your tools alongside other
non-Isabelle-specific Haskell executables somewhere under "~/bin", it's
not the best idea to register that path as a component. (Locally it's
fine if you know what you're doing, but I wouldn't impose that on users.)

> I wonder if the best option for me is to just create one new environment variable in $ISABELLE_USER/etc/settings
> (e.g. HIPSPEC_HOME=$HOME/Library/Haskell/bin/)
> and then let my code refer to this path, instead of just the names of the executables, e.g. ./$HIPSPEC_HOME/hipster-hipspec.

You could also do that. That's basically the way it works for some other
executables, e.g. ISABELLE_GHC or ISABELLE_OCAML.

> It would make the installation of my tool easier.

I'd say it's about the same complexity for installation.

Cheers
Lars




This archive was generated by a fusion of Pipermail (Mailman edition) and MHonArc.