ports/184828: x11/xorg-edit: Fix build with clang

KATO Tsuguru tkato432 at yahoo.com
Mon Dec 16 18:10:07 UTC 2013


>Number:         184828
>Category:       ports
>Synopsis:       x11/xorg-edit: Fix build with clang
>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:   Mon Dec 16 18:10:07 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     KATO Tsuguru
>Release:        FreeBSD 8.4-RELEASE-p4 i386
>Organization:
>Environment:
>Description:
- Fix build with clang

New file:
files/patch-xorgedit__guiframe.cpp

>How-To-Repeat:
>Fix:

diff -urN /usr/ports/x11/xorg-edit/Makefile x11/xorg-edit/Makefile
--- /usr/ports/x11/xorg-edit/Makefile	2013-11-19 02:05:36.000000000 +0900
+++ x11/xorg-edit/Makefile	2013-12-17 00:00:00.000000000 +0900
@@ -15,10 +15,10 @@
 WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
 
 USE_BZIP2=	yes
+USES=		dos2unix gmake
 DOS2UNIX_GLOB=	*.cpp *.h
 USE_WX=		2.6+
 WX_UNICODE=	yes
-USES=		dos2unix gmake
 
 PLIST_FILES=	bin/xorg-edit \
 		lib/xorg-edit/de_DE/LC_MESSAGES/xorg-edit.mo \
@@ -34,7 +34,6 @@
 
 DESKTOP_ENTRIES="Xorg Edit" "" "" "${PORTNAME}" "Settings;" true
 
-NO_STAGE=	yes
 post-patch:
 	@${REINPLACE_CMD} -e \
 		's|^CXX =|CXX ?=| ; \
@@ -58,15 +57,15 @@
 	@${ECHO_CMD} '	$$(MAKE) -C xorgedit' >> ${WRKSRC}/Makefile
 
 do-install:
-	(cd ${WRKDIR} && ${INSTALL_SCRIPT} xorg-edit ${PREFIX}/bin)
-	@${MKDIR} ${PREFIX}/lib/xorg-edit
+	(cd ${WRKDIR} && ${INSTALL_SCRIPT} xorg-edit ${STAGEDIR}${PREFIX}/bin)
+	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/xorg-edit
 	(cd ${WRKSRC} && ${INSTALL_PROGRAM} xorg-edit \
-		${PREFIX}/lib/xorg-edit)
-	@${MKDIR} ${PREFIX}/lib/xorg-edit/de_DE/LC_MESSAGES
+		${STAGEDIR}${PREFIX}/lib/xorg-edit)
+	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/xorg-edit/de_DE/LC_MESSAGES
 	(cd ${WRKSRC}/de_DE/LC_MESSAGES && ${INSTALL_DATA} ${PORTNAME}.mo \
-		${PREFIX}/lib/xorg-edit/de_DE/LC_MESSAGES)
-	@${MKDIR} ${PREFIX}/lib/xorg-edit/options/devices
+		${STAGEDIR}${PREFIX}/lib/xorg-edit/de_DE/LC_MESSAGES)
+	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/xorg-edit/options/devices
 	(cd ${WRKSRC}/options/devices && ${INSTALL_DATA} *.xml \
-		${PREFIX}/lib/xorg-edit/options/devices)
+		${STAGEDIR}${PREFIX}/lib/xorg-edit/options/devices)
 
 .include <bsd.port.mk>
diff -urN /usr/ports/x11/xorg-edit/files/patch-xorgedit__guiframe.cpp x11/xorg-edit/files/patch-xorgedit__guiframe.cpp
--- /usr/ports/x11/xorg-edit/files/patch-xorgedit__guiframe.cpp	1970-01-01 09:00:00.000000000 +0900
+++ x11/xorg-edit/files/patch-xorgedit__guiframe.cpp	2013-12-17 00:00:00.000000000 +0900
@@ -0,0 +1,54 @@
+--- xorgedit/guiframe.cpp.orig
++++ xorgedit/guiframe.cpp
+@@ -182,8 +182,13 @@
+   otherSectionTab = new wxPanel(layout);                       // iles/modules/extensions/dri tab panel
+   wxBoxSizer *otherSectionTabSizer=new wxBoxSizer(wxVERTICAL);
+ 
++#ifdef __clang__
++  wxString *tempList = new wxString[devListSize+1];  // initial list for combo und choice elements
++  wxString *optList = new wxString[optListSize];   // initial list for option combo und choice elements
++#else
+   wxString tempList[devListSize+1];  // initial list for combo und choice elements
+   wxString optList[optListSize];   // initial list for option combo und choice elements
++#endif
+ 
+   optList[0]=_("----------");
+   optList[1]=_("Add Option");
+@@ -821,6 +826,11 @@
+     if (ShowError()) return;
+   }
+   SetSaved(true);
++
++#ifdef __clang__
++  delete[] optList;
++  delete[] tempList;
++#endif
+ }
+ 
+ const bool GuiFrame::CreateBackup(void) const
+@@ -1832,8 +1842,13 @@
+ 
+   warningText->SetLabel(_("Warning: Improper use of this tool can cause damage to your\nxorg.conf and may not start your Xserver.\nYou must restart X to take the changes effect."));
+ 
++#ifdef __clang__
++  wxString *tempList = new wxString[devListSize+1];  // initial list for combo und choice elements
++  wxString *optList = new wxString[optListSize];   // initial list for option combo und choice elements
++#else
+   wxString tempList[devListSize+1];  // initial list for combo und choice elements
+   wxString optList[optListSize];   // initial list for option combo und choice elements
++#endif
+   unsigned int offset=0;
+   unsigned int i;
+ 
+@@ -2269,6 +2284,11 @@
+ 
+   driBox->SetLabel(_("DRI"));
+   return(false);
++
++#ifdef __clang__
++  delete[] optList;
++  delete[] tempList;
++#endif
+ }
+ 
+ void GuiFrame::SetSaved(const bool save)
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list