From 503235d15cbda98bb69ec6d141dbeda40848a764 Mon Sep 17 00:00:00 2001 From: Pawel Pekala Date: Thu, 19 Dec 2013 19:16:55 +0000 Subject: [PATCH] - Fix build with clang - Support staging PR: ports/184828 Submitted by: KATO Tsuguru --- x11/xorg-edit/Makefile | 17 +++--- .../files/patch-xorgedit__guiframe.cpp | 54 +++++++++++++++++++ 2 files changed, 62 insertions(+), 9 deletions(-) create mode 100644 x11/xorg-edit/files/patch-xorgedit__guiframe.cpp diff --git a/x11/xorg-edit/Makefile b/x11/xorg-edit/Makefile index 637e16bead6c..177fdc2ddf9a 100644 --- a/x11/xorg-edit/Makefile +++ b/x11/xorg-edit/Makefile @@ -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 diff --git a/x11/xorg-edit/files/patch-xorgedit__guiframe.cpp b/x11/xorg-edit/files/patch-xorgedit__guiframe.cpp new file mode 100644 index 000000000000..a2073a19330d --- /dev/null +++ b/x11/xorg-edit/files/patch-xorgedit__guiframe.cpp @@ -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)