%define major 7 %define libname_orig libltdl %define libname %mklibname ltdl %{major} %define libname_devel %mklibname -d ltdl %define staticdevelname %mklibname %{libname_orig} -d -s # for the testsuite: %define _disable_ld_no_undefined 1 %define _disable_ld_as_needed 1 # allow --with bootstrap %define bootstrap 0 %{?_with_bootstrap: %global bootstrap 1} %define arch_has_java 1 %ifarch %arm %mips %define arch_has_java 0 %endif %if %bootstrap %define arch_has_java 0 %endif # define biarch platforms %define biarches x86_64 ppc64 sparc64 %ifarch x86_64 %define alt_arch i586 %endif %ifarch ppc64 %define alt_arch ppc %endif %ifarch sparc64 %define alt_arch sparc %endif # define fortran compiler %define fortran_compiler gfortran Summary: GNU tool for simplifying the use of shared libraries Name: libtool Version: 2.4.6 Release: %mkrel 5 License: GPLv2+ Group: Development/Other URL: http://www.gnu.org/software/libtool/libtool.html Source: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz Source1: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig # deprecated: introduced in July 2003 # (cf http://lists.mandriva.com/cooker-amd64/2003-12/msg00046.php) # but is not needed anymore since Sept 2003 change in rpm "Make "x86_64" the # canonical arch on amd64" # # since Jan 2009, the script doesn't use --config-only anymore since support # for --config-only in libtoolize has been dropped Source2: libtool-cputoolize.sh # (Abel) Patches please only modify ltmain.in and don't touch ltmain.sh # otherwise ltmain.sh will not be regenerated, and patches will be lost # (cjw) in the libltdl install test, use --enable-ltdl-install to make sure # the library is built even if it is installed on the system Patch17: libtool-2.2.6b-libltdl-install-test-fix.patch # (cjw) mdemo test may fail because file sizes are incorrect in 'before' # file list Patch18: libtool-2.4-dryrun-sleepmore.patch # (wally) we are not shipping libltdl.la anymore, # patch originaly from Gentoo: # https://bugs.gentoo.org/show_bug.cgi?id=293921#c10 Patch19: libtool-2.4.6-fix-building-without-libltdl.la.patch # (proyvind) add /lib64 & /usr/lib64 to system library path in order to # prevent from being added to rpath Patch20: libtool-2.2.10-rpath.patch # # Backported from git (http://git.savannah.gnu.org/cgit/libtool.git) # (the original patches were reworked a bit so they apply without the extra # patch 'funclib-refactor-quoting-methods-a-bit' from git). Result is safe. Patch21: 0003-libtool-fix-GCC-linking-with-specs.patch Patch22: 0022-libtool-fix-GCC-clang-linking-with-fsanitize.patch Patch23: 0031-libtool-pass-through-fuse-ld-flags.patch BuildRequires: automake BuildRequires: autoconf BuildRequires: help2man # For test 37 to succeed BuildRequires: locales-de %if ! %{bootstrap} BuildRequires: gcc-%{fortran_compiler} %ifarch ia64 %ix86 x86_64 BuildRequires: quadmath-devel %endif %endif %if %arch_has_java BuildRequires: gcc-java BuildRequires: libgcj-static-devel %endif Requires: %{name}-base = %{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. %package base Group: Development/C Summary: Basic package for %{name} Requires: file # cputoolize uses sed Requires: sed Requires(post): info-install Requires(preun): info-install %description base 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. %package -n %{libname} Group: Development/C Summary: Shared library files for libtool License: LGPL Provides: %{libname_orig} = %{version}-%{release} # old libextractor wrongly provided its own libltdl: Conflicts: %{_lib}extractor1 < 0.5.18a %description -n %{libname} Shared library files for libtool DLL library from the libtool package. %package -n %{libname_devel} Group: Development/C Summary: Development files for libtool License: LGPL Requires: %{name} = %{version} Requires: %{libname} = %{version} Provides: %{libname_orig}-devel = %{version}-%{release} Provides: %{name}-devel Obsoletes: %{mklibname ltdl 3}-devel %description -n %{libname_devel} Development headers, and files for development from the libtool package. %package -n %{staticdevelname} Summary: libtldl - static library Group: Development/C Requires: %{libname} = %{version}-%{release} %description -n %{staticdevelname} Static library (.a) version of libtldl. %prep %setup -q %patch17 -p1 -b .ignore-system-libltdl %patch18 -p1 -b .sleepmore %patch19 -p1 -b .ltdl.la-fix %patch20 -p1 -b .rpath~ %patch21 -p1 -b .spec %patch22 -p1 -b .sanitize %patch23 -p1 -b .useld %build # don't use configure macro - it forces libtoolize, which is bad -jgarzik # Use configure macro but define __libtoolize to be /bin/true -Geoff %define __libtoolize /bin/true # And don't overwrite config.{sub,guess} in this package as well -- Abel %define __cputoolize /bin/true # build alt-arch libtool first # NOTE: don't bother to make libtool biarch capable within the same # "binary", use the multiarch facility to dispatch to the right script. %ifarch %biarches mkdir -p build-%{alt_arch}-%{_target_os} pushd build-%{alt_arch}-%{_target_os} linux32 ../configure --prefix=%{_prefix} --build=%{alt_arch}-%{_real_vendor}-%{_target_os}%{?_gnu} linux32 make popd %endif mkdir -p build-%{_target_cpu}-%{_target_os} pushd build-%{_target_cpu}-%{_target_os} CONFIGURE_TOP=.. %configure2_5x make # Do not use -nostdlib to build libraries, and so no need to hardcode gcc path (mdvbz#44616) # (taken from debian, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=206356) # ([PIX] this is not done as a patch since the patch would be too big to maintain) sed -i -e 's/^\(predep_objects\)=.*/\1=""/' \ -e 's/^\(postdep_objects\)=.*/\1=""/' \ -e 's/^\(compiler_lib_search_path\)=.*/\1=""/' \ -e 's:^\(sys_lib_search_path_spec\)=.*:\1="/lib/ /usr/lib/ /usr/X11R6/lib/ /usr/local/lib/":' \ -e 's/^\(archive_cmds=\".*\) -nostdlib /\1 /' \ -e 's/^\(archive_expsym_cmds=\".*\) -nostdlib /\1 /' \ libtool # should "compiler_lib_search_dirs" be cleaned too? popd %check pushd build-%{_target_cpu}-%{_target_os} set +x echo ====================TESTING========================= set -x # all tests must pass here # disabling icecream since some tests check the output of gcc ICECC=no %make check VERBOSE=yes | tee make_check.log 2>&1 # || (cat make_check.log && false) set +x echo ====================TESTING END===================== set -x popd %install %makeinstall_std -C build-%{_target_cpu}-%{_target_os} rm -f %{buildroot}%{_libdir}/*.la sed -e "s,@prefix@,%{_prefix}," -e "s,@datadir@,%{_datadir}," %{SOURCE2} \ > %{buildroot}%{_bindir}/cputoolize chmod 755 %{buildroot}%{_bindir}/cputoolize # biarch support %ifarch %biarches %multiarch_binaries $RPM_BUILD_ROOT%{_bindir}/libtool install -m 755 build-%{alt_arch}-%{_target_os}/libtool $RPM_BUILD_ROOT%{_bindir}/libtool linux32 /bin/sh -c '%multiarch_binaries $RPM_BUILD_ROOT%{_bindir}/libtool' %endif %post base %_install_info %{name}.info %preun base %_remove_install_info %{name}.info %files %doc AUTHORS INSTALL NEWS README %doc THANKS TODO %{_bindir}/libtool %{_mandir}/man1/libtool.1.* %ifarch %biarches %define alt_multiarch_bindir %(linux32 /bin/rpm --eval %%multiarch_bindir) %{multiarch_bindir} %{alt_multiarch_bindir} %endif %files base %doc AUTHORS INSTALL NEWS README %doc THANKS TODO %{_bindir}/cputoolize %{_bindir}/libtoolize %{_mandir}/man1/libtoolize.* %{_infodir}/libtool.info* %{_datadir}/libtool %{_datadir}/aclocal/*.m4 %files -n %{libname} %doc libltdl/README %{_libdir}/libltdl.so.%{major} %{_libdir}/libltdl.so.%{major}.* %files -n %{libname_devel} %{_includedir}/* %{_libdir}/*.so %files -n %{staticdevelname} %{_libdir}/*.a %changelog * Tue Nov 01 2016 ghibo <ghibo> 2.4.6-5.mga6 + Revision: 1064699 - merged 3 patches from git to have libtool (for linking) recognizing -fuse-ld, spec (RH#985592), and -fsanitize * Fri Jul 08 2016 shlomif <shlomif> 2.4.6-3.mga6 + Revision: 1039864 - .spec cleanups and elim rpmlint warnings - Patch from proyvind for lib64 system library paths. + tv <tv> - do not package huge ChangeLog * Thu Feb 11 2016 wally <wally> 2.4.6-2.mga6 + Revision: 955849 - add patch originally from Gentoo to fix building packages without libltdl.la * Fri Dec 25 2015 luigiwalser <luigiwalser> 2.4.6-1.mga6 + Revision: 914495 - 2.4.6 - drop irrelevant patches - rediff patches 17 and 18 - do not run bootstrap script * Tue Nov 17 2015 shlomif <shlomif> 2.4.2-15.mga6 + Revision: 903872 - Remove --disable-static and add a static-devel package. - This broke the build and install of .a libraries by libtool and prevented neovim from being built from source. * Sun Aug 23 2015 tmb <tmb> 2.4.2-14.mga6 + Revision: 868424 - rebuild with new gcc * Wed Oct 15 2014 umeabot <umeabot> 2.4.2-13.mga5 + Revision: 744106 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 2.4.2-12.mga5 + Revision: 681817 - Mageia 5 Mass Rebuild * Fri Oct 18 2013 umeabot <umeabot> 2.4.2-11.mga5 + Revision: 507480 - Mageia 4 Mass Rebuild * Sat Jan 12 2013 umeabot <umeabot> 2.4.2-10.mga3 + Revision: 358265 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Sun Dec 30 2012 cjw <cjw> 2.4.2-9.mga3 + Revision: 336326 - add BuildRequires: help2man * Tue Dec 11 2012 cjw <cjw> 2.4.2-8.mga3 + Revision: 329746 - drop buildrequires on linux32 which is in util-linux * Mon Jul 02 2012 rtp <rtp> 2.4.2-7.mga3 + Revision: 266671 - build-require quadmath only on systems having it. * Thu Dec 22 2011 fwang <fwang> 2.4.2-6.mga2 + Revision: 186026 - disable patch20 for now, it needs more invstigation * Thu Dec 22 2011 fwang <fwang> 2.4.2-5.mga2 + Revision: 186003 - use .so as default archive module file for lt_dlopen calls * Thu Dec 08 2011 fwang <fwang> 2.4.2-4.mga2 + Revision: 178811 - apply ltdl patch * Thu Dec 08 2011 fwang <fwang> 2.4.2-3.mga2 + Revision: 178809 - detect libltdl.so rather than libltdl.la * Wed Dec 07 2011 fwang <fwang> 2.4.2-2.mga2 + Revision: 178019 - drop .la files * Tue Dec 06 2011 fwang <fwang> 2.4.2-1.mga2 + Revision: 177463 - use verbose check - br quadmath - new version 2.4.2 + rtp <rtp> - disable java support on arm/mips * Sat Jan 15 2011 blino <blino> 2.4-3.mga1 + Revision: 19242 - remove old conflicts - remove bootstrap mode * Wed Jan 12 2011 dmorgan <dmorgan> 2.4-2.mga1 + Revision: 7737 - Bootstrap libtool + blino <blino> - rebuild with java - remove support for old distros - bootstrap libtool - imported package libtool * Sat Dec 18 2010 Christiaan Welvaart <spturtle@mandriva.org> 2.4-1mdv2011.0 + Revision: 622767 - 2.4 * Mon Aug 02 2010 Funda Wang <fwang@mandriva.org> 2.2.10-1mdv2011.0 + Revision: 564939 - new version 2.2.10 * Sat Jan 30 2010 Christiaan Welvaart <spturtle@mandriva.org> 2.2.6b-2mdv2010.1 + Revision: 498615 - patch0: ignore / as inst-prefix dir (fixes bug #57319) * Sat Nov 28 2009 Christiaan Welvaart <spturtle@mandriva.org> 2.2.6b-1mdv2010.1 + Revision: 470775 - 2.2.6b - drop obsolete patches 7 and 15 - patch17: fix libltdl install test for non-minimal build env * Sat Nov 21 2009 Christiaan Welvaart <spturtle@mandriva.org> 2.2.6-10mdv2010.1 + Revision: 468578 - patch16: fix gcj compilation checks in configure scripts: use GCJFLAGS instead of CFLAGS (replaces previous workaround) * Fri Nov 20 2009 Anssi Hannula <anssi@mandriva.org> 2.2.6-9mdv2010.1 + Revision: 467716 - workaround gcj flags detection in configure by disabling -Wformat, and remove then unneeded -fPIC workaround added in previous release (fixes creation of java convenience libraries that broke with the previous workaround) * Thu Nov 19 2009 Oden Eriksson <oeriksson@mandriva.com> 2.2.6-8mdv2010.1 + Revision: 467567 - use -fPIC for x86_64 for now... + Pascal Terjan <pterjan@mandriva.org> - Fix tests + Funda Wang <fwang@mandriva.org> - rebuild * Sun Mar 15 2009 Anssi Hannula <anssi@mandriva.org> 2.2.6-6mdv2009.1 + Revision: 355430 - apply lib64.patch to the correct file (it has been applied to a test file since libtool was updated to 2.x) * Sun Mar 15 2009 Anssi Hannula <anssi@mandriva.org> 2.2.6-5mdv2009.1 + Revision: 355373 - readd lib64.patch, not fixed upstream after all (duh) - drop lib64.patch, fixed upstream * Wed Jan 28 2009 Pixel <pixel@mandriva.com> 2.2.6-3mdv2009.1 + Revision: 334853 - add patch14: fix checking libltdl is installed (#47357) * Wed Jan 28 2009 Pixel <pixel@mandriva.com> 2.2.6-2mdv2009.1 + Revision: 334757 - libltdl-devel obsoletes libltdl3-devel * Tue Jan 27 2009 Pixel <pixel@mandriva.com> 2.2.6-1mdv2009.1 + Revision: 334330 - new version: 2.2.6a - libltdl's major is now 7 - do not use major in libltdl-devel subpackage (to follow mandriva library policy) - ensure we can't build when the major is wrong - for the testsuite to succeed: o disable icrecream during the tests o disable ld --as-needed and --no-undefined - rediff patch0, patch1, patch2, patch7, patch12, patch13 - drop patch4, patch5, patch11 (tests related patches, now unneeded) - no need to clean demo/ since all the build is done in build-xxx - partially drop cputoolize, keeping it only for transition * Tue Oct 07 2008 Pixel <pixel@mandriva.com> 1.5.26-6mdv2009.1 + Revision: 291169 - drop anygcc patch, which is not doing anything useful, and fixed differently - do not use -nostdlib to build libraries, and so no need to hardcode gcc path (#44616) * Wed Aug 06 2008 Thierry Vignaud <tv@mandriva.org> 1.5.26-5mdv2009.0 + Revision: 264933 - rebuild early 2009.0 package (before pixel changes) + Pixel <pixel@mandriva.com> - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers * Wed Jun 04 2008 Anssi Hannula <anssi@mandriva.org> 1.5.26-4mdv2009.0 + Revision: 214898 - update lib64.patch: o do not hardcode build-time library search path (sys_lib_search_path_spec), as libtool fetches it from gcc o apply lib64 change to run-time library search path (sys_lib_dlsearch_path_spec) even when /etc/ld.so.conf does not exist * Mon May 26 2008 Pixel <pixel@mandriva.com> 1.5.26-3mdv2009.0 + Revision: 211318 - discard ld option "--no-undefined" when building shared library modules * Wed May 07 2008 Pixel <pixel@mandriva.com> 1.5.26-2mdv2009.0 + Revision: 202855 - do not build shared files with all deplibs (cf http://wiki.mandriva.com/en/Overlinking) * Thu Apr 17 2008 Oden Eriksson <oeriksson@mandriva.com> 1.5.26-1mdv2009.0 + Revision: 195285 - 1.5.26 + Olivier Blin <oblin@mandriva.com> - restore BuildRoot + Thierry Vignaud <tv@mandriva.org> - kill re-definition of %%buildroot on Pixel's request * Sun Oct 14 2007 Christiaan Welvaart <spturtle@mandriva.org> 1.5.24-1mdv2008.1 + Revision: 98132 - 1.5.24 - rediff patch1 - drop patch6 - almost completely included upstream - drop patches 8 and 9 - merged upstream * Sun Sep 30 2007 Anssi Hannula <anssi@mandriva.org> 1.5.22-3mdv2008.0 + Revision: 94045 - add conflicts with old libextractor1 for smooth upgrade * Tue Sep 18 2007 Anssi Hannula <anssi@mandriva.org> 1.5.22-2mdv2008.0 + Revision: 89730 - rebuild due to package loss * Mon Jan 29 2007 Per Ãyvind Karlsen <pkarlsen@mandriva.com> 1.5.22-1mdv2007.0 + Revision: 114816 - new release: 1.5.22 - detect gcc path at runtime instead of requiring specific version (P10 from fedora) - regenerate P6 - fix link.test check - use new %%check stage for checks - license for libraries is LGPL, not GPL * Thu Jan 04 2007 Gwenole Beauchesne <gbeauchesne@mandriva.com> 1.5.20-11mdv2007.1 + Revision: 104146 - recognize cell spu targets * Sat Nov 11 2006 Anssi Hannula <anssi@mandriva.org> 1.5.20-10mdv2007.1 + Revision: 83259 - fix gcc_version define when gcc is not present - rebuild for gcc 4.1.2 - Import libtool * Fri Jun 02 2006 Gustavo Pichorim Boiko <boiko@mandriva.com> 1.5.20-9mdk - Added requires for sed (it is needed for cputoolize) * Thu May 18 2006 Gwenole Beauchesne <gbeauchesne@mandriva.com> 1.5.20-8mdk - rebuild for 4.1.1 * Wed Apr 26 2006 Christiaan Welvaart <cjw@daneel.dyndns.org> 1.5.20-7mdk - patch7: fix incremental linking for GCJ tag - add a conflicts to fix upgrade * Thu Feb 16 2006 Gwenole Beauchesne <gbeauchesne@mandriva.com> 1.5.20-6mdk - rebuild for 4.0.3 * Wed Nov 23 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 1.5.20-5mdk - fix filelist for biarch architectures * Fri Nov 18 2005 Abel Cheung <deaddog@mandriva.org> 1.5.20-4mdk - Revert previous crappy revert that make people's life difficult * Wed Nov 16 2005 Gwenole Beauchesne <gbeauchesne@mandriva.com> 1.5.20-3mdk - revert change of lame coward who does not even know how to use --define * Fri Nov 04 2005 Gwenole Beauchesne <gbeauchesne@mandriva.com> 1.5.20-1mdk - 1.5.20 - buildrequires gfortran and gcj - allow definition of custom gcc_version * Sat Aug 13 2005 Gwenole Beauchesne <gbeauchesne@mandriva.com> 1.5.18-1mdk - 1.5.18 - readd the strict gcc requirement, it's still need to match with current env compiler * Mon Jun 20 2005 Stefan van der Eijk <stefan@eijk.nu> 1.5.12-8mdk - remove construction like bug 6574 * Fri Jun 03 2005 Gwenole Beauchesne <gbeauchesne@mandriva.com> 1.5.12-7mdk - rebuild for 4.0.1 * Sat May 07 2005 Gwenole Beauchesne <gbeauchesne@mandriva.com> 1.5.12-6mdk - rebuild once more in a clean environment this time * Thu May 05 2005 Gwenole Beauchesne <gbeauchesne@mandriva.com> 1.5.12-5mdk - rebuild * Sun Feb 27 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 1.5.12-4mdk - fix bug in Patch0 affecting packages with multiple inst_prefixed lib paths * Wed Feb 23 2005 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.5.12-3mdk - make libtool script multiarch, other lib64 fixes * Fri Feb 11 2005 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.5.12-2mdk - really pass thread flags * Thu Feb 10 2005 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.5.12-1mdk - 1.5.12 - /usr/bin/libtool is compiler dependent * Wed Jul 28 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.5.6-4mdk - Patch10: demo-nopic test not suitable on x86_64 * Tue Jun 22 2004 Abel Cheung <deaddog@deaddog.org> 1.5.6-3mdk - Fix patch16 to include more compatibility hack - Fix Provides (thx gb) * Sat May 22 2004 Abel Cheung <deaddog@deaddog.org> 1.5.6-2mdk - Patch16: Libtool sucks, changing the variable that defines ".so" extension all the time * Mon May 03 2004 Abel Cheung <deaddog@deaddog.org> 1.5.6-1mdk - THE BIG MOVE - Updated P2(relink), P3(lib64), P4(add x86_64 to host_cpu), P8($SED), P12(libtoolize --config-only), P14(test dependency) - Disable or drop other obsolete patches (some are kept in case they might be useful later) - Patch15: Shamelessly copied from fedora RPM, fix test cases - Please check if test suite fails for non-IA32 archs * Wed Feb 11 2004 Abel Cheung <deaddog@deaddog.org> 1.4.3-10mdk - Yet another more extra additional (...) fix to relink patch, hopefully final - Patch14: demo-conf.test is a prerequisite of demo-conf.test