Adding fix for libgpg-error-1.21
authorJochen Saalfeld <jochen@intevation.de>
Wed, 6 Apr 2016 06:09:10 +0000 (08:09 +0200)
committerJochen Saalfeld <jochen@intevation.de>
Wed, 6 Apr 2016 06:09:10 +0000 (08:09 +0200)
* Makefile.am: Adding the Patchfile
* patches/libgpg-error-1.21/0001-Add-FD_ISSET-replacement-for
-Windows.patch: the Patch itself
* po/pt.po: removing obsolete content to supress compilation errors

--
libgpg-error fails to compile for windows without optimization because
it uses the FD_ISSET macro and does not link against ws2_32.
thi patch provides a simple replacement function for FD_ISSET to be
used on Windows.

Makefile.am
patches/libgpg-error-1.21/0001-Add-FD_ISSET-replacement-for-Windows.patch [new file with mode: 0755]
po/pt.po

index 5fdf3e6..d9991a1 100644 (file)
@@ -59,7 +59,8 @@ EXTRA_DIST = autogen.sh README.GIT ONEWS \
         patches/kleopatra/0004-Make-DBus-integration-of-the-smime-conf-optional.patch \
         patches/kleopatra/0005-Hack-generated-conf-files-for-Crosscompiling.patch \
         patches/kcoreaddons/0001-Fix-Kdelibs4-config-migration-for-Windows.patch \
-        patches/pinentry-0.9.7/Qt-Fix-Windows-foreground-window-hacks-for-Qt5.patch
+        patches/pinentry-0.9.7/Qt-Fix-Windows-foreground-window-hacks-for-Qt5.patch \
+       patches/libgpg-error-1.21/0001-Add-FD_ISSET-replacement-for-Windows.patch
 
 copy-news:
        cp NEWS doc/website/NEWS.last
