IIUC, you're looking to define a `stack.yaml` file which will set up all of
the packages and settings, and then have a script you run to tell Stack to
build the appropriate packages. That sounds fine; I think the pieces you're
missing are:

* In order to say "I have no local packages," include the line `packages:
[]` in your `stack.yaml`
* You can use the `flags` section in your `stack.yaml` to override default
cabal flags, see
https://docs.haskellstack.org/en/stable/yaml_configuration/#flags

On Mon, Feb 12, 2018 at 6:14 AM, Brent Yorgey <byor...@gmail.com> wrote:

> Hi all,
>
> I have a specific goal and I'm hoping you can help me figure out the best
> way to accomplish it using stack (or perhaps even using other tools if they
> make more sense).  I am working on a LaTeX document which contains embedded
> Haskell code for generating diagrams (https://github.com/byorgey/
> series-formelles).  When the LaTeX file is compiled, a certain executable
> (diagrams-builder-pgf) needs to be present, which in turn uses the GHC API
> to compile and run the code embedded in the LaTeX document. In order for
> this to work, various libraries (diagrams-lib, diagrams-pgf, palette,
> etc...) need to be present in the GHC package database; I also need a
> specific version of GHC.  Getting this environment set up properly, with
> compatible versions of everything, can be a pain; I would like to create a
> script that others can run in order to reproducibly get a proper
> environment set up to be able to build the LaTeX document.
>
> Stack seems like the obvious choice but I have run into a few difficulties
> trying to get it set up: first of all, as you can tell from my description
> above, I do not actually have a Haskell package.  There is no Haskell
> library or executable I am trying to build. But as far as I can tell, a
> stack project is supposed to contain one or more Haskell packages.  I could
> try to make a "fake" Haskell package whose dependencies describe the things
> I want to end up being present in the package DB but I am not sure of the
> best way to do this, and it seems rather kludgy.  Really what I want is
> just a sandbox, but I can't really use a cabal sandbox because as far as I
> know that will just use whatever GHC version someone has installed, and I
> need a particular GHC version.  Secondly, in order to install the
> diagrams-builder-pgf executable, I need to pass a certain flag to the
> diagrams-builder package when it is built, but I'm not clear on exactly how
> to do this using stack.
>
> So, what do you think?  Is there a good way to do this with stack?  Or
> should I look at some other way to get this set up?  Thanks in advance for
> any ideas or advice.  I'm happy to answer questions or provide further
> information.
>
> -Brent
>
> --
> You received this message because you are subscribed to the Google Groups
> "haskell-stack" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to haskell-stack+unsubscr...@googlegroups.com.
> To post to this group, send email to haskell-stack@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/haskell-stack/559b2f4d-bfa4-4b4e-9750-32de4d9a4a7c%
> 40googlegroups.com
> <https://groups.google.com/d/msgid/haskell-stack/559b2f4d-bfa4-4b4e-9750-32de4d9a4a7c%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"haskell-stack" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to haskell-stack+unsubscr...@googlegroups.com.
To post to this group, send email to haskell-stack@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/haskell-stack/CAKA2Jg%2BGYmOyERo%3Dq_FqH7r_AzbfB7nMwt10xLt_e1a7kWdE6g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to