Commit Graph

80 Commits

Author SHA1 Message Date
Gioacchino Mazzurco
7ad337c8d2
Implement automatic JSON API generation
qmake file add jsonapi-generator target to compile JSON API generator
qmake files add rs_jsonapi CONFIG option to enable/disable JSON API at compile
  time
RsTypeSerializer pass down same serialization flags when creating new context
  for nested objects serial job
RsGxsChannels expose a few methods through JSON API as example
Derive a few GXS types (RsGxsChannelGroup, RsGxsChannelPost, RsGxsFile,
  RsMsgMetaData) from RsSerializables so they can be used for the JSON API
Create RsGenericSerializer::SERIALIZATION_FLAG_YIELDING so JSON objects that
  miss some fields can be still deserialized, this improve API usability
SerializeContext offer friendly constructor with default paramethers
Add restbed 4.6 library as git submodule as most systems doesn't have it yet
Add a bit of documentation about JSON API into jsonapi-generator/README.adoc
Add JsonApiServer class to expose the JSON API via HTTP protocol
2018-06-24 16:28:33 +02:00
Gioacchino Mazzurco
3c678f2a28
Fix windows build if MINGW_PREFIX is defined 2018-06-11 16:05:25 +02:00
Gioacchino Mazzurco
181d99e882
Give proper error message if Qt version is too old 2018-05-16 10:38:47 +02:00
thunder2
38ac234862 Fixed Windows compile with pre-compiled libraries
Added new variable EXTERNAL_LIB_DIR to specify path of external libraries
2018-05-07 09:42:36 +02:00
sehraf
c89e36a665
add auto selection of libsecret with fallback to libgnome-keyring 2018-05-04 20:52:31 +02:00
sehraf
1129bcb0c0
Add support for libsecret 2018-05-04 20:47:41 +02:00
cyril soler
56e8134d45 removed sqlite3 lib from ld when using sqlcipher. 2018-05-03 11:32:24 +02:00
sehraf
10daf3b9c6
Fix 'make install'
Since DATA_DIR (and the others) are not set 'make install' will move the files to /{qss, sounds, stylesheets, usr, webui} (instead of '/usr/...')
Fixes 4876a0ea3b
2018-04-28 09:06:10 +02:00
Gioacchino Mazzurco
678ee31a14
Fix compilation with GCC 6
Adding default include path to INCLUDEPATH break compilation with GCC 6
With many errors similar to this
x86_64-pc-linux-gnu-gcc -c -march=native -mtune=native -pipe -O0 -g -fno-omit-frame-pointer -fPIC -Wall -W -D_REENTRANT -DRS_ENABLE_GXS -DENABLE_WEBUI -DRS_NO_WARN_DEPRECATED -DRS_NO_WARN_CPP -DRS_GXS_TRANS -DOPENSSL_NO_IDEA -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include -I. -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -I. -isystem /usr/include/libdrm -I/usr/lib64/qt5/mkspecs/linux-g++ -o temp/linux/obj/accumulate.o openpgpsdk/accumulate.c
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/ext/string_conversions.h:41:0,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/bits/basic_string.h:5417,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/string:52,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/bits/locale_classes.h:40,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/bits/ios_base.h:41,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/ios:42,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/ostream:38,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/iostream:39,
                 from ./bitdht/bdobj.h:32,
                 from ./bitdht/bdmsgs.h:34,
                 from bitdht/bdmsgs.cc:30:
/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
 #include_next <stdlib.h>
                         ^

@see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129
2018-04-23 20:58:40 +02:00
Gioacchino Mazzurco
c39173c3db
Fix TravisCI 2018-04-20 12:09:21 +02:00
Gioacchino Mazzurco
4876a0ea3b
Multiple improvements to build process
Restructure and document retroshare.pri variables and helper functions
Link sqlite statically like other libraries on Android
qmake has multiple win32-* specs match them correctly
Move a buch of generic thing to retroshare.pri instead of having them replocated
  accross project specific .pro
Fix retroshare-gui too many symbols exported on windows liking error by adding
  QMAKE_LFLAGS+=-Wl,--exclude-libs,ALL
