haskell-flake icon indicating copy to clipboard operation
haskell-flake copied to clipboard

`cabal.project` parse error due to leading comment

Open peterbecich opened this issue 2 years ago • 4 comments

May be slightly different error than https://github.com/srid/haskell-flake/issues/186

I believe the leading comment

-- This project config requires cabal 2.4 or later

-- If in doubt, use GHC 8.8 to build hackage-server; see
-- 'tested-with' in 'hackage-server.cabal' for a list of currently
-- CI-validated GHC versions
--
-- with-compiler: ghc-8.8

packages: .

causes an error, in addition to the error on the packages line.

Fails with error: https://github.com/peterbecich/hackage-server/blob/cabal-project-parsing-error/cabal.project branch: https://github.com/peterbecich/hackage-server/tree/cabal-project-parsing-error

Succeeds: https://github.com/haskell/hackage-server/blob/06f831ef7a701967f22128087b3817cdff185cbc/cabal.project branch: https://github.com/peterbecich/hackage-server/tree/update-flake PR: https://github.com/haskell/hackage-server/pull/1244

Thanks again

peterbecich avatar Aug 21 '23 03:08 peterbecich

The parser is indeed very primitive accepting only limited possible syntax.

This would be a good-first-contribution to haskell-flake: https://github.com/srid/haskell-flake/tree/master/nix/haskell-parsers

We use https://github.com/kanwren/nix-parsec under the hood.

srid avatar Aug 24 '23 13:08 srid

The parser is indeed very primitive accepting only limited possible syntax.

This would be a good-first-contribution to haskell-flake: https://github.com/srid/haskell-flake/tree/master/nix/haskell-parsers

My ideal is using haskell-flake and this parser being very complete, eventually I'd like to contribute to that.

I don't even have all of my work codebases using Nix yet though, so it's a bit of a blocker.

Just now realizing actually I can probably get work codebase working using your advice on specifying manually here.

Then for my other node codebase requiring process ordering similar to docker compose I remember you mentioned:

https://zero-to-flakes.com/process-compose-flake/

~~Do you also have something for dotenv support that you use similar to: https://github.com/cachix/devenv/blob/main/src/modules/integrations/dotenv.nix~~ (moved question to https://github.com/juspay/zero-to-flakes/discussions/14)

For pragmatism I decided for now to use devenv and got stuck on how to use process-compose there:

https://github.com/cachix/devenv/issues/782

I'm now realizing though since I'm the only user I could just as easily use haskell-flake and perhaps any similar project for node if it exists rather than devenv.

Sorry for the off topic, just wanted to express my interest and give you a picture of roadblocks for someone who wants to contribute :smile:

ParetoOptimalDev avatar Aug 29 '23 14:08 ParetoOptimalDev

@ParetoOptimalDev Could you move the dotenv part of your comment to Discussions? I'll comment there.

EDIT: Or you can post in https://github.com/juspay/zero-to-flakes/discussions

srid avatar Aug 29 '23 14:08 srid

Then for my other node codebase requiring process ordering similar to docker compose I remember you mentioned:

https://zero-to-flakes.com/process-compose-flake/

https://github.com/juspay/services-flake aims to replace docker-compose and devenv services.

srid avatar Aug 29 '23 14:08 srid