]> git.pld-linux.org Git - packages/happy.git/blob - happy.spec
39ab350a7c2a97176788d8f2dca48e1e9d7fddda
[packages/happy.git] / happy.spec
1 #
2 # Conditional build:
3 %bcond_with     bootstrap       # use foreign (non-rpm) ghc
4 #
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
7 Name:           happy
8 Version:        1.18.4
9 Release:        2
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)
23
24 %description
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>
41
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.
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>
58
59 %prep
60 %setup -q
61
62 %build
63 %{?with_bootstrap:PATH=$PATH:/usr/local/bin}
64 runhaskell Setup.lhs configure --prefix=%{_prefix}
65 runhaskell Setup.lhs build
66
67 cd doc
68 %{__autoconf}
69 %configure
70 %{__make} html
71 cd ..
72
73 %install
74 rm -rf $RPM_BUILD_ROOT
75 %{?with_bootstrap:PATH=$PATH:/usr/local/bin}
76 runhaskell Setup.lhs copy --destdir=$RPM_BUILD_ROOT
77
78 install -d $RPM_BUILD_ROOT%{_examplesdir}
79 cp -a examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
80
81 %clean
82 rm -rf $RPM_BUILD_ROOT
83
84 %files
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}
This page took 0.029117 seconds and 3 git commands to generate.