Retroshare 5.5a broken.

Juergen Lock nox at jelal.kn-bremen.de
Wed Apr 2 17:36:24 UTC 2014


In article <67936D7A-BB62-400D-BB32-BB7716C8B1DE at netkey.at> you write:
>Hello Richard, 
>
>Yes I know, curently the port is broken under 10 without gcc from the ports.
>I have some unfinished patches to compile with clang, which will be 
>pushed upstream (probably).
>Please be aware that RetroShare is under heavy delevopment at the moment, 
>there is a 0.5.5c out and the new 0.6 branch and the old 0.5.5 branch are being 
>merged.
>
>I managed to compile and run RetroShare 0.5.5c under FreeBSD (9.2)
>but unfortunately all the icons and graphics wouldn't be displayed/shown.
>
>So there're a white, iconless stable version, some clang patches for that and
>an upcoming dev version to be released soon
>
>To add to all of that, I wont be able to submit a patch for the next 5 weeks
>due to personal reasons.
>
>Maybe 0.6 will be out than. And QT5 in the ports.
>
>A quick patch would be to add 
>USE_GCC=any
>somewhere on the top of the Makefile, which should install gcc as a dependency.
>
Hi!

 This just came up on irc (before I saw this thread), and I got the current
port to build on 10.0 and also with clang34 from ports using the patch
below, maybe it helps. :)  (I didn't run-test other than starting it once tho.)

	Juergen

Index: net-p2p/retroshare/Makefile
===================================================================
--- net-p2p/retroshare/Makefile	(revision 349891)
+++ net-p2p/retroshare/Makefile	(working copy)
@@ -30,7 +30,7 @@ LIB_DEPENDS=	libdbus-1.so:${PORTSDIR}/devel/dbus \
 		libxslt.so:${PORTSDIR}/textproc/libxslt
 RUN_DEPENDS=	pinentry-qt4:${PORTSDIR}/security/pinentry-qt4
 
-USES=		qmake zip
+USES=		qmake zip compiler:features dos2unix
 USE_GNOME=	glib20
 USE_XORG=	ice sm x11 xau xcb xdmcp xext xrender
 USE_QT4=	corelib gui network xml script designer_build uic_build \
@@ -38,13 +38,22 @@ USE_QT4=	corelib gui network xml script designer_b
 BINARY=		RetroShare
 MAKE_JOBS_UNSAFE=yes
 USE_LDCONFIG=	yes
+MAKE_ARGS+=	BIOCC=${CC}
 
 DESKTOP_ENTRIES="${BINARY}" "${COMMENT}" "${DATADIR}/retrosharelogo1.png" \
 		"${BINARY}" "Network;FileTransfer;" true
 
-USE_DOS2UNIX=	retroshare-gui/src/retroshare-gui.pro
+DOS2UNIX_FILES=	retroshare-gui/src/retroshare-gui.pro \
+		retroshare-gui/src/gui/RetroShareLink.h \
+		retroshare-gui/src/gui/common/GroupTreeWidget.cpp
 
+.include <bsd.port.pre.mk>
+
 post-patch:
+.if ${COMPILER_FEATURES:Mlibc++}
+	@${REINPLACE_CMD} -e 's|std::tr1::|std::|' \
+		${WRKSRC}/libretroshare/src/dbase/findex.[ch]*
+.endif
 	@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \
 		${WRKSRC}/libretroshare/src/libretroshare.pro
 	@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \
@@ -61,6 +70,8 @@ post-patch:
 		${WRKSRC}/${BINARY}.pro
 	@${REINPLACE_CMD} -e 's|/usr/lib|${LOCALBASE}/lib|' \
 		${WRKSRC}/libretroshare/src/rsserver/rsinit.cc
+	@${REINPLACE_CMD} -e 's|gcc|${CC}|' \
+		${WRKSRC}/supportlibs/pegmarkdown/pegmarkdown.pro
 
 post-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/retroshare-gui/src/${BINARY} \
@@ -83,4 +94,4 @@ post-install:
 		${LN} -s libVOIP.so.1 libVOIP.so && \
 		${LN} -s libFeedReader.so.1 libFeedReader.so
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
Index: net-p2p/retroshare/files/patch-clang
===================================================================
--- net-p2p/retroshare/files/patch-clang	(revision 0)
+++ net-p2p/retroshare/files/patch-clang	(working copy)
@@ -0,0 +1,135 @@
+--- libretroshare/src/retroshare/rsconfig.h.orig
++++ libretroshare/src/retroshare/rsconfig.h
+@@ -31,6 +31,8 @@
+ #include <list>
+ #include <map>
+ 
++#include <time.h>
++
+ /* The New Config Interface Class */
+ class RsServerConfig;
+ extern RsServerConfig *rsConfig;
+--- libretroshare/src/retroshare/rsflags.h.orig
++++ libretroshare/src/retroshare/rsflags.h
+@@ -1,6 +1,7 @@
+ #pragma once
+ 
+ #include <stdint.h>
++#include <ostream>
+ 
+ // This class provides a representation for flags that can be combined with bitwise
+ // operations. However, because the class is templated with an id, it's not possible to 
+--- libretroshare/src/retroshare/rsgxsifacetypes.h.orig
++++ libretroshare/src/retroshare/rsgxsifacetypes.h
+@@ -12,6 +12,8 @@
+ #include <vector>
+ #include <string>
+ #include <inttypes.h>
++
++#include <time.h>
+ 
+ 
+ typedef std::string RsGxsGroupId;
+--- plugins/FeedReader/interface/rsFeedReader.h.orig
++++ plugins/FeedReader/interface/rsFeedReader.h
+@@ -26,6 +26,8 @@
+ #include <string>
+ #include <list>
+ 
++#include <time.h>
++
+ class RsFeedReader;
+ extern RsFeedReader *rsFeedReader;
+ 
+--- plugins/LinksCloud/rsrank.h.orig
++++ plugins/LinksCloud/rsrank.h
+@@ -30,6 +30,8 @@
+ #include <string>
+ #include <list>
+ 
++#include <time.h>
++
+ /* The Main Interface Class - for information about your Peers */
+ class RsRanks;
+ extern RsRanks   *rsRanks;
+--- retroshare-gui/src/gui/CreateMsgLinkDialog.h.orig
++++ retroshare-gui/src/gui/CreateMsgLinkDialog.h
+@@ -23,6 +23,8 @@
+ 
+ #include "ui_CreateMsgLinkDialog.h"
+ 
++#include <time.h>
++
+ class FriendSelectionWidget ;
+ 
+ class CreateMsgLinkDialog : public QDialog, public Ui::CreateMsgLinkDialog
+--- retroshare-gui/src/gui/RetroShareLink.h.orig
++++ retroshare-gui/src/gui/RetroShareLink.h
+@@ -33,6 +33,7 @@
+ //    -------------+----------------+--------------------------+------------------+-------------+-------------
+ //
+ #include <stdint.h>
++#include <time.h>
+ #include <QString>
+ #include <QVector>
+ #include <QUrl>
+--- retroshare-gui/src/gui/common/GroupTreeWidget.cpp.orig
++++ retroshare-gui/src/gui/common/GroupTreeWidget.cpp
+@@ -502,7 +502,7 @@ void GroupTreeWidget::calculateScore(QTr
+ 
+ 	/* Find out which has given word in it */
+ 	QTreeWidgetItemIterator itemIterator(ui->treeWidget);
+-	QTreeWidgetItem *item;
++	// QTreeWidgetItem *item;
+ 	while ((item = *itemIterator) != NULL) {
+ 		itemIterator++;
+ 
+--- retroshare-gui/src/gui/connect/ConnectProgressDialog.h.orig
++++ retroshare-gui/src/gui/connect/ConnectProgressDialog.h
+@@ -29,6 +29,7 @@
+ #include "ui_ConnectProgressDialog.h"
+ 
+ #include <stdint.h>
++#include <time.h>
+ 
+ class ConnectProgressDialog : public QDialog
+ {
+--- retroshare-gui/src/./util/DateTime.h.orig
++++ retroshare-gui/src/./util/DateTime.h
+@@ -24,6 +24,8 @@
+ 
+ #include <QString>
+ 
++#include <time.h>
++
+ class QDateTime;
+ class QDate;
+ class QTime;
+--- libretroshare/src/util/argstream.h.orig
++++ libretroshare/src/util/argstream.h
+@@ -141,9 +141,9 @@ namespace 
+ 			inline OptionHolder(char s,
+ 					const char* l,
+ 					const char* desc);  
+-			friend OptionHolder help(char s='h',
+-					const char* l="help",
+-					const char* desc="Display this help");
++			friend OptionHolder help(char s,
++					const char* l,
++					const char* desc);
+ 		private:
+ 			std::string shortName_;
+ 			std::string longName_;
+@@ -173,9 +173,9 @@ namespace 
+ 			return OptionHolder(l,b,desc);
+ 		}
+ 	inline OptionHolder
+-		help(char s,
+-				const char* l,
+-				const char* desc)
++		help(char s='h',
++				const char* l="help",
++				const char* desc="Display this help")
+ 		{
+ 			return OptionHolder(s,l,desc);
+ 		}

Property changes on: net-p2p/retroshare/files/patch-clang
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: net-p2p/retroshare/files/patch-retroshare-gui-src-retroshare-gui.pro
===================================================================
--- net-p2p/retroshare/files/patch-retroshare-gui-src-retroshare-gui.pro	(revision 349891)
+++ net-p2p/retroshare/files/patch-retroshare-gui-src-retroshare-gui.pro	(working copy)
@@ -1,6 +1,6 @@
---- retroshare-gui/src/retroshare-gui.pro.orig	2013-10-21 21:31:11.012605427 +0200
-+++ retroshare-gui/src/retroshare-gui.pro	2013-10-21 21:31:53.770609780 +0200
-@@ -209,17 +209,19 @@
+--- retroshare-gui/src/retroshare-gui.pro.orig
++++ retroshare-gui/src/retroshare-gui.pro
+@@ -209,17 +209,20 @@ macx {
  freebsd-* {
  	INCLUDEPATH *= /usr/local/include/gpgme
  	LIBS *= ../../libretroshare/src/lib/libretroshare.a
@@ -8,6 +8,7 @@
  	LIBS *= -lssl
  	LIBS *= -lgpgme
  	LIBS *= -lupnp
++	LIBS *= -lixml
  	LIBS *= -lgnome-keyring
  	PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
 +	PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a


More information about the freebsd-ports mailing list