Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow to build with cabal #2027

Merged
merged 8 commits into from
Sep 30, 2020

Commits on Sep 25, 2020

  1. Allow to build with cabal

    The process to create these files is as follows:
    
    1. Run stack2cabal
    2. Disable tests and benchmarks of local packages
       (those specified via source-repository-package...
       this won't be needed with cabal-3.4 anymore, because it won't treat
       them as local anymore)
    3. Hackage packages in `packages` in `cardano-1.19.x.yaml` or `extra-deps`
       in `stack.yaml`, which are specified as git repositories might
       have different versions than the stack resolver. `stack2cabal`
       cannot pick these up, so these must be adjusted manually (or deleted) in
       `cabal.project.freeze` (at the time of writing: http-client and persistent).
    
    Rationale:
    
    1. good to support all available tools as options for interested users
    2. cabal allows easier managing of package bounds (and testing against
       latest package versions and different GHCs, because it is not
       constrained to stackage)
    3. doesn't require nix, which is an additional step to set up and
       maintain and requires significant amount of disk space
    Julian Ospald committed Sep 25, 2020
    Configuration menu
    Copy the full SHA
    0b2888b View commit details
    Browse the repository at this point in the history
  2. Fix build for cabal users that don't have systemd

    This is mainly due to a cabal bug and should be removed in
    the future: haskell/cabal#5444
    
    There are various distros, where installing development files
    of libsystemd won't be an option:
    
    - Alpine (doesn't have systemd at all)
    - Gentoo (not installable when eudev is installed)
    - Exherbo (not installable when eudev is installed)
    
    Users are expected to run the script and then execute cabal like so:
    
      cabal build --project-file=cabal.nosystemd.project all
    Julian Ospald committed Sep 25, 2020
    Configuration menu
    Copy the full SHA
    5918d83 View commit details
    Browse the repository at this point in the history
  3. Fix build on windows

    Julian Ospald committed Sep 25, 2020
    Configuration menu
    Copy the full SHA
    88df4b6 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2020

  1. Pin GHC to 8.6.5 to avoid confusion

    Julian Ospald committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    cee5263 View commit details
    Browse the repository at this point in the history
  2. add buildkite check to make sure that the cabal.project stays up-to-date

    KtorZ authored and Julian Ospald committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    540ef34 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2020

  1. nix: Add a shell file which can be used for plain cabal builds

    The Haskell.nix shellFor function provides Haskell package
    dependencies and all their dependencies.
    
    This new nix/cabal-shell.nix file only provides a compiler, build
    tools and system libraries, and lets Cabal build the Haskell package
    dependencies.
    rvl committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    98008b8 View commit details
    Browse the repository at this point in the history
  2. Add an alternate Cabal project file for nix+cabal builds

    Using nix-shell and "cabal build --project-file=cabal-nix.project",
    all Haskell dependencies will be downloaded from the IOHK cache,
    rather than built locally.
    rvl committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    b8dd195 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    17c3de1 View commit details
    Browse the repository at this point in the history