From 9c34dca35ccf59e09deec020d3113a2f1b7b6bbc Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Thu, 13 Aug 2015 01:42:34 +0200 Subject: dev-scheme/slib: Fix compilation with >=sys-apps/texinfo-5 (bug #465348) Signed-off-by: Sebastian Pipping --- dev-scheme/slib/files/slib-3.2.2-fix-texinfo.awk | 123 +++++++++++++++++++++++ dev-scheme/slib/slib-3.2.2.ebuild | 12 +++ 2 files changed, 135 insertions(+) create mode 100644 dev-scheme/slib/files/slib-3.2.2-fix-texinfo.awk (limited to 'dev-scheme') diff --git a/dev-scheme/slib/files/slib-3.2.2-fix-texinfo.awk b/dev-scheme/slib/files/slib-3.2.2-fix-texinfo.awk new file mode 100644 index 000000000000..6bc3ce8e177b --- /dev/null +++ b/dev-scheme/slib/files/slib-3.2.2-fix-texinfo.awk @@ -0,0 +1,123 @@ +# Fixes Texinfo input to compile with Texinfo 5 or later +# +# Written by Sebastian Pipping +# Licensed under CC0 1.0 Universal Public Domain Dedication +# https://creativecommons.org/publicdomain/zero/1.0/ +# +# Version 0_p20150813_p0418 + +BEGIN { + inside_deffn = 0 + inside_defmac = 0 + inside_defop = 0 + inside_deftp = 0 + inside_defun = 0 +} + +/^@deffn / { + if (inside_deffn) { + print "@end deffn" + } + inside_deffn = 1 +} + +/^@deffnx / { + if (inside_deffn) { + print "@end deffn" + } + sub(/^@deffnx/, "@deffn") + inside_deffn = 1 +} + +/^@defmac / { + if (inside_defmac) { + print "@end defmac" + } + inside_defmac = 1 +} + +/^@defmacx / { + if (inside_defmac) { + print "@end defmac" + } + sub(/^@defmacx/, "@defmac") + inside_defmac = 1 +} + +/^@defop / { + if (inside_defop) { + print "@end defop" + } + inside_defop = 1 +} + +/^@defopx / { + if (inside_defop) { + print "@end defop" + } + sub(/^@defopx/, "@defop") + inside_defop = 1 +} + +/^@deftp / { + if (inside_deftp) { + print "@end deftp" + } + inside_deftp = 1 +} + +/^@deftpx / { + if (inside_deftp) { + print "@end deftp" + } + sub(/^@deftpx/, "@deftp") + inside_deftp = 1 +} + +/^@defun / { + if (inside_defun) { + print "@end defun" + } + inside_defun = 1 +} + +/^@defunx / { + if (inside_defun) { + print "@end defun" + } + sub(/^@defunx/, "@defun") + inside_defun = 1 +} + +/^@end deffn/ { + inside_deffn = 0 +} + +/^@end defmac/ { + inside_defmac = 0 +} + +/^@end defop/ { + inside_defop = 0 +} + +/^@end deftp/ { + inside_deftp = 0 +} + +/^@end defun/ { + inside_defun = 0 +} + +/^@subsubsection/ { + if (inside_deffn) { + print "@end deffn" + print $0 + print "@deffn {Dummy} Dummy" + next + } +} + +{ + print +} diff --git a/dev-scheme/slib/slib-3.2.2.ebuild b/dev-scheme/slib/slib-3.2.2.ebuild index f821d58bab4a..a418aa1a7b91 100644 --- a/dev-scheme/slib/slib-3.2.2.ebuild +++ b/dev-scheme/slib/slib-3.2.2.ebuild @@ -29,6 +29,13 @@ DEPEND="app-arch/unzip" INSTALL_DIR="/usr/share/slib/" +_fix_txi_file() { + local inplace_filename="${1}" + local tempfile="$(mktemp)" + awk -f "${FILESDIR}"/slib-3.2.2-fix-texinfo.awk < "${inplace_filename}" > "${tempfile}" + mv "${tempfile}" "${inplace_filename}" || die +} + src_prepare() { sed "s:prefix = /usr/local/:prefix = ${ED}/usr/:" -i Makefile || die sed 's:libdir = $(exec_prefix)lib/:libdir = $(exec_prefix)share/:' -i Makefile || die @@ -40,6 +47,11 @@ src_prepare() { # diff -u Makefile.old Makefile sed 's:(lambda () "/usr/local/share/gambc/")):(lambda () "'"${EPREFIX}"'/usr/share/gambit")):' -i gambit.init || die + + einfo "Fixing Texinfo files..." + for i in *.txi *.texi ; do + _fix_txi_file "${i}" || die + done } src_compile() { -- cgit v1.2.3-18-g5258