1# This file defines cabal2nix-unstable, used by maintainers/scripts/haskell/regenerate-hackage-packages.sh.
2{
3 mkDerivation,
4 aeson,
5 ansi-terminal,
6 base,
7 bytestring,
8 Cabal,
9 containers,
10 deepseq,
11 directory,
12 distribution-nixpkgs,
13 fetchzip,
14 filepath,
15 hackage-db,
16 hopenssl,
17 hpack,
18 language-nix,
19 lens,
20 lib,
21 monad-par,
22 monad-par-extras,
23 mtl,
24 optparse-applicative,
25 pretty,
26 prettyprinter,
27 process,
28 split,
29 tasty,
30 tasty-golden,
31 text,
32 time,
33 transformers,
34 yaml,
35}:
36mkDerivation {
37 pname = "cabal2nix";
38 version = "2.20.1-unstable-2025-09-17";
39 src = fetchzip {
40 url = "https://github.com/NixOS/cabal2nix/archive/3cc36a5df16a10bac9a858208845e3d05b79845d.tar.gz";
41 sha256 = "1z1knv2ggm9ddyl0v120nhcnjmq50z7q1m88qj7rfz51gx1ifnim";
42 };
43 postUnpack = "sourceRoot+=/cabal2nix; echo source root reset to $sourceRoot";
44 isLibrary = true;
45 isExecutable = true;
46 libraryHaskellDepends = [
47 aeson
48 ansi-terminal
49 base
50 bytestring
51 Cabal
52 containers
53 deepseq
54 directory
55 distribution-nixpkgs
56 filepath
57 hackage-db
58 hopenssl
59 hpack
60 language-nix
61 lens
62 optparse-applicative
63 pretty
64 prettyprinter
65 process
66 split
67 text
68 time
69 transformers
70 yaml
71 ];
72 executableHaskellDepends = [
73 aeson
74 base
75 bytestring
76 Cabal
77 containers
78 directory
79 distribution-nixpkgs
80 filepath
81 hopenssl
82 language-nix
83 lens
84 monad-par
85 monad-par-extras
86 mtl
87 optparse-applicative
88 pretty
89 ];
90 testHaskellDepends = [
91 base
92 Cabal
93 containers
94 directory
95 filepath
96 language-nix
97 lens
98 pretty
99 process
100 tasty
101 tasty-golden
102 ];
103 preCheck = ''
104 export PATH="$PWD/dist/build/cabal2nix:$PATH"
105 export HOME="$TMPDIR/home"
106 '';
107 homepage = "https://github.com/nixos/cabal2nix#readme";
108 description = "Convert Cabal files into Nix build instructions";
109 license = lib.licenses.bsd3;
110}