Rename retroshare-gui/src/util/win32.h because the name is too prone to
  confusion and build conflicts
libreasapi avoid usage of cretar_prl link_prl that seems unreliable on some
  platforms
libreasapi rename LIBRESAPI_QT to more understendable LIBRESAPI_SETTINGS
Use use_*.pri instead of copy pasting error prone qmake snippets around
Expose bitdht option to retroshare.pri
Add RS_THREAD_LIB qmake variable for better crossplatform support
Move debug and profiling generic options to retroshare.pri (avoid copy/pasting)
Remove Qt script module in qmake as it is not available anymore
2018-04-18 07:56:43 +02:00
Gioacchino Mazzurco
f5a3b26199
More omogeneous variable naming in android build tools 2018-03-09 20:26:29 +01:00
Gioacchino Mazzurco
0c8b3ed614
Set default Mac OS X version only if macx 2018-02-28 23:32:13 +01:00
Gioacchino Mazzurco
b2217fc109
Build plugin only if requested 2018-02-20 15:56:16 +01:00
csoler
7a2d874863
Merge pull request #1153 from csoler/v0.6-TorOnly
V0.6 tor only
2018-02-11 20:49:45 +01:00
csoler
a2eb145459
fixed option in .pri for retrotor configuration 2018-02-11 20:40:38 +01:00
Gioacchino Mazzurco
00125864ff Add support for SQLCipher on Android
Plus some cleanup
2018-01-30 18:24:03 +01:00
Gioacchino Mazzurco
ebfe50f814 Make .pro files compiler agnostic on Android 2018-01-30 18:11:31 +01:00
csoler
e28886fe79 updated to upstream/master 2018-01-05 21:59:22 +01:00
csoler
fcc3995d87 removed BanList service from Retro-Tor version 2018-01-01 15:49:49 +01:00
csoler
da5253059a fixed retrotor compilation when removing dht and udp 2017-12-31 17:27:21 +01:00
csoler
5ca2d5e27b added retrotor option in global .pri, and TorControl code 2017-12-21 10:43:28 +01:00
Phenom
4950ffb466 Don't Set Target and SDK if not MacOS 2017-12-17 16:48:53 +01:00
Phenom
a3acd585f4 Fix TravisCI on MacOS compilation. 2017-12-12 19:39:04 +01:00
csoler
669f2ba7ba fixed a few bugs in signature verification code accross versions 2017-11-22 22:56:40 +01:00
csoler
f6d69e09d5 ensured maximum backward compatibility for crypto changes that will occur in future v0.7 2017-11-22 00:02:11 +01:00
csoler
9367aa0d84 changed #ifs into #ifdefs because it us more robust, and moved the definition of variables to retroshare.pri 2017-11-19 20:15:36 +01:00
Gioacchino Mazzurco
034d88c4e2 Fix android compilation with newer Qt
In lastest Qt versions linux-* mkspec doesn't match android anymore,
this was triggering a compilation error as DATA_DIR was not defined the
RsAccountsDetail::PathDataDirectory(bool check) code has been rearranged
so it works reasonably also on Android and do not depend on DATA_DIR
define anymore

