commit:     493e624738974512a14a9eef9391f4c9340f659d
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 21 20:37:58 2020 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Nov 21 20:37:58 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=493e6247

games-util/fteqcc: Port to EAPI 7

Closes: https://bugs.gentoo.org/707434
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 games-util/fteqcc/files/fteqcc-2501-Makefile.patch |  61 ++++++
 .../fteqcc/files/fteqcc-2501-cleanup-source.patch  | 205 +++++++++++++++++----
 games-util/fteqcc/fteqcc-2501.ebuild               |  31 ++--
 3 files changed, 240 insertions(+), 57 deletions(-)

diff --git a/games-util/fteqcc/files/fteqcc-2501-Makefile.patch 
b/games-util/fteqcc/files/fteqcc-2501-Makefile.patch
new file mode 100644
index 00000000000..cc70e9be4d8
--- /dev/null
+++ b/games-util/fteqcc/files/fteqcc-2501-Makefile.patch
@@ -0,0 +1,61 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,51 +1,19 @@
+ QCC_OBJS=qccmain.o qcc_cmdlib.o qcc_pr_comp.o qcc_pr_lex.o comprout.o hash.o 
qcd_main.o
+ GTKGUI_OBJS=qcc_gtk.o qccguistuff.c
+ 
+-CC=gcc -Wall -DQCCONLY
+-
+-DO_CC=$(CC) $(BASE_CFLAGS) -o $@ -c $< $(CFLAGS)
+-
+ all: qcc
+ 
+-BASE_CFLAGS=-ggdb
+-CFLAGS =
+-
++CFLAGS += -Wall
++CPPFLAGS += -DQCCONLY
+ 
+ win_nocyg: $(QCC_OBJS) qccgui.c qccguistuff.c
+-      $(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 -s $(QCC_OBJS) -mno-cygwin 
-mwindows
++      $(CC) $(BASE_CFLAGS) -o fteqcc.exe $(QCC_OBJS) -mno-cygwin -mwindows
+ nocyg: $(QCC_OBJS) qccgui.c qccguistuff.c
+-      $(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 -s $(QCC_OBJS) -mno-cygwin
++      $(CC) $(BASE_CFLAGS) -o fteqcc.exe $(QCC_OBJS) -mno-cygwin
+ win: $(QCC_OBJS) qccgui.c qccguistuff.c
+-      $(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 -s $(QCC_OBJS) -mwindows
++      $(CC) $(BASE_CFLAGS) -o fteqcc.exe $(QCC_OBJS) -mwindows
+ qcc: $(QCC_OBJS)
+-      $(CC) $(BASE_CFLAGS) -o fteqcc.bin -O3 -s $(QCC_OBJS)
+-
+-qccmain.o: qccmain.c qcc.h
+-      $(DO_CC)
+-
+-qcc_cmdlib.o: qcc_cmdlib.c qcc.h
+-      $(DO_CC)
+-
+-qcc_pr_comp.o: qcc_pr_comp.c qcc.h
+-      $(DO_CC)
+-
+-qcc_pr_lex.o: qcc_pr_lex.c qcc.h
+-      $(DO_CC)
+-
+-comprout.o: comprout.c qcc.h
+-      $(DO_CC)
+-
+-hash.o: hash.c qcc.h
+-      $(DO_CC)
+-
+-qcd_main.o: qcd_main.c qcc.h
+-      $(DO_CC)
+-
+-qccguistuff.o: qccguistuff.c qcc.h
+-      $(DO_CC)
+-
+-qcc_gtk.o: qcc_gtk.c qcc.h
+-      $(DO_CC) `pkg-config --cflags gtk+-2.0`
++      $(CC) $(BASE_CFLAGS) $(LDFLAGS) -o fteqcc.bin $(QCC_OBJS)
+ 
+ gtkgui: $(QCC_OBJS) $(GTKGUI_OBJS)
+-      $(CC) $(BASE_CFLAGS) -DQCCONLY -DUSEGUI -o fteqccgui.bin -O3 
$(GTKGUI_OBJS) $(QCC_OBJS) `pkg-config --libs gtk+-2.0`
++      $(CC) $(CFLAGS) $(LDFLAGS) -DUSEGUI -o fteqccgui.bin $(GTKGUI_OBJS) 
$(QCC_OBJS) $(GTK_LIBS)

diff --git a/games-util/fteqcc/files/fteqcc-2501-cleanup-source.patch 
b/games-util/fteqcc/files/fteqcc-2501-cleanup-source.patch
index 35f3dcf100a..be8cccb074b 100644
--- a/games-util/fteqcc/files/fteqcc-2501-cleanup-source.patch
+++ b/games-util/fteqcc/files/fteqcc-2501-cleanup-source.patch
@@ -1,43 +1,5 @@
---- qcc_pr_comp.c
-+++ qcc_pr_comp.c
-@@ -7322,7 +7322,7 @@
-       QCC_def_t               *def, *d;
-       QCC_function_t  *f;
-       QCC_dfunction_t *df;
--      int                     i;
-+      int                     i = 0;
-       pbool shared=false;
-       pbool externfnc=false;
-       pbool isconstant = false;
-@@ -8541,8 +8545,6 @@
-       struct qcc_includechunk_s *oldcurrentchunk;
-       extern struct qcc_includechunk_s *currentchunk;
- 
--      extern char qccmsourcedir[];
--
-       ocompilingfile = compilingfile;
-       os_file = s_file;
-       os_file2 = s_file2;
---- hash.h
-+++ hash.h
-@@ -19,12 +19,12 @@
- int Hash_Key(char *name, int modulus);
- void *Hash_Get(hashtable_t *table, char *name);
- void *Hash_GetInsensative(hashtable_t *table, char *name);
--void *Hash_GetKey(hashtable_t *table, int key);
-+void *Hash_GetKey(hashtable_t *table, long key);
- void *Hash_GetNext(hashtable_t *table, char *name, void *old);
- void *Hash_GetNextInsensative(hashtable_t *table, char *name, void *old);
- void *Hash_Add(hashtable_t *table, char *name, void *data, bucket_t *buck);
- void *Hash_AddInsensative(hashtable_t *table, char *name, void *data, 
bucket_t *buck);
- void Hash_Remove(hashtable_t *table, char *name);
- void Hash_RemoveData(hashtable_t *table, char *name, void *data);
--void Hash_RemoveKey(hashtable_t *table, int key);
--void *Hash_AddKey(hashtable_t *table, int key, void *data, bucket_t *buck);
-+void Hash_RemoveKey(hashtable_t *table, long key);
-+void *Hash_AddKey(hashtable_t *table, long key, void *data, bucket_t *buck);
---- hash.c
-+++ hash.c
+--- a/hash.c
++++ b/hash.c
 @@ -68,7 +68,7 @@
        }
        return NULL;
@@ -91,3 +53,166 @@
                {
                        buck->next = buck->next->next;
                        return;
+--- a/hash.h
++++ b/hash.h
+@@ -19,12 +19,12 @@
+ int Hash_Key(char *name, int modulus);
+ void *Hash_Get(hashtable_t *table, char *name);
+ void *Hash_GetInsensative(hashtable_t *table, char *name);
+-void *Hash_GetKey(hashtable_t *table, int key);
++void *Hash_GetKey(hashtable_t *table, long key);
+ void *Hash_GetNext(hashtable_t *table, char *name, void *old);
+ void *Hash_GetNextInsensative(hashtable_t *table, char *name, void *old);
+ void *Hash_Add(hashtable_t *table, char *name, void *data, bucket_t *buck);
+ void *Hash_AddInsensative(hashtable_t *table, char *name, void *data, 
bucket_t *buck);
+ void Hash_Remove(hashtable_t *table, char *name);
+ void Hash_RemoveData(hashtable_t *table, char *name, void *data);
+-void Hash_RemoveKey(hashtable_t *table, int key);
+-void *Hash_AddKey(hashtable_t *table, int key, void *data, bucket_t *buck);
++void Hash_RemoveKey(hashtable_t *table, long key);
++void *Hash_AddKey(hashtable_t *table, long key, void *data, bucket_t *buck);
+--- a/qcc.h
++++ b/qcc.h
+@@ -286,7 +286,7 @@
+ #endif
+ 
+ #ifdef WRITEASM
+-FILE *asmfile;
++extern FILE *asmfile;
+ #endif
+ 
//=============================================================================
+ 
+@@ -830,23 +830,23 @@
+ 
+ typedef char PATHSTRING[MAX_DATA_PATH];
+ 
+-PATHSTRING            *precache_sounds;
+-int                   *precache_sounds_block;
+-int                   *precache_sounds_used;
+-int                   numsounds;
+-
+-PATHSTRING            *precache_textures;
+-int                   *precache_textures_block;
+-int                   numtextures;
+-
+-PATHSTRING            *precache_models;
+-int                   *precache_models_block;
+-int                   *precache_models_used;
+-int                   nummodels;
+-
+-PATHSTRING            *precache_files;
+-int                   *precache_files_block;
+-int                   numfiles;
++extern PATHSTRING             *precache_sounds;
++extern int                    *precache_sounds_block;
++extern int                    *precache_sounds_used;
++extern int                    numsounds;
++
++extern PATHSTRING             *precache_textures;
++extern int                    *precache_textures_block;
++extern int                    numtextures;
++
++extern PATHSTRING             *precache_models;
++extern int                    *precache_models_block;
++extern int                    *precache_models_used;
++extern int                    nummodels;
++
++extern PATHSTRING             *precache_files;
++extern int                    *precache_files_block;
++extern int                    numfiles;
+ 
+ int   QCC_CopyString (char *str);
+ 
+--- a/qccmain.c
++++ b/qccmain.c
+@@ -2,6 +2,14 @@
+ 
+ #define PROGSUSED
+ #include "qcc.h"
++
++#ifdef WRITEASM
++FILE *asmfile;
++#endif
++
++int                   *precache_sounds_used;
++int                   *precache_models_used;
++
+ int mkdir(const char *path);
+ 
+ char QCC_copyright[1024];
+@@ -22,7 +30,7 @@
+ void *FS_ReadToMem(char *fname, void *membuf, int *len);
+ void FS_CloseFromMem(void *mem);
+ 
+-struct qcc_includechunk_s *currentchunk;
++extern struct qcc_includechunk_s *currentchunk;
+ 
+ unsigned int MAX_REGS;
+ 
+@@ -84,8 +92,8 @@
+ hashtable_t compconstantstable;
+ hashtable_t globalstable;
+ hashtable_t localstable;
+-hashtable_t floatconstdefstable;
+-hashtable_t stringconstdefstable;
++extern hashtable_t floatconstdefstable;
++extern hashtable_t stringconstdefstable;
+ 
+ pbool qccwarningdisabled[WARN_MAX];
+ 
+@@ -1627,7 +1635,7 @@
+ 
+ #define PROGDEFS_MAX_SIZE 16384
+ //write (to file buf) and add to the crc
+-void inline Add(char *p, unsigned short *crc, char *file)
++void Add(char *p, unsigned short *crc, char *file)
+ {
+       char *s;
+       int i = strlen(file);
+@@ -1643,7 +1651,7 @@
+ #define ADD(p) Add(p, &crc, file)
+ //#define ADD(p) {char *s;int i = 
strlen(p);for(s=p;*s;s++,i++){QCC_CRC_ProcessByte(&crc, *s);file[i] = 
*s;}file[i]='\0';}
+ 
+-void inline Add3(char *p, unsigned short *crc, char *file)
++void Add3(char *p, unsigned short *crc, char *file)
+ {
+       char *s;
+       for(s=p;*s;s++)
+@@ -3283,7 +3291,7 @@
+ 
+ 
+ #ifdef QCCONLY
+-progfuncs_t *progfuncs;
++extern progfuncs_t *progfuncs;
+ 
+ /*
+ ==============
+--- a/qcc_pr_comp.c
++++ b/qcc_pr_comp.c
+@@ -733,7 +733,7 @@
+ ============
+ */
+ QCC_def_t *QCC_PR_Statement ( QCC_opcode_t *op, QCC_def_t *var_a, QCC_def_t 
*var_b, QCC_dstatement_t **outstatement);
+-int inline QCC_ShouldConvert(QCC_def_t *var, etype_t wanted)
++int QCC_ShouldConvert(QCC_def_t *var, etype_t wanted)
+ {
+       if (var->type->type == ev_integer && wanted == ev_function)
+               return 0;
+@@ -7322,7 +7322,7 @@
+       QCC_def_t               *def, *d;
+       QCC_function_t  *f;
+       QCC_dfunction_t *df;
+-      int                     i;
++      int                     i = 0;
+       pbool shared=false;
+       pbool externfnc=false;
+       pbool isconstant = false;
+@@ -8541,8 +8541,6 @@
+       struct qcc_includechunk_s *oldcurrentchunk;
+       extern struct qcc_includechunk_s *currentchunk;
+ 
+-      extern char qccmsourcedir[];
+-
+       ocompilingfile = compilingfile;
+       os_file = s_file;
+       os_file2 = s_file2;

diff --git a/games-util/fteqcc/fteqcc-2501.ebuild 
b/games-util/fteqcc/fteqcc-2501.ebuild
index c03aa1ac4ee..3791f964ea7 100644
--- a/games-util/fteqcc/fteqcc-2501.ebuild
+++ b/games-util/fteqcc/fteqcc-2501.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=5
-inherit eutils flag-o-matic
+EAPI=7
+
+inherit edos2unix toolchain-funcs
 
 DESCRIPTION="QC compiler"
 HOMEPAGE="http://fteqw.sourceforge.net/";
@@ -11,28 +12,24 @@ SRC_URI="mirror://sourceforge/fteqw/qclibsrc${PV}.zip"
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
 RESTRICT="test"
 
-DEPEND="app-arch/unzip"
-RDEPEND=""
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
 
-S=${WORKDIR}
+PATCHES=(
+       "${FILESDIR}"/${P}-cleanup-source.patch
+       "${FILESDIR}"/${P}-Makefile.patch
+)
 
 src_prepare() {
-       epatch "${FILESDIR}"/${P}-cleanup-source.patch
-       sed -i \
-               -e '/^CC/d' \
-               -e "s: -O3 : :g" \
-               -e "s: -s : :g" \
-               -e 's/-o fteqcc.bin/$(LDFLAGS) -o fteqcc.bin/' \
-               Makefile || die "sed failed"
+       default
        edos2unix readme.txt
-       append-flags -DQCCONLY
 }
 
-src_compile() {
-       emake BASE_CFLAGS="${CFLAGS} -Wall"
+src_configure() {
+       tc-export CC
 }
 
 src_install() {

Reply via email to