Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37730342
en ru br
ALT Linux repos
5.0: 1.5.26-alt4
4.1: 1.5.26-alt2.M41.1
4.0: 1.5.22-alt2
3.0: 1.5.18-alt2

Group :: Development/Other
RPM: libtool_1.5

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%define ltversion 1.5
%define libtool libtool-%ltversion
%define libltdl libltdl
%define priority 150

Name: libtool_%ltversion
Version: 1.5.22
Release: alt2
Serial: 3

Summary: The GNU libtool, which simplifies the use of shared libraries
License: GPL
Group: Development/Other
Url: http://www.gnu.org/software/libtool/libtool.html
Packager: Dmitry V. Levin <ldv at altlinux.org>

%set_compress_method gzip
%define do_check 0
%{?!__buildreqs:%{?!_without_check:%{?!_disable_check:%global do_check 1}}}

Provides: libtool = %serial:%version-%release
PreReq: libtool-common >= 0.2, alternatives >= 0:0.2.0-alt0.12
Requires(post): %install_info
Requires(preun): %uninstall_info
Requires: aclocal(libtool)
Requires: autoconf_2.5 >= 2:2.59-alt2
Obsoletes: libtool

# ftp://ftp.gnu.org/gnu/libtool/libtool-%version.tar.gz

Source: libtool-%version.tar
Source1: %name-buildreq-ignore

# Debian patches

Patch11: libtool-1.5.18-deb-ltdl.patch
Patch12: libtool-1.5.18-deb-ltmain-version_type.patch

# Owl patches

Patch16: libtool-1.5.18-owl-buildhost.patch

# ALT patches

Patch21: libtool-1.5.22-alt-tmp.patch
Patch22: libtool-1.5.18-alt-ltmain-legacy.patch
Patch23: libtool-1.5.18-alt-texinfo.patch
Patch24: libtool-1.5.18-alt-libtoolize-libtool.m4.patch
Patch25: libtool-1.5.18-alt-deb-link_all_deplibs.patch
Patch26: libtool-1.5.18-alt-link_all_deplibs-runtime.patch
Patch27: libtool-1.5.18-alt-cxx.patch

# RH patches

Patch31: libtool-1.5.18-rh-multilib-hack.patch

BuildRequires: gcc-c++, gcc-g77, libalternatives-devel

%package -n %libltdl
Summary: dlopen wrapper for GNU libtool
License: LGPL
Group: System/Libraries
Provides: libtool-libs = %serial:%version-%release
Obsoletes: libtool-libs

%package -n %libltdl-devel
Summary: Development files for %libltdl
License: LGPL
Group: Development/C
Requires: %libltdl = %serial:%version-%release
Provides: libtool-devel = %serial:%version-%release
Obsoletes: libtool-devel

%package -n %libltdl-devel-static
Summary: Static %libltdl library
License: LGPL
Group: Development/C
Requires: %libltdl-devel = %serial:%version-%release

%package -n libtool-demos
Summary: Samples for Libtool
License: GPL
Group: Development/Other
Requires: %name = %serial:%version-%release

%description
The libtool package contains the GNU libtool, a set of shell scripts
which automatically configure UNIX and UNIX-like architectures 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, you
should install libtool.

%description -n %libltdl
This package contains libltdl shared library,
a system independent dlopen wrapper for GNU libtool.

%description -n %libltdl-devel
Development files for libltdl, a system independent
dlopen wrapper for GNU libtool.

%description -n %libltdl-devel-static
Static libltdl library, a system independent dlopen wrapper for GNU libtool.

%description -n libtool-demos
Sample programs and libraries to build with libtool.

%prep
%setup -q -n libtool-%version

# RedHat patches


# Debian patches

%patch11 -p1
%patch12 -p1

# Owl patches

%patch16 -p1

# ALT patches

%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1

# RH patches

%patch31 -p1

find -type f -name \*.orig -delete -print

# fix testsuite

find -type f -name configure\* -print0 |
xargs -r0 fgrep -lZ AM_CONFIG_HEADER -- |
xargs -r0 subst -p s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g --

# fix ld.so.conf.d support

find -type f -print0 |
xargs -r0 fgrep -lZ 'cd /etc; cat %%s' -- |
xargs -r0 subst -p 's|cd /etc; cat %%s|cd /etc \&\& cat %%s 2>/dev/null|g' --

# Hack in the version-specific package data dir and aclocal dir variables.

perl -pi -e 's|^(pkgdatadir=.*?)\s*$|$1-%ltversion\n|;' configure.ac

# Fix default vendor and lsattr.

%__subst -p 's|=pc|=%_vendor|g; s|/usr/sbin/lsattr|%_bindir/lsattr|g;' config.guess

# Eliminate gnutar dependencies.

find -type f -name missing -print0|
xargs -r0 %__subst -p 's/gnutar /gnutar=gnutar \&\& \$&/' --

for f in config.guess config.sub; do
ln -snf ../"$f" libltdl/
done

