Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37045019
en ru br
Репозитории ALT

Группа :: Разработка/Прочее
Пакет: libtool_2.4

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%define ltversion 2.4
%define ltsoname 7
%define libtool libtool-%ltversion
%define libltdl libltdl%ltsoname

Name: libtool_%ltversion
Version: 2.4.7
Release: alt2

Summary: The GNU libtool, which simplifies the use of shared libraries
License: GPLv2+
Group: Development/Other
Url: https://www.gnu.org/software/libtool/

%set_compress_method xz

Requires: libtool-common >= 0.2
Requires: autoconf
Requires: automake

# git://git.altlinux.org/gears/l/%name.git

Source: libtool-%version-%release.tar

BuildRequires: gnulib >= 0.1.4550.2a794
BuildRequires: gnulib-modules-bootstrap >= 0.0.70.037f
BuildRequires: gcc-c++ gcc-g77 help2man makeinfo
# for tests/search-path.at
BuildRequires: zlib-devel

%package -n %libltdl
Summary: dlopen wrapper for GNU libtool
License: LGPLv2+
Group: System/Libraries

%package -n %libltdl-devel
Summary: Development files for %libltdl
License: LGPLv2+
Group: Development/C
Requires: %name = %EVR
Requires: %libltdl = %EVR
Provides: libltdl-devel = 3:%version-%release
Conflicts: libltdl-devel < 3:%version

%package -n %libltdl-devel-static
Summary: Static %libltdl library
License: LGPLv2+
Group: Development/C
Requires: %libltdl-devel = %EVR
Provides: libltdl-devel-static = 3:%version
Obsoletes: libltdl-devel-static < 3:%version

%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.

%prep
%setup -n libtool-%version
cp -a %_datadir/gnulib-modules-bootstrap/* gl-mod/bootstrap/

# Build scripts expect to find these files.

echo -n %version > .tarball-version
echo -n 4223 > .serial

# Rename due to alternative editions.

sed -i '/ at direntry/,/ at end direntry/ s/^\(\*[[:space:]]\+[[:alnum:].]\+\)\(:[[:space:]]\+\)(libtool)/\1-%ltversion\2(%libtool)/' \
doc/libtool.texi

%build
# Libtool is not ready for LTO yet:
# libltdl/.libs/libltdlS.c:27:12: warning: type of 'dlopen_LTX_get_vtable' does not match original declaration [-Wlto-type-mismatch]
# libltdl/loaders/dlopen.c:61:1: note: return value type mismatch
#    61 | get_vtable (lt_user_data loader_data)
#       | ^
# libltdl/loaders/dlopen.c:61:1: note: 'dlopen_LTX_get_vtable' was previously declared here
# libltdl/loaders/dlopen.c:61:1: note: code may be misoptimized unless '-fno-strict-aliasing' is used
#  70: Runpath in libtool library files                FAILED (runpath-in-lalib.at:61)
# 117: enforced lib prefix                             FAILED (need_lib_prefix.at:182)
# 170: Run tests with low max_cmd_len                  FAILED (cmdline_wrap.at:47)
%define optflags_lto %nil

./bootstrap --skip-po --skip-git --gnulib-srcdir=%_datadir/gnulib
%configure --program-suffix=-%ltversion --disable-silent-rules

%make_build MAKEINFOFLAGS=--no-split
# Do not hardcode gcc path information, and do not use -nostdlib.
sed -i -e 's/^\(predep_objects\|postdep_objects\|compiler_lib_search_path\)=.*/\1=""/' \
      -e 's/^\(archive\(_expsym\)\?_cmds=\".*\) -nostdlib /\1 /' libtool

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

out="\$(\$CC -print-search-dirs |\$SED -e '/^libraries: *=/!d;s///;s!/:!:!g;s!/\$!!;s/:/ /g')"
sed -i 's#^\(compiler_lib_search_dirs="\)/.*#\1'"$out"'"#' %buildroot%_bindir/%libtool

mkdir -p %buildroot%_sysconfdir/buildreqs/packages/substitute.d
echo libtool >%buildroot%_sysconfdir/buildreqs/packages/substitute.d/%name
mkdir -p %buildroot%_sysconfdir/buildreqs/files/ignore.d
echo '^/usr/share/libtool(-2\.4)?/aclocal/.+\.m4$' >%buildroot%_sysconfdir/buildreqs/files/ignore.d/%name

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

mkdir -p %buildroot%ltdocdir
install -p -m644 AUTHORS NEWS README TODO %buildroot%ltdocdir/
ln -rsnf %buildroot%_licensedir/GPL-2 \
%buildroot%ltdocdir/COPYING
mkdir -p %buildroot%ltdldocdir
install -p -m644 libltdl/README %buildroot%ltdldocdir/
rm %buildroot%_datadir/%libtool/libltdl/COPYING.LIB
ln -rsnf %buildroot%_licensedir/LGPL-2.1 \
%buildroot%_datadir/%libtool/libltdl/COPYING.LIB
ln -rsnf %buildroot%_licensedir/LGPL-2.1 \
%buildroot%ltdldocdir/COPYING.LIB

ln -rsnf %buildroot/usr/share/gnu-config/config.{guess,sub} \
%buildroot%_datadir/%libtool/build-aux/

%define _unpackaged_files_terminate_build 1
%define _stripped_files_terminate_build 1
%set_verify_elf_method strict

%check
# Remove -frecord-gcc-switches because it confuses demo-hardcode.test.
%make_build -k -Onone check VERBOSE=1 CFLAGS="${RPM_OPT_FLAGS/-frecord-gcc-switches/}"

%files
%_bindir/*
%_datadir/%libtool
%_infodir/%libtool.info*
%_man1dir/%libtool.1*
%_man1dir/libtoolize-%ltversion.1*
%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/*

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

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin