summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-05-06 06:48:37 +0100
committerSam James <sam@gentoo.org>2024-05-06 07:04:59 +0100
commitec9b9570ea3559318a321c5b3226c23856424b33 (patch)
tree9c96a31abd6e57f806271b31239d5ee11883d508 /app-misc/gtypist
parentsys-libs/glibc: allow -O3 (diff)
downloadgentoo-ec9b9570ea3559318a321c5b3226c23856424b33.tar.gz
gentoo-ec9b9570ea3559318a321c5b3226c23856424b33.tar.bz2
gentoo-ec9b9570ea3559318a321c5b3226c23856424b33.zip
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>
Diffstat (limited to 'app-misc/gtypist')
-rw-r--r--app-misc/gtypist/files/gtypist-2.9.5-c99.patch31
-rw-r--r--app-misc/gtypist/gtypist-2.9.5-r2.ebuild84
2 files changed, 115 insertions, 0 deletions
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
+}