nixpkgs/pkgs/development/haskell-modules/cabal2nix-unstable.nix

41 lines
1.7 KiB
Nix

# This file defines cabal2nix-unstable, used by maintainers/scripts/haskell/regenerate-hackage-packages.sh.
{ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, Cabal
, containers, deepseq, directory, distribution-nixpkgs, fetchzip
, filepath, hackage-db, hopenssl, hpack, language-nix, lens, lib
, monad-par, monad-par-extras, mtl, optparse-applicative, pretty
, process, split, tasty, tasty-golden, text, time, transformers
, yaml
}:
mkDerivation {
pname = "cabal2nix";
version = "unstable-2023-11-02";
src = fetchzip {
url = "https://github.com/NixOS/cabal2nix/archive/2099a1f4594f621bb1a2879b793b860aefe4c027.tar.gz";
sha256 = "11j1lzjanhmdkqwnb7hni3wxiixl7fzxk6d633cn7ybr7b8wra9s";
};
postUnpack = "sourceRoot+=/cabal2nix; echo source root reset to $sourceRoot";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson ansi-wl-pprint base bytestring Cabal containers deepseq
directory distribution-nixpkgs filepath hackage-db hopenssl hpack
language-nix lens optparse-applicative pretty process split text
time transformers yaml
];
executableHaskellDepends = [
aeson base bytestring Cabal containers directory
distribution-nixpkgs filepath hopenssl language-nix lens monad-par
monad-par-extras mtl optparse-applicative pretty
];
testHaskellDepends = [
base Cabal containers directory filepath language-nix lens pretty
process tasty tasty-golden
];
preCheck = ''
export PATH="$PWD/dist/build/cabal2nix:$PATH"
export HOME="$TMPDIR/home"
'';
homepage = "https://github.com/nixos/cabal2nix#readme";
description = "Convert Cabal files into Nix build instructions";
license = lib.licenses.bsd3;
}