git: 9b33208481ce - main - games/khangman: runtime fixes.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 24 Feb 2025 21:16:32 UTC
The branch main has been updated by makc: URL: https://cgit.FreeBSD.org/ports/commit/?id=9b33208481ce8b975e5e330791100ba30061f701 commit 9b33208481ce8b975e5e330791100ba30061f701 Author: Max Brazhnikov <makc@FreeBSD.org> AuthorDate: 2025-02-24 21:14:20 +0000 Commit: Max Brazhnikov <makc@FreeBSD.org> CommitDate: 2025-02-24 21:14:20 +0000 games/khangman: runtime fixes. Add patch to fix non-Latin scripts and bring support for Russian and Ukrainian languages. Add missing runtime dependence on data files. While here, amend website and comment, and refresh USES/USE_KDE. --- games/khangman/Makefile | 16 ++-- games/khangman/files/patch-nonLatin | 173 ++++++++++++++++++++++++++++++++++++ games/khangman/pkg-plist | 2 + 3 files changed, 185 insertions(+), 6 deletions(-) diff --git a/games/khangman/Makefile b/games/khangman/Makefile index 6bb348108891..3f46582e67fe 100644 --- a/games/khangman/Makefile +++ b/games/khangman/Makefile @@ -1,19 +1,23 @@ PORTNAME= khangman DISTVERSION= ${KDE_APPLICATIONS_VERSION} +PORTREVISION= 1 CATEGORIES= games kde kde-applications MAINTAINER= kde@FreeBSD.org -COMMENT= Hangman game for KDE 4 -WWW= https://edu.kde.org/khangman +COMMENT= Hangman game for KDE +WWW= https://apps.kde.org/khangman/ -USES= cmake compiler:c++11-lang gettext kde:6 qt:6 tar:xz -USE_KDE= attica auth codecs completion config configwidgets coreaddons \ - crash doctools i18n kdeclarative libkeduvocdocument newstuff \ - notifications package service widgetsaddons xmlgui \ +RUN_DEPENDS= kdeedu-data>=${KDE_APPLICATIONS_VERSION}:misc/kdeedu-data + +USES= cmake compiler:c++17-lang gettext kde:6 qt:6 tar:xz +USE_KDE= completion config coreaddons crash i18n kio \ + libkeduvocdocument newstuff notifications \ ecm:build USE_QT= base declarative USE_LDCONFIG= yes +PATCH_STRIP= -p1 + OPTIONS_DEFINE= DOCS .include <bsd.port.mk> diff --git a/games/khangman/files/patch-nonLatin b/games/khangman/files/patch-nonLatin new file mode 100644 index 000000000000..16ee8888f032 --- /dev/null +++ b/games/khangman/files/patch-nonLatin @@ -0,0 +1,173 @@ +diff --git a/languages/CMakeLists.txt b/languages/CMakeLists.txt +index 5543653..d2cee8b 100644 +--- a/languages/CMakeLists.txt ++++ b/languages/CMakeLists.txt +@@ -16,6 +16,7 @@ add_subdirectory(nn) + add_subdirectory(pl) + add_subdirectory(pt) + add_subdirectory(pt_BR) ++add_subdirectory(ru) + add_subdirectory(sk) + add_subdirectory(sl) + add_subdirectory(sr@ijekavianlatin) +@@ -23,3 +24,4 @@ add_subdirectory(sr@latin) + add_subdirectory(sv) + add_subdirectory(tg) + add_subdirectory(tr) ++add_subdirectory(uk) +diff --git a/languages/ru/CMakeLists.txt b/languages/ru/CMakeLists.txt +new file mode 100644 +index 0000000..15e506a +--- /dev/null ++++ b/languages/ru/CMakeLists.txt +@@ -0,0 +1 @@ ++install(FILES ru.txt DESTINATION ${KDE_INSTALL_DATADIR}/khangman) +diff --git a/languages/ru/ru.txt b/languages/ru/ru.txt +new file mode 100644 +index 0000000..eec9993 +--- /dev/null ++++ b/languages/ru/ru.txt +@@ -0,0 +1,33 @@ ++а ++б ++в ++г ++д ++е ++ё ++ж ++з ++и ++й ++к ++л ++м ++н ++о ++п ++р ++с ++т ++у ++ф ++х ++ц ++ч ++ш ++щ ++ъ ++ы ++ь ++э ++ю ++я +diff --git a/languages/uk/CMakeLists.txt b/languages/uk/CMakeLists.txt +new file mode 100644 +index 0000000..d617e99 +--- /dev/null ++++ b/languages/uk/CMakeLists.txt +@@ -0,0 +1 @@ ++install(FILES uk.txt DESTINATION ${KDE_INSTALL_DATADIR}/khangman) +diff --git a/languages/uk/uk.txt b/languages/uk/uk.txt +new file mode 100644 +index 0000000..344dc8a +--- /dev/null ++++ b/languages/uk/uk.txt +@@ -0,0 +1,33 @@ ++а ++б ++в ++г ++ґ ++д ++е ++є ++ж ++з ++и ++і ++ї ++й ++к ++л ++м ++н ++о ++п ++р ++с ++т ++у ++ф ++х ++ц ++ч ++ш ++щ ++ь ++ю ++я +diff --git a/src/khangman.cpp b/src/khangman.cpp +index dc1ab37..d778c21 100644 +--- a/src/khangman.cpp ++++ b/src/khangman.cpp +@@ -368,8 +368,12 @@ QString KHangMan::getCurrentHint() const + QStringList KHangMan::alphabet() const + { + QStringList letterList; +- for (char c = 'A'; c <= 'Z'; ++c) { +- letterList.append(QChar::fromLatin1(c)); ++ ++ QString lang = Prefs::selectedLanguage(); ++ if (LangUtils::isLatinAlphabet(lang)) { ++ for (char c = 'A'; c <= 'Z'; ++c) { ++ letterList.append(QChar::fromLatin1(c)); ++ } + } + + letterList.append(m_specialCharacters); +diff --git a/src/langutils.cpp b/src/langutils.cpp +index bef0369..820b14b 100644 +--- a/src/langutils.cpp ++++ b/src/langutils.cpp +@@ -4,15 +4,26 @@ + //project headers + #include "langutils.h" + ++bool LangUtils::isLatinAlphabet(const QString& lang) ++{ ++ if (lang == QLatin1String("ru") ++ || lang == QLatin1String("uk")) ++ { ++ return false; ++ } ++ return true; ++} ++ + bool LangUtils::hasSpecialChars(const QString& lang) + { ++ if (!LangUtils::isLatinAlphabet(lang)) { ++ return true; ++ } + if (lang == QLatin1String("en") + || lang == QLatin1String("en_GB") + || lang == QLatin1String("it") + || lang == QLatin1String("nl") +- || lang == QLatin1String("ru") + || lang == QLatin1String("bg") +- || lang == QLatin1String("uk") + || lang == QLatin1String("el") + || lang == QLatin1String("ro")) + { +diff --git a/src/langutils.h b/src/langutils.h +index 2fbecca..3f76537 100644 +--- a/src/langutils.h ++++ b/src/langutils.h +@@ -9,6 +9,7 @@ + class LangUtils + { + public: ++ static bool isLatinAlphabet(const QString& lang); + static bool hasSpecialChars(const QString& lang); + static QFont fontForLanguage(const QString& lang); + static QString capitalize(const QString& str, const QString& lang); diff --git a/games/khangman/pkg-plist b/games/khangman/pkg-plist index fbc8b0aede8f..0357b43cda71 100644 --- a/games/khangman/pkg-plist +++ b/games/khangman/pkg-plist @@ -28,6 +28,7 @@ share/icons/hicolor/scalable/apps/khangman.svgz %%DATADIR%%/pl.txt %%DATADIR%%/pt.txt %%DATADIR%%/pt_BR.txt +%%DATADIR%%/ru.txt %%DATADIR%%/sk.txt %%DATADIR%%/sl.txt %%DATADIR%%/sr@ijekavianlatin.txt @@ -41,6 +42,7 @@ share/icons/hicolor/scalable/apps/khangman.svgz %%DATADIR%%/themes/khangman_winter.svg %%DATADIR%%/themes/standardthemes.xml %%DATADIR%%/tr.txt +%%DATADIR%%/uk.txt share/knsrcfiles/khangman.knsrc share/locale/af/LC_MESSAGES/khangman.mo share/locale/ar/LC_MESSAGES/khangman.mo