diff options
author | Alexey Sokolov <sokolov@google.com> | 2020-10-09 23:35:20 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2020-10-15 20:37:32 +0000 |
commit | 3ed201ae19a67d7ed4eaf2ba5e94f14d60b7827d (patch) | |
tree | 9f450103f445a85b679f1a48cdd25160605446f0 /games-arcade/slimevolley | |
parent | games-kids/lletters: minor style change (diff) | |
download | gentoo-3ed201ae19a67d7ed4eaf2ba5e94f14d60b7827d.tar.gz gentoo-3ed201ae19a67d7ed4eaf2ba5e94f14d60b7827d.tar.bz2 gentoo-3ed201ae19a67d7ed4eaf2ba5e94f14d60b7827d.zip |
games-arcade/slimevolley: fix build with gcc 10
Closes: https://bugs.gentoo.org/707412
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org>
Closes: https://github.com/gentoo/gentoo/pull/17866
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'games-arcade/slimevolley')
-rw-r--r-- | games-arcade/slimevolley/files/slimevolley-2.4.2-gcc10.patch | 263 | ||||
-rw-r--r-- | games-arcade/slimevolley/slimevolley-2.4.2-r1.ebuild | 4 |
2 files changed, 265 insertions, 2 deletions
diff --git a/games-arcade/slimevolley/files/slimevolley-2.4.2-gcc10.patch b/games-arcade/slimevolley/files/slimevolley-2.4.2-gcc10.patch new file mode 100644 index 000000000000..15338a7bfaa0 --- /dev/null +++ b/games-arcade/slimevolley/files/slimevolley-2.4.2-gcc10.patch @@ -0,0 +1,263 @@ +Author: Reiner Herrmann <reiner@reiner-h.de> +Description: Fix FTBFS with GCC 10 +Bug-Debian: https://bugs.debian.org/957813 + +--- a/src/themes.h ++++ b/src/themes.h +@@ -41,28 +41,28 @@ + bool _charge_theme_act(char* theme_select); + void _theme_suivant(bool initial); + +-char nom_theme[32]; +-char theme_act[32]; ++extern char nom_theme[32]; ++extern char theme_act[32]; + +-int menu_decalage, menu_t_police, menu_ecart; ++extern int menu_decalage, menu_t_police, menu_ecart; + +-SDL_Color coul_txt_menu, coul_txt_dial, coul_txt_jeu, coul_filet, coul_sol, coul_fond; ++extern SDL_Color coul_txt_menu, coul_txt_dial, coul_txt_jeu, coul_filet, coul_sol, coul_fond; + +-SDL_Surface *sol, *filet, *balle_img, *fleche, *oeil, *icone_jg, *icone_jd, *icone_fen; ++extern SDL_Surface *sol, *filet, *balle_img, *fleche, *oeil, *icone_jg, *icone_jd, *icone_fen; + +-SDL_Surface **img_grand_jg, **img_grand_jd, **img_2J_jg, **img_2J_jd, **img_3J_jg, **img_3J_jd; +-Uint8 img_max_jg, img_max_jd; ++extern SDL_Surface **img_grand_jg, **img_grand_jd, **img_2J_jg, **img_2J_jd, **img_3J_jg, **img_3J_jd; ++extern Uint8 img_max_jg, img_max_jd; + +-SDL_Surface *fond, *fond_jeu; ++extern SDL_Surface *fond, *fond_jeu; + +-TTF_Font* police; /* La police de caractères */ +-TTF_Font* police_menu; ++extern TTF_Font* police; /* La police de caractères */ ++extern TTF_Font* police_menu; + +-Uint16 decalage_haut, decalage_gauche; +-float ratio_police; ++extern Uint16 decalage_haut, decalage_gauche; ++extern float ratio_police; + +-bool th_libere; ++extern bool th_libere; + +-char* chemin_moi; ++extern char* chemin_moi; + + #endif +--- a/src/themes_general.c ++++ b/src/themes_general.c +@@ -31,6 +31,21 @@ + #define RATIO_3J .6 + #define RATIO_IC .4 + ++char nom_theme[32]; ++char theme_act[32]; ++int menu_decalage, menu_t_police, menu_ecart; ++SDL_Color coul_txt_menu, coul_txt_dial, coul_txt_jeu, coul_filet, coul_sol, coul_fond; ++SDL_Surface *sol, *filet, *balle_img, *fleche, *oeil, *icone_jg, *icone_jd, *icone_fen; ++SDL_Surface **img_grand_jg, **img_grand_jd, **img_2J_jg, **img_2J_jd, **img_3J_jg, **img_3J_jd; ++Uint8 img_max_jg, img_max_jd; ++SDL_Surface *fond, *fond_jeu; ++TTF_Font* police; /* La police de caractères */ ++TTF_Font* police_menu; ++Uint16 decalage_haut, decalage_gauche; ++float ratio_police; ++bool th_libere; ++char* chemin_moi; ++ + SDL_Rect filet_rect = { FILET_GAUCHE, HAUT_ECRAN - HAUT_SOL - FILET_HAUT, 0, 0 }; + SDL_Rect sol_rect = { 0, HAUT_ECRAN - HAUT_SOL, 0, 0 }; + SDL_Rect fond_rect; +--- a/src/slime.c ++++ b/src/slime.c +@@ -53,6 +53,20 @@ + #endif + #endif + ++SDL_Event evenement; ++SDL_Surface *ecran; /* L'écran */ ++joueur tab_joueurs[NB_JOUEURS_T]; /* Ce tableau contient les configuration des joueurs */ ++touches_joueur touches[4]; ++Uint8 nb_balles; ++balle_obj tab_balles[MAX_BALLES]; ++config_slime conf; /* La configuration actuelle (modifiable) */ ++Uint8 act_conf; ++Uint32 ev_timer(Uint32 intervalle, void* param); ++Uint16 h_ecran, l_ecran; ++bool quitter; ++bool fen_ok; ++bool plein_ecran, aff_fps, aff_sc_perm; ++ + char conf_chemin[64] = CONFIG_NOM; + + void afficher(char* chaine, TTF_Font* police_texte, SDL_Color coul_texte, Uint16 posX, Uint16 posY) { +--- a/src/slime.h ++++ b/src/slime.h +@@ -68,7 +68,7 @@ + #define snprintf5(a, b, c, d, e) snprintf(a, b, c, d, e) + #endif + +-SDL_Event evenement; ++extern SDL_Event evenement; + + void afficher(char* chaine, TTF_Font* police_texte, SDL_Color coul_text, Uint16 posX, Uint16 posY); + void aff_aide(const char* texte); +@@ -85,23 +85,23 @@ + + /* Les variables globales nécessaires... */ + +-SDL_Surface *ecran; /* L'écran */ ++extern SDL_Surface *ecran; /* L'écran */ + +-joueur tab_joueurs[NB_JOUEURS_T]; /* Ce tableau contient les configuration des joueurs */ +-touches_joueur touches[4]; ++extern joueur tab_joueurs[NB_JOUEURS_T]; /* Ce tableau contient les configuration des joueurs */ ++extern touches_joueur touches[4]; + +-Uint8 nb_balles; +-balle_obj tab_balles[MAX_BALLES]; ++extern Uint8 nb_balles; ++extern balle_obj tab_balles[MAX_BALLES]; + +-config_slime conf; /* La configuration actuelle (modifiable) */ ++extern config_slime conf; /* La configuration actuelle (modifiable) */ + +-Uint8 act_conf; ++extern Uint8 act_conf; + +-Uint32 ev_timer(Uint32 intervalle, void* param); ++extern Uint32 ev_timer(Uint32 intervalle, void* param); + +-Uint16 h_ecran, l_ecran; ++extern Uint16 h_ecran, l_ecran; + +-bool quitter; +-bool fen_ok; +-bool plein_ecran, aff_fps, aff_sc_perm; ++extern bool quitter; ++extern bool fen_ok; ++extern bool plein_ecran, aff_fps, aff_sc_perm; + #endif +--- a/src/audio.c ++++ b/src/audio.c +@@ -26,6 +26,10 @@ + #include "slime.h" + #include "audio.h" + ++bool audio_desact; ++bool son_active; ++slime_son sons[NB_SONS]; ++ + SDL_AudioSpec format_obtenu; + + slime_son* son_act; +--- a/src/audio.h ++++ b/src/audio.h +@@ -40,8 +40,8 @@ + + void stop_son(void); + +-bool audio_desact; +-bool son_active; ++extern bool audio_desact; ++extern bool son_active; + + enum { + SON_RBD_SLIME = 0, +@@ -54,6 +54,6 @@ + NB_SONS = 7 + }; + +-slime_son sons[NB_SONS]; ++extern slime_son sons[NB_SONS]; + + #endif +--- a/src/reseau.c ++++ b/src/reseau.c +@@ -34,6 +34,11 @@ + #define PORT 2222 /* A changer aussi dans les messages */ + #define HANDSHAKE "HelloSV241" + ++Uint8 nb_reseau; /* Nombre de joueurs réseau */ ++Uint8 nb_total; /* Nombre de joueurs au total */ ++UDPpacket* paquet; ++Uint8 clt_id_joueur; ++ + UDPsocket res_socket; + IPaddress j_adresses[NB_JOUEURS_T]; + +--- a/src/reseau.h ++++ b/src/reseau.h +@@ -48,12 +48,12 @@ + Uint8 connecte_client(char* addr_ip); + void deconnecte_client(void); + +-Uint8 nb_reseau; /* Nombre de joueurs réseau */ +-Uint8 nb_total; /* Nombre de joueurs au total */ ++extern Uint8 nb_reseau; /* Nombre de joueurs réseau */ ++extern Uint8 nb_total; /* Nombre de joueurs au total */ + +-UDPpacket* paquet; ++extern UDPpacket* paquet; + +-Uint8 clt_id_joueur; ++extern Uint8 clt_id_joueur; + + #endif + #endif +--- a/src/menu.c ++++ b/src/menu.c +@@ -31,6 +31,11 @@ + + #define TEXTE_GAUCHE 170 + ++int decalage; /* Pour aligner les slimes par rapport au texte */ ++Sint8 menu_act; /* L'élément de menu actuellement choisi */ ++Uint8 menu_raf; /* L'élément de menu actuellement rafraichi */ ++Sint8 action; /* Indique la touche pressée par l'utilisateur (gauche/retour/droite) */ ++ + void affiche_menu(menu_elem* fonctions, Uint8 n, char* nom_retour) { + Uint8 i; + +--- a/src/menu.h ++++ b/src/menu.h +@@ -41,10 +41,10 @@ + + void affiche_menu(menu_elem* fonctions, Uint8 n, char* nom_retour); + +-int decalage; /* Pour aligner les slimes par rapport au texte */ ++extern int decalage; /* Pour aligner les slimes par rapport au texte */ + +-Sint8 menu_act; /* L'élément de menu actuellement choisi */ +-Uint8 menu_raf; /* L'élément de menu actuellement rafraichi */ +-Sint8 action; /* Indique la touche pressée par l'utilisateur (gauche/retour/droite) */ ++extern Sint8 menu_act; /* L'élément de menu actuellement choisi */ ++extern Uint8 menu_raf; /* L'élément de menu actuellement rafraichi */ ++extern Sint8 action; /* Indique la touche pressée par l'utilisateur (gauche/retour/droite) */ + + #endif +--- a/src/menu_options.c ++++ b/src/menu_options.c +@@ -26,7 +26,7 @@ + #include "reseau.h" + #include "audio.h" + +-char tmp_chaine[64]; ++static char tmp_chaine[64]; + + void m_touches_act(void) { + configClavier(); +--- a/src/menu_princ.c ++++ b/src/menu_princ.c +@@ -27,7 +27,7 @@ + #include "slime.h" + #include "themes.h" + +-char tmp_chaine[64]; ++static char tmp_chaine[64]; + + char* m_vitesse_aff(void) { + const char* noms_confs[] = { N_("normal"), N_("turbo"), N_("sprint") , N_("fury") }; diff --git a/games-arcade/slimevolley/slimevolley-2.4.2-r1.ebuild b/games-arcade/slimevolley/slimevolley-2.4.2-r1.ebuild index 5d5491639d34..fb1eb3bc1e45 100644 --- a/games-arcade/slimevolley/slimevolley-2.4.2-r1.ebuild +++ b/games-arcade/slimevolley/slimevolley-2.4.2-r1.ebuild @@ -12,7 +12,6 @@ SRC_URI="http://downloads.tuxfamily.org/slime/v242/${PN}_${PV}.tar.bz2" LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" BDEPEND=" sys-devel/gettext @@ -31,6 +30,7 @@ DOCS=( docs/{README,TODO} ) PATCHES=( "${FILESDIR}"/${P}-nodatalocal.patch "${FILESDIR}"/${P}-underlink.patch + "${FILESDIR}"/${P}-gcc10.patch ) S="${WORKDIR}/${PN}" @@ -38,7 +38,7 @@ S="${WORKDIR}/${PN}" src_configure() { local mycmakeargs=( -DCMAKE_VERBOSE_MAKEFILE=TRUE - -DDATA_DIR=/usr/share/slimevolley + -DDATA_DIR="${EPREFIX}/usr/share/slimevolley" ) cmake_src_configure } |