summaryrefslogtreecommitdiffstats
path: root/repos/autotools/autotools-git/libtool/libtool.spec
blob: edfd333ae08911012f1b9de127f889d75e4421ee (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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
%{?_compat_el5_build}

%{!?scl:%global scl autotools-git}


# Detect gcc version, (workaround) see the bug #429880
%global gcc_version  %(gcc -dumpversion || echo "666")

%global git_hash        a5c64
%global upstream_vr     2.4.6.22

%{?scl:%scl_package libtool}

Summary: The GNU Portable Library Tool
Name:    %{?scl_prefix}libtool
Version: %{upstream_vr}~git
Release: 2.%{git_hash}%{?dist}
License: GPLv2+ and LGPLv2+ and GFDL
URL:     http://www.gnu.org/software/libtool/
Group:   Development/Tools

Source:  libtool-%{upstream_vr}-%{git_hash}.tar.gz

# /usr/bin/libtool includes paths within gcc's versioned directories
# Libtool must be rebuilt whenever a new upstream gcc is built
Requires: gcc = %{gcc_version}
Requires: %{scl_prefix}autoconf, %{scl_prefix}automake, sed, tar, findutils
Requires(post):  /sbin/install-info
Requires(preun): /sbin/install-info

BuildRequires: help2man
# From libtool 2.4.5, m4 is required and because the version of m4 is checked by
# autoconf code, we need to require the git-version.
BuildRequires:      %{?scl_prefix}m4
Requires:           %{?scl_prefix}m4

BuildRequires: texinfo

%{?scl:
BuildRequires: scl-utils-build
Requires:%scl_runtime
}

%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

# make sure we can configure all supported langs
BuildRequires: libstdc++-devel, gcc-gfortran


%description
GNU Libtool is a set of shell scripts which automatically configure UNIX and
UNIX-like systems to generically build shared libraries. Libtool provides a
consistent, portable interface which simplifies the process of using shared
libraries.

If you are developing programs which will use shared libraries, but do not use
the rest of the GNU Autotools (such as GNU Autoconf and GNU Automake), you
should install the libtool package.

The libtool package also includes all files needed to integrate the GNU
Portable Library Tool (libtool) and the GNU Libtool Dynamic Module Loader
(ltdl) into a package built using the GNU Autotools (including GNU Autoconf
and GNU Automake).


%package ltdl
Summary:  Runtime libraries for GNU Libtool Dynamic Module Loader
Group:    System Environment/Libraries
Provides: %{name}-libs = %{version}-%{release}
License:  LGPLv2+
Requires(post):  /sbin/ldconfig
Requires(postun):  /sbin/ldconfig
%{?scl:Requires:%scl_runtime}

%description ltdl
The libtool-ltdl package contains the GNU Libtool Dynamic Module Loader, a
library that provides a consistent, portable interface which simplifies the
process of using dynamic modules.

These runtime libraries are needed by programs that link directly to the
system-installed ltdl libraries; they are not needed by software built using
the rest of the GNU Autotools (including GNU Autoconf and GNU Automake).


%package ltdl-devel
Summary: Tools needed for development using the GNU Libtool Dynamic Module Loader
Group:    Development/Libraries
Requires: %{name}-ltdl = %{version}-%{release}
License:  LGPLv2+
%{?scl:Requires:%scl_runtime}

%description ltdl-devel
Static libraries and header files for development with ltdl.


%prep
%setup -q -n libtool-%{upstream_vr}-%{git_hash}

# to use this, we should 100% *know* what the patches do
find -exec touch --date=`date -I` {} +


%build
scl enable autotools-git - <<\EOF
export CC=gcc
export CXX=g++
export F77=gfortran
export CFLAGS="$RPM_OPT_FLAGS -fPIC"

%configure  --prefix=%{_prefix}                 \
            --exec-prefix=%{_prefix}            \
            --bindir=%{_bindir}                 \
            --sbindir=%{_sbindir}               \
            --sysconfdir=%{_sysconfdir}         \
            --datadir=%{_datadir}               \
            --includedir=%{_includedir}         \
            --libdir=%{_libdir}                 \
            --libexecdir=%{_libexecdir}         \
            --localstatedir=%{_localstatedir}   \
            --mandir=%{_mandir}                 \
            --infodir=%{_infodir}               \
            --host= --build= --target=

make %{?_smp_mflags}
EOF


%check
# make check VERBOSE=yes


%install
%if 0%{?rhel} == 5
rm -rf %{builroot}
%endif
make install DESTDIR=%{buildroot}

# info's TOP dir (by default owned by info)
rm -f %{buildroot}%{_infodir}/dir

# *.la *.a files generated by libtool shouldn't be distributed (and the
# `./configure --disable-static' breaks testsuite)
rm -f %{buildroot}%{_libdir}/libltdl.{a,la}


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


%post ltdl -p /sbin/ldconfig


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


%postun ltdl -p /sbin/ldconfig


%files
%doc AUTHORS COPYING NEWS README THANKS TODO ChangeLog*
%{_infodir}/libtool.info*.gz
%{_mandir}/man1/libtool.1*
%{_mandir}/man1/libtoolize.1*
%{_bindir}/libtool
%{_bindir}/libtoolize
%{_datadir}/aclocal/*.m4
%exclude %{_datadir}/libtool/libltdl
%{_datadir}/libtool

%files ltdl
%doc libltdl/COPYING.LIB
%{_libdir}/libltdl.so.*

%files ltdl-devel
%doc libltdl/README
%{_datadir}/libtool/libltdl
%{_includedir}/ltdl.h
%{_includedir}/libltdl
# .so files without version must be in -devel subpackage
%{_libdir}/libltdl.so

%changelog
* Sun Dec 13 2015 Pavel Raiskup <praiskup@redhat.com> - 2.4.6.19~git-2.a5c64
- rebase and rebuild for new gcc 5.3.1 in f22+

* Wed Nov 04 2015 Pavel Raiskup <praiskup@redhat.com> - 2.4.6.19~git-1.aabc
- rebase to latest git

* Wed Aug 12 2015 Pavel Raiskup <praiskup@redhat.com> - 2.4.5~git-6.6289a
- help2man is needed

* Wed Aug 12 2015 Pavel Raiskup <praiskup@redhat.com> - 2.4.5~git-5.6289a
- use _compat_el5_build only if defined (rhbz#1252751)

* Sun Feb 08 2015 Pavel Raiskup <praiskup@redhat.com> - 2.4.5~git-4.6289a
- rebuild for new gcc version in rawhide

* Tue Jan 27 2015 Pavel Raiskup <praiskup@redhat.com> - 2.4.5~git-3.6289a
- rebase: new git HEAD

* Fri Dec 19 2014 Pavel Raiskup <praiskup@redhat.com> - 2.4.5~git-2.97f0
- require the git version of m4

* Fri Dec 19 2014 Pavel Raiskup <praiskup@redhat.com> - 2.4.5~git-1.97f0
- rebase: new git HEAD

* Sun Jul 13 2014 Pavel Raiskup <praiskup@redhat.com> - 2.4.2-8.444.28.053d
- rebuild for new gcc in F19, second try

* Fri Jul 11 2014 Pavel Raiskup <praiskup@redhat.com> - 2.4.2-7.444.28.053d
- rebuild for new gcc in F19

* Sat Jun 28 2014 Pavel Raiskup <praiskup@redhat.com> - 2.4.2-6.444.28.053d
- rebuild for gcc 4.8.3
- gcc-java removed from Fedora completely (#1106080)

* Thu May 29 2014 Pavel Raiskup <praiskup@redhat.com> - 2.4.2-5.444.28.053d
- release bump for %%_compat_el5_build

* Thu Apr 17 2014 Pavel Raiskup <praiskup@redhat.com> - 2.4.2-4.444.28.053d
- merge fixes/hakcs from other specs

* Mon Mar 24 2014 Pavel Raiskup <praiskup@redhat.com> - 2.4.2-3.444.28.053d
- make spec RHEL5 friendly

* Fri Mar 21 2014 Pavel Raiskup <praiskup@redhat.com> - 2.4.2-2.444.28.053d
- build require scl-utils and scl-utils-build properly

* Wed Mar 19 2014 Pavel Raiskup <praiskup@redhat.com> - 2.4.2-1.444.28.053d
- SCL-ized spec file from Rawhide, disabled testsuite for now