Fix build with clang

PR:		ports/184859
Submitted by:	KATO Tsuguru
This commit is contained in:
Antoine Brodin 2014-01-05 19:43:58 +00:00
parent ec831ba482
commit a2b47f3289
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=338818
4 changed files with 102 additions and 20 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= ede
PORTVERSION= 2.0
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= x11-wm
MASTER_SITES= SF \
SF/${PORTNAME}/${PORTNAME}lib/${PORTVERSION}:edelib
@ -16,21 +16,19 @@ COMMENT= Equinox Desktop Environment
LICENSE= GPLv2 LGPL20
LICENSE_COMB= multi
BUILD_DEPENDS= python:${PORTSDIR}/lang/python \
doxygen:${PORTSDIR}/devel/doxygen \
BUILD_DEPENDS= doxygen:${PORTSDIR}/devel/doxygen \
jam:${PORTSDIR}/devel/jam \
update-mime-database:${PORTSDIR}/misc/shared-mime-info
LIB_DEPENDS= dbus-1.3:${PORTSDIR}/devel/dbus \
curl:${PORTSDIR}/ftp/curl \
startup-notification-1.0:${PORTSDIR}/x11/startup-notification \
fltk.1:${PORTSDIR}/x11-toolkits/fltk
RUN_DEPENDS= update-mime-database:${PORTSDIR}/misc/shared-mime-info
python:${PORTSDIR}/lang/python
LIB_DEPENDS= libdbus-1.so:${PORTSDIR}/devel/dbus \
libcurl.so:${PORTSDIR}/ftp/curl \
libstartup-notification-1.so:${PORTSDIR}/x11/startup-notification \
libfltk.so:${PORTSDIR}/x11-toolkits/fltk
OPTIONS_DEFINE= HAL
HAL_DESC= Enable HAL support
USES= fam iconv gettext pathfix pkgconfig shared-mime-info
USE_XORG= xcomposite xft xinerama xpm xrandr
USES= fam gettext pathfix pkgconfig
USE_PYTHON= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-edelib_path=${EDELIB_WRKSRC} \
@ -52,15 +50,16 @@ EDELIB_WRKSRC= ${WRKDIR}/${EDELIB_DISTNAME}
HAL_LIB_DEPENDS= libhal.so.1:${PORTSDIR}/sysutils/hal
HAL_CONFIGURE_OFF= --disable-hal
# use multiple make jobs
_make_jobs= -j${MAKE_JOBS_NUMBER}
NO_STAGE= yes
post-patch:
@${REINPLACE_CMD} -e \
's|/usr/local/share|${LOCALBASE}/share| ; \
/OPTIM_FLAGS=/s|-O2|-fPIC| ; \
s|_daylight=yes|_daylight=no|' ${EDELIB_WRKSRC}/configure
@${REINPLACE_CMD} -e \
's| -liconv| ${ICONV_LIB}|' ${WRKSRC}/configure
@${REINPLACE_CMD} -e \
's|$$(CC)|@CXX@| ; \
s|-lstdc++||' ${WRKSRC}/Jamconfig.in
pre-configure:
@(cd ${EDELIB_WRKSRC} \
@ -74,14 +73,25 @@ pre-configure:
pre-build:
@(cd ${EDELIB_WRKSRC} \
&& ${LOCALBASE}/bin/jam ${_make_jobs} \
&& ${LOCALBASE}/bin/jam -j${MAKE_JOBS_NUMBER} \
&& ${LOCALBASE}/bin/jam ${INSTALL_TARGET})
do-build:
@(cd ${BUILD_WRKSRC} && ${LOCALBASE}/bin/jam ${_make_jobs})
@(cd ${BUILD_WRKSRC} && ${LOCALBASE}/bin/jam -j${MAKE_JOBS_NUMBER})
do-install:
@(cd ${INSTALL_WRKSRC} && ${LOCALBASE}/bin/jam ${INSTALL_TARGET})
@-update-mime-database ${PREFIX}/share/mime
@(cd ${INSTALL_WRKSRC} && ${SETENV} DESTDIR="${STAGEDIR}" \
${LOCALBASE}/bin/jam ${INSTALL_TARGET})
@${MKDIR} ${STAGEDIR}${PREFIX}/share/doc/ede-2.0.0/manual/images
@(cd ${WRKSRC}/doc/manual/images && ${COPYTREE_SHARE} . \
${STAGEDIR}${PREFIX}/share/doc/ede-2.0.0/manual/images)
.for i in ede-about ede-autostart ede-bell-conf ede-bug-report ede-crasher \
ede-calc ede-conf ede-desktop ede-desktop-conf ede-dialog \
ede-keyboard-conf ede-notify-daemon ede-screensaver-conf \
ede-image-view ede-launch emountd ede-timedate ede-tip \
ede-tip-compiler ede-preferred-applications evoke ede-shutdown \
ede-panel ede-menu-spec-test pekwm
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${i}
.endfor
.include <bsd.port.mk>

View File

@ -0,0 +1,50 @@
--- ./pekwm/Observable.cc.orig 2012-05-18 12:51:49.000000000 +0000
+++ ./pekwm/Observable.cc 2014-01-05 16:56:43.000000000 +0000
@@ -10,10 +10,12 @@
#include "config.h"
#endif // HAVE_CONFIG_H
+#include <algorithm>
+
#include "Observable.hh"
#include "Observer.hh"
-using SLIST_NAMESPACE::slist;
+using std::vector;
/**
* Notify all observers.
@@ -21,11 +23,10 @@
void
Observable::notifyObservers(Observation *observation)
{
- if (_observers.size()) {
- slist<Observer*>::iterator it(_observers.begin());
- for (; it != _observers.end(); ++it) {
- (*it)->notify(this, observation);
- }
+ vector<Observer*>::const_iterator it(_observers.begin());
+ vector<Observer*>::const_iterator end(_observers.end());
+ for (; it != end; ++it) {
+ (*it)->notify(this, observation);
}
}
@@ -35,7 +36,7 @@
void
Observable::addObserver(Observer *observer)
{
- _observers.push_front(observer);
+ _observers.push_back(observer);
}
/**
@@ -44,7 +45,5 @@
void
Observable::removeObserver(Observer *observer)
{
- if (_observers.size()) {
- _observers.remove(observer);
- }
+ _observers.erase(std::remove(_observers.begin(), _observers.end(), observer), _observers.end());
}

View File

@ -0,0 +1,24 @@
--- ./pekwm/Observable.hh.orig 2012-05-18 12:51:49.000000000 +0000
+++ ./pekwm/Observable.hh 2014-01-05 16:56:43.000000000 +0000
@@ -9,11 +9,7 @@
#ifndef _OBSERVABLE_HH_
#define _OBSERVABLE_HH_
-#ifdef HAVE_SLIST
-#include <slist>
-#else // HAVE_EXT_SLIST
-#include <ext/slist>
-#endif // HAVE_SLIST
+#include <vector>
class Observer;
@@ -36,7 +32,7 @@
void removeObserver(Observer *observer);
private:
- SLIST_NAMESPACE::slist<Observer*> _observers; /**< List of observers. */
+ std::vector<Observer*> _observers; /**< List of observers. */
};
#endif // _OBSERVABLE_HH_

View File

@ -1555,5 +1555,3 @@ share/xsessions/ede.desktop
@dirrm etc/xdg/ede
@dirrmtry etc/xdg
@dirrm etc/pekwm
@exec %%LOCALBASE%%/bin/update-mime-database %D/share/mime
@unexec %%LOCALBASE%%/bin/update-mime-database %D/share/mime