Skip to content

Installing executables (was: yesod-bin as "extra build tool") #153

@chreekat

Description

@chreekat

Is yesod-bin an "extra build tool"?

From the FAQ:

How do I get extra build tools?

stack will automatically install build tools required by your packages [emphasis mine] or their dependencies, in particular alex and happy.

yesod-bin is not technically required, as anyone can use Yesod libraries without bothering with yesod-bin. However, I want it to be available to my project's contributors with a minimum of fuss. Should stack solve this problem for me?

Self-answer: Yes. I can add yesod-bin as an extra-dep, and then 'stack exec yesod' works. Still, the difference between yesod-bin and e.g. happy are a bit magical to me. Do you just have a list of packages known to need a particular tool? What distinguishes them from tool XYZ, needed to build XYZmabob? Will I still need another build tool on top of stack to solve the general problem? Why don't I have to add 'happy' as an extra-dep?

The following issue seems sufficiently related:

yesod-bin as extra-dep

After I add yesod-bin to extra-deps and rebuild, the following occurs:

$ stack exec yesod devel
Yesod devel server. Press ENTER to quit
Application can be accessed at:

http://127.0.0.1:3000
https://127.0.0.1:3443
If you wish to test https capabilities, you should set the following variable:
  export APPROOT=https://127.0.0.1:3443

WARNING: the following source files are not listed in exposed-modules or other-modules:
./Handler/About.hs
./SnowdriftEmailDaemon.hs
./SnowdriftSendmail.hs
yesod: cabal: createProcess: runInteractiveProcess: exec: does not exist (No such file or directory)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions