commit: d685a4e4ed92516f535b64cf7fe9f599e6ddf8aa Author: Arsen Arsenović <arsen <AT> gentoo <DOT> org> AuthorDate: Sun Mar 26 12:29:11 2023 +0000 Commit: Arsen Arsenović <arsen <AT> gentoo <DOT> org> CommitDate: Mon Mar 27 20:36:54 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d685a4e4
sys-devel/automake: Fix installing broken Info pages This commit replaces the Info page slotting mechanism with simple INFOPATH setting. Closes: https://bugs.gentoo.org/902461 Closes: https://github.com/gentoo/gentoo/pull/30355 Signed-off-by: Arsen Arsenović <arsen <AT> gentoo.org> sys-devel/automake/automake-1.11.6-r4.ebuild | 84 ++++++++++++++++++++++ ...omake-9999.ebuild => automake-1.16.5-r1.ebuild} | 56 +++++++-------- sys-devel/automake/automake-9999.ebuild | 48 +++++-------- 3 files changed, 125 insertions(+), 63 deletions(-) diff --git a/sys-devel/automake/automake-1.11.6-r4.ebuild b/sys-devel/automake/automake-1.11.6-r4.ebuild new file mode 100644 index 000000000000..9f1e6e6abe15 --- /dev/null +++ b/sys-devel/automake/automake-1.11.6-r4.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Used to generate Makefile.in from Makefile.am" +HOMEPAGE="https://www.gnu.org/software/automake/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + +LICENSE="GPL-2" +# Use Gentoo versioning for slotting. +SLOT="${PV:0:4}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="" +RESTRICT="test" + +RDEPEND=">=dev-lang/perl-5.6 + >=sys-devel/automake-wrapper-10 + >=sys-devel/autoconf-2.69:* + sys-devel/gnuconfig" +DEPEND="${RDEPEND} + sys-apps/help2man" +BDEPEND="app-arch/gzip" + +PATCHES=( + "${FILESDIR}"/${PN}-1.10-perl-5.16.patch #424453 + "${FILESDIR}"/${PN}-1.11-install-sh-avoid-low-risk-race-in-tmp.patch + "${FILESDIR}"/${PN}-1.13-perl-escape-curly-bracket-r1.patch +) + +src_prepare() { + default + export WANT_AUTOCONF=2.5 + export HELP2MAN=true + sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die + export TZ="UTC" #589138 +} + +src_compile() { + # Also used in install. + MY_INFODIR="${EPREFIX}/usr/share/automake-${PV}/info" + econf --infodir="${MY_INFODIR}" + + local x + for x in aclocal automake; do + help2man "perl -Ilib ${x}" > doc/${x}-${SLOT}.1 + done +} + +src_install() { + default + + rm \ + "${ED}"/usr/bin/{aclocal,automake} \ + "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die + + # remove all config.guess and config.sub files replacing them + # w/a symlink to a specific gnuconfig version + local x + for x in guess sub ; do + dosym ../gnuconfig/config.${x} \ + /usr/share/${PN}-${SLOT}/config.${x} + done + + # Avoid QA message about pre-compressed file in docs + local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz" + if [[ -f "${tarfile}" ]] ; then + gunzip "${tarfile}" || die + fi + + pushd "${D}/${MY_INFODIR}" >/dev/null || die + for f in *.info*; do + # Install convenience aliases for versioned Automake pages. + ln -s "$f" "${f/./-${PV}.}" || die + done + popd >/dev/null || die + + local major="$(ver_cut 1)" + local minor="$(ver_cut 2)" + local idx="$((99999-(major*1000+minor)))" + newenvd - "06automake${idx}" <<-EOF + INFOPATH="${MY_INFODIR}" + EOF +} diff --git a/sys-devel/automake/automake-9999.ebuild b/sys-devel/automake/automake-1.16.5-r1.ebuild similarity index 66% copy from sys-devel/automake/automake-9999.ebuild copy to sys-devel/automake/automake-1.16.5-r1.ebuild index df5d9b7ecfc6..912c9637c563 100644 --- a/sys-devel/automake/automake-9999.ebuild +++ b/sys-devel/automake/automake-1.16.5-r1.ebuild @@ -15,7 +15,7 @@ else MY_P="${P}" SRC_URI="mirror://gnu/${PN}/${P}.tar.xz https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" else MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b" MY_P="${PN}-${MY_PV}" @@ -47,6 +47,12 @@ BDEPEND=" test? ( ${PYTHON_DEPS} ) " +PATCHES=( + "${FILESDIR}"/automake-1.16.2-py3-compile.patch + "${FILESDIR}"/automake-1.16.2-fix-instmany-python.sh-test.patch + "${FILESDIR}"/automake-1.16.2-fix-py-compile-basedir.sh-test.patch +) + pkg_setup() { # Avoid python-any-r1_pkg_setup : @@ -69,42 +75,14 @@ src_prepare() { src_configure() { use test && python_setup - default -} - -# Slot the info pages. Do this w/out munging the source so we don't have -# to depend on texinfo to regen things. bug #464146 (among others) -slot_info_pages() { - pushd "${ED}"/usr/share/info >/dev/null || die - rm -f dir - - # Rewrite all the references to other pages. - # before: * aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4. - # after: * aclocal-invocation v1.13: (automake-1.13)aclocal Invocation. Generating aclocal.m4. - local p pages=( *.info ) args=() - for p in "${pages[@]/%.info}" ; do - args+=( - -e "/START-INFO-DIR-ENTRY/,/END-INFO-DIR-ENTRY/s|: (${p})| v${SLOT}&|" - -e "s:(${p}):(${p}-${SLOT}):g" - ) - done - sed -i "${args[@]}" * || die - - # Rewrite all the file references, and rename them in the process. - local f d - for f in * ; do - d=${f/.info/-${SLOT}.info} - mv "${f}" "${d}" || die - sed -i -e "s:${f}:${d}:g" * || die - done - - popd >/dev/null || die + # Also used in install. + MY_INFODIR="${EPREFIX}/usr/share/automake-${PV}/info" + econf --infodir="${MY_INFODIR}" } src_install() { default - slot_info_pages rm "${ED}"/usr/share/aclocal/README || die rmdir "${ED}"/usr/share/aclocal || die rm \ @@ -124,4 +102,18 @@ src_install() { if [[ -f "${tarfile}" ]] ; then gunzip "${tarfile}" || die fi + + pushd "${D}/${MY_INFODIR}" >/dev/null || die + for f in *.info*; do + # Install convenience aliases for versioned Automake pages. + ln -s "$f" "${f/./-${PV}.}" || die + done + popd >/dev/null || die + + local major="$(ver_cut 1)" + local minor="$(ver_cut 2)" + local idx="$((99999-(major*1000+minor)))" + newenvd - "06automake${idx}" <<-EOF + INFOPATH="${MY_INFODIR}" + EOF } diff --git a/sys-devel/automake/automake-9999.ebuild b/sys-devel/automake/automake-9999.ebuild index df5d9b7ecfc6..382a5bfb5943 100644 --- a/sys-devel/automake/automake-9999.ebuild +++ b/sys-devel/automake/automake-9999.ebuild @@ -69,42 +69,14 @@ src_prepare() { src_configure() { use test && python_setup - default -} - -# Slot the info pages. Do this w/out munging the source so we don't have -# to depend on texinfo to regen things. bug #464146 (among others) -slot_info_pages() { - pushd "${ED}"/usr/share/info >/dev/null || die - rm -f dir - - # Rewrite all the references to other pages. - # before: * aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4. - # after: * aclocal-invocation v1.13: (automake-1.13)aclocal Invocation. Generating aclocal.m4. - local p pages=( *.info ) args=() - for p in "${pages[@]/%.info}" ; do - args+=( - -e "/START-INFO-DIR-ENTRY/,/END-INFO-DIR-ENTRY/s|: (${p})| v${SLOT}&|" - -e "s:(${p}):(${p}-${SLOT}):g" - ) - done - sed -i "${args[@]}" * || die - - # Rewrite all the file references, and rename them in the process. - local f d - for f in * ; do - d=${f/.info/-${SLOT}.info} - mv "${f}" "${d}" || die - sed -i -e "s:${f}:${d}:g" * || die - done - - popd >/dev/null || die + # Also used in install. + infopath="${EPREFIX}/usr/share/automake-${PV}/info" + econf --infodir="${infopath}" } src_install() { default - slot_info_pages rm "${ED}"/usr/share/aclocal/README || die rmdir "${ED}"/usr/share/aclocal || die rm \ @@ -124,4 +96,18 @@ src_install() { if [[ -f "${tarfile}" ]] ; then gunzip "${tarfile}" || die fi + + pushd "${D}/${infopath}" >/dev/null || die + for f in *.info*; do + # Install convenience aliases for versioned Automake pages. + ln -s "$f" "${f/./-${PV}.}" || die + done + popd >/dev/null || die + + local major="$(ver_cut 1)" + local minor="$(ver_cut 2)" + local idx="$((99999-(major*1000+minor)))" + newenvd - "06automake${idx}" <<-EOF + INFOPATH="${infopath}" + EOF }
