3 |
3 |
|
4 |
4 |
EAPI=7
|
5 |
5 |
|
|
6 |
PYTHON_COMPAT=( python3_{10..11} )
|
|
7 |
|
|
8 |
inherit python-any-r1
|
|
9 |
|
|
10 |
if [[ ${PV} == 9999 ]] ; then
|
|
11 |
EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
|
|
12 |
inherit git-r3
|
|
13 |
else
|
|
14 |
if [[ ${PV/_beta} == ${PV} ]]; then
|
|
15 |
MY_P="${P}"
|
|
16 |
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
|
|
17 |
https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
|
18 |
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"
|
|
19 |
else
|
|
20 |
MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b"
|
|
21 |
MY_P="${PN}-${MY_PV}"
|
|
22 |
|
|
23 |
# Alpha/beta releases are not distributed on the usual mirrors.
|
|
24 |
SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
|
25 |
fi
|
|
26 |
|
|
27 |
S="${WORKDIR}/${MY_P}"
|
|
28 |
fi
|
|
29 |
|
6 |
30 |
DESCRIPTION="Used to generate Makefile.in from Makefile.am"
|
7 |
31 |
HOMEPAGE="https://www.gnu.org/software/automake/"
|
8 |
|
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
9 |
32 |
|
10 |
33 |
LICENSE="GPL-2"
|
11 |
34 |
# Use Gentoo versioning for slotting.
|
12 |
35 |
SLOT="${PV:0:4}"
|
13 |
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"
|
14 |
36 |
IUSE="test"
|
15 |
|
RESTRICT="test !test? ( test )"
|
|
37 |
RESTRICT="!test? ( test )"
|
16 |
38 |
|
17 |
39 |
RDEPEND="
|
18 |
40 |
>=dev-lang/perl-5.6
|
19 |
|
>=sys-devel/automake-wrapper-10
|
|
41 |
>=sys-devel/automake-wrapper-11
|
20 |
42 |
>=sys-devel/autoconf-2.69:*
|
21 |
43 |
sys-devel/gnuconfig
|
22 |
44 |
"
|
23 |
|
DEPEND="
|
24 |
|
${RDEPEND}
|
25 |
|
sys-apps/help2man
|
26 |
|
"
|
|
45 |
DEPEND="${RDEPEND}"
|
27 |
46 |
BDEPEND="
|
28 |
|
app-arch/gzip
|
29 |
|
test? ( dev-util/dejagnu )
|
|
47 |
app-alternatives/gzip
|
|
48 |
sys-apps/help2man
|
|
49 |
test? (
|
|
50 |
${PYTHON_DEPS}
|
|
51 |
dev-util/dejagnu
|
|
52 |
)
|
30 |
53 |
"
|
31 |
54 |
|
32 |
55 |
PATCHES=(
|
33 |
|
"${FILESDIR}"/${PN}-1.10-perl-5.16.patch #424453
|
34 |
|
"${FILESDIR}"/${PN}-1.11-install-sh-avoid-low-risk-race-in-tmp.patch
|
35 |
|
"${FILESDIR}"/${PN}-1.13-perl-escape-curly-bracket-r1.patch
|
|
56 |
"${FILESDIR}"/automake-1.16.2-py3-compile.patch
|
|
57 |
"${FILESDIR}"/automake-1.16.2-fix-instmany-python.sh-test.patch
|
|
58 |
"${FILESDIR}"/automake-1.16.2-fix-py-compile-basedir.sh-test.patch
|
36 |
59 |
)
|
37 |
60 |
|
|
61 |
pkg_setup() {
|
|
62 |
# Avoid python-any-r1_pkg_setup
|
|
63 |
:
|
|
64 |
}
|
|
65 |
|
38 |
66 |
src_prepare() {
|
39 |
67 |
default
|
|
68 |
|
40 |
69 |
export WANT_AUTOCONF=2.5
|
41 |
|
export HELP2MAN=true
|
|
70 |
# Don't try wrapping the autotools - this thing runs as it tends
|
|
71 |
# to be a bit esoteric, and the script does `set -e` itself.
|
|
72 |
./bootstrap || die
|
42 |
73 |
sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
|
43 |
|
export TZ="UTC" #589138
|
|
74 |
|
|
75 |
# bug #628912
|
|
76 |
if ! has_version -b sys-apps/texinfo ; then
|
|
77 |
touch doc/{stamp-vti,version.texi,automake.info} || die
|
|
78 |
fi
|
|
79 |
}
|
|
80 |
|
|
81 |
src_configure() {
|
|
82 |
use test && python_setup
|
|
83 |
default
|
44 |
84 |
}
|
45 |
85 |
|
46 |
|
src_compile() {
|
47 |
|
# Also used in install.
|
48 |
|
MY_INFODIR="${EPREFIX}/usr/share/automake-${PV}/info"
|
49 |
|
econf --infodir="${MY_INFODIR}"
|
|
86 |
# Slot the info pages. Do this w/out munging the source so we don't have
|
|
87 |
# to depend on texinfo to regen things. bug #464146 (among others)
|
|
88 |
slot_info_pages() {
|
|
89 |
pushd "${ED}"/usr/share/info >/dev/null || die
|
|
90 |
rm -f dir
|
|
91 |
|
|
92 |
# Rewrite all the references to other pages.
|
|
93 |
# before: * aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4.
|
|
94 |
# after: * aclocal-invocation v1.13: (automake-1.13)aclocal Invocation. Generating aclocal.m4.
|
|
95 |
local p pages=( *.info ) args=()
|
|
96 |
for p in "${pages[@]/%.info}" ; do
|
|
97 |
args+=(
|
|
98 |
-e "/START-INFO-DIR-ENTRY/,/END-INFO-DIR-ENTRY/s|: (${p})| v${SLOT}&|"
|
|
99 |
-e "s:(${p}):(${p}-${SLOT}):g"
|
|
100 |
)
|
|
101 |
done
|
|
102 |
sed -i "${args[@]}" * || die
|
50 |
103 |
|
51 |
|
local x
|
52 |
|
for x in aclocal automake; do
|
53 |
|
help2man "perl -Ilib ${x}" > doc/${x}-${SLOT}.1
|
|
104 |
# Rewrite all the file references, and rename them in the process.
|
|
105 |
local f d
|
|
106 |
for f in * ; do
|
|
107 |
d=${f/.info/-${SLOT}.info}
|
|
108 |
mv "${f}" "${d}" || die
|
|
109 |
sed -i -e "s:${f}:${d}:g" * || die
|
54 |
110 |
done
|
|
111 |
|
|
112 |
popd >/dev/null || die
|
55 |
113 |
}
|
56 |
114 |
|
57 |
115 |
src_install() {
|
58 |
116 |
default
|
59 |
117 |
|
|
118 |
slot_info_pages
|
|
119 |
rm "${ED}"/usr/share/aclocal/README || die
|
|
120 |
rmdir "${ED}"/usr/share/aclocal || die
|
60 |
121 |
rm \
|
61 |
122 |
"${ED}"/usr/bin/{aclocal,automake} \
|
62 |
123 |
"${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
|
... | ... | |
72 |
133 |
# Avoid QA message about pre-compressed file in docs
|
73 |
134 |
local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz"
|
74 |
135 |
if [[ -f "${tarfile}" ]] ; then
|
75 |
|
gunzip "${tarfile}" || die
|
|
136 |
gunzip "${tarfile}" || die
|
76 |
137 |
fi
|
77 |
|
|
78 |
|
pushd "${D}/${MY_INFODIR}" >/dev/null || die
|
79 |
|
for f in *.info*; do
|
80 |
|
# Install convenience aliases for versioned Automake pages.
|
81 |
|
ln -s "$f" "${f/./-${PV}.}" || die
|
82 |
|
done
|
83 |
|
popd >/dev/null || die
|
84 |
|
|
85 |
|
local major="$(ver_cut 1)"
|
86 |
|
local minor="$(ver_cut 2)"
|
87 |
|
local idx="$((99999-(major*1000+minor)))"
|
88 |
|
newenvd - "06automake${idx}" <<-EOF
|
89 |
|
INFOPATH="${MY_INFODIR}"
|
90 |
|
EOF
|
91 |
138 |
}
|