commit:     ec9b9570ea3559318a321c5b3226c23856424b33
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon May  6 05:48:37 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon May  6 06:04:59 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec9b9570

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 <AT> gentoo.org>

 app-misc/gtypist/files/gtypist-2.9.5-c99.patch | 31 ++++++++++
 app-misc/gtypist/gtypist-2.9.5-r2.ebuild       | 84 ++++++++++++++++++++++++++
 2 files changed, 115 insertions(+)

diff --git a/app-misc/gtypist/files/gtypist-2.9.5-c99.patch 
b/app-misc/gtypist/files/gtypist-2.9.5-c99.patch
new file mode 100644
index 000000000000..e191c3dd7bb5
--- /dev/null
+++ b/app-misc/gtypist/files/gtypist-2.9.5-c99.patch
@@ -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

diff --git a/app-misc/gtypist/gtypist-2.9.5-r2.ebuild 
b/app-misc/gtypist/gtypist-2.9.5-r2.ebuild
new file mode 100644
index 000000000000..450f18d97cde
--- /dev/null
+++ b/app-misc/gtypist/gtypist-2.9.5-r2.ebuild
@@ -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
+}

Reply via email to