aboutsummaryrefslogtreecommitdiff
path: root/games/kanatest
diff options
context:
space:
mode:
authorClockwork6400 <Clockwork6400@protonmail.com>2023-02-01 20:04:31 +0000
committerRobert Clausecker <fuz@FreeBSD.org>2023-02-14 20:23:34 +0000
commitbb71c4161707a95f215dc5f24165310265cb6cf0 (patch)
treecf1afcedc0628d75ecfb25d0c9364dd3bdc2bb56 /games/kanatest
parentd61ab0f964be87f5bebfff8805195909f95b9d23 (diff)
downloadports-bb71c4161707a95f215dc5f24165310265cb6cf0.tar.gz
ports-bb71c4161707a95f215dc5f24165310265cb6cf0.zip
Diffstat (limited to 'games/kanatest')
-rw-r--r--games/kanatest/Makefile32
-rw-r--r--games/kanatest/distinfo3
-rw-r--r--games/kanatest/files/patch-po_Makefile.in11
-rw-r--r--games/kanatest/files/patch-src_gui.c51
-rw-r--r--games/kanatest/pkg-descr7
-rw-r--r--games/kanatest/pkg-plist21
6 files changed, 125 insertions, 0 deletions
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