diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2018-03-26 10:37:26 +0200 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2018-03-26 10:38:31 +0200 |
commit | 5690e822e589b92b4225c8c8b671ff8db5faf605 (patch) | |
tree | 01a78538fd3f5d352bf3c911c537dbadbc1ae14c /sys-devel/libtool | |
parent | sys-devel/libtool: Bump live ebuild to EAPI-6. (diff) | |
download | gentoo-5690e822e589b92b4225c8c8b671ff8db5faf605.tar.gz gentoo-5690e822e589b92b4225c8c8b671ff8db5faf605.tar.bz2 gentoo-5690e822e589b92b4225c8c8b671ff8db5faf605.zip |
sys-devel/libtool: Revbump to add pthread patch.
Bug: https://bugs.gentoo.org/650876
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'sys-devel/libtool')
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch | 6 | ||||
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.6-pthread.patch | 43 | ||||
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch | 21 | ||||
-rw-r--r-- | sys-devel/libtool/libtool-2.4.6-r5.ebuild | 124 | ||||
-rw-r--r-- | sys-devel/libtool/libtool-9999.ebuild | 5 |
5 files changed, 196 insertions, 3 deletions
diff --git a/sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch b/sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch index abddee13dc30..d27f976ccb40 100644 --- a/sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch +++ b/sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch @@ -37,13 +37,13 @@ Signed-off-by: Pavel Raiskup <praiskup@redhat.com> NEWS | 4 ++++ NO-THANKS | 1 + bootstrap | 42 +++++++++++++++++++++++++++--------------- - gl/build-aux/extract-trace | 42 +++++++++++++++++++++++++++--------------- + build-aux/extract-trace | 42 +++++++++++++++++++++++++++--------------- 4 files changed, 59 insertions(+), 30 deletions(-) diff --git a/gl/build-aux/extract-trace b/gl/build-aux/extract-trace index 315a32a..c6abd21 100755 ---- a/gl/build-aux/extract-trace -+++ b/gl/build-aux/extract-trace +--- a/build-aux/extract-trace ++++ b/build-aux/extract-trace @@ -329,29 +329,41 @@ func_extract_trace () # arguments to Autocof functions, but without following # 'm4_s?include' files. diff --git a/sys-devel/libtool/files/libtool-2.4.6-pthread.patch b/sys-devel/libtool/files/libtool-2.4.6-pthread.patch new file mode 100644 index 000000000000..49b81c1dcda6 --- /dev/null +++ b/sys-devel/libtool/files/libtool-2.4.6-pthread.patch @@ -0,0 +1,43 @@ +http://permalink.gmane.org/gmane.comp.gnu.libtool.patches/11704 +https://bugs.gentoo.org/650876 + +From: Pavel Raiskup <praiskup <at> redhat.com> +Subject: [PATCH] libtool: handle the -pthread{,s} options for g++ +Newsgroups: gmane.comp.gnu.libtool.patches +Date: Thursday 28th November 2013 14:18:05 UTC (over 4 years ago) + +As we are forced to pass -nostdlib to g++ for linking, this option +expectedly disables the effectiveness of passed -pthread flag - so +add the -lpthread explicitly to $deplibs to link correctly. + +References: +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 +https://bugzilla.redhat.com/show_bug.cgi?id=661333 +http://lists.gnu.org/archive/html/bug-libtool/2013-01/msg00018.htm + +* build-aux/ltmain.in (func_mode_link): Explicitly add -lpthread +flag into $deplibs when -pthread is passed (for g++ only). +--- + build-aux/ltmain.in | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in +index fba05c1..f202b80 100644 +--- a/build-aux/ltmain.in ++++ b/build-aux/ltmain.in +@@ -5113,6 +5113,16 @@ func_mode_link () + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac ++ ++ # As we are forced to pass -nostdlib to g++ during linking, the option ++ # -pthread{,s} is not in effect; add the -lpthread to $deplist ++ # explicitly to link correctly. ++ if test "$tagname" = CXX -a x"$with_gcc" = xyes; then ++ case "$arg" in ++ -pthread*) func_append deplibs " -lpthread" ;; ++ esac ++ fi ++ + continue + ;; diff --git a/sys-devel/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch b/sys-devel/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch new file mode 100644 index 000000000000..54461ccc54ee --- /dev/null +++ b/sys-devel/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch @@ -0,0 +1,21 @@ +https://bugs.gentoo.org/650876 + +--- libtool-2.4.6/build-aux/ltmain.sh ++++ libtool-2.4.6/build-aux/ltmain.sh +@@ -7079,6 +7079,16 @@ + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac ++ ++ # As we are forced to pass -nostdlib to g++ during linking, the option ++ # -pthread{,s} is not in effect; add the -lpthread to $deplist ++ # explicitly to link correctly. ++ if test "$tagname" = CXX -a x"$with_gcc" = xyes; then ++ case "$arg" in ++ -pthread*) func_append deplibs " -lpthread" ;; ++ esac ++ fi ++ + continue + ;; + diff --git a/sys-devel/libtool/libtool-2.4.6-r5.ebuild b/sys-devel/libtool/libtool-2.4.6-r5.ebuild new file mode 100644 index 000000000000..710968a99a5d --- /dev/null +++ b/sys-devel/libtool/libtool-2.4.6-r5.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +LIBTOOLIZE="true" #225559 +WANT_LIBTOOL="none" +inherit autotools epatch epunt-cxx multilib unpacker prefix + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git + http://git.savannah.gnu.org/r/${PN}.git" + inherit git-r3 +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +fi + +DESCRIPTION="A shared library tool for developers" +HOMEPAGE="https://www.gnu.org/software/libtool/" + +LICENSE="GPL-2" +SLOT="2" +IUSE="vanilla" + +# Pull in libltdl directly until we convert packages to the new dep. +RDEPEND="sys-devel/gnuconfig + >=sys-devel/autoconf-2.69 + >=sys-devel/automake-1.13 + dev-libs/libltdl:0 + !<sys-apps/sandbox-2.10-r4" +DEPEND="${RDEPEND} + app-arch/xz-utils" +[[ ${PV} == "9999" ]] && DEPEND+=" sys-apps/help2man" + +PATCHES=( + "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch #109105 + "${FILESDIR}"/${P}-link-specs.patch + "${FILESDIR}"/${P}-link-fsanitize.patch #573744 + "${FILESDIR}"/${P}-link-fuse-ld.patch + "${FILESDIR}"/${P}-libtoolize-slow.patch + "${FILESDIR}"/${P}-libtoolize-delay-help.patch + "${FILESDIR}"/${P}-sed-quote-speedup.patch #542252 + "${FILESDIR}"/${P}-ppc64le.patch #581314 + + "${FILESDIR}"/${PN}-2.4.6-mint.patch + "${FILESDIR}"/${PN}-2.2.6a-darwin-module-bundle.patch + "${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch +) + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + git-r3_src_unpack + else + unpacker_src_unpack + fi +} + +src_prepare() { + if [[ "${PV}" = 9999 ]] ; then + eapply "${FILESDIR}"/${P}-pthread.patch #650876 + ./bootstrap || die + else + PATCHES+=( + "${FILESDIR}"/${P}-pthread_bootstrapped.patch #650876 + ) + fi + + use vanilla && return 0 + + default + + if use prefix ; then + # seems that libtool has to know about EPREFIX a little bit + # better, since it fails to find prefix paths to search libs + # from, resulting in some packages building static only, since + # libtool is fooled into thinking that libraries are unavailable + # (argh...). This could also be fixed by making the gcc wrapper + # return the correct result for -print-search-dirs (doesn't + # include prefix dirs ...). + eapply "${FILESDIR}"/${PN}-2.2.10-eprefix.patch + eprefixify m4/libtool.m4 + fi + + pushd libltdl >/dev/null + AT_NOELIBTOOLIZE=yes eautoreconf + popd >/dev/null + AT_NOELIBTOOLIZE=yes eautoreconf + epunt_cxx + + # Make sure timestamps don't trigger a rebuild of man pages. #556512 + if [[ ${PV} != "9999" ]] ; then + touch doc/*.1 + export HELP2MAN=false + fi +} + +src_configure() { + # the libtool script uses bash code in it and at configure time, tries + # to find a bash shell. if /bin/sh is bash, it uses that. this can + # cause problems for people who switch /bin/sh on the fly to other + # shells, so just force libtool to use /bin/bash all the time. + export CONFIG_SHELL="$(type -P bash)" + + # Do not bother hardcoding the full path to sed. Just rely on $PATH. #574550 + export ac_cv_path_SED="$(basename "$(type -P sed)")" + + local myconf + [[ ${CHOST} == *-darwin* ]] && myconf="--program-prefix=g" + ECONF_SOURCE=${S} econf ${myconf} --disable-ltdl-install +} + +src_test() { + emake check +} + +src_install() { + default + + local x + while read -d $'\0' -r x ; do + ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die + done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0) +} diff --git a/sys-devel/libtool/libtool-9999.ebuild b/sys-devel/libtool/libtool-9999.ebuild index db8bd168cfdc..140bf7a5cb41 100644 --- a/sys-devel/libtool/libtool-9999.ebuild +++ b/sys-devel/libtool/libtool-9999.ebuild @@ -50,7 +50,12 @@ src_unpack() { src_prepare() { if [[ "${PV}" = 9999 ]] ; then + eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch #650876 ./bootstrap || die + else + PATCHES+=( + "${FILESDIR}"/${P}-pthread_bootstrapped.patch #650876 + ) fi use vanilla && return 0 |