@@ -0,0 +1,200 @@
1+{ system
2+ , compiler
3+ , flags
4+ , pkgs
5+ , hsPkgs
6+ , pkgconfPkgs
7+ , errorHandler
8+ , config
9+ , ... }:
10+ {
11+ flags = { small_base = true; };
12+ package = {
13+ specVersion = "1.8";
14+ identifier = { name = "happy"; version = "1.19.12"; };
15+ license = "BSD-2-Clause";
16+ copyright = "(c) Andy Gill, Simon Marlow";
17+ maintainer = "Simon Marlow <marlowsd@gmail.com>";
18+ author = "Andy Gill and Simon Marlow";
19+ homepage = "https://www.haskell.org/happy/";
20+ url = "";
21+ synopsis = "Happy is a parser generator for Haskell";
22+ description = "Happy is a parser generator for Haskell. Given a grammar\nspecification in BNF, Happy generates Haskell code to parse the\ngrammar. Happy works in a similar way to the @yacc@ tool for C.";
23+ buildType = "Simple";
24+ isLocal = true;
25+ detailLevel = "FullDetails";
26+ licenseFiles = [ "LICENSE" ];
27+ dataDir = "data/";
28+ dataFiles = [
29+ "HappyTemplate"
30+ "HappyTemplate-arrays"
31+ "HappyTemplate-arrays-coerce"
32+ "HappyTemplate-arrays-coerce-debug"
33+ "HappyTemplate-arrays-debug"
34+ "HappyTemplate-arrays-ghc"
35+ "HappyTemplate-arrays-ghc-debug"
36+ "HappyTemplate-coerce"
37+ "HappyTemplate-ghc"
38+ "GLR_Base"
39+ "GLR_Lib"
40+ "GLR_Lib-ghc"
41+ "GLR_Lib-ghc-debug"
42+ ];
43+ extraSrcFiles = [
44+ "ANNOUNCE"
45+ "CHANGES"
46+ "Makefile"
47+ "README.md"
48+ "TODO"
49+ "doc/Makefile"
50+ "doc/aclocal.m4"
51+ "doc/config.mk.in"
52+ "doc/configure.ac"
53+ "doc/docbook-xml.mk"
54+ "doc/fptools.css"
55+ "doc/happy.1.in"
56+ "doc/happy.xml"
57+ "examples/glr/nlp/Main.lhs"
58+ "examples/glr/nlp/Makefile"
59+ "examples/glr/nlp/README"
60+ "examples/glr/nlp/English.y"
61+ "examples/glr/nlp/Hugs.lhs"
62+ "examples/glr/Makefile"
63+ "examples/glr/Makefile.defs"
64+ "examples/glr/expr-eval/Main.lhs"
65+ "examples/glr/expr-eval/Makefile"
66+ "examples/glr/expr-eval/Expr.y"
67+ "examples/glr/expr-eval/README"
68+ "examples/glr/expr-eval/Hugs.lhs"
69+ "examples/glr/expr-tree/Main.lhs"
70+ "examples/glr/expr-tree/Makefile"
71+ "examples/glr/expr-tree/Expr.y"
72+ "examples/glr/expr-tree/README"
73+ "examples/glr/expr-tree/Tree.lhs"
74+ "examples/glr/expr-tree/Hugs.lhs"
75+ "examples/glr/highly-ambiguous/Main.lhs"
76+ "examples/glr/highly-ambiguous/Makefile"
77+ "examples/glr/highly-ambiguous/Expr.y"
78+ "examples/glr/highly-ambiguous/README"
79+ "examples/glr/highly-ambiguous/Hugs.lhs"
80+ "examples/glr/hidden-leftrec/Main.lhs"
81+ "examples/glr/hidden-leftrec/Makefile"
82+ "examples/glr/hidden-leftrec/Expr.y"
83+ "examples/glr/hidden-leftrec/README"
84+ "examples/glr/hidden-leftrec/Hugs.lhs"
85+ "examples/glr/expr-monad/Main.lhs"
86+ "examples/glr/expr-monad/Makefile"
87+ "examples/glr/expr-monad/Expr.y"
88+ "examples/glr/expr-monad/README"
89+ "examples/glr/expr-monad/Hugs.lhs"
90+ "examples/glr/bio-eg/Main.lhs"
91+ "examples/glr/bio-eg/Makefile"
92+ "examples/glr/bio-eg/Bio.y"
93+ "examples/glr/bio-eg/README"
94+ "examples/glr/bio-eg/1-1200.dna"
95+ "examples/glr/bio-eg/1-600.dna"
96+ "examples/glr/common/DV_lhs"
97+ "examples/glr/common/DaVinciTypes.hs"
98+ "examples/glr/packing/Main.lhs"
99+ "examples/glr/packing/Makefile"
100+ "examples/glr/packing/Expr.y"
101+ "examples/glr/packing/README"
102+ "examples/glr/packing/Hugs.lhs"
103+ "examples/PgnParser.ly"
104+ "examples/MonadTest.ly"
105+ "examples/igloo/ParserM.hs"
106+ "examples/igloo/Makefile"
107+ "examples/igloo/Parser.y"
108+ "examples/igloo/Foo.hs"
109+ "examples/igloo/README"
110+ "examples/igloo/Lexer.x"
111+ "examples/README"
112+ "examples/Calc.ly"
113+ "examples/DavesExample.ly"
114+ "examples/ErrorTest.ly"
115+ "examples/ErlParser.ly"
116+ "examples/SimonsExample.ly"
117+ "examples/LexerTest.ly"
118+ "happy.spec"
119+ "src/ARRAY-NOTES"
120+ "tests/AttrGrammar001.y"
121+ "tests/AttrGrammar002.y"
122+ "tests/Makefile"
123+ "tests/Partial.ly"
124+ "tests/Test.ly"
125+ "tests/TestMulti.ly"
126+ "tests/TestPrecedence.ly"
127+ "tests/bogus-token.y"
128+ "tests/bug001.ly"
129+ "tests/bug002.y"
130+ "tests/error001.stderr"
131+ "tests/error001.stdout"
132+ "tests/error001.y"
133+ "tests/monad001.y"
134+ "tests/monad002.ly"
135+ "tests/monaderror.y"
136+ "tests/precedence001.ly"
137+ "tests/precedence002.y"
138+ "tests/test_rules.y"
139+ "tests/issue91.y"
140+ "tests/issue93.y"
141+ "tests/issue94.y"
142+ "tests/issue95.y"
143+ "tests/monaderror-explist.y"
144+ "tests/typeclass_monad001.y"
145+ "tests/typeclass_monad002.ly"
146+ "tests/typeclass_monad_lexer.y"
147+ "tests/rank2.y"
148+ ];
149+ extraTmpFiles = [];
150+ extraDocFiles = [];
151+ };
152+ components = {
153+ exes = {
154+ "happy" = {
155+ depends = [
156+ (hsPkgs."base" or (errorHandler.buildDepError "base"))
157+ (hsPkgs."array" or (errorHandler.buildDepError "array"))
158+ (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
159+ (hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
160+ ];
161+ buildable = true;
162+ modules = [
163+ "Paths_happy"
164+ "AbsSyn"
165+ "First"
166+ "GenUtils"
167+ "Grammar"
168+ "Info"
169+ "LALR"
170+ "Lexer"
171+ "ParseMonad"
172+ "Parser"
173+ "ProduceCode"
174+ "ProduceGLRCode"
175+ "NameSet"
176+ "Target"
177+ "AttrGrammar"
178+ "AttrGrammarParser"
179+ "ParamRules"
180+ "PrettyGrammar"
181+ ];
182+ hsSourceDirs = [ "src" ];
183+ mainPath = [ "Main.lhs" ];
184+ };
185+ };
186+ tests = {
187+ "tests" = {
188+ depends = [
189+ (hsPkgs."base" or (errorHandler.buildDepError "base"))
190+ (hsPkgs."process" or (errorHandler.buildDepError "process"))
191+ ];
192+ build-tools = [
193+ (hsPkgs.buildPackages.happy.components.exes.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy:happy")))
194+ ];
195+ buildable = true;
196+ mainPath = [ "test.hs" ];
197+ };
198+ };
199+ };
200+ } // rec { src = (pkgs.lib).mkDefault ../.; }