Re: git: bb71c4161707 - main - games/kanatest: revive port

From: Nuno Teixeira <eduardo_at_freebsd.org>
Date: Wed, 15 Feb 2023 08:12:01 UTC
Hello Robert,

I missed to properly check this port:

1.
---
LIB_DEPENDS+=
USE_GNOME+=
MAKE_ENV+=
---
This vars should not contain '+'.

2.
Category needs to be fixed acording to
https://docs.freebsd.org/en/books/porters-handbook/book/#choosing-categories
:
language comes first (japanese games)

Cheers,

Robert Clausecker <fuz@freebsd.org> escreveu no dia terça, 14/02/2023 à(s)
20:23:

> The branch main has been updated by fuz:
>
> URL:
> https://cgit.FreeBSD.org/ports/commit/?id=bb71c4161707a95f215dc5f24165310265cb6cf0
>
> commit bb71c4161707a95f215dc5f24165310265cb6cf0
> Author:     Clockwork6400 <Clockwork6400@protonmail.com>
> AuthorDate: 2023-02-01 20:04:31 +0000
> Commit:     Robert Clausecker <fuz@FreeBSD.org>
> CommitDate: 2023-02-14 20:23:34 +0000
>
>     games/kanatest: revive port
>
>     During test the Kanatest displays randomly selected kana char
>     (respecting mode and lesson) and waits for user answer expected as
>     romaji equivalent. This process continues until all questions will be
>     answered or all questions will be answered correctly (depends on
>     options). At the end of test a short info about drilling time and
>     correctness ratio is displayed. The results are stored and user can
>     review his performance in any time.
>
>     Submitter becomes maintainer.
>
>     Changelog:
> https://sourceforge.net/p/kanatest/code/ci/master/tree/ChangeLog
>
>     PR:             268895
>     Approved by:    eduardo (mentor)
>     Differential Revision: https://reviews.freebsd.org/D38519
> ---
>  MOVED                                     |  1 -
>  games/Makefile                            |  1 +
>  games/kanatest/Makefile                   | 32 +++++++++++++++++++
>  games/kanatest/distinfo                   |  3 ++
>  games/kanatest/files/patch-po_Makefile.in | 11 +++++++
>  games/kanatest/files/patch-src_gui.c      | 51
> +++++++++++++++++++++++++++++++
>  games/kanatest/pkg-descr                  |  7 +++++
>  games/kanatest/pkg-plist                  | 21 +++++++++++++
>  8 files changed, 126 insertions(+), 1 deletion(-)
>
> diff --git a/MOVED b/MOVED
> index b324f1908cf3..36232cf07ccb 100644
> --- a/MOVED
> +++ b/MOVED
> @@ -7907,7 +7907,6 @@
> math/p5-Math-Geometry-Planar-GPC-Polygon||2015-12-30|Has expired: Broken
> for mor
>  www/eliom||2015-12-30|Has expired: Depends on broken and expiring
> www/ocsigen
>  audio/py-fastaudio||2015-12-30|Has expired: Broken for more than 6 months
>  devel/jgoodies-common||2015-12-30|Has expired: Broken for more than 6
> months
> -games/kanatest||2015-12-30|Has expired: Broken for more than 6 months
>  security/burpsuite||2015-12-30|Has expired: Broken for more than 6 months
>  dns/bind10|dns/bundy|2015-12-31|Has expired: Is not developed any more,
> use dns/bundy
>  lang/perl5.16||2015-12-31|Has expired: Unsupported, please upgrade to a
> more recent version of Perl
> diff --git a/games/Makefile b/games/Makefile
> index 6e99c9612207..033384ab7fba 100644
> --- a/games/Makefile
> +++ b/games/Makefile
> @@ -425,6 +425,7 @@
>      SUBDIR += jvgs
>      SUBDIR += jzip
>      SUBDIR += kanagram
> +    SUBDIR += kanatest
>      SUBDIR += kapman
>      SUBDIR += kartofel
>      SUBDIR += katomic
> diff --git a/games/kanatest/Makefile b/games/kanatest/Makefile
> new file mode 100644
> index 000000000000..0775ad30e53c
> --- /dev/null
> +++ b/games/kanatest/Makefile
> @@ -0,0 +1,32 @@
> +PORTNAME=      kanatest
> +PORTVERSION=   0.4.10.g20200611
> +CATEGORIES=    games japanese
> +
> +MAINTAINER=    Clockwork6400@protonmail.com
> +COMMENT=       Japanese kana (Hiragana and Katakana) simple flashcard tool
> +WWW=           https://kanatest.sourceforge.io/
> +
> +LICENSE=       GPLv2
> +LICENSE_FILE=  ${WRKSRC}/COPYING
> +
> +FETCH_DEPENDS= git:devel/git
> +LIB_DEPENDS+=  libharfbuzz.so:print/harfbuzz
> +
> +USES=          gettext gmake gnome pkgconfig tar:xz
> +USE_GNOME+=    atk cairo gdkpixbuf2 glib20 gtk30 libxml2 pango
> +GNU_CONFIGURE= yes
> +MAKE_ENV+=     LIBINTL="-lintl"
> +
> +OPTIONS_DEFINE=        NLS
> +OPTIONS_SUB=   yes
> +
> +# this will break when upstream is updating, but unfortunately
> +# SF won't let us fetch individual commits.
> +do-fetch:
> +       @${MKDIR} ${_DISTDIR}
> +       @cd ${_DISTDIR} && [ -f ${DISTNAME}.tar.xz ] || \
> +           git archive --format=tar --prefix=${DISTNAME}/ \
> +           --remote=git://git.code.sf.net/p/kanatest/code master | \
> +           ${XZ_CMD} >${DISTNAME}.tar.xz
> +
> +.include <bsd.port.mk>
> diff --git a/games/kanatest/distinfo b/games/kanatest/distinfo
> new file mode 100644
> index 000000000000..45cf4a136f50
> --- /dev/null
> +++ b/games/kanatest/distinfo
> @@ -0,0 +1,3 @@
> +TIMESTAMP = 1675987637
> +SHA256 (kanatest-0.4.10.g20200611.tar.xz) =
> 477bbf1fa655eaf067efb829533f05c90597922eb0827128fd88b925cae5f534
> +SIZE (kanatest-0.4.10.g20200611.tar.xz) = 274228
> diff --git a/games/kanatest/files/patch-po_Makefile.in
> b/games/kanatest/files/patch-po_Makefile.in
> new file mode 100644
> index 000000000000..8d0ef5685886
> --- /dev/null
> +++ b/games/kanatest/files/patch-po_Makefile.in
> @@ -0,0 +1,11 @@
> +--- po/Makefile.in.orig        2020-06-11 10:29:04 UTC
> ++++ po/Makefile.in
> +@@ -445,7 +445,7 @@ all: $(MOFILES)
> + update-po: $(DOMAIN).pot $(POFILES) $(MOFILES)
> +
> + %.mo: skip
> +-      @po=$(@:.mo=.po); if test $$po -nt $@ ; then $(MSGFMT) -c
> --statistics $$po -o $@; echo "$@ updated."; fi
> ++      @po=$(@:.mo=.po); if true; then $(MSGFMT) -c --statistics $$po -o
> $@; echo "$@ updated."; fi
> +
> + %.po: $(DOMAIN).pot
> +       $(MSGMERGE) $@ $< -o $@.in && mv $@.in $@
> diff --git a/games/kanatest/files/patch-src_gui.c
> b/games/kanatest/files/patch-src_gui.c
> new file mode 100644
> index 000000000000..47289d5a7ac0
> --- /dev/null
> +++ b/games/kanatest/files/patch-src_gui.c
> @@ -0,0 +1,51 @@
> +--- src/gui.c.orig     2020-06-11 10:29:04 UTC
> ++++ src/gui.c
> +@@ -1129,40 +1129,40 @@ HildonGtkInputMode input_mode;
> + #ifdef MAEMO
> +      gtk_container_add (GTK_CONTAINER (hbuttonbox),
> appGUI->reverse_button);
> +      gtk_container_set_border_width (GTK_CONTAINER
> (appGUI->reverse_button), 4);
> +-     GTK_WIDGET_SET_FLAGS (appGUI->reverse_button, GTK_CAN_DEFAULT);
> ++     gtk_widget_set_can_default (appGUI->reverse_button, TRUE);
> +
> +      gtk_container_add (GTK_CONTAINER (hbuttonbox), appGUI->stat_button);
> +      gtk_container_set_border_width (GTK_CONTAINER
> (appGUI->stat_button), 4);
> +-     GTK_WIDGET_SET_FLAGS (appGUI->stat_button, GTK_CAN_DEFAULT);
> ++     gtk_widget_set_can_default (appGUI->stat_button, TRUE);
> +
> +      appGUI->chart_button = gui_stock_label_button(NULL,
> KANATEST_STOCK_BUTTON_CHART);
> +-     GTK_WIDGET_UNSET_FLAGS (appGUI->chart_button, GTK_CAN_FOCUS);
> ++     gtk_widget_set_can_focus (appGUI->chart_button, FALSE);
> +      g_signal_connect (G_OBJECT (appGUI->chart_button), "clicked",
> +                          G_CALLBACK (show_chart_window_cb), appGUI);
> +      gtk_widget_show (appGUI->chart_button);
> +      gtk_container_add (GTK_CONTAINER (hbuttonbox),
> appGUI->chart_button);
> +      gtk_container_set_border_width (GTK_CONTAINER
> (appGUI->chart_button), 4);
> +-     GTK_WIDGET_SET_FLAGS (appGUI->chart_button, GTK_CAN_DEFAULT);
> ++     gtk_widget_set_can_default (appGUI->chart_button, TRUE);
> +      gtk_widget_set_tooltip_text (appGUI->chart_button, _("Kana chart"));
> +
> +      appGUI->prefs_button = gui_stock_label_button(NULL,
> KANATEST_STOCK_BUTTON_OPTIONS);
> +-     GTK_WIDGET_UNSET_FLAGS (appGUI->prefs_button, GTK_CAN_FOCUS);
> ++     gtk_widget_set_can_focus (appGUI->prefs_button, FALSE);
> +      g_signal_connect (G_OBJECT (appGUI->prefs_button), "clicked",
> +                          G_CALLBACK (show_options_window_cb), appGUI);
> +      gtk_widget_show (appGUI->prefs_button);
> +      gtk_container_add (GTK_CONTAINER (hbuttonbox),
> appGUI->prefs_button);
> +      gtk_container_set_border_width (GTK_CONTAINER
> (appGUI->prefs_button), 4);
> +-     GTK_WIDGET_SET_FLAGS (appGUI->prefs_button, GTK_CAN_DEFAULT);
> ++     gtk_widget_set_can_default (appGUI->prefs_button, TRUE);
> +      gtk_widget_set_tooltip_text (appGUI->prefs_button, _("Options"));
> +
> +      appGUI->about_button = gui_stock_label_button(NULL,
> KANATEST_STOCK_BUTTON_ABOUT);
> +-     GTK_WIDGET_UNSET_FLAGS (appGUI->about_button, GTK_CAN_FOCUS);
> ++     gtk_widget_set_can_focus (appGUI->about_button, FALSE);
> +      g_signal_connect (G_OBJECT (appGUI->about_button), "clicked",
> +                          G_CALLBACK (show_about_window_cb), appGUI);
> +      gtk_widget_show (appGUI->about_button);
> +      gtk_container_add (GTK_CONTAINER (hbuttonbox),
> appGUI->about_button);
> +      gtk_container_set_border_width (GTK_CONTAINER
> (appGUI->about_button), 4);
> +-     GTK_WIDGET_SET_FLAGS (appGUI->about_button, GTK_CAN_DEFAULT);
> ++     gtk_widget_set_can_default (appGUI->about_button, TRUE);
> +
> +      gtk_widget_set_tooltip_text (appGUI->about_button, _("About"));
> + #endif
> diff --git a/games/kanatest/pkg-descr b/games/kanatest/pkg-descr
> new file mode 100644
> index 000000000000..e93803dd1a26
> --- /dev/null
> +++ b/games/kanatest/pkg-descr
> @@ -0,0 +1,7 @@
> +During test the Kanatest displays randomly selected kana char
> +(respecting mode and lesson) and waits for user answer expected as
> +romaji equivalent. This process continues until all questions will be
> +answered or all questions will be answered correctly (depends on
> +options). At the end of test a short info about drilling time and
> +correctness ratio is displayed. The results are stored and user can
> +review his performance in any time.
> diff --git a/games/kanatest/pkg-plist b/games/kanatest/pkg-plist
> new file mode 100644
> index 000000000000..6c1a76feb5b8
> --- /dev/null
> +++ b/games/kanatest/pkg-plist
> @@ -0,0 +1,21 @@
> +bin/kanatest
> +share/applications/kanatest.desktop
> +share/icons/hicolor/16x16/apps/kanatest.png
> +share/icons/hicolor/22x22/apps/kanatest.png
> +share/icons/hicolor/24x24/apps/kanatest.png
> +share/icons/hicolor/32x32/apps/kanatest.png
> +share/icons/hicolor/48x48/apps/kanatest.png
> +share/icons/hicolor/scalable/apps/kanatest.svg
> +%%NLS%%share/locale/de/LC_MESSAGES/kanatest.mo
> +%%NLS%%share/locale/el/LC_MESSAGES/kanatest.mo
> +%%NLS%%share/locale/es/LC_MESSAGES/kanatest.mo
> +%%NLS%%share/locale/fi/LC_MESSAGES/kanatest.mo
> +%%NLS%%share/locale/fr/LC_MESSAGES/kanatest.mo
> +%%NLS%%share/locale/hr/LC_MESSAGES/kanatest.mo
> +%%NLS%%share/locale/hu/LC_MESSAGES/kanatest.mo
> +%%NLS%%share/locale/it/LC_MESSAGES/kanatest.mo
> +%%NLS%%share/locale/pl/LC_MESSAGES/kanatest.mo
> +%%NLS%%share/locale/pt/LC_MESSAGES/kanatest.mo
> +%%NLS%%share/locale/ru/LC_MESSAGES/kanatest.mo
> +%%NLS%%share/locale/zh_CN/LC_MESSAGES/kanatest.mo
> +share/pixmaps/kanatest.png
>


-- 
Nuno Teixeira
FreeBSD Committer (ports)