You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
2.7 KiB
113 lines
2.7 KiB
# Copyright 1999-2022 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
|
|
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/gawk.asc
|
|
|
|
inherit verify-sig
|
|
|
|
DESCRIPTION="GNU awk pattern-matching language"
|
|
HOMEPAGE="https://www.gnu.org/software/gawk/gawk.html"
|
|
SRC_URI="mirror://gnu/gawk/${P}.tar.xz"
|
|
SRC_URI+=" verify-sig? ( mirror://gnu/gawk/${P}.tar.xz.sig )"
|
|
|
|
LICENSE="GPL-2"
|
|
SLOT="0"
|
|
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"
|
|
IUSE="mpfr nls readline"
|
|
|
|
RDEPEND="
|
|
mpfr? (
|
|
dev-libs/gmp:=
|
|
dev-libs/mpfr:=
|
|
)
|
|
readline? ( sys-libs/readline:= )
|
|
"
|
|
DEPEND="${RDEPEND}"
|
|
BDEPEND="
|
|
>=sys-apps/texinfo-6.7
|
|
>=sys-devel/bison-3.5.4
|
|
nls? ( sys-devel/gettext )
|
|
verify-sig? ( sec-keys/openpgp-keys-gawk )
|
|
"
|
|
|
|
src_prepare() {
|
|
default
|
|
|
|
# Use symlinks rather than hardlinks, and disable version links
|
|
sed -i \
|
|
-e '/^LN =/s:=.*:= $(LN_S):' \
|
|
-e '/install-exec-hook:/s|$|\nfoo:|' \
|
|
Makefile.in doc/Makefile.in || die
|
|
|
|
# bug #413327
|
|
sed -i '/^pty1:$/s|$|\n_pty1:|' test/Makefile.in || die
|
|
|
|
# Fix typo in configure
|
|
# https://lists.gnu.org/archive/html/bug-gawk/2021-10/msg00022.html
|
|
sed -i -e 's/AR_FLAGS = /AR_FLAGS=/' configure || die
|
|
|
|
# Fix standards conflict on Solaris
|
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
|
sed -i \
|
|
-e '/\<_XOPEN_SOURCE\>/s/1$/600/' \
|
|
-e '/\<_XOPEN_SOURCE_EXTENDED\>/s/1//' \
|
|
extension/inplace.c || die
|
|
fi
|
|
}
|
|
|
|
src_configure() {
|
|
# Avoid automagic dependency on libsigsegv
|
|
export ac_cv_libsigsegv=no
|
|
|
|
local myeconfargs=(
|
|
--cache-file="${S}"/config.cache
|
|
--libexec='$(libdir)/misc'
|
|
$(use_with mpfr)
|
|
$(use_enable nls)
|
|
$(use_with readline)
|
|
)
|
|
|
|
econf "${myeconfargs[@]}"
|
|
}
|
|
|
|
src_install() {
|
|
# Automatic dodocs barfs
|
|
rm -rf README_d || die
|
|
|
|
default
|
|
|
|
# Install headers
|
|
insinto /usr/include/awk
|
|
doins *.h
|
|
rm "${ED}"/usr/include/awk/config.h || die
|
|
}
|
|
|
|
pkg_postinst() {
|
|
# Symlink creation here as the links do not belong to gawk, but to any awk
|
|
if has_version app-admin/eselect && has_version app-eselect/eselect-awk ; then
|
|
eselect awk update ifunset
|
|
else
|
|
local l
|
|
for l in "${EROOT}"/usr/share/man/man1/gawk.1* "${EROOT}"/usr/bin/gawk ; do
|
|
if [[ -e ${l} ]] && ! [[ -e ${l/gawk/awk} ]] ; then
|
|
ln -s "${l##*/}" "${l/gawk/awk}" || die
|
|
fi
|
|
done
|
|
|
|
if ! [[ -e ${EROOT}/bin/awk ]] ; then
|
|
# /bin might not exist yet (stage1)
|
|
[[ -d "${EROOT}/bin" ]] || mkdir "${EROOT}/bin" || die
|
|
|
|
ln -s "../usr/bin/gawk" "${EROOT}/bin/awk" || die
|
|
fi
|
|
fi
|
|
}
|
|
|
|
pkg_postrm() {
|
|
if has_version app-admin/eselect && has_version app-eselect/eselect-awk ; then
|
|
eselect awk update ifunset
|
|
fi
|
|
}
|