commit:     f7975b43b9ab055cb20601870d6ea9c87d5f424f
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  4 09:59:50 2020 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Fri Sep  4 10:35:30 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7975b43

x11-misc/macopix: Version 3.4.0

Package-Manager: Portage-3.0.5, Repoman-3.0.1
Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>

 x11-misc/macopix/Manifest                          |   1 +
 .../files/macopix-3.4.0-CVE-2015-8614.patch        | 143 +++++++++
 x11-misc/macopix/files/macopix-3.4.0-Werror.patch  |  11 +
 .../macopix/files/macopix-3.4.0-fno-common.patch   | 357 +++++++++++++++++++++
 x11-misc/macopix/files/macopix-3.4.0-windres.patch |  11 +
 x11-misc/macopix/macopix-3.4.0.ebuild              |  84 +++++
 6 files changed, 607 insertions(+)

diff --git a/x11-misc/macopix/Manifest b/x11-misc/macopix/Manifest
index 62b2cb2f5ac..560229d73c8 100644
--- a/x11-misc/macopix/Manifest
+++ b/x11-misc/macopix/Manifest
@@ -1,4 +1,5 @@
 DIST macopix-1.7.4.tar.bz2 725481 BLAKE2B 
1712dba8efe53fa78077d77faf7a84654bb87c72b6d9067484ce8b54da448326543082e2a245fbe1b61c824084744f51c0de321076a0e23586514c694840a040
 SHA512 
6010f98ecd3aad4325e81f037589cc4e79d857d513687f5243adb6ef3768ace5cddf4f5cdce977a75a4dc769b52bb541bdeefe92cdc012471de950ee81592db7
+DIST macopix-3.4.0.tar.gz 2854634 BLAKE2B 
95ecb17588562a86db7e2c7b8c0832ebaea5b56e2c80814c365058954ce2655ac91f0109b1b0db4f7b8c1a98fde7162ee6c23fe3b2187cbeb22681714df2a595
 SHA512 
99b9dbbc7ca0cb3fa9c1881800e019ccae1c6439f300f479625a5b4877a0578b4a68b131ecbc0adc4a4393a867fd0ac9df7b52adaf2057f14142d1ddaf54fd53
 DIST macopix-mascot-HxB-euc-ja-0.30.tar.gz 803473 BLAKE2B 
943f30f19bf2108a7e412ca0404f8c47324fc2e9bac5c13c9fcf35d6a4c9944f25afee3754898e6449f46247572c35a42cbe9f7c1b123f3e9e00fc0f33a0a260
 SHA512 
8897bd6d30fe3372e91d00add2a1af5d7fd7384ce7668aa9b21952d5be863d04c63af8bb98846c59f54a87af3b60acbd008f6c62b68a22038f29a07e7ba19333
 DIST macopix-mascot-comic_party-euc-ja-1.02.tar.gz 20656 BLAKE2B 
d2a7022cad1856dcebc7594acad449d4de1909ab7f33788b69c562c2d376427d91e993b2c4300a968566d7fed8d3a7e6f7596ef3adcc7897ed6a1c8fd3bb5815
 SHA512 
b71a586faef6b878c150e7e8e412c70d8d08919736695108efe2f119aaa01347befcaf222990fbaba10daa57120645e5c77b5534df0e4224feddbaa15c80ecf2
 DIST macopix-mascot-cosmos-euc-ja-1.02.tar.gz 329269 BLAKE2B 
87d2357778f6e5d91232054dca16abc71224c1837a7a66569c8891d0720e0ffb2e9ab8745c76f44d0c8827a89afc412d703a1e66e2e46b3c8d7e49940d8c7880
 SHA512 
05b126b872c7ddf7dfe5b6fdd9654b8f97f6e005d8fa8ad30277a379c333cb0defaad43f9165db4712fc7e4d755fdddd34dce49a99f89c56f4dc951340fc7b1b

diff --git a/x11-misc/macopix/files/macopix-3.4.0-CVE-2015-8614.patch 
b/x11-misc/macopix/files/macopix-3.4.0-CVE-2015-8614.patch
new file mode 100644
index 00000000000..9bd9d9ecbd9
--- /dev/null
+++ b/x11-misc/macopix/files/macopix-3.4.0-CVE-2015-8614.patch
@@ -0,0 +1,143 @@
+From c3bbb22f131ea6e273d4921bd60c73e78a13e00b Mon Sep 17 00:00:00 2001
+From: "Ying-Chun Liu (PaulLiu)" <[email protected]>
+Date: Sat, 8 Aug 2020 03:45:19 +0800
+Subject: [PATCH] src/codeconv.c: Fix CVE-2015-8614
+
+This code comes from the latest claws-mail upstream which fixes
+the security issue.
+
+Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]>
+---
+ src/codeconv.c | 74 ++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 48 insertions(+), 26 deletions(-)
+
+diff --git a/src/codeconv.c b/src/codeconv.c
+index 254843e..0efbc13 100644
+--- a/src/codeconv.c
++++ b/src/codeconv.c
+@@ -128,10 +128,14 @@ typedef enum
+ void conv_jistoeuc(gchar *outbuf, gint outlen, const gchar *inbuf)
+ {
+       const guchar *in = inbuf;
+-      guchar *out = outbuf;
++      gchar *out = outbuf;
+       JISState state = JIS_ASCII;
+ 
+-      while (*in != '\0') {
++      /*
++       * Loop outputs up to 3 bytes in each pass (aux kanji) and we
++       * need 1 byte to terminate the output
++       */
++      while (*in != '\0' && (out - outbuf) < outlen - 4) {
+               if (*in == ESC) {
+                       in++;
+                       if (*in == '$') {
+@@ -192,6 +196,7 @@ void conv_jistoeuc(gchar *outbuf, gint outlen, const gchar 
*inbuf)
+       }
+ 
+       *out = '\0';
++      return ;
+ }
+ 
+ #define JIS_HWDAKUTEN         0x5e
+@@ -263,10 +268,15 @@ static gint conv_jis_hantozen(guchar *outbuf, guchar 
jis_code, guchar sound_sym)
+ void conv_euctojis(gchar *outbuf, gint outlen, const gchar *inbuf)
+ {
+       const guchar *in = inbuf;
+-      guchar *out = outbuf;
++      gchar *out = outbuf;
+       JISState state = JIS_ASCII;
+ 
+-      while (*in != '\0') {
++      /*
++       * Loop outputs up to 6 bytes in each pass (aux shift + aux
++       * kanji) and we need up to 4 bytes to terminate the output
++       * (ASCII shift + null)
++       */
++      while (*in != '\0' && (out - outbuf) < outlen - 10) {
+               if (isascii(*in)) {
+                       K_OUT();
+                       *out++ = *in++;
+@@ -286,26 +296,32 @@ void conv_euctojis(gchar *outbuf, gint outlen, const 
gchar *inbuf)
+                       }
+               } else if (iseuchwkana1(*in)) {
+                       if (iseuchwkana2(*(in + 1))) {
+-                        guchar jis_ch[2];
+-                        gint len;
+-                        
+-                        if (iseuchwkana1(*(in + 2)) &&
+-                            iseuchwkana2(*(in + 3)))
+-                          len = conv_jis_hantozen
+-                            (jis_ch,
+-                             *(in + 1), *(in + 3));
+-                        else
+-                          len = conv_jis_hantozen
+-                            (jis_ch,
+-                             *(in + 1), '\0');
+-                        if (len == 0)
+-                          in += 2;
+-                        else {
+-                          K_IN();
+-                          in += len * 2;
+-                          *out++ = jis_ch[0];
+-                          *out++ = jis_ch[1];
+-                        }
++                              if (0) {
++                                      HW_IN();
++                                      in++;
++                                      *out++ = *in++ & 0x7f;
++                              } else {
++                                      guchar jis_ch[2];
++                                      gint len;
++
++                                      if (iseuchwkana1(*(in + 2)) &&
++                                          iseuchwkana2(*(in + 3)))
++                                              len = conv_jis_hantozen
++                                                      (jis_ch,
++                                                       *(in + 1), *(in + 3));
++                                      else
++                                              len = conv_jis_hantozen
++                                                      (jis_ch,
++                                                       *(in + 1), '\0');
++                                      if (len == 0)
++                                              in += 2;
++                                      else {
++                                              K_IN();
++                                              in += len * 2;
++                                              *out++ = jis_ch[0];
++                                              *out++ = jis_ch[1];
++                                      }
++                              }
+                       } else {
+                               K_OUT();
+                               in++;
+@@ -340,14 +356,19 @@ void conv_euctojis(gchar *outbuf, gint outlen, const 
gchar *inbuf)
+ 
+       K_OUT();
+       *out = '\0';
++      return ;
+ }
+ 
+ void conv_sjistoeuc(gchar *outbuf, gint outlen, const gchar *inbuf)
+ {
+       const guchar *in = inbuf;
+-      guchar *out = outbuf;
++      gchar *out = outbuf;
+ 
+-      while (*in != '\0') {
++      /*
++       * Loop outputs up to 2 bytes in each pass and we need 1 byte
++       * to terminate the output
++       */
++      while (*in != '\0' && (out - outbuf) < outlen - 3) {
+               if (isascii(*in)) {
+                       *out++ = *in++;
+               } else if (issjiskanji1(*in)) {
+@@ -386,6 +407,7 @@ void conv_sjistoeuc(gchar *outbuf, gint outlen, const 
gchar *inbuf)
+       }
+ 
+       *out = '\0';
++      return ;
+ }
+ 
+ void conv_anytoeuc(gchar *outbuf, gint outlen, const gchar *inbuf)

diff --git a/x11-misc/macopix/files/macopix-3.4.0-Werror.patch 
b/x11-misc/macopix/files/macopix-3.4.0-Werror.patch
new file mode 100644
index 00000000000..e3f84dba8e3
--- /dev/null
+++ b/x11-misc/macopix/files/macopix-3.4.0-Werror.patch
@@ -0,0 +1,11 @@
+--- a/m4/visibility.m4
++++ b/m4/visibility.m4
+@@ -32,7 +32,7 @@
+     AC_MSG_CHECKING([whether the -Werror option is usable])
+     AC_CACHE_VAL([gl_cv_cc_vis_werror], [
+       gl_save_CFLAGS="$CFLAGS"
+-      CFLAGS="$CFLAGS -Werror"
++      CFLAGS="$CFLAGS -Werror -setthisupforfailure"
+       AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[]], [[]])],
+         [gl_cv_cc_vis_werror=yes],

diff --git a/x11-misc/macopix/files/macopix-3.4.0-fno-common.patch 
b/x11-misc/macopix/files/macopix-3.4.0-fno-common.patch
new file mode 100644
index 00000000000..74599704646
--- /dev/null
+++ b/x11-misc/macopix/files/macopix-3.4.0-fno-common.patch
@@ -0,0 +1,357 @@
+From f29175b892026dbc4a8ad321e426f22e0a09b248 Mon Sep 17 00:00:00 2001
+From: "Ying-Chun Liu (PaulLiu)" <[email protected]>
+Date: Sat, 8 Aug 2020 03:48:43 +0800
+Subject: [PATCH] Porting to gcc 10
+
+GCC will reject multiple definitions of global variables starting
+from gcc-10. We need to move the definitions to a real object file.
+And in headers we only extern it.
+
+Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]>
+---
+ src/main.c |  42 ++++++++++++++++++
+ src/main.h | 123 +++++++++++++++++++++++++++++++----------------------
+ 2 files changed, 113 insertions(+), 52 deletions(-)
+
+diff --git a/src/main.c b/src/main.c
+index 7944618..ce187a1 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -35,6 +35,48 @@
+ // *** GLOBAL ARGUMENT ***
+ 
+ gboolean FlagInstalledMenu;
++enum MENU_EXT_t MENU_EXT;
++enum MaCoPiXFolder_t MaCoPiXFolder;
++enum ClockMode_t ClockMode;
++enum HomePos_t HomePos;
++enum MoveMode_t MoveMode;
++#ifdef USE_OSX
++enum MAC_LAYER_MODE_t MAC_LAYER_MODE;
++#endif
++enum FFPos_t FFPos;
++enum AutoBar_t AutoBar;
++enum PosBalloon_t PosBalloon;
++enum TypBalloon_t TypBalloon;
++enum DuetAnimeMode_t DuetAnimeMode;
++enum TypInterpolate_t TypInterpolate;
++enum ClockType_t ClockType;
++enum MenuSelect_t MenuSelect;
++enum GuiFontConf_t GuiFontConf;
++enum GuiColorConf_t GuiColorConf;
++enum SetReleaseData_t SetReleaseData;
++enum MailStatus0_t MailStatus0;
++enum MailPixPos_t MailPixPos;
++enum MailStatus_t MailStatus;
++enum SignalAction_t SignalAction;
++enum ConsMode_t ConsMode;
++enum ScanMenuDir_t ScanMenuDir;
++enum CompositeFlag_t CompositeFlag;
++#ifdef USE_GTK3
++GdkPixbuf *pixbuf_main, *pixbuf_clk, *pixbuf_bal;
++#ifdef USE_WIN32
++GdkPixbuf *pixbuf_sdw;
++#endif
++#else  // USE_GTK3
++GdkPixmap *pixmap_main, *pixmap_clk, *pixmap_bal;
++#ifdef USE_WIN32
++GdkPixmap *pixmap_sdw;
++#endif
++#endif // USE_GTK3
++gint window_x, window_y;
++gboolean supports_alpha;
++gboolean flag_balloon;
++
++pid_t http_pid;
+ 
+ // Prototype of functions in this file
+ #ifdef USE_GTK3
+diff --git a/src/main.h b/src/main.h
+index 496815e..42577a6 100644
+--- a/src/main.h
++++ b/src/main.h
+@@ -217,10 +217,11 @@
+ #define MENU_EXTRACT_GTAR_COMMAND "tar -zxf %s -C %s "
+ 
+ // MENU
+-enum{ MENU_MENU,
++enum MENU_EXT_t { MENU_MENU,
+       MENU_LHA,
+       MENU_TAR
+-      }MENU_EXT;
++};
++extern enum MENU_EXT_t MENU_EXT;
+ 
+ 
+ // ����ե������ѳ�ĥ��
+@@ -252,11 +253,12 @@ enum{ MENU_MENU,
+ #define SOUNDDIR "sound" G_DIR_SEPARATOR_S
+ 
+ // Folder
+-enum{ FOLDER_DEFAULT,
++enum MaCoPiXFolder_t { FOLDER_DEFAULT,
+       FOLDER_PIX,
+       FOLDER_SOUND,
+       FOLDER_CURRENT
+-      }MaCoPiXFolder;
++};
++extern enum MaCoPiXFolder_t MaCoPiXFolder;
+ 
+ // �Ŀ��ѥ����֥ե�����
+ //  (USER_DIR��˺��� : �ޥ����å����¸�ѥ�᡼������¸)
+@@ -292,10 +294,11 @@ enum{ FOLDER_DEFAULT,
+ 
+ 
+ // CLOCK_MODE
+-enum{ CLOCK_NO,
++enum ClockMode_t { CLOCK_NO,
+       CLOCK_PIXMAP,
+       CLOCK_PANEL
+-}ClockMode;
++};
++extern enum ClockMode_t ClockMode;
+ 
+ //ANIME
+ #define MAX_PIXMAP   64
+@@ -330,47 +333,54 @@ enum{ CLOCK_NO,
+ #define ROOTOFF_Y (-10)
+ 
+ // Home Position Mode
+-enum{ HOMEPOS_NEVER, HOMEPOS_VANISH, HOMEPOS_BAR } HomePos;
++enum HomePos_t { HOMEPOS_NEVER, HOMEPOS_VANISH, HOMEPOS_BAR };
++extern enum HomePos_t HomePos;
+ 
+ // Titlebar Offset for Focus Follow
+ enum{ FF_BAR_ABS, FF_BAR_REL };
+ 
+ 
+ // MOVE mode
+-enum{
++enum MoveMode_t {
+   MOVE_FIX,
+   MOVE_FOCUS
+-}MoveMode;
++};
++extern enum MoveMode_t MoveMode;
+ 
+ #ifdef USE_OSX
+-enum {
++enum MAC_LAYER_MODE_t {
+      MAC_LAYER_DEFAULT,
+      MAC_LAYER_TOP,
+      NUM_MAC_LAYER
+-}MAC_LAYER_MODE;
++};
++extern enum MAC_LAYER_MODE_t MAC_LAYER_MODE;
+ #endif
+ 
+ // Focus Follow ������
+-enum{ FF_SIDE_LEFT, FF_SIDE_RIGHT } FFPos;
++enum FFPos_t { FF_SIDE_LEFT, FF_SIDE_RIGHT };
++extern enum FFPos_t FFPos;
+ 
+ // Focus Autobar �����ȥ�С�����ˡ
+-enum{ AUTOBAR_MANUAL, AUTOBAR_ORDINAL, AUTOBAR_COMPIZ } AutoBar;
++enum AutoBar_t { AUTOBAR_MANUAL, AUTOBAR_ORDINAL, AUTOBAR_COMPIZ };
++extern enum AutoBar_t AutoBar;
+ 
+ 
+ // Balloon Position
+-enum{
++enum PosBalloon_t{
+   BAL_POS_LEFT,
+     BAL_POS_RIGHT
+-    } PosBalloon;
++    };
++extern enum PosBalloon_t PosBalloon;
+ 
+ // Balloon Mode
+-enum{BALLOON_NORMAL,
++enum TypBalloon_t {BALLOON_NORMAL,
+        BALLOON_MAIL,
+        BALLOON_POPERROR,
+        BALLOON_SOCKMSG,
+        BALLOON_DUET,
+        BALLOON_SYS
+-       } TypBalloon;
++       };
++extern enum TypBalloon_t TypBalloon;
+ 
+ // Biff�� Balloon�μ������ǥ��޿�
+ #define BALLOON_EXPIRE    150
+@@ -394,39 +404,41 @@ typedef enum {
+ #define DEF_DUET_DELAY    20
+ 
+ // Duet Anime mode
+-enum{
++enum DuetAnimeMode_t {
+   DUET_CLICK,
+     DUET_RANDOM
+-    }DuetAnimeMode;
+-
++    };
++extern enum DuetAnimeMode_t DuetAnimeMode;
+ 
+ // Interpolation Style for Magnification
+-enum{  MAG_IP_NEAREST,
++enum TypInterpolate_t {        MAG_IP_NEAREST,
+        MAG_IP_TILES,
+        MAG_IP_BILINEAR,
+        MAG_IP_HYPER
+-         } TypInterpolate;
+-
++         };
++extern enum TypInterpolate_t TypInterpolate;
+ 
+ //Clock ������
+-enum{ CLOCK_TYPE_24S, 
++enum ClockType_t { CLOCK_TYPE_24S, 
+       CLOCK_TYPE_24M, 
+       CLOCK_TYPE_12S, 
+-      CLOCK_TYPE_12M } ClockType;
+-
++      CLOCK_TYPE_12M };
++extern enum ClockType_t ClockType;
+ 
+ // Font size ratio for AM/PM sign
+ #define CLOCK_AMPM_RATIO 0.6
+ 
+ // Install mode
+-enum{   MENU_SELECT, 
++enum MenuSelect_t {   MENU_SELECT, 
+       MENU_INSTALL_USER,
+       MENU_INSTALL_COMMON,
+       START_MENU_SELECT,
+       START_MENU_INSTALL_USER,
+       START_MENU_INSTALL_COMMON,
+       NUM_INSTALL_MODE
+- } MenuSelect;
++ };
++extern enum MenuSelect_t MenuSelect;
++
+ 
+ //DEFAULT Alpha
+ #define DEF_ALPHA_MAIN 100
+@@ -542,14 +554,15 @@ static GdkColor color_lred=   {0, 0xFFFF, 0xBBBB, 
0xBBBB};
+ 
+ 
+ // for Callback of Configuration Dialog
+-enum{CONF_FONT_CLK,      
++enum GuiFontConf_t {CONF_FONT_CLK,       
+        CONF_FONT_BAL,    
+        CONF_DEF_FONT_CLK,
+        CONF_DEF_FONT_BAL,
+        INIT_DEF_FONT_CLK,
+-       INIT_DEF_FONT_BAL} GuiFontConf;
++       INIT_DEF_FONT_BAL};
++extern enum GuiFontConf_t GuiFontConf;
+ 
+-enum{CONF_COLOR_CLK,
++enum GuiColorConf_t {CONF_COLOR_CLK,
+      CONF_COLOR_CLKBG,
+      CONF_COLOR_CLKBD,
+      CONF_COLOR_CLKSD,
+@@ -568,19 +581,21 @@ enum{CONF_COLOR_CLK,
+      CONF_COLOR_FS_BG0,
+      CONF_COLOR_FS_BG1,
+      NUM_CONF_COLOR
+-} GuiColorConf;
+-
+-enum{ SET_RELEASE_BALLOON, SET_RELEASE_CLOCK } SetReleaseData;
+-
++};
++extern enum GuiColorConf_t GuiColorConf;
+ 
++enum SetReleaseData_t { SET_RELEASE_BALLOON, SET_RELEASE_CLOCK };
++extern enum SetReleaseData_t SetReleaseData;
+ 
+ // Setting for BIFF
+ #define DEF_MAIL_INTERVAL 60
+ 
+ 
+-enum{ MAIL_NO, MAIL_LOCAL, MAIL_POP3, MAIL_APOP, MAIL_QMAIL, MAIL_PROCMAIL } 
MailStatus0;
++enum MailStatus0_t { MAIL_NO, MAIL_LOCAL, MAIL_POP3, MAIL_APOP, MAIL_QMAIL, 
MAIL_PROCMAIL };
++extern enum MailStatus0_t MailStatus0;
+ 
+-enum{ MAIL_PIX_LEFT, MAIL_PIX_RIGHT } MailPixPos;
++enum MailPixPos_t { MAIL_PIX_LEFT, MAIL_PIX_RIGHT };
++extern enum MailPixPos_t MailPixPos;
+ 
+ #undef POP_DEBUG  /* pop3 debugging mode */
+ 
+@@ -609,7 +624,8 @@ enum{ MAIL_PIX_LEFT, MAIL_PIX_RIGHT } MailPixPos;
+ #define BIFF_TOOLTIPS   TRUE
+ 
+ 
+-enum{ NO_MAIL, OLD_MAIL, NEW_MAIL, KEEP_NEW_MAIL } MailStatus;
++enum MailStatus_t { NO_MAIL, OLD_MAIL, NEW_MAIL, KEEP_NEW_MAIL };
++extern enum MailStatus_t MailStatus;
+ 
+ // mail status; array subscripts
+ 
+@@ -637,14 +653,17 @@ enum{ NO_MAIL, OLD_MAIL, NEW_MAIL, KEEP_NEW_MAIL } 
MailStatus;
+ 
+ 
+ // ����������
+-enum{ SIGACT_NO, SIGACT_CLICK, SIGACT_CHANGE } SignalAction;
++enum SignalAction_t { SIGACT_NO, SIGACT_CLICK, SIGACT_CHANGE };
++extern enum SignalAction_t SignalAction;
+ 
+ 
+ // Consistency Check
+-enum{ CONS_MANUAL, CONS_AUTOOW, CONS_IGNORE } ConsMode;
++enum ConsMode_t { CONS_MANUAL, CONS_AUTOOW, CONS_IGNORE };
++extern enum ConsMode_t ConsMode;
+ 
+ // ��˥塼�ξ��
+-enum{ SMENU_DIR_COMMON, SMENU_DIR_USER } ScanMenuDir;
++enum ScanMenuDir_t { SMENU_DIR_COMMON, SMENU_DIR_USER };
++extern enum ScanMenuDir_t ScanMenuDir;
+ 
+ 
+ typedef enum {
+@@ -661,11 +680,11 @@ typedef enum {
+ 
+ 
+ // COMPOSITE_FLAG
+-enum{ COMPOSITE_FALSE,
++enum CompositeFlag_t { COMPOSITE_FALSE,
+       COMPOSITE_TRUE,
+       COMPOSITE_UNKNOWN
+-}CompositeFlag;
+-
++};
++extern enum CompositeFlag_t CompositeFlag;
+ 
+ 
+ 
+@@ -1137,21 +1156,21 @@ typedef struct{
+ 
+ ///////////   Global Arguments   //////////
+ #ifdef USE_GTK3
+-GdkPixbuf *pixbuf_main, *pixbuf_clk, *pixbuf_bal;
++extern GdkPixbuf *pixbuf_main, *pixbuf_clk, *pixbuf_bal;
+ #ifdef USE_WIN32
+-GdkPixbuf *pixbuf_sdw;
++extern GdkPixbuf *pixbuf_sdw;
+ #endif
+ #else  // USE_GTK3
+-GdkPixmap *pixmap_main, *pixmap_clk, *pixmap_bal;
++extern GdkPixmap *pixmap_main, *pixmap_clk, *pixmap_bal;
+ #ifdef USE_WIN32
+-GdkPixmap *pixmap_sdw;
++extern GdkPixmap *pixmap_sdw;
+ #endif
+ #endif // USE_GTK3
+-gint window_x, window_y;
+-gboolean supports_alpha;
+-gboolean flag_balloon;
++extern gint window_x, window_y;
++extern gboolean supports_alpha;
++extern gboolean flag_balloon;
+ 
+-pid_t http_pid;
++extern pid_t http_pid;
+ 
+ 
+ ///////////   Proto types   //////////

diff --git a/x11-misc/macopix/files/macopix-3.4.0-windres.patch 
b/x11-misc/macopix/files/macopix-3.4.0-windres.patch
new file mode 100644
index 00000000000..39d509bcd35
--- /dev/null
+++ b/x11-misc/macopix/files/macopix-3.4.0-windres.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -57,7 +57,7 @@
+ AC_PROG_YACC
+ AM_PROG_LIBTOOL
+ 
+-AC_CHECK_PROG(WINDRES, windres, windres)
++AC_CHECK_PROG(WINDRES, windres-does-not-exist, windres)
+ AM_CONDITIONAL(HAVE_WINDRES, test x"$WINDRES" != x)
+ 
+ # Checks for header files.

diff --git a/x11-misc/macopix/macopix-3.4.0.ebuild 
b/x11-misc/macopix/macopix-3.4.0.ebuild
new file mode 100644
index 00000000000..4765b8dbb41
--- /dev/null
+++ b/x11-misc/macopix/macopix-3.4.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools
+
+DESCRIPTION="MaCoPiX (Mascot Constructive Pilot for X) is a desktop mascot 
application"
+HOMEPAGE="http://rosegray.sakura.ne.jp/macopix/index-e.html";
+
+BASE_URI="http://rosegray.sakura.ne.jp/macopix";
+SRC_URI="${BASE_URI}/${P}.tar.gz"
+
+# NOTE: These mascots are not redistributable on commercial CD-ROM.
+# The author granted to use them under Gentoo Linux.
+MACOPIX_MASCOTS="
+       macopix-mascot-HxB-euc-ja-0.30
+       macopix-mascot-marimite-euc-ja-2.20
+       macopix-mascot-cosmos-euc-ja-1.02
+       macopix-mascot-mizuiro-euc-ja-1.02
+       macopix-mascot-pia2-euc-ja-1.02
+       macopix-mascot-tsukihime-euc-ja-1.02
+       macopix-mascot-triangle_heart-euc-ja-1.02
+       macopix-mascot-comic_party-euc-ja-1.02
+       macopix-mascot-kanon-euc-ja-1.02
+       macopix-mascot-one-euc-ja-1.02
+"
+
+for i in ${MACOPIX_MASCOTS} ; do
+       SRC_URI+=" ${BASE_URI}/${i}.tar.gz"
+done
+
+# program itself is GPL-2, and mascots are free-noncomm
+LICENSE="GPL-2 free-noncomm"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="gnutls nls"
+
+RDEPEND="
+       dev-libs/glib:2
+       media-libs/libpng:0=
+       sys-devel/gettext
+       gnutls? ( net-libs/gnutls )
+       !gnutls? ( dev-libs/openssl:0= )
+       x11-libs/gtk+:3
+"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.4.0-CVE-2015-8614.patch
+       "${FILESDIR}"/${PN}-3.4.0-Werror.patch
+       "${FILESDIR}"/${PN}-3.4.0-fno-common.patch
+       "${FILESDIR}"/${PN}-3.4.0-windres.patch
+)
+
+src_prepare() {
+       default
+
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               $(use_with gnutls)
+}
+
+src_install() {
+       default
+
+       dodoc AUTHORS ChangeLog* NEWS *README*
+
+       # install mascots
+       for d in ${MACOPIX_MASCOTS} ; do
+               einfo "Installing ${d}..."
+               cd "${WORKDIR}/${d}" || die
+               insinto /usr/share/"${PN}"
+               doins *.mcpx *.menu
+               insinto /usr/share/"${PN}"/pixmap
+               doins *.png
+               docinto "${d}"
+               dodoc README.jp
+       done
+}

Reply via email to