gentoo-ebuilds/games-puzzle/enigma/files/enigma-1.30-no-gettext.patch
James Le Cuirot 4361e2f15d
games-puzzle/enigma: Version bump to 1.30, fixes musl, EAPI 8
The non-free menu music track is now conditionally removed. A patch to
remove references to it was submitted, but simply deleting the file has
the same effect.

Closes: https://bugs.gentoo.org/739292
Closes: https://bugs.gentoo.org/778542
Closes: https://bugs.gentoo.org/868720
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
2025-06-07 23:03:24 +01:00

164 lines
4.9 KiB
Diff

From 22f3771073c95e789ab37189b4cb324e0a849784 Mon Sep 17 00:00:00 2001
From: Andreas Lochmann <and.lochmann@googlemail.com>
Date: Wed, 22 Mar 2023 00:50:37 +0100
Subject: [PATCH] Remove remnants of gettext, including intl directory (no
libintl needed anymore).
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,7 +3,7 @@
# tools -> lib-src/lua
# src -> tools, lib-src
#
-SUBDIRS = m4 lib-src tools intl src data doc etc
+SUBDIRS = m4 lib-src tools src data doc etc
EXTRA_DIST = enigma CHANGES ACKNOWLEDGEMENTS
docdir = @datadir@/doc/enigma
--- a/configure.ac
+++ b/configure.ac
@@ -98,12 +98,6 @@ dnl Check for libraries
dnl ======================================================================
AC_SEARCH_LIBS([dlopen], [dl])
-dnl When using the included gettext package from the /intl subdir
-dnl /intl needs to be added to the list of include folders
-if test "$BUILD_INCLUDED_LIBINTL" = yes; then
- CXXFLAGS="$CXXFLAGS -I\$(top_srcdir)/intl"
-fi
-
dnl This is to check for winmm which must be included to satisfy enet
dnl when compiling under mingw32
if test "$MINGW32" = yes; then
@@ -368,7 +362,7 @@ dnl Configure libraries
dnl ----------------------------------------------------------
AC_CONFIG_SUBDIRS(lib-src/zipios++)
-AC_CONFIG_FILES([Makefile m4/Makefile intl/Makefile
+AC_CONFIG_FILES([Makefile m4/Makefile
data/Makefile
data/gfx/Makefile
data/gfx/flags25x15/Makefile
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -27,8 +27,7 @@ if MINGW32
CXXFLAGS += -static-libgcc -static-libstdc++ -DWIN32
endif
-CXXFLAGS += -I$(top_srcdir)/lib-src \
- -I$(top_builddir)/intl @SDL_CFLAGS@
+CXXFLAGS += -I$(top_srcdir)/lib-src @SDL_CFLAGS@
enigma_SOURCES = \
@@ -471,7 +470,6 @@ else # not MACOSX
endif
enigma_LDADD = \
- @LIBINTL@ \
$(top_builddir)/lib-src/enigma-core/libecl.a \
$(top_builddir)/lib-src/lua/liblua.a
--- a/src/gui/OptionsMenu.cc
+++ b/src/gui/OptionsMenu.cc
@@ -992,7 +992,6 @@ class VideoCheckTickDown : public Label {
std::string tfLocalization = XMLtoLocal(Utf8ToXML(localizationPathTF->getText().c_str()).x_str()).c_str();
if (app.l10nPath != tfLocalization) {
app.l10nPath = tfLocalization;
- bindtextdomain (PACKAGE_NAME, app.l10nPath.c_str());
app.prefs->setProperty("LocalizationPath", app.l10nPath);
}
}
--- a/src/main.cc
+++ b/src/main.cc
@@ -52,7 +52,6 @@
#include "tinygettext/include/tinygettext/log.hpp"
-#include <locale.h>
#include <cstdio>
#include <cstdlib>
#include <ctime>
@@ -894,13 +893,6 @@ void Application::init_i18n()
nls::SetMessageLocale (app.language);
- // TODO: Make sure that bindtextdomain accepts UTF-8, then replace
- // by XMLtoUtf8(LocalToXML(app.l10nPath.c_str()).x_str()).c_str().
- bindtextdomain (PACKAGE_NAME, app.l10nPath.c_str());
-
- // SDL_ttf does not handle arbitrary encodings, so use UTF-8
- bind_textdomain_codeset (PACKAGE_NAME, "utf-8");
- textdomain (PACKAGE_NAME);
#endif
}
--- a/src/nls.cc
+++ b/src/nls.cc
@@ -5,7 +5,6 @@
#include "enigma.hh"
#include "options.hh"
-#include <locale.h>
#include <fstream>
#include <string>
#include <cstdlib>
@@ -17,47 +16,10 @@ using namespace nls;
unique_ptr<tinygettext::DictionaryManager> nls::theDictionaryManager = nullptr;
-#if !defined (HAVE_SETENV) && defined (HAVE_PUTENV)
-static char lang_env[256];
-#endif
-
-static char localeutf[256];
-
-static void my_setenv (const char* var, const char* val)
-{
-#if defined (HAVE_SETENV)
- setenv(var, val, 1);
-#elif defined (HAVE_PUTENV)
- snprintf (lang_env, sizeof(lang_env), "%s=%s", var, val);
- putenv(lang_env);
-#endif
-}
-
void nls::SetMessageLocale(const std::string &language)
{
- if (language != "") {
+ if (language != "")
theDictionaryManager->set_language(tinygettext::Language::from_name(language));
-#if defined (WIN32) || defined (MACOSX)
- my_setenv ("LANG", language.c_str());
-#else // not WIN32 or MACOSX
- if (setlocale (LC_MESSAGES, language.c_str()) != NULL) {
- my_setenv ("LANG", language.c_str());
- } else {
- // Second attempt: lang + .UTF-8
- snprintf(localeutf, sizeof(localeutf), "%s.UTF-8", language.c_str());
- if (setlocale (LC_MESSAGES, localeutf) != NULL) {
- my_setenv ("LANG", localeutf);
- }
- }
-#endif
- }
-
-#if defined(ENABLE_NLS) && defined(HAVE_LC_MESSAGES)
- // Hack to fool libintl into changing the message locale more than
- // once
- setlocale (LC_MESSAGES, "C");
- setlocale (LC_MESSAGES, ""); //language.c_str());
-#endif
}
void nls::CycleLocale(bool direction)
--- a/src/nls.hh
+++ b/src/nls.hh
@@ -3,7 +3,6 @@
#include "config.h"
#if defined(ENABLE_NLS)
-# include <libintl.h>
# define _(String) nls::translate(String).c_str()
//# define _(String) gettext(String)
# define gettext_noop(String) (String)