diff options
Diffstat (limited to 'dev-build')
-rw-r--r-- | dev-build/libtool/Manifest | 1 | ||||
-rw-r--r-- | dev-build/libtool/libtool-2.5.1.ebuild | 151 |
2 files changed, 152 insertions, 0 deletions
diff --git a/dev-build/libtool/Manifest b/dev-build/libtool/Manifest index 1fd702479965..f994b75503da 100644 --- a/dev-build/libtool/Manifest +++ b/dev-build/libtool/Manifest @@ -1,2 +1,3 @@ DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da DIST libtool-2.5.0.tar.xz 1032148 BLAKE2B a166423dae1000eb0a8d17f3872ed55b3338444ac61f51752f43a5886bc22fd233e060c7f4c8c7fa093bf50e589f03b755c628199534ef7b8a41935e1bf9d887 SHA512 7b426fe9550a7899de93c372d2c355867be02f7bb39f2b1de06ff30cb34c81bf89759c835bdb23081cef60bfeb39b786ed90bac43e7300956fd8ee1f7dc0a609 +DIST libtool-2.5.1.tar.xz 1043544 BLAKE2B ae1e45c9d56a94980549476ed5abb7d617491360ff23ce88da9e884630280004152a9f5a96267be710930f14917bf7b00ab212acd4c65ceba1e201d2f01809e0 SHA512 ac0a6a8570ff81099585f6c3bf5a8f94851457a068b808e505422276a22638b1912a81f94e185bc2f8661b7abe2f2b2482b1af2cf42307787cbbd71d1b1612da diff --git a/dev-build/libtool/libtool-2.5.1.ebuild b/dev-build/libtool/libtool-2.5.1.ebuild new file mode 100644 index 000000000000..170c55f2db74 --- /dev/null +++ b/dev-build/libtool/libtool-2.5.1.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with dev-libs/libltdl. + +# bug #225559 +LIBTOOLIZE="true" +WANT_LIBTOOL="none" +inherit autotools flag-o-matic prefix multiprocessing + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/libtool.git" + inherit git-r3 +elif ! [[ $(( $(ver_cut 2) % 2 )) -eq 0 ]] ; then + SRC_URI="https://alpha.gnu.org/gnu/${PN}/${P}.tar.xz" +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +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 + >=dev-build/autoconf-2.69:* + >=dev-build/automake-1.13:* +" +DEPEND="${RDEPEND}" +[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man" + +# Note that we have more patches in https://gitweb.gentoo.org/proj/elt-patches.git/ +# for package builds. The patches here are just those which are definitely fine +# for the system-wide libtool installation as well. +PATCHES=( + # bug #109105 + "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch + # bug #581314 + "${FILESDIR}"/${PN}-2.4.6-ppc64le.patch + + "${FILESDIR}"/${PN}-2.2.6a-darwin-module-bundle.patch + "${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch +) + +src_prepare() { + if [[ ${PV} == *9999 ]] ; then + eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch # bug #650876 + ./bootstrap || die + else + PATCHES+=( + "${FILESDIR}"/${PN}-2.4.6-pthread_bootstrapped.patch # bug #650876 + ) + fi + + # WARNING: File build-aux/ltmain.sh is read-only; trying to patch anyway + chmod +w build-aux/ltmain.sh || die + + if use vanilla ; then + eapply_user + return 0 + else + default + fi + + 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 || die + AT_NOELIBTOOLIZE=yes eautoreconf + popd >/dev/null || die + AT_NOELIBTOOLIZE=yes eautoreconf + + # Make sure timestamps don't trigger a rebuild of man pages. #556512 + if [[ ${PV} != *9999 ]] ; then + touch doc/*.1 || die + export HELP2MAN=true + 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. + # Do not bother hardcoding the full path to sed. + # Just rely on $PATH. bug #574550 + export CONFIG_SHELL="${EPREFIX}"/bin/bash + export ac_cv_path_SED="sed" + export ac_cv_path_EGREP="grep -E" + export ac_cv_path_EGREP_TRADITIONAL="grep -E" + export ac_cv_path_FGREP="grep -F" + export ac_cv_path_GREP="grep" + export ac_cv_path_lt_DD="dd" + + local myeconfargs=( + # Split into dev-libs/libltdl + --disable-ltdl-install + + # Tests break otherwise (when porting to EAPI 8) + # https://lists.gnu.org/archive/html/bug-libtool/2014-10/msg00013.html + --enable-static + ) + + [[ ${CHOST} == *-darwin* ]] && myeconfargs+=( "--program-prefix=g" ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +src_test() { + ( + # The testsuite is sensitive to warnings, expects static + # archives to really be archives (not compiler IR), etc. + strip-flags + filter-flags -fno-semantic-interposition + filter-flags '-Wstrict-aliasing=*' '-Werror=*' + filter-lto + + emake -Onone check \ + CFLAGS="${CFLAGS}" \ + CXXFLAGS="${CXXFLAGS}" \ + FFLAGS="${FFLAGS}" \ + FCFLAGS="${FCFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)" + ) +} + +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) +} |