Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Dec 2009 21:38:23 GMT
From:      Barbara <barbara.xxx1975@libero.it>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/141410: [patch] games/vavoom - unbreak build (cmake problem?)
Message-ID:  <200912122138.nBCLcNT7000349@www.freebsd.org>
Resent-Message-ID: <200912122140.nBCLe22G027922@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         141410
>Category:       misc
>Synopsis:       [patch] games/vavoom - unbreak build (cmake problem?)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Dec 12 21:40:02 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Barbara
>Release:        RELENG_7
>Organization:
>Environment:
FreeBSD satanasso.local.net 7.2-STABLE FreeBSD 7.2-STABLE #0: Wed Dec  9 09:43:05 CET 2009     root@satanasso.local.net:/usr/obj/usr/src/sys/SATANASSO  i386
>Description:
To solve the build failure for games/vavoom (http://lists.freebsd.org/pipermail/cvs-ports/2009-December/184634.html), I wrote the attached patch. This will detach the build of vlaunch and it should let the build complete successfully.
I preferred commenting some parts and giving a message while keeping the options, so they could be used again when the problem will be completely fixed.


Anyway, digging more deeply into the problem, I think that the problem is how cmake plays with wxgtk.
In fact, running wxgtk2u-2.8-config (unicode) to get the correct cxxflags, I get:
# /usr/local/bin/wxgtk2u-2.8-config --cxxflags
-I/usr/local/lib/wx/include/gtk2-unicode-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -pthread -D_THREAD_SAFE

but after the failure, in work/vavoom-1.30/utils/vlaunch/CMakeFiles/vlaunch.dir/flags.make, I see
-----------------------------------------------------------------
CXX_FLAGS = -O2 -pipe -march=athlon-mp -I/usr/local/lib/wx/include/gtk2-unicode-release-2.8 -I/usr/local/include/wx-2.8   _FILE_OFFSET_BITS=64 _LARGE_FILES __WXGTK__ _THREAD_SAFE

CXX_DEFINES = -DHAVE_INTTYPES_H=1
-----------------------------------------------------------------
which are clearly wrong.

The problem should be in /usr/local/share/cmake/Modules/FindwxWidgets.cmake
Patching it with the following, should fix also when building with WITH_LAUCHER
-----------------------------------------------------------------
--- FindwxWidgets.cmake.orig	2009-12-09 23:46:45.000000000 +0100
+++ FindwxWidgets.cmake	2009-12-12 21:07:46.000000000 +0100
@@ -718,10 +718,10 @@
         # parse definitions from cxxflags; drop -D* from CXXFLAGS and the -D prefix
         STRING(REGEX MATCHALL "-D[^;]+"
           wxWidgets_DEFINITIONS  "${wxWidgets_CXX_FLAGS}")
-        STRING(REGEX REPLACE "-D[^;]+;" ""
-          wxWidgets_CXX_FLAGS "${wxWidgets_CXX_FLAGS}")
-        STRING(REPLACE "-D" ""
-          wxWidgets_DEFINITIONS "${wxWidgets_DEFINITIONS}")
+        #STRING(REGEX REPLACE "-D[^;]+;" ""
+        #  wxWidgets_CXX_FLAGS "${wxWidgets_CXX_FLAGS}")
+        #STRING(REPLACE "-D" ""
+        #  wxWidgets_DEFINITIONS "${wxWidgets_DEFINITIONS}")
 
         # parse include dirs from cxxflags; drop -I prefix
         STRING(REGEX MATCHALL "-I[^;]+"
-----------------------------------------------------------------

I think that this could break other ports depending on wxgtk and cmake (if any).
I don't know if it's worth patching cmake port as well. Anyway I'll try to report it to cmake authors.

Barbara


>How-To-Repeat:

>Fix:


Patch attached with submission follows:

--- Makefile.orig	2009-12-12 15:27:41.000000000 +0100
+++ Makefile	2009-12-12 22:29:33.000000000 +0100
@@ -21,7 +21,7 @@
 
 OPTIONS=	ALLEGRO "Use Allegro for hardware API" off \
 		FLAC "Enable FLAC support" off \
-		LAUNCHER "Build GUI launcher" on \
+		LAUNCHER "Build GUI launcher" off \
 		LIBMAD "Enable MP3 support" off \
 		MIKMOD "Enable MikMod support" off \
 		OPENAL "Enable OpenAL support" off \
@@ -29,12 +29,10 @@
 		OPTIMIZED_CFLAGS "Enable compilation optimizations" off \
 		VORBIS "Enable Ogg Vorbis support" off \
 		SDL "Use SDL for hardware API" on \
-		WXUNICODE "Enable Unicode support" on
+		WXUNICODE "Enable Unicode support" off
 
 SUB_FILES=	pkg-message
 
-BROKEN=		fails to build with new cmake.
-
 .include <bsd.port.pre.mk>
 
 # The `-fno-strict-aliasing' flag (default on FreeBSD 6.0+) produces
@@ -64,15 +62,15 @@
 CMAKE_ARGS+=	-DWITH_FLAC=N
 .endif
 
-.if defined(WITH_LAUNCHER)
-USE_WX=		2.4+
-CMAKE_ARGS+=	-DENABLE_LAUNCHER=Y \
-		-DwxWidgets_CONFIG_EXECUTABLE="${WX_CONFIG}"
-PLIST_SUB+=	LAUNCHER=""
-.else
+#.if defined(WITH_LAUNCHER)
+#USE_WX=		2.4+
+#CMAKE_ARGS+=	-DENABLE_LAUNCHER=Y \
+#		-DwxWidgets_CONFIG_EXECUTABLE="${WX_CONFIG}"
+#PLIST_SUB+=	LAUNCHER=""
+#.else
 CMAKE_ARGS+=	-DENABLE_LAUNCHER=N
 PLIST_SUB+=	LAUNCHER="@comment "
-.endif
+#.endif
 
 .if defined(WITH_LIBMAD)
 LIB_DEPENDS+=	mad.2:${PORTSDIR}/audio/libmad
@@ -128,6 +126,14 @@
 WX_UNICODE=yes
 .endif
 
+pre-everything::
+.if defined(WITH_LAUNCHER)
+	@${ECHO_MSG}    ""
+	@${ECHO_MSG}    "===> Even if WITH_LAUNCHER has been set, vlauch will not"
+	@${ECHO_MSG}    "===> be built because of a problem with cmake and wxgtk"
+	@${ECHO_MSG}    ""
+.endif
+
 post-patch:
 	@cd ${WRKSRC} && ${SH} fixunix.sh
 	@${REINPLACE_CMD} -e 's|$$\* ||; s|$${IWADDIR}|-iwaddir ${DMDIR} $$*|' \
--- files/pkg-message.in.orig	2008-04-24 18:41:23.000000000 +0200
+++ files/pkg-message.in	2009-12-12 22:26:59.000000000 +0100
@@ -12,6 +12,7 @@
 "games/vavoom-extras" port. Note that textures require OPENGL and soundtracks
 need VORBIS (build options).
 
-If you enabled LAUNCHER (build option), run "vlaunch" for a launcher GUI.
+Even if you enabled LAUNCHER (build option), the launcher GUI "vlaunch"
+has not been built because of a problem with cmake. It will be fixed ASAP.
 
 ==============================================================================


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912122138.nBCLcNT7000349>