Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Dec 2013 02:52:07 +0900
From:      KATO Tsuguru <tkato432@yahoo.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/184859: x11-wm/ede: Fix build with clang
Message-ID:  <20131217025207.1bd3d518ad3501b4db3a3ca4@yahoo.com>
Resent-Message-ID: <201312161810.rBGIAG37016271@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         184859
>Category:       ports
>Synopsis:       x11-wm/ede: 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:16 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-pekwm__Observabe.cc
files/patch-pekwm__Observabe.hh

>How-To-Repeat:
>Fix:

diff -urN /usr/ports/x11-wm/ede/Makefile x11-wm/ede/Makefile
--- /usr/ports/x11-wm/ede/Makefile	2013-12-16 15:18:06.000000000 +0900
+++ x11-wm/ede/Makefile	2013-12-17 00: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=		iconv gettext pathfix pkgconfig shared-mime-info
 USE_XORG=	xcomposite xft xinerama xpm xrandr
-USES=	pathfix gettext pkgconfig
 USE_PYTHON=	yes
 USE_FAM=	yes
 GNU_CONFIGURE=	yes
@@ -53,15 +51,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} \
@@ -75,14 +74,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	2013-12-17 00: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	2013-12-17 00: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	2013-12-17 00: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
>Release-Note:
>Audit-Trail:
>Unformatted:



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