dhall-lang / dhall-haskell

Maintainable configuration files
https://dhall-lang.org/
BSD 3-Clause "New" or "Revised" License
913 stars 213 forks source link

Some question about submodule `dhall/dhall-lang` #2444

Open SnO2WMaN opened 2 years ago

SnO2WMaN commented 2 years ago

I'm not familiar with Haskell or Haskell's projects, so I don't know the details.

  1. What exactly purpose of git submodule dhall/dhall-lang, this project depends on?
  2. Is it possible or planned to make it build without this submodule? (Currently it's not possible)

Current version of lsp server have problem for VSCode (fixed but unreleased, related to https://github.com/dhall-lang/vscode-dhall-lsp-server/issues/37 ), so I want to use/install the latest lsp server with Nix, but this project depends on the submodule, so it can't built with Nix (probably the normal way). Probably this problem makes Nix Flake #2289 a bit of harder.

Gabriella439 commented 2 years ago

The submodule is only used for the dhall package's, so if you prefer not to use the submodule you can disable the dhall test suite

However, I believe it should be possible for Nix to fetch a git repository with submodules. For example, the dhall-lang repository has a Nix build that depends on this repository and the submodule is fetched by the Nix build

SnO2WMaN commented 2 years ago

I'll check later, thanks fast respnse.

SiriusStarr commented 2 years ago

You can fetch submodules via a flake input like this:

    dhall = {
      url = https://github.com/dhall-lang/dhall-haskell;
      flake = false;
      type = "git";
      submodules = true; # So dhall-lang gets checked out
    };

Or just normally with fetchGit or whatnot with fetchSubmodules = true.