3 %bcond_with bootstrap # use foreign (non-rpm) ghc
5 Summary: Yacc-like LALR(1) Parser Generator for Haskell
6 Summary(pl.UTF-8): Generator parserów LALR(1) w stylu yacc-a dla Haskella
10 License: BSD-like w/o adv. clause
11 Group: Development/Tools
12 Source0: http://hackage.haskell.org/packages/archive/happy/%{version}/%{name}-%{version}.tar.gz
13 # Source0-md5: 614e3ef9623dbeefc4c8ca699912efb4
14 URL: http://haskell.org/happy/
15 BuildRequires: autoconf
16 BuildRequires: docbook-dtd42-xml
17 BuildRequires: docbook-style-xsl
18 %{!?with_bootstrap:BuildRequires: ghc >= 6.6}
19 BuildRequires: gmp-devel
20 BuildRequires: libxslt-progs
21 #For generating documentation in PDF: fop or xmltex
22 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25 Happy is a parser generator system for Haskell, similar to the tool
26 ‘yacc’ for C. Like ‘yacc’, it takes a file containing an annotated BNF
27 specification of a grammar and produces a Haskell module containing a
28 parser for the grammar.
30 Happy is flexible: you can have several Happy parsers in the same
31 program, and several entry points to a single grammar. Happy can work
32 in conjunction with a lexical analyser supplied by the user (either
33 hand-written or generated by another program), or it can parse a
34 stream of characters directly (but this isn't practical in most
39 Simon Marlow <simonmar@microsoft.com>
40 Andy Gill <andy@galconn.com>
42 %description -l pl.UTF-8
43 Happy to system generatorów parserów dla Haskella, podobny do
44 narzędzia yacc dla C. Na podstawie specyfikacji gramatyki w notacji
45 BNF generuje moduł w Haskellu zawierający parser tej gramatyki.
47 Happy jest elastyczny: można mieć kilka parserów wygenerowanych przez
48 Happy w jednym programie tudzież kilka symboli startowych dla tej
49 samej gramatyki. Happy może współpracować z analizatorem leksykalnym
50 dostarczonym przez programistę (napisanym ręcznie albo wygenerowanym
51 przez inny program), może też parsować strumień znaków bezpośrednio
52 (co zwykle jest mniej praktyczne).
56 Simon Marlow <simonmar@microsoft.com>
57 Andy Gill <andy@galconn.com>
63 %{?with_bootstrap:PATH=$PATH:/usr/local/bin}
64 runhaskell Setup.lhs configure --prefix=%{_prefix}
65 runhaskell Setup.lhs build
74 rm -rf $RPM_BUILD_ROOT
75 %{?with_bootstrap:PATH=$PATH:/usr/local/bin}
76 runhaskell Setup.lhs copy --destdir=$RPM_BUILD_ROOT
78 install -d $RPM_BUILD_ROOT%{_examplesdir}
79 cp -a examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
82 rm -rf $RPM_BUILD_ROOT
85 %defattr(644,root,root,755)
86 %doc ANNOUNCE CHANGES README TODO doc/happy
87 %attr(755,root,root) %{_bindir}/*
88 %{_datadir}/%{name}-%{version}
89 %{_examplesdir}/%{name}-%{version}