rm -f doc/*.info*

%build
%undefine __libtoolize
export CC=gcc
export CXX=g++
export F77=g77
export GCJ=gcj

autoreconf -isv
for d in *demo*; do
ln -snf ../acinclude.m4 "$d"/
autoreconf -isv "$d"
ln -snf ../aclocal.m4 "$d"/
done

%configure --program-suffix=-%ltversion

perl -pi -e '/^\ at direntry/../^\ at end direntry/ and s/^\*\s*(libtool(ize)?):\s*\(libtool\)/* $1-%ltversion: (%libtool)/i' doc/libtool.texi

# SMP-incompatible build?

make MAKEINFOFLAGS=--no-split
#%__subst "s/`hostname`/%buildhost/g" libtool
%if %do_check
%make_build -k check
#VERBOSE=yes make -k check
%endif

%install
%makeinstall

mkdir %buildroot%_datadir/%libtool/aclocal
mv %buildroot%_datadir/aclocal/libtool.m4 \
   %buildroot%_datadir/%libtool/aclocal/

mv %buildroot%_infodir/libtool{,-%ltversion}.info

for f in config.guess config.sub ltmain.sh; do
ln -snf ../"$f" %buildroot%_datadir/%libtool/libltdl/
done

mkdir -p %buildroot%_altdir
cat >%buildroot%_altdir/%name <<EOF
%_bindir/libtool-default %_bindir/%libtool %priority
%_bindir/libtoolize-default %_bindir/libtoolize-%ltversion %_bindir/%libtool
%_datadir/libtool %_datadir/%libtool %_bindir/%libtool
%_infodir/libtool.info.gz %_infodir/%libtool.info.gz %_bindir/%libtool
EOF

mkdir -p %buildroot%_sysconfdir/buildreqs/packages/substitute.d
echo libtool >%buildroot%_sysconfdir/buildreqs/packages/substitute.d/%name

install -pD -m644 %_sourcedir/%name-buildreq-ignore \
%buildroot%_sysconfdir/buildreqs/files/ignore.d/%name

%define ltdocdir %_docdir/libtool-%version
%define ltdldocdir %_docdir/libltdl-%version

rln()
{
local target=$1 && shift
local source=$1 && shift
target=`relative "$target" "$source"`
ln -snf "$target" "%buildroot$source"
}

mkdir -p %buildroot%ltdocdir
install -p -m644 acinclude.m4 aclocal.m4 AUTHORS NEWS README THANKS TODO \
   %buildroot%ltdocdir/
rln %_licensedir/GPL-2 %ltdocdir/COPYING
mkdir -p %buildroot%ltdldocdir
install -p -m644 libltdl/README %buildroot%ltdldocdir/
rm -f %buildroot%_datadir/%libtool/libltdl/COPYING.LIB
rln %_licensedir/LGPL-2.1 %_datadir/%libtool/libltdl/COPYING.LIB
rln %_licensedir/LGPL-2.1 %ltdldocdir/COPYING.LIB
for d in *demo*; do
cp -a "$d" %buildroot%ltdocdir/
%if %do_check
make -C %buildroot%ltdocdir/"$d" distclean
%endif
rm -rf %buildroot%ltdocdir/"$d"/autom4te.cache
done
cp -p install-sh missing %buildroot%ltdocdir/demo/

%post -n %libltdl -p %post_ldconfig
%postun -n %libltdl -p %postun_ldconfig

%post
%install_info %libtool.info
%register_alternatives %name
%__install_info \
--info-file=%_infodir/libtool.info \
--info-dir=%_infodir \
--section=Development/Other \
--entry="* Libtool: (libtool).                           Generic shared library support script." \
--entry="* libtoolize: (libtool)Invoking libtoolize.     Adding libtool support." \
||:

%preun
[ $1 = 0 ] || exit 0
%uninstall_info %libtool.info
%unregister_alternatives %name
if [ ! -e %_infodir/libtool.info.gz ]; then
%__install_info \
--delete \
--info-file=%_infodir/libtool.info \
--info-dir=%_infodir
fi

%triggerpostun -- libtool
%register_alternatives %name
%__install_info \
--info-file=%_infodir/libtool.info \
--info-dir=%_infodir \
--section=Development/Other \
--entry="* Libtool: (libtool).                           Generic shared library support script." \
--entry="* libtoolize: (libtool)Invoking libtoolize.     Adding libtool support." \
||:
for f in ltmain.sh config.{guess,sub}; do
   %__ln_s -f $f-%ltversion %_datadir/%libtool/$f
done


%files
%_bindir/*
%_datadir/%libtool
%_infodir/%libtool.info*
%_altdir/%name
%config %_sysconfdir/buildreqs/packages/substitute.d/%name
%config %_sysconfdir/buildreqs/files/ignore.d/%name
%dir %ltdocdir
%ltdocdir/[A-Z]*

%files -n %libltdl
%_libdir/*.so.*
%dir %ltdldocdir
%ltdldocdir/README
%ltdldocdir/COPYING.LIB

%files -n %libltdl-devel
%_libdir/*.so
%_includedir/*
%_datadir/aclocal/ltdl.m4

%files -n %libltdl-devel-static
%_libdir/*.a

%files -n libtool-demos
%dir %ltdocdir
%ltdocdir/*.m4
%ltdocdir/*demo*

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin