]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/byacc/package/byacc.spec
MFV: r362513
[FreeBSD/FreeBSD.git] / contrib / byacc / package / byacc.spec
1 Summary: byacc - public domain Berkeley LALR Yacc parser generator
2 %define AppProgram byacc
3 %define AltProgram btyacc
4 %define AppVersion 20200330
5 %define UseProgram yacc
6 # $Id: byacc.spec,v 1.49 2020/03/30 23:31:42 tom Exp $
7 Name: %{AppProgram}
8 Version: %{AppVersion}
9 Release: 1
10 License: Public Domain, MIT
11 Group: Applications/Development
12 URL: ftp://invisible-island.net/%{AppProgram}
13 Source0: %{AppProgram}-%{AppVersion}.tgz
14 Packager: Thomas E. Dickey <dickey@invisible-island.net>
15
16 %description
17 This package provides a parser generator utility that reads a grammar
18 specification from a file and generates an LR(1) parser for it.  The
19 parsers consist of a set of LALR(1) parsing tables and a driver
20 routine written in the C programming language.  It has a public domain
21 license which includes the generated C.
22
23 %package -n btyacc
24 Summary:        Curses library with POSIX thread support.
25
26 %description -n btyacc
27 This package provides a parser generator utility that reads a grammar
28 specification from a file and generates an LR(1) parser for it.  The
29 parsers consist of a set of LALR(1) parsing tables and a driver
30 routine written in the C programming language.  It has a public domain
31 license which includes the generated C.
32
33 This package has the backtracking extension.
34
35 %prep
36
37 %define debug_package %{nil}
38
39 %setup -q -n %{AppProgram}-%{AppVersion}
40
41 %build
42 %define my_srcdir ..
43 %define CFG_OPTS \\\
44   --verbose \\\
45   --disable-echo \\\
46   --target %{_target_platform} \\\
47   --prefix=%{_prefix} \\\
48   --srcdir=%{my_srcdir} \\\
49   --bindir=%{_bindir} \\\
50   --libdir=%{_libdir} \\\
51   --mandir=%{_mandir}
52
53 %global _configure ../configure
54
55 mkdir BUILD-byacc
56 pushd BUILD-byacc
57 CONFIGURE_TOP=%{my_srcdir} \
58 %configure %{CFG_OPTS} \
59   --program-prefix=b \
60   --program-transform-name='s,\^,b,'
61 make
62 popd
63
64 mkdir BUILD-btyacc
65 pushd BUILD-btyacc
66 CONFIGURE_TOP=%{my_srcdir} \
67 %configure %{CFG_OPTS} \
68   --enable-btyacc \
69   --program-prefix=bt \
70   --with-max-table-size=18000 \
71   --program-transform-name='s,\^,bt,'
72 make
73 popd
74
75 %install
76 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
77
78 pushd BUILD-byacc
79 make install DESTDIR=$RPM_BUILD_ROOT
80 ( cd $RPM_BUILD_ROOT%{_bindir} && ln -vs %{AppProgram} %{UseProgram} )
81 popd
82
83 pushd BUILD-btyacc
84 make install DESTDIR=$RPM_BUILD_ROOT
85 popd
86
87 %clean
88 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
89
90 %files
91 %defattr(-,root,root)
92 %{_prefix}/bin/%{AppProgram}
93 %{_prefix}/bin/%{UseProgram}
94 %{_mandir}/man1/%{AppProgram}.*
95
96 %files -n btyacc
97 %defattr(-,root,root)
98 %{_prefix}/bin/%{AltProgram}
99 %{_mandir}/man1/%{AltProgram}.*
100
101 %changelog
102 # each patch should add its ChangeLog entries here
103
104 * Fri May 25 2018 Thomas Dickey
105 - add btyacc package
106
107 * Sun Jul 09 2017 Thomas Dickey
108 - use predefined "configure"
109
110 * Sun Jun 06 2010 Thomas Dickey
111 - initial version