summaryrefslogtreecommitdiffstats
path: root/repos/autotools/autotools-git/autoconf/autoconf.spec
blob: b6f517fba4d3ab1796e9a9d8034b9a749012a5e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
%_compat_el5_build

# Workaround to always have %scl defined (for testing locally)
%{!?scl:%global scl autotools-git}

%global commits_from_release    120
%global git_hash                5dcda

%{?scl:%scl_package autoconf}

Summary:    A GNU tool for automatically configuring source code
Name:       %{?scl_prefix}autoconf
Version:    2.69
# Do not reset Release tag to '1' when rebasing!
Release:    8.%{commits_from_release}.%{git_hash}%{?dist}
License:    GPLv2+ and GFDL
Group:      Development/Tools
Source0:    autoconf-2.69.%{commits_from_release}-%{git_hash}-dirty.tar.gz
URL:        http://www.gnu.org/software/autoconf/
BuildArch: noarch

%if ! 0%{?buildroot:1}
# HACK!  This should be truth only for RHEL5, so benefit from
# this %%if for defining (otherwise undefined) macro for this platform.
%global rhel 5
BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%endif

# run "make check" by default
%bcond_without check

# m4 >= 1.4.6 is required, >= 1.4.14 is recommended;  We have 1.4.5 in rhel5,
# 1.4.13 in rhel6, so don't build for el5 yet - this requires workaround with
# probably empty 'm4' SCLized package for OK platforms, don't know what is
# proper way.
BuildRequires:      %{?scl_prefix}m4, help2man
Requires:           %{?scl_prefix}m4
BuildRequires:      emacs, compat-rpm-config

%_compat_br_perl_macros

BuildRequires:      perl(Data::Dumper)
# from f19, Text::ParseWords is not the part of 'perl' package
BuildRequires:      perl(Text::ParseWords)
%{?scl:
BuildRequires: scl-utils-build
Requires:%scl_runtime
}

%if %{with check}
# For extended testsuite coverage
BuildRequires:      gcc-gfortran
%if 0%{?fedora} >= 15
BuildRequires:      erlang
%endif
%endif

Requires(post):     /sbin/install-info
Requires(preun):    /sbin/install-info

%if ! 0%{?rhel} == 5
# filter out bogus perl(Autom4te*) dependencies
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Autom4te::
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(Autom4te::
%endif

%description
GNU's Autoconf is a tool for configuring source code and Makefiles.
Using Autoconf, programmers can create portable and configurable
packages, since the person building the package is allowed to
specify various configuration options.

You should install Autoconf if you are developing software and
would like to create shell scripts that configure your source code
packages. If you are installing Autoconf, you will also need to
install the GNU m4 package.

Note that the Autoconf package is not required for the end-user who
may be configuring software with an Autoconf-generated script;
Autoconf is only required for the generation of the scripts, not
their use.

%prep
%setup -q -n autoconf-%{version}.%{commits_from_release}-%{git_hash}-dirty


%build
scl enable autotools-git - <<\EOF
%configure
# not parallel safe
make
EOF


%check
%if %{with check}
scl enable autotools-git - <<\EOF
make check || : # TESTSUITEFLAGS='1-198 200-' # will disable nr. 199.
EOF
%endif


%install
%_compat_install

%if 0%{?rhel} == 5
rm -rf %{buildroot}
%endif
scl enable autotools-git - <<\EOF
make install DESTDIR=%{buildroot}
EOF
mkdir -p %{buildroot}/share

# Don't %%exclude this in %%files as it is not generated on RHEL7
rm -rf %{buildroot}%{_infodir}/dir


%clean
%_compat_clean


%post
/sbin/install-info %{_infodir}/autoconf.info %{_infodir}/dir || :

%preun
if [ "$1" = 0 ]; then
    /sbin/install-info --del %{_infodir}/autoconf.info %{_infodir}/dir || :
fi


%files
%{_bindir}/*
%{_infodir}/autoconf.info*
# don't include standards.info, because it comes from binutils...
%exclude %{_infodir}/standards*
# don't include info's TOP directory
%{_datadir}/autoconf/
%dir %{_datadir}/emacs/
%{_datadir}/emacs/site-lisp/
%{_mandir}/man1/*
%doc AUTHORS COPYING* ChangeLog NEWS README THANKS TODO

%changelog
* Sun Jun 15 2014 Pavel Raiskup <praiskup@redhat.com> - 2.69-8.120.5dcda
- rebase for latest git version
- enable testsuite (do not fail, though)

* Sat May 24 2014 Pavel Raiskup <praiskup@redhat.com> - 2.69-7.118.4edc
- centralize hacks

* Fri May 23 2014 Pavel Raiskup <praiskup@redhat.com> - 2.69-6.118.4edc
- rebase for latest git version

* Mon Mar 24 2014 Pavel Raiskup <praiskup@redhat.com> - 2.69-5.117.1717
- remove buildroot in %%install

* Mon Mar 24 2014 Pavel Raiskup <praiskup@redhat.com> - 2.69-4.117.1717
- require the SCL-ized m4

* Fri Mar 21 2014 Pavel Raiskup <praiskup@redhat.com> - 2.69-3.117.1717
- build require %%scl_runtime properly

* Wed Mar 19 2014 Pavel Raiskup <praiskup@redhat.com> - 2.69-2.117.1717
- add help2man BR, fix BR for perl-macros

* Wed Mar 19 2014 Pavel Raiskup <praiskup@redhat.com> - 2.69-1.117.1717
- SCL-ized spec file from Rawhide, no testsuite enabled yet