ports/147699: [patch] powerpc64 support for x11-toolkits/gtk20
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Tue Jun 8 19:40:02 UTC 2010
>Number: 147699
>Category: ports
>Synopsis: [patch] powerpc64 support for x11-toolkits/gtk20
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Jun 08 19:40:00 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Nathan Whitehorn
>Release: FreeBSD 9.0-CURRENT powerpc64
>Organization:
University of Wisconsin
>Environment:
System: FreeBSD anacreon.physics.wisc.edu 9.0-CURRENT FreeBSD 9.0-CURRENT #3 r208870:208872: Sun Jun 6 09:33:03 CDT 2010 root at anacreon.physics.wisc.edu:/usr/obj/scratch/src/sys/ANACREON powerpc64
>Description:
Due to a flaw in binutils 2.15, function names can conflict with
ELF assembler directives on PPC64 systems. As a result, it is not possible
to have functions named things like 'text' and 'data', one of which GTK 2.0
has.
>How-To-Repeat:
Build GTK 2 on powerpc64.
>Fix:
This patches renames a private function in gtkbuilderparser.c from
text to XXXtext on powerpc64 systems to work around the ABI problem with
binutils.
--- gtk20-ppc64.diff begins here ---
--- Makefile.bak 2010-06-08 14:13:17.000000000 -0500
+++ Makefile 2010-06-08 14:15:03.000000000 -0500
@@ -61,6 +61,14 @@
CONFIGURE_ARGS+= --enable-debug=yes
.endif
+.if !defined(ARCH)
+ARCH!= /usr/bin/uname -p
+.endif
+
+.if ${ARCH} == powerpc64
+EXTRA_PATCHES= ${.CURDIR}/files/extra-arch-powerpc64
+.endif
+
.include <bsd.port.pre.mk>
.if (defined(WITH_CUPS) || exists(${LOCALBASE}/lib/libcups.so)) && \
--- /dev/null 2010-06-08 14:26:55.000000000 -0500
+++ files/extra-arch-powerpc64 2010-06-08 14:15:47.000000000 -0500
@@ -0,0 +1,20 @@
+--- gtk/gtkbuilderparser.c.dist 2010-06-08 14:11:06.000000000 -0500
++++ gtk/gtkbuilderparser.c 2010-06-08 14:11:33.000000000 -0500
+@@ -1051,7 +1051,7 @@
+ /* Called for character data */
+ /* text is not nul-terminated */
+ static void
+-text (GMarkupParseContext *context,
++XXXtext (GMarkupParseContext *context,
+ const gchar *text,
+ gsize text_len,
+ gpointer user_data,
+@@ -1106,7 +1106,7 @@
+ static const GMarkupParser parser = {
+ start_element,
+ end_element,
+- text,
++ XXXtext,
+ NULL,
+ NULL
+ };
--- gtk20-ppc64.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list