GithubHelp home page GithubHelp logo

merkeld / friendmap Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chozabu/friendmap

1.0 2.0 0.0 188 KB

FriendMap for Retroshare Using local GeoIP DataBase

QMake 0.41% C++ 99.56% C 0.03%

friendmap's Introduction

##GeoGraphic Friend Map This extension for retroshare will show your friends on a map or globe.

Image of FriendMap

Original Author: Nyfor.

Chozabus Updates include:

  • Update to work with latest RS
  • Fix Crashes
  • Show Friend links
  • Choice of several map
  • Cache Data
  • optional friend links, clouds, citys, borders, avatars, etc
  • persistant settings

This product requires GeoLite2 data created by MaxMind, available from http://www.maxmind.com.

####Before attempting to build this plugin, you must build the main retroshare project and it's plugins

###Debian GNU/Linux ####Dependencies Install libmarble-dev and libgeoip-dev:

sudo apt-get  install libmarble-dev libgeoip-dev

####Clone From Github Obtain the source code into the appropriate folder:

cd myretrosharetrunk/plugins/  
git clone [email protected]:chozabu/FriendMap.git

####Build Note: on some Gnu/Linux versions, you may have to type qmake instead of qmake-qt4.

cd FriendMap  
qmake-qt4  
make clean
make  

####Install The following copies the library to the default location:

cp libFriendMap.so.1.0.0 ~/.retroshare/extensions  
cd ~/.retroshare/extensions  
mv libFriendMap.so.1.0.0 libFriendMap.so  

Now get the required mapping data:

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz  
gunzip GeoLiteCity.dat.gz  

###Windows

####Before You Start

It is assumed that you have similar folder structure described in the Retroshare Windows compile instructions, and also that you have Retroshare build enviroment setted up.

Refer to this page for further instructions: https://wiki.cavebeat.org/index.php/Compile_windows.

It is assumed your RetroShare development folder is under c:\Development and RetroShare's sourcecode is under c:\Development\src

It is assumed RetroShare is installed under c:\Program Files (x86)\RetroShare

You will need a bash terminal with cmake, gcc and Qt in your path:

  • Refer section "Setup build enviroment"
  • Start devenv.bat (described in section "Make a script to launch your development environment") or MinGW-Shell.bat (if you have the buildscripts). It is possible that some commands need administrator privileges, so start the script by right click on the bat file and select Run as administrator.
  • Run the test described in section "Test if everything is working", if one of this test fails, you may have compile problems.

You will need a Git client:

####LibGeoIP GeoIP is a C library that enables the user to find geographical and network information of an IP address. To use this library, you may download our free GeoLite Country or City databases. These are updated at the beginning of every month.

#####Get the source Checkout the source code under c:\Development\geoip-api-c from https://github.com/maxmind/geoip-api-c.git
Using command line:

cd c:\Development
git clone https://github.com/maxmind/geoip-api-c.git

Building libGeoIp is problematic, but we don't need the lib, the source files are enough.

####Marble To read more about some of the features of marble, visit http://marble.kde.org/features.php .

#####Get the source Checkout the source code under c:\Development\marble from git://anongit.kde.org/marble , branch KDE/4.11 . Using command line:

cd c:\Development
git clone -b KDE/4.11 git://anongit.kde.org/marble marble
cd marble

#####Build and install Marble will be installed under c:\Program Files (x86)\marble\ or c:\Program Files\marble\ by default, you can change the install path by changing the parameters of the cmake.

For more information visit http://techbase.kde.org/Projects/Marble/WindowsCompiling

Start devenv.bat or MinGW-Shell.bat with administrator privileges, and run these commands:

cd c:/Development/marble
mkdir build
cd build
cmake -G "MSYS Makefiles" -DQTONLY=ON -DCMAKE_BUILD_TYPE=Release -DWITH_DESIGNER_PLUGIN=ON ..
make
make install

#####Locating Files Put some files from Marble to the right place in order to make FriendMap compile

  • Copy libmarblewidget.dll.a from c:\Development\marble\build\src\lib\ to c:\Development\lib\
  • Copy include folder from c:\Program Files (x86)\marble\include\ to c:\Development\marble\include\

####FriendMap plugin #####Get the source Checkout the source code under c:\Development\src\plugins from [email protected]:chozabu/FriendMap.git Using command line:

cd c:\Development\src\plugins  
git clone [email protected]:chozabu/FriendMap.git  

#####Build Open the file c:\Development\git\plugins\plugins.pro in text editor and add this line:

FriendMap \

To build the plugin use the build script, or you can use the Qt Creator.
If you are using Qt Creator, open the retroshare.pro, not the FriendMap.pro. With Qt Creator you can rebuild only this plugin, if you have built the other RetroShare components before.

#####Install the plugin

To install correctly, complete the following steps:

  • Copy FriendMap.dll from c:\Development\build...\plugins\FriendMap\release to Retroshare\Data\extensions (portable) or to %appdata%\RetroShare\extensions
  • Download http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
  • Extract GeoLiteCity.dat under Retroshare\Data\extensions (portable) or to %appdata%\RetroShare\extensions
  • Copy libmarblewidget.dll from c:\Development\marble\build\src\lib\ to c:\Program Files (x86)\RetroShare\
  • Copy the following dlls from c:\Qt\4.8.5\bin\ to c:\Program Files (x86)\RetroShare:
    -QtCore4.dll
    -QtDeclarative4.dll
    -QtGui4.dll
    -QtNetwork4.dll
    -QtSvg4.dll
    -QtWebKit4.dll
    -QtXml4.dll
    -QtScript4.dll
    -QtSql4.dll
    -QtXmlPatterns4.dll

Finally start RetroShare, at the first time it will be slow.

You may have to set the correct paths under options->FriendMap.

####For distributors FriendMap plugin needs data and plugins from Marble. Please include instructions for installing standalone Marble.
Or you can distribute the required Marble files along with this plugin:

  • Make a folder called "marble" under RetroShare folder
  • Copy folder from c:\Program Files (x86)\marble\data to RetroShare\marble\data
  • Copy folder from c:\Program Files (x86)\marble\plugins to RetroShare\marble\plugins
  • marble.exe and other files are not needed

friendmap's People

Contributors

chozabu avatar morpheusbeing avatar hunbernd avatar merkeld avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.