Adding a patch that allows this package to compile with older and newer GCC versions
authorCaleb Tennis <caleb@gentoo.org>
Wed, 12 Oct 2005 13:21:26 +0000 (13:21 +0000)
committerCaleb Tennis <caleb@gentoo.org>
Wed, 12 Oct 2005 13:21:26 +0000 (13:21 +0000)
Package-Manager: portage-2.0.53_rc5

dev-cpp/gccxml/ChangeLog
dev-cpp/gccxml/Manifest
dev-cpp/gccxml/files/digest-gccxml-0.6.0-r1 [new file with mode: 0644]
dev-cpp/gccxml/files/obstack.h.diff [new file with mode: 0644]
dev-cpp/gccxml/gccxml-0.6.0-r1.ebuild [new file with mode: 0644]

index 963e0e22d50237865bfc98e0a4141ad6728d06e0..596927c780c29f885cd3fc28f382ebc2f80695c5 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for dev-cpp/gccxml
 # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-cpp/gccxml/ChangeLog,v 1.7 2005/09/19 21:36:29 halcy0n Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-cpp/gccxml/ChangeLog,v 1.8 2005/10/12 13:21:26 caleb Exp $
+
+*gccxml-0.6.0-r1 (12 Oct 2005)
+
+  12 Oct 2005; Caleb Tennis <caleb@gentoo.org> +files/obstack.h.diff,
+  +gccxml-0.6.0-r1.ebuild:
+  Adding a patch that allows this package to compile with older and newer GCC
+  verisons
 
   19 Sep 2005; Mark Loeser <halcy0n@gentoo.org> metadata.xml:
   Adding to cpp herd.
index 81dac43e2a2f346df952428cf90dc090a0e911f9..5b1f821f0423ad6a00fc504b361115adbf89808e 100644 (file)
@@ -1,14 +1,7 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 0eeec99fb2c7d3774fac18eca461abd7 ChangeLog 822
+MD5 b5ad8efc39b7a1cc0d1ca7a278872f5e ChangeLog 1039
+MD5 e0b7d3d4f37a51b160e97d6b2f6c4fce files/digest-gccxml-0.6.0 65
+MD5 e0b7d3d4f37a51b160e97d6b2f6c4fce files/digest-gccxml-0.6.0-r1 65
+MD5 792c797769c6059ef2f9ebd6ce4b2e65 files/obstack.h.diff 3852
+MD5 c79d320ec210d61db57c6594771b1917 gccxml-0.6.0-r1.ebuild 865
 MD5 8c02797818273db2d2c3e5e7c2449cfe gccxml-0.6.0.ebuild 813
 MD5 d698342d42579c976d124866016978c1 metadata.xml 228
