diff options
author | Arsen Arsenović <arsen@gentoo.org> | 2023-03-26 14:29:11 +0200 |
---|---|---|
committer | Arsen Arsenović <arsen@gentoo.org> | 2023-03-27 22:36:54 +0200 |
commit | d685a4e4ed92516f535b64cf7fe9f599e6ddf8aa (patch) | |
tree | bb0420cc052a36c27d67bfe895757eab187724c0 /sys-devel | |
parent | sys-devel/autoconf: Add revisions without Info path breaking (diff) | |
download | gentoo-d685a4e4ed92516f535b64cf7fe9f599e6ddf8aa.tar.gz gentoo-d685a4e4ed92516f535b64cf7fe9f599e6ddf8aa.tar.bz2 gentoo-d685a4e4ed92516f535b64cf7fe9f599e6ddf8aa.zip |
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@gentoo.org>
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/automake/automake-1.11.6-r4.ebuild | 84 | ||||
-rw-r--r-- | sys-devel/automake/automake-1.16.5-r1.ebuild | 119 | ||||
-rw-r--r-- | sys-devel/automake/automake-9999.ebuild | 48 |
3 files changed, 220 insertions, 31 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-1.16.5-r1.ebuild b/sys-devel/automake/automake-1.16.5-r1.ebuild new file mode 100644 index 000000000000..912c9637c563 --- /dev/null +++ b/sys-devel/automake/automake-1.16.5-r1.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit python-any-r1 + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git" + inherit git-r3 +else + if [[ ${PV/_beta} == ${PV} ]]; then + 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 ~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}" + + # Alpha/beta releases are not distributed on the usual mirrors. + SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" + fi + + S="${WORKDIR}/${MY_P}" +fi + +DESCRIPTION="Used to generate Makefile.in from Makefile.am" +HOMEPAGE="https://www.gnu.org/software/automake/" + +LICENSE="GPL-2" +# Use Gentoo versioning for slotting. +SLOT="${PV:0:4}" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=">=dev-lang/perl-5.6 + >=sys-devel/automake-wrapper-11 + >=sys-devel/autoconf-2.69:* + sys-devel/gnuconfig" +DEPEND="${RDEPEND}" +BDEPEND=" + app-arch/gzip + sys-apps/help2man + 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 + : +} + +src_prepare() { + default + + export WANT_AUTOCONF=2.5 + # Don't try wrapping the autotools - this thing runs as it tends + # to be a bit esoteric, and the script does `set -e` itself. + ./bootstrap || die + sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die + + # bug #628912 + if ! has_version -b sys-apps/texinfo ; then + touch doc/{stamp-vti,version.texi,automake.info} || die + fi +} + +src_configure() { + use test && python_setup + # Also used in install. + MY_INFODIR="${EPREFIX}/usr/share/automake-${PV}/info" + econf --infodir="${MY_INFODIR}" +} + +src_install() { + default + + rm "${ED}"/usr/share/aclocal/README || die + rmdir "${ED}"/usr/share/aclocal || die + 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-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 } |