- Fix build with clang

- Support staging

PR:		ports/184828
Submitted by:	KATO Tsuguru <tkato432@yahoo.com>
This commit is contained in:
Pawel Pekala 2013-12-19 19:16:55 +00:00
parent 7a9104fc76
commit 503235d15c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=336948
2 changed files with 62 additions and 9 deletions

View file

@ -15,10 +15,10 @@ LICENSE= GPLv3
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 @@ PLIST_DIRS= lib/xorg-edit/options/devices \
DESKTOP_ENTRIES="Xorg Edit" "" "" "${PORTNAME}" "Settings;" true
NO_STAGE= yes
post-patch:
@${REINPLACE_CMD} -e \
's|^CXX =|CXX ?=| ; \
@ -58,15 +57,15 @@ do-configure:
@${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>

View file

@ -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)