diff --git a/patches/libgpg-error-1.21/0001-Add-FD_ISSET-replacement-for-Windows.patch b/patches/libgpg-error-1.21/0001-Add-FD_ISSET-replacement-for-Windows.patch
new file mode 100755 (executable)
index 0000000..4ffe635
--- /dev/null
@@ -0,0 +1,71 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From fee748c75a20207987b6da49301b857182e8662d Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke@intevation.de>
+Date: Tue, 5 Apr 2016 12:26:19 +0200
+Subject: [PATCH] Add FD_ISSET replacement for Windows
+
+* src/estream.c (_gpgrt_fd_isset): New.
+ (_gpgrt_poll): Use _gpgrt_fd_isset.
+
+--
+On Windows FD_ISSET resolves to WSAFDIsSet which would require
+libgpg-error to be linked against ws2_32.
+---
+ src/estream.c | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+diff --git a/src/estream.c b/src/estream.c
+index 737f9a5..67cb663 100644
+--- a/src/estream.c
++++ b/src/estream.c
+@@ -4637,6 +4637,24 @@ _gpgrt_get_nonblock (estream_t stream)
+   return ret;
+ }
+
++/* Replacement for FD_ISSET macro to avoid an extra
++   dependency against ws2_32 on Windows where FD_ISSET
++   uses WSAFDIsSet */
++int
++_gpgrt_fd_isset(int fd, fd_set *set)
++{
++#ifdef _WIN32
++  unsigned int i;
++  if (!set)
++    return 0;
++  for (i = 0; i < set->fd_count; i++)
++    if (fd == set->fd_array[i])
++      return 1;
++  return 0;
++#else
++  return FD_ISSET(fd, set);
++#endif
++}
+
+ /* A version of poll(2) working on estream handles.  Note that not all
+    estream types work with this function.  In contrast to the standard
+@@ -4799,17 +4817,17 @@ _gpgrt_poll (gpgrt_poll_t *fds, unsigned int nfds, int timeout)
+           item->got_hup = 1;
+           any = 1;
+         }
+-      if (item->want_read && FD_ISSET (fd, &readfds))
++      if (item->want_read && _gpgrt_fd_isset (fd, &readfds))
+         {
+           item->got_read = 1;
+           any = 1;
+         }
+-      if (item->want_write && FD_ISSET (fd, &writefds))
++      if (item->want_write && _gpgrt_fd_isset (fd, &writefds))
+         {
+           item->got_write = 1;
+           any = 1;
+         }
+-      if (item->want_oob && FD_ISSET (fd, &exceptfds))
++      if (item->want_oob && _gpgrt_fd_isset (fd, &exceptfds))
+         {
+           item->got_oob = 1;
+           any = 1;
+--
+2.1.4
index 7cdf1b2..706f799 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -181,17 +181,10 @@ msgstr ""
 "versões anteriores em upgrades.\n"
 "Queres continuar a instalar o Gpg4win ${VERSION} mesmo assim?"
 
-msgctxt "T_FoundExistingVersionB"
-msgid ""
-"A version of Gpg4Win has already been installed on the system. There will be "
-"no problem installing and thus overwriting this Version.\n"
-"\n"
-"Do you want to continue installing Gpg4win?"
-msgstr ""
-"Uma versão do Gpg4win já se encontra instalada neste sistema. Não há "
-"problema em instalar e daí substituir esta Versão.\n"
-"\n"
-"Queres continuar a instalar o Gpg4win?"
+#, fuzzy
+msgctxt "T_UninstallingOldVersion"
+msgid "Uninstalling Gpg4win-"
+msgstr "Instalar o GnuPG"
 
 msgctxt "T_FoundOldSeeManual"
 msgid ""
@@ -298,8 +291,8 @@ msgid ""
 "\n"
 "Uninstall Claws Mail from Gpg4win now?"
 msgstr ""
-"Uma versão antiga do Claws Mail foi encontrada na tua directoria de "
-"instalação.\n"
+"Uma versão antiga do Claws Mail foi encontrada na tua directoria de instalaçã"
+"o.\n"
 "Por favor, nota que o Claws Mail já não é distribuído com o Gpg4win e está "
 "agora disponível como um pacote independente.\n"
 "Deves desinstalar o Claws Mail agora e, se quiseres continuar a usá-lo, "
@@ -392,10 +385,6 @@ msgctxt "DESC_Menu_compendium_en_pdf"
 msgid "Show the Gpg4win Compendium (pdf, English)"
 msgstr "Mostrar o Compêndio Gpg4win (pdf, Inglês)"
 
-#~ msgctxt "T_RunKeyManager"
-#~ msgid "Run the key manager"
-#~ msgstr "Executar o gestor de chaves"
-
 #~ msgctxt "T_FoundExistingVersionB"
 #~ msgid ""
 #~ "A version of Gpg4Win has already been installed on the system. There will "
@@ -403,120 +392,7 @@ msgstr "Mostrar o Comp
 #~ "\n"
 #~ "Do you want to continue installing Gpg4win?"
 #~ msgstr ""
-#~ "Uma versão do Gpg4Win já se encontra instalada neste sistema. Não existe "
+#~ "Uma versão do Gpg4win já se encontra instalada neste sistema. Não há "
 #~ "problema em instalar e daí substituir esta Versão.\n"
 #~ "\n"
-#~ "Queres continuar a instalar o Gpg4Win?"
-
-#~ msgctxt "T_ShuttingDownDirMngr"
-#~ msgid "Trying to shutdown a possible running instance of DirMngr."
-#~ msgstr "A tentar encerrar uma possível instância do DirMngr em execução."
-
-#~ msgctxt "T_SetDefaultClient"
-#~ msgid "Do you want to make Claws Mail your default mail client?"
-#~ msgstr "Queres tornar o Claws Mail o teu cliente de e-mail por defeito?"
-
-#~ msgctxt "DESC_SEC_claws_mail"
-#~ msgid "Claws Mail-User-Agent"
-#~ msgstr "Claws Mail-User-Agent"
-
-#~ msgctxt "DESC_Menu_claws_mail"
-#~ msgid "Run the Claws mailprogram."
-#~ msgstr "Executar o programa de e-mail Claws."
-
-#~ msgctxt "DESC_Menu_claws_mail_pdf"
-#~ msgid "Show the online manual of Claws Mail"
-#~ msgstr "Mostrar o manual online do Claws Mail"
-
-#~ msgctxt "DESC_Menu_compendium_de_html"
-#~ msgid "Show the Gpg4win Compendium (html, German)"
-#~ msgstr "Mostrar o Compêndio Gpg4win (html, Alemão)"
-
-#~ msgctxt "DESC_Menu_compendium_en_html"
-#~ msgid "Show the Gpg4win Compendium (html, English)"
-#~ msgstr "Mostrar o Compêndio Gpg4win (html, Inglês)"
-
-#~ msgctxt "DESC_SEC_eudoragpg"
-#~ msgid "EudoraGPG is a plugin for the Eudora mail program"
-#~ msgstr "O EudoraGPG é um plugin para o programa de e-mail Eudora"
-
-#~ msgctxt "T_GPGee_RegFailed"
-#~ msgid "Warning: Registration of the GPGee explorer extension failed."
-#~ msgstr "Aviso: O registo da extensão do explorador GPGee falhou."
-
-#~ msgctxt "DESC_SEC_gpgee"
-#~ msgid "GPG Explorer Extensions"
-#~ msgstr "GPG Explorer Extensions"
-
-#~ msgctxt "DESC_Menu_gpgee_hlp"
-#~ msgid "Show the online manual of GPGee"
-#~ msgstr "Mostrar o manual online de GPGee"
-
-#~ msgctxt "DESC_Name_man_advanced_de"
-#~ msgid "Advanced Manual (German)"
-#~ msgstr "Manual Avançado (Alemão)"
-
-#~ msgctxt "DESC_SEC_man_advanced_de"
-#~ msgid "Gpg4Win Manual for the Advanced User (German)"
-#~ msgstr "Manual do Gpg4win para o Utilizador Avançado (Alemão)"
-
-#~ msgctxt "DESC_Menu_man_advanced_de"
-#~ msgid "Show the German online manual of Gpg4Win for advanced users"
-#~ msgstr ""
-#~ "Mostrar o Manual online do Gpg4Win para utilizadores avançados em Alemão"
-
-#~ msgctxt "DESC_Name_man_advanced_en"
-#~ msgid "Advanced Manual"
-#~ msgstr "Manual Avançado"
-
-#~ msgctxt "DESC_SEC_man_advanced_en"
-#~ msgid "Gpg4Win Manual for the Advanced User"
-#~ msgstr "Manual do Gpg4win para Utilizadores Avançados"
-
-#~ msgctxt "DESC_Menu_man_advanced_en"
-#~ msgid "Show the online manual of Gpg4Win for advanced users"
-#~ msgstr "Mostrar o Manual online do Gpg4Win para utilizadores avançados"
-
-#~ msgctxt "DESC_Name_man_novice_de"
-#~ msgid "Novice Manual (German)"
-#~ msgstr "Manual para Principiantes (Alemão)"
-
-#~ msgctxt "DESC_SEC_man_novice_de"
-#~ msgid "Gpg4Win Manual for the Novice User (German)"
-#~ msgstr "Manual do Gpg4Win para Principiantes (Alemão)"
-
-#~ msgctxt "DESC_Menu_man_novice_de"
-#~ msgid "Show the German online manual of Gpg4Win for novice users"
-#~ msgstr "Mostrar o Manual online do Gpg4Win para Principiantes em Alemão"
-
-#~ msgctxt "DESC_Name_man_novice_en"
-#~ msgid "Novice Manual (pdf, English)"
-#~ msgstr "Manual para Principiantes (pdf, Inglês)"
-
-#~ msgctxt "DESC_SEC_man_novice_en"
-#~ msgid "Gpg4win Manual for the Novice User (English)"
-#~ msgstr "Manual do Gpg4win para Principiantes (Inglês)"
-
-#~ msgctxt "DESC_Menu_man_novice_en"
-#~ msgid "Show the Gpg4win manual for novice users (pdf, English)"
-#~ msgstr "Mostrar o Manual Gpg4win para Principiantes (pdf, Inglês)"
-
-#~ msgctxt "DESC_SEC_compendium_de"
-#~ msgid "Gpg4win Compendium (German)"
-#~ msgstr "Compêndio Gpg4win (Alemão)"
-
-#~ msgctxt "DESC_Name_compendium_en"
-#~ msgid "Gpg4win Compendium EN"
-#~ msgstr "Gpg4win Compêndio EN"
-
-#~ msgctxt "DESC_SEC_winpt"
-#~ msgid "Windows Privacy Tray"
-#~ msgstr "Windows Privacy Tray (WinPT)."
-
-#~ msgctxt "DESC_Menu_winpt"
-#~ msgid ""
-#~ "Run the Windows Privacy Tray key management tool. This is a versatile key "
-#~ "management and encryption tool."
-#~ msgstr ""
-#~ "Executar a ferramenta de gestão de chaves Windows Privacy Tray. Esta é "
-#~ "uma ferramenta versátil para gestão de chaves e encriptação."
+#~ "Queres continuar a instalar o Gpg4win?"