app-misc/gtypist: update EAPI 7 -> 8, fix modern C issues

There's some fixes upstream but it's diverged a lot from the last release
10 years ago.

Closes: https://bugs.gentoo.org/875770
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2024-05-06 06:48:37 +01:00
parent 2db1831dea
commit ec9b9570ea
2 changed files with 115 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
--- a/src/cursmenu.c
+++ b/src/cursmenu.c
@@ -35,6 +35,8 @@
#include <ctype.h>
#include "gettext.h"
+#include "utf8.h"
+
#define _(String) gettext (String)
extern int isUTF8Locale;
--- a/src/script.h
+++ b/src/script.h
@@ -90,6 +90,7 @@ extern void seek_label( FILE *script, char *label, char *ref_line );
extern int hash_label( char *label );
extern void do_exit( FILE *script );
+void check_script_file_with_current_encoding( FILE *script );
extern void bind_F12 (const char *); // Defined in gtypist.c
--- a/src/utf8.c
+++ b/src/utf8.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "error.h"
#include "utf8.h"
#ifdef HAVE_PDCURSES

View File

@@ -0,0 +1,84 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp-common autotools
DESCRIPTION="Universal typing tutor"
HOMEPAGE="https://www.gnu.org/software/gtypist/"
SRC_URI="
mirror://gnu/gtypist/${P}.tar.xz
http://colemak.com/pub/learn/colemak.typ
"
LICENSE="GPL-2 public-domain"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc ~riscv ~x86 ~amd64-linux"
IUSE="nls emacs xemacs"
DEPEND="
>=sys-libs/ncurses-5.2:0=
emacs? ( >=app-editors/emacs-23.1:* )
xemacs? ( !emacs? ( app-editors/xemacs app-xemacs/fsf-compat ) )
"
RDEPEND="${DEPEND}"
SITEFILE=50${PN}-gentoo.el
src_unpack() {
unpack ${P}.tar.xz
}
PATCHES=(
"${FILESDIR}"/${PN}-2.8.3-xemacs-compat.patch
# solution from https://bugs.gentoo.org/698764#c0
"${FILESDIR}"/${PN}-2.9.5-link-infow.patch
# Last release was 10 years ago but many commits in git since,
# looks fixed there but not backportable.
"${FILESDIR}"/${PN}-2.9.5-c99.patch
)
src_prepare() {
default
eautoreconf
}
src_configure() {
local lispdir=""
if use emacs; then
lispdir="${SITELISP}/${PN}"
einfo "Configuring to build with GNU Emacs support"
elif use xemacs; then
lispdir="${EPREFIX}/usr/lib/xemacs/site-packages/lisp/${PN}"
einfo "Configuring to build with XEmacs support"
fi
econf \
$(use_enable nls) \
EMACS=$(usev emacs || usev xemacs || echo no) \
--with-lispdir="${lispdir}"
}
DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
src_install() {
default
insinto /usr/share/gtypist
doins "${DISTDIR}"/colemak.typ
if use emacs; then
elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die
fi
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}