]>
Commit | Line | Data |
---|---|---|
d7e6ed80 JB |
1 | # |
2 | # Conditional build: | |
3 | %bcond_with bootstrap # use foreign (non-rpm) ghc | |
4 | # | |
45aa1d35 | 5 | Summary: Yacc-like LALR(1) Parser Generator for Haskell |
ffa6c29d | 6 | Summary(pl.UTF-8): Generator parserów LALR(1) w stylu yacc-a dla Haskella |
45aa1d35 | 7 | Name: happy |
3bc40af6 JR |
8 | Version: 1.18.5 |
9 | Release: 1 | |
8d8818fa | 10 | License: BSD-like w/o adv. clause |
11 | Group: Development/Tools | |
7cb0ced7 | 12 | Source0: http://hackage.haskell.org/packages/archive/happy/%{version}/%{name}-%{version}.tar.gz |
4940be38 | 13 | # Source0-md5: 9e77b67df7b6a4d7273383cc890f39e8 |
45aa1d35 | 14 | URL: http://haskell.org/happy/ |
5957d632 | 15 | BuildRequires: autoconf |
8d8818fa | 16 | BuildRequires: docbook-dtd42-xml |
17 | BuildRequires: docbook-style-xsl | |
18 | %{!?with_bootstrap:BuildRequires: ghc >= 6.6} | |
9730f6df | 19 | BuildRequires: gmp-devel |
8d8818fa | 20 | BuildRequires: libxslt-progs |
21 | #For generating documentation in PDF: fop or xmltex | |
45aa1d35 JR |
22 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
23 | ||
24 | %description | |
8d8818fa | 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. | |
29 | ||
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 | |
35 | cases). | |
36 | ||
37 | Authors: | |
38 | -------- | |
39 | Simon Marlow <simonmar@microsoft.com> | |
40 | Andy Gill <andy@galconn.com> | |
45aa1d35 | 41 | |
497125eb | 42 | %description -l pl.UTF-8 |
8d8818fa | 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. | |
46 | ||
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). | |
53 | ||
54 | Autorzy: | |
55 | -------- | |
56 | Simon Marlow <simonmar@microsoft.com> | |
57 | Andy Gill <andy@galconn.com> | |
5957d632 | 58 | |
45aa1d35 JR |
59 | %prep |
60 | %setup -q | |
45aa1d35 JR |
61 | |
62 | %build | |
8d8818fa | 63 | %{?with_bootstrap:PATH=$PATH:/usr/local/bin} |
64 | runhaskell Setup.lhs configure --prefix=%{_prefix} | |
65 | runhaskell Setup.lhs build | |
45aa1d35 | 66 | |
8d8818fa | 67 | cd doc |
68 | %{__autoconf} | |
69 | %configure | |
70 | %{__make} html | |
71 | cd .. | |
45aa1d35 JR |
72 | |
73 | %install | |
74 | rm -rf $RPM_BUILD_ROOT | |
8d8818fa | 75 | %{?with_bootstrap:PATH=$PATH:/usr/local/bin} |
76 | runhaskell Setup.lhs copy --destdir=$RPM_BUILD_ROOT | |
45aa1d35 | 77 | |
8d8818fa | 78 | install -d $RPM_BUILD_ROOT%{_examplesdir} |
79 | cp -a examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
45aa1d35 | 80 | |
5957d632 JB |
81 | %clean |
82 | rm -rf $RPM_BUILD_ROOT | |
83 | ||
45aa1d35 JR |
84 | %files |
85 | %defattr(644,root,root,755) | |
8d8818fa | 86 | %doc ANNOUNCE CHANGES README TODO doc/happy |
45aa1d35 | 87 | %attr(755,root,root) %{_bindir}/* |
8d8818fa | 88 | %{_datadir}/%{name}-%{version} |
89 | %{_examplesdir}/%{name}-%{version} |