93 lines
2.6 KiB
Bash
93 lines
2.6 KiB
Bash
# Copyright 1999-2018 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI="6"
|
|
PYTHON_COMPAT=( python2_7 )
|
|
|
|
inherit python-any-r1
|
|
|
|
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 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"
|
|
IUSE="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.13-dyn-ithreads.patch
|
|
"${FILESDIR}"/${PN}-1.13-perl-escape-curly-bracket-r1.patch
|
|
"${FILESDIR}"/${PN}-1.13-hash-order-workaround.patch
|
|
"${FILESDIR}"/${PN}-1.14-install-sh-avoid-low-risk-race-in-tmp.patch
|
|
)
|
|
|
|
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
|
|
}
|
|
|
|
src_configure() {
|
|
econf --docdir="\$(datarootdir)/doc/${PF}"
|
|
}
|
|
|
|
# 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
|
|
}
|