Updated Android compiling documentation
2017-10-16 20:07:52 +02:00
Phenom
5d59d56ba2 Add Only Hidden Node configure flag
To have only hidden node generation append the following assignation to
qmake command line "CONFIG+=rs_onlyhiddennode"
2017-08-20 13:17:28 +02:00
csoler
3e25d96daa fixed unix -> linux-* target in .pri, as qt4 doesnt seem to recognise unix 2017-08-04 21:38:44 +02:00
Phenom
cbec8185e6 Add qmake CONFIG flag for MacOS version.
No need to change retroshare.pri, only add rs_macos10.x to qmake
commande line.
2017-07-25 18:09:11 +02:00
csoler
0d681b149f Merge pull request #924 from PhenomRetroShare/Fix_retroshare06_case
Change RetroShare06 to lower case
2017-07-19 18:26:32 +02:00
Phenom
3a6bcf5ef8 Add flag for ChatServer
append the following assignation to qmake command line "CONFIG
+=rs_chatserver"
2017-07-18 16:34:56 +02:00
Gioacchino Mazzurco
b6731ed0f5 Better naming and doc for warning suppression CONFIG 2017-07-17 16:04:52 +02:00
Phenom
5bf056c7a4 Rename retroshare06 to retroshare 2017-07-17 10:45:18 +02:00
csoler
65326d9438 removed DEPRECATED warnings by default 2017-07-16 22:08:07 +02:00
Gioacchino Mazzurco
59b77da6a2 Merge branch 'master' into qmlapp_pex_alpha 2017-05-31 12:11:15 +02:00
Gioacchino Mazzurco
5c71d520fa async chat disabled by default in GUI
Chat GUI is not ready to show properly GxsTrans async messages
2017-05-30 16:44:35 +02:00
Gioacchino Mazzurco
5159e326c7 Merge branch 'master' into gxs_mail_experiments 2017-05-05 15:44:22 +02:00
Gioacchino Mazzurco
4455bfa92d Merge branch 'master' into merge_alpha_master 2017-04-18 21:30:25 +02:00
Gioacchino Mazzurco
bcbd5230eb android notification service stub, improve login
Added retroshare-android-notify-service a stub will handle notifications
  to android system, at the moment it only attempt autologin if default
  password is used
retroshare-android-service quit QCoreApplication gracefully
Android Studio update has changed some android build files
Create BusyOverlay.qml componet so it is reusable accross the qml app
Contacts.qml create a pseudonimous GXS identity as needed without
  prompting the user
RsLoginPassView.qml nicer look, on mobile phone password usage is not
  common so do not use password by default
QML app main view handle correctly +waiting_startup+ runstate
QML app main view use BusyOverlay as initial item
2017-04-07 18:26:08 +02:00
Konrad
569458a1c1 Changed: Qt dependecies are optional 2017-03-28 11:18:27 +02:00
Gioacchino Mazzurco
5a219b4d10 Update to Qt 5.8.0
Simplified android buinding and updated documentation
Removed a bunch of unused qml files
2017-03-15 23:11:50 +01:00
Gioacchino Mazzurco
da459c884e Renamed GxsMails to GxsTrans
GxsTrans is a generic transport service, use more generic name trans
 instead of mail to avoid confusion
Renamed size(...) to seria_size(...) for costistence whit the codebase
Moved GxsTrans and related things to gxstrans directory
Removed outdated and now uncompatible gxsmail test service
Avoid expose internal items in public interface methods
2017-03-02 02:37:53 +01:00
Gioacchino Mazzurco
7c74cae1ef Force C++11 if gxs mail is enabled 2017-02-26 13:22:41 +01:00
Gioacchino Mazzurco
b4727bde29 Gxs Mail disabling is not supported ATM
Fix some compiler warning
Make travis-ci qmake parser happy with {
2017-02-26 13:06:38 +01:00
Gioacchino Mazzurco
53e3177c2b First experiments with GXS Mail
Periodically pool GXS backend for new groups and subscribe to all.

A group is created and an email can be sent to it but for some reason
the group and and the email are not received by friends.
2017-02-08 13:39:29 +01:00
Phenom
eee2a7b314 Add no cpp #warning Config flag to better show other ones.
Use CONFIG+=rs_nocppwarning to qmake command line.
2017-01-21 16:51:49 +01:00
Gioacchino Mazzurco
a881441384 Some cleanup and deprecation
RsGxsDataAccess deprecate unused ansType
RsGxsDataAccess::setReq(...) use proper types for params
RsGxsDataAccess::getGroupData(...) print useful information in case of error
GxsRequest proper initialization in constructor
GxsRequest deprecate meaningless ansType
RsGroupMetaData Fix comment to avoid confusion
Deprecated meaningless RS_TOKREQ_ANSTYPE_* common source of confusion
p3GxsCircles::request_CircleIdList() removed unused variable
p3GxsCircles::request_CircleIdList() preper return value
2017-01-14 23:12:50 +01:00
Phenom
a6b19ea68b Add no deprecated warning Config flag to better show other ones.
Use CONFIG+=rs_nodeprecatedwarning to qmake command line.
2016-12-22 20:29:34 +01:00