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 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 @@ -1,130 +1,132 @@ bin/khangman share/applications/org.kde.khangman.desktop share/config.kcfg/khangman.kcfg share/icons/hicolor/128x128/apps/khangman.png share/icons/hicolor/16x16/apps/khangman.png share/icons/hicolor/22x22/apps/khangman.png share/icons/hicolor/32x32/apps/khangman.png share/icons/hicolor/48x48/apps/khangman.png share/icons/hicolor/64x64/apps/khangman.png share/icons/hicolor/scalable/apps/khangman.svgz %%DATADIR%%/ca.txt %%DATADIR%%/cs.txt %%DATADIR%%/da.txt %%DATADIR%%/de.txt %%DATADIR%%/eo.txt %%DATADIR%%/es.txt %%DATADIR%%/et.txt %%DATADIR%%/fi.txt %%DATADIR%%/fonts/Domestic_Manners.ttf %%DATADIR%%/fonts/Dustismo_Roman.ttf %%DATADIR%%/fr.txt %%DATADIR%%/ga.txt %%DATADIR%%/gl.txt %%DATADIR%%/hu.txt %%DATADIR%%/nb.txt %%DATADIR%%/nds.txt %%DATADIR%%/nn.txt %%DATADIR%%/pl.txt %%DATADIR%%/pt.txt %%DATADIR%%/pt_BR.txt +%%DATADIR%%/ru.txt %%DATADIR%%/sk.txt %%DATADIR%%/sl.txt %%DATADIR%%/sr@ijekavianlatin.txt %%DATADIR%%/sr@latin.txt %%DATADIR%%/sv.txt %%DATADIR%%/tg.txt %%DATADIR%%/themes/khangman_bees.svg %%DATADIR%%/themes/khangman_desert.svg %%DATADIR%%/themes/khangman_notes.png %%DATADIR%%/themes/khangman_sea.svg %%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 share/locale/ast/LC_MESSAGES/khangman.mo share/locale/be/LC_MESSAGES/khangman.mo share/locale/bg/LC_MESSAGES/khangman.mo share/locale/bn/LC_MESSAGES/khangman.mo share/locale/br/LC_MESSAGES/khangman.mo share/locale/bs/LC_MESSAGES/khangman.mo share/locale/ca/LC_MESSAGES/khangman.mo share/locale/ca@valencia/LC_MESSAGES/khangman.mo share/locale/cs/LC_MESSAGES/khangman.mo share/locale/cy/LC_MESSAGES/khangman.mo share/locale/da/LC_MESSAGES/khangman.mo share/locale/de/LC_MESSAGES/khangman.mo share/locale/el/LC_MESSAGES/khangman.mo share/locale/en_GB/LC_MESSAGES/khangman.mo share/locale/eo/LC_MESSAGES/khangman.mo share/locale/es/LC_MESSAGES/khangman.mo share/locale/et/LC_MESSAGES/khangman.mo share/locale/eu/LC_MESSAGES/khangman.mo share/locale/fa/LC_MESSAGES/khangman.mo share/locale/fi/LC_MESSAGES/khangman.mo share/locale/fr/LC_MESSAGES/khangman.mo share/locale/ga/LC_MESSAGES/khangman.mo share/locale/gl/LC_MESSAGES/khangman.mo share/locale/gu/LC_MESSAGES/khangman.mo share/locale/he/LC_MESSAGES/khangman.mo share/locale/hi/LC_MESSAGES/khangman.mo share/locale/hne/LC_MESSAGES/khangman.mo share/locale/hr/LC_MESSAGES/khangman.mo share/locale/hu/LC_MESSAGES/khangman.mo share/locale/ia/LC_MESSAGES/khangman.mo share/locale/is/LC_MESSAGES/khangman.mo share/locale/it/LC_MESSAGES/khangman.mo share/locale/ja/LC_MESSAGES/khangman.mo share/locale/ka/LC_MESSAGES/khangman.mo share/locale/kk/LC_MESSAGES/khangman.mo share/locale/km/LC_MESSAGES/khangman.mo share/locale/ko/LC_MESSAGES/khangman.mo share/locale/lt/LC_MESSAGES/khangman.mo share/locale/lv/LC_MESSAGES/khangman.mo share/locale/mk/LC_MESSAGES/khangman.mo share/locale/ml/LC_MESSAGES/khangman.mo share/locale/mr/LC_MESSAGES/khangman.mo share/locale/ms/LC_MESSAGES/khangman.mo share/locale/nb/LC_MESSAGES/khangman.mo share/locale/nds/LC_MESSAGES/khangman.mo share/locale/ne/LC_MESSAGES/khangman.mo share/locale/nl/LC_MESSAGES/khangman.mo share/locale/nn/LC_MESSAGES/khangman.mo share/locale/oc/LC_MESSAGES/khangman.mo share/locale/pa/LC_MESSAGES/khangman.mo share/locale/pl/LC_MESSAGES/khangman.mo share/locale/pt/LC_MESSAGES/khangman.mo share/locale/pt_BR/LC_MESSAGES/khangman.mo share/locale/ro/LC_MESSAGES/khangman.mo share/locale/ru/LC_MESSAGES/khangman.mo share/locale/se/LC_MESSAGES/khangman.mo share/locale/si/LC_MESSAGES/khangman.mo share/locale/sk/LC_MESSAGES/khangman.mo share/locale/sl/LC_MESSAGES/khangman.mo share/locale/sq/LC_MESSAGES/khangman.mo share/locale/sv/LC_MESSAGES/khangman.mo share/locale/ta/LC_MESSAGES/khangman.mo share/locale/tg/LC_MESSAGES/khangman.mo share/locale/tr/LC_MESSAGES/khangman.mo share/locale/ug/LC_MESSAGES/khangman.mo share/locale/uk/LC_MESSAGES/khangman.mo share/locale/xh/LC_MESSAGES/khangman.mo share/locale/zh_CN/LC_MESSAGES/khangman.mo share/locale/zh_TW/LC_MESSAGES/khangman.mo share/man/ca/man6/khangman.6.gz share/man/de/man6/khangman.6.gz share/man/es/man6/khangman.6.gz share/man/et/man6/khangman.6.gz share/man/fr/man6/khangman.6.gz share/man/it/man6/khangman.6.gz share/man/man6/khangman.6.gz share/man/nl/man6/khangman.6.gz share/man/pt/man6/khangman.6.gz share/man/pt_BR/man6/khangman.6.gz share/man/ru/man6/khangman.6.gz share/man/sl/man6/khangman.6.gz share/man/sv/man6/khangman.6.gz share/man/uk/man6/khangman.6.gz share/metainfo/org.kde.khangman.appdata.xml