# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" PYTHON_COMPAT=( python2_7 ) inherit python-any-r1 versionator 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" else MY_PV="$(get_major_version).$(($(get_version_component_range 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 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}" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="test" RESTRICT="!test? ( test )" RDEPEND="dev-lang/perl >=sys-devel/automake-wrapper-10 >=sys-devel/autoconf-2.69:* sys-devel/gnuconfig" DEPEND="${RDEPEND} sys-apps/help2man test? ( ${PYTHON_DEPS} )" PATCHES=( "${FILESDIR}"/${PN}-1.14-gzip-fix.patch "${FILESDIR}"/${PN}-1.14-install-sh-avoid-low-risk-race-in-tmp.patch "${FILESDIR}"/${PN}-1.15-perl-escape-curly-bracket.patch ) S="${WORKDIR}/${MY_P}" pkg_setup() { use test && python-any-r1_pkg_setup } src_prepare() { default export WANT_AUTOCONF=2.5 sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die # Bug 628912 if ! has_version sys-apps/texinfo ; then touch doc/{stamp-vti,version.texi,automake.info} || die fi } # slot the info pages. do this w/out munging the source so we don't have # to depend on texinfo to regen things. #464146 (among others) slot_info_pages() { pushd "${ED%/}"/usr/share/info >/dev/null || die rm -f dir || die # 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 } src_install() { default slot_info_pages 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 }