Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Jan 2014 09:10:00 GMT
From:      KATO Tsuguru <tkato432@yahoo.com>
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/184859: x11-wm/ede: Fix build with clang
Message-ID:  <201401050910.s059A0NQ060351@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/184859; it has been noted by GNATS.

From: KATO Tsuguru <tkato432@yahoo.com>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/184859: x11-wm/ede: Fix build with clang
Date: Sun, 5 Jan 2014 17:57:22 +0900

 This is a multi-part message in MIME format.
 
 --Multipart=_Sun__5_Jan_2014_17_57_22_+0900_cPTBUlnvsH04V6gD
 Content-Type: text/plain; charset=US-ASCII
 Content-Transfer-Encoding: 7bit
 
 Remake of the patch against current tree.
 
 --Multipart=_Sun__5_Jan_2014_17_57_22_+0900_cPTBUlnvsH04V6gD
 Content-Type: text/x-diff;
  name="x11-wm_ede.diff"
 Content-Disposition: attachment;
  filename="x11-wm_ede.diff"
 Content-Transfer-Encoding: 7bit
 
 diff -urN /usr/ports/x11-wm/ede/Makefile x11-wm/ede/Makefile
 --- /usr/ports/x11-wm/ede/Makefile	2014-01-05 14:13:42.000000000 +0900
 +++ x11-wm/ede/Makefile	2014-01-05 15:00:00.000000000 +0900
 @@ -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 @@
  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 @@
  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-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>
 diff -urN /usr/ports/x11-wm/ede/files/patch-pekwm__Observabe.cc x11-wm/ede/files/patch-pekwm__Observabe.cc
 --- /usr/ports/x11-wm/ede/files/patch-pekwm__Observabe.cc	1970-01-01 09:00:00.000000000 +0900
 +++ x11-wm/ede/files/patch-pekwm__Observabe.cc	2014-01-05 15:00:00.000000000 +0900
 @@ -0,0 +1,50 @@
 +--- pekwm/Observable.cc.orig
 ++++ pekwm/Observable.cc
 +@@ -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());
 + }
 diff -urN /usr/ports/x11-wm/ede/files/patch-pekwm__Observabe.hh x11-wm/ede/files/patch-pekwm__Observabe.hh
 --- /usr/ports/x11-wm/ede/files/patch-pekwm__Observabe.hh	1970-01-01 09:00:00.000000000 +0900
 +++ x11-wm/ede/files/patch-pekwm__Observabe.hh	2014-01-05 15:00:00.000000000 +0900
 @@ -0,0 +1,24 @@
 +--- pekwm/Observable.hh.orig
 ++++ pekwm/Observable.hh
 +@@ -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_
 diff -urN /usr/ports/x11-wm/ede/pkg-plist x11-wm/ede/pkg-plist
 --- /usr/ports/x11-wm/ede/pkg-plist	2013-11-06 21:59:22.000000000 +0900
 +++ x11-wm/ede/pkg-plist	2014-01-05 15:00:00.000000000 +0900
 @@ -1555,5 +1555,3 @@
  @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
 
 --Multipart=_Sun__5_Jan_2014_17_57_22_+0900_cPTBUlnvsH04V6gD--



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