-MD5 e0b7d3d4f37a51b160e97d6b2f6c4fce files/digest-gccxml-0.6.0 65
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
-
-iD8DBQFDLy9oCRZPokWLroQRAp7uAKDL5QfZR1lxPNd1Q9hKlEv+cFvBlgCeLadJ
-y8MSc9ZVPCHwfDaUpSTAFJs=
-=KuxJ
------END PGP SIGNATURE-----
diff --git a/dev-cpp/gccxml/files/digest-gccxml-0.6.0-r1 b/dev-cpp/gccxml/files/digest-gccxml-0.6.0-r1
new file mode 100644 (file)
index 0000000..9286504
--- /dev/null
@@ -0,0 +1 @@
+MD5 d828349c76ca055955d0af84e8381093 gccxml-0.6.0.tar.gz 9740448
diff --git a/dev-cpp/gccxml/files/obstack.h.diff b/dev-cpp/gccxml/files/obstack.h.diff
new file mode 100644 (file)
index 0000000..99e0406
--- /dev/null
@@ -0,0 +1,99 @@
+--- GCC/include/obstack.h      2001/03/14 19:44:38     1.5
++++ GCC/include/obstack.h      2004/03/02 02:18:16     1.5.50.1
+@@ -343,7 +343,7 @@
+ 
+ #endif
+ 
+-#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = achar)
++#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = (achar))
+ 
+ #define obstack_blank_fast(h,n) ((h)->next_free += (n))
+ 
+@@ -411,7 +411,7 @@
+ ({ struct obstack *__o = (OBSTACK);                                   \
+    if (__o->next_free + 1 > __o->chunk_limit)                         \
+      _obstack_newchunk (__o, 1);                                      \
+-   *(__o->next_free)++ = (datum);                                     \
++   obstack_1grow_fast (__o, datum);                                   \
+    (void) 0; })
+ 
+ /* These assume that the obstack alignment is good enough for pointers or ints,
+@@ -423,19 +423,28 @@
+ ({ struct obstack *__o = (OBSTACK);                                   \
+    if (__o->next_free + sizeof (void *) > __o->chunk_limit)           \
+      _obstack_newchunk (__o, sizeof (void *));                                \
+-   *((void **)__o->next_free)++ = ((void *)datum);                    \
+-   (void) 0; })
++   obstack_ptr_grow_fast (__o, datum); })
+ 
+ # define obstack_int_grow(OBSTACK,datum)                              \
+ __extension__                                                         \
+ ({ struct obstack *__o = (OBSTACK);                                   \
+    if (__o->next_free + sizeof (int) > __o->chunk_limit)              \
+      _obstack_newchunk (__o, sizeof (int));                           \
+-   *((int *)__o->next_free)++ = ((int)datum);                         \
++   obstack_int_grow_fast (__o, datum); })
++
++# define obstack_ptr_grow_fast(OBSTACK,aptr)                          \
++__extension__                                                         \
++({ struct obstack *__o1 = (OBSTACK);                                  \
++   *(const void **) __o1->next_free = (aptr);                         \
++   __o1->next_free += sizeof (const void *);                          \
+    (void) 0; })
+ 
+-# define obstack_ptr_grow_fast(h,aptr) (*((void **) (h)->next_free)++ = (void *)aptr)
+-# define obstack_int_grow_fast(h,aint) (*((int *) (h)->next_free)++ = (int) aint)
++# define obstack_int_grow_fast(OBSTACK,aint)                          \
++__extension__                                                         \
++({ struct obstack *__o1 = (OBSTACK);                                  \
++   *(int *) __o1->next_free = (aint);                                 \
++   __o1->next_free += sizeof (int);                                   \
++   (void) 0; })
+ 
+ # define obstack_blank(OBSTACK,length)                                        \
+ __extension__                                                         \
+@@ -443,7 +452,7 @@
+    int __len = (length);                                              \
+    if (__o->chunk_limit - __o->next_free < __len)                     \
+      _obstack_newchunk (__o, __len);                                  \
+-   __o->next_free += __len;                                           \
++   obstack_blank_fast (__o, __len);                                   \
+    (void) 0; })
+ 
+ # define obstack_alloc(OBSTACK,length)                                        \
+@@ -530,26 +539,29 @@
+ # define obstack_1grow(h,datum)                                               \
+ ( (((h)->next_free + 1 > (h)->chunk_limit)                            \
+    ? (_obstack_newchunk ((h), 1), 0) : 0),                            \
+-  (*((h)->next_free)++ = (datum)))
++  obstack_1grow_fast (h, datum))
+ 
+ # define obstack_ptr_grow(h,datum)                                    \
+ ( (((h)->next_free + sizeof (char *) > (h)->chunk_limit)              \
+    ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0),              \
+-  (*((char **) (((h)->next_free+=sizeof(char *))-sizeof(char *))) = ((char *) datum)))
++  obstack_ptr_grow_fast (h, datum))
+ 
+ # define obstack_int_grow(h,datum)                                    \
+ ( (((h)->next_free + sizeof (int) > (h)->chunk_limit)                 \
+    ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0),                 \
+-  (*((int *) (((h)->next_free+=sizeof(int))-sizeof(int))) = ((int) datum)))
++  obstack_int_grow_fast (h, datum))
++
++# define obstack_ptr_grow_fast(h,aptr)                                        \
++  (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr))
+ 
+-# define obstack_ptr_grow_fast(h,aptr) (*((char **) (h)->next_free)++ = (char *) aptr)
+-# define obstack_int_grow_fast(h,aint) (*((int *) (h)->next_free)++ = (int) aint)
++# define obstack_int_grow_fast(h,aint)                                        \
++  (((int *) ((h)->next_free += sizeof (int)))[-1] = (aptr))
+ 
+ # define obstack_blank(h,length)                                      \
+ ( (h)->temp = (length),                                                       \
+   (((h)->chunk_limit - (h)->next_free < (h)->temp)                    \
+    ? (_obstack_newchunk ((h), (h)->temp), 0) : 0),                    \
+-  ((h)->next_free += (h)->temp))
++  obstack_blank_fast (h, (h)->temp))
+ 
+ # define obstack_alloc(h,length)                                      \
+  (obstack_blank ((h), (length)), obstack_finish ((h)))
diff --git a/dev-cpp/gccxml/gccxml-0.6.0-r1.ebuild b/dev-cpp/gccxml/gccxml-0.6.0-r1.ebuild
new file mode 100644 (file)
index 0000000..bcd795a
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-cpp/gccxml/gccxml-0.6.0-r1.ebuild,v 1.1 2005/10/12 13:21:26 caleb Exp $
+
+inherit versionator eutils
+PVM="$(get_version_component_range 1-2)"
+DESCRIPTION="XML output extension to GCC"
+HOMEPAGE="http://www.gccxml.org/"
+SRC_URI="http://www.gccxml.org/files/v${PVM}/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~mips ~ppc ~sparc ~x86"
+IUSE=""
+
+DEPEND="dev-util/cmake"
+RDEPEND=""
+
+MYBUILDDIR=${WORKDIR}/build
+src_unpack() {
+       mkdir ${MYBUILDDIR}
+       unpack ${A}
+       cd ${S}
+       epatch ${FILESDIR}/obstack.h.diff
+}
+src_compile() {
+       cd ${MYBUILDDIR}
+       cmake ../${P} -DCMAKE_INSTALL_PREFIX:PATH=/usr || die "cmake failed"
+       emake || die "emake failed"
+}
+
+src_install() {
+       cd ${MYBUILDDIR}
+       make DESTDIR=${D} install || die
+}