Hidden package — Could not load — how to :set

Now I’m confused. Those instructions seem to use cabal install --lib which you say should not be recommended and is horrendously flaky?

Correct. However, they are the instructions of the person that wrote the program in question, so I think they’re worth trying. Furthermore, use of --package-env is likely to make --lib less flaky. A “proper” solution is significantly more complicated[1] and involves writing a .cabal file.

[1] i.e. it would take me 5 minutes rather than 5 seconds to write down

I think to be maximally helpful we’re going to need a lot more background information, for example, where is the original source for these programs, what is their purpose, what sort of system are you running them on?

I think ideally I would suggest writing .cabal files for each of them. That way they will be maximally reproducible, but without seeing all the sources themselves I can’t see what exactly would be needed in the .cabal file.

In those results the only result that matches literally is the one from text-builder.

I now also found out that you can hoogle for +Text.Builder to only show module results. Then it is much more obvious; there are only 7 results and text-builder is the 3rd one.

original source for these programs

all Haskell GHC programs lists links to the source code.

and text-builder is the 3rd one

Yeah I’d probably have seen that, but I wouldn’t have thought to precede the search string by +

I suppose for other reasons those 7 partial match results are listed rather than the just the one result. Enough. I don’t need to know. Thanks.

Thanks. It seems these are individual source files. The normal way of creating a binary in Haskell would be to add a .cabal file that contains detail of its dependencies and how it should be built. Would that be acceptable for your purpose, or are there constraints that the binaries should be built only from a single source file?

For the very limited purpose of the benchmarks game this seems unnecessary, just more stuff to maintain and copy into the build folder. Thanks.

OK, in that case I think that following @jaror’s suggestions and crossing your fingers is the best we can do.