summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD2
-rw-r--r--package.patch911
3 files changed, 31 insertions, 886 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a6f59f9671f7..a3d4cae20e13 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
# Generated by mksrcinfo v8
-# Thu Feb 25 00:37:44 UTC 2016
+# Thu Feb 25 12:18:02 UTC 2016
pkgbase = cadabra2-git
pkgdesc = A computer algebra system designed specifically for the solution of problems encountered in field theory.
pkgver = r458.a828540
@@ -26,7 +26,7 @@ pkgbase = cadabra2-git
source = package.patch
source = cadabra.desktop
md5sums = SKIP
- md5sums = 72e07bc6f0e5782feb10f91886cc556e
+ md5sums = 1f7d7e0baa868d12e6eb53c7a594605c
md5sums = 04718d712ef65dbe5513ae674cc6ec33
pkgname = cadabra2-git
diff --git a/PKGBUILD b/PKGBUILD
index a3c36ac66d76..471f60f6d002 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -12,7 +12,7 @@ depends=('python2-matplotlib' 'python2-mpmath' 'gtkmm3' 'jsoncpp' 'mathjax' 'boo
makedepends=('cmake' 'gcc' 'boost')
source=("$pkgname::git+https://github.com/kpeeters/cadabra2" "package.patch" "cadabra.desktop")
md5sums=('SKIP'
- '72e07bc6f0e5782feb10f91886cc556e'
+ '1f7d7e0baa868d12e6eb53c7a594605c'
'04718d712ef65dbe5513ae674cc6ec33')
install=package.install
diff --git a/package.patch b/package.patch
index 3cc0a48ae803..30e9ac349b11 100644
--- a/package.patch
+++ b/package.patch
@@ -1,6 +1,6 @@
diff -aur -bZwB cadabra2-git.old/client_server/CMakeLists.txt cadabra2-git/client_server/CMakeLists.txt
---- cadabra2-git.old/client_server/CMakeLists.txt 2016-02-20 07:47:46.407919420 -0500
-+++ cadabra2-git/client_server/CMakeLists.txt 2016-02-20 07:48:29.464392244 -0500
+--- cadabra2-git.old/client_server/CMakeLists.txt 2016-02-25 06:52:33.188813463 -0500
++++ cadabra2-git/client_server/CMakeLists.txt 2016-02-25 06:53:18.791962755 -0500
@@ -30,7 +30,9 @@
message("-- Found JSONCPP library dir: ${JSONCPP_LIBRARY_DIRS}")
message("-- Found JSONCPP libraries : ${JSONCPP_LIBRARIES}")
@@ -19,8 +19,8 @@ diff -aur -bZwB cadabra2-git.old/client_server/CMakeLists.txt cadabra2-git/clien
diff -aur -bZwB cadabra2-git.old/client_server/regexp_tester.cc cadabra2-git/client_server/regexp_tester.cc
---- cadabra2-git.old/client_server/regexp_tester.cc 2016-02-20 07:47:46.407919420 -0500
-+++ cadabra2-git/client_server/regexp_tester.cc 2016-02-20 07:48:29.464392244 -0500
+--- cadabra2-git.old/client_server/regexp_tester.cc 2016-02-25 06:52:33.188813463 -0500
++++ cadabra2-git/client_server/regexp_tester.cc 2016-02-25 06:53:18.791962755 -0500
@@ -13,7 +13,8 @@
try {
std::regex match(argv[1]);
@@ -32,877 +32,20 @@ diff -aur -bZwB cadabra2-git.old/client_server/regexp_tester.cc cadabra2-git/cli
std::cout << i << ":\t |" << res[i] << "|" << std::endl;
}
diff -aur -bZwB cadabra2-git.old/client_server/Snoop.cc cadabra2-git/client_server/Snoop.cc
---- cadabra2-git.old/client_server/Snoop.cc 2016-02-20 07:47:46.407919420 -0500
-+++ cadabra2-git/client_server/Snoop.cc 2016-02-20 07:48:49.864298793 -0500
-@@ -2,30 +2,28 @@
- #include "Snoop.hh"
- #include "SnoopPrivate.hh"
-
--#include <iostream>
--#include <string.h>
--#include <regex>
--#include <iostream>
--#include <uuid/uuid.h>
- #include <chrono>
+--- cadabra2-git.old/client_server/Snoop.cc 2016-02-25 06:52:33.188813463 -0500
++++ cadabra2-git/client_server/Snoop.cc 2016-02-25 06:53:18.791962755 -0500
+@@ -11,7 +11,7 @@
#include <ctime>
--#include <sys/utsname.h>
--#include <stdint.h>
+ #include <sys/utsname.h>
+ #include <stdint.h>
-#include <jsoncpp/json/json.h>
-+#include <iostream>
-+#include <iostream>
+#include <json/json.h>
-+#include <regex>
#include <set>
-+#include <stdint.h>
-+#include <string.h>
-+#include <sys/utsname.h>
-+#include <uuid/uuid.h>
-
--
--
--#include <unistd.h>
--#include <sys/types.h>
- #include <pwd.h>
-+#include <sys/types.h>
-+#include <unistd.h>
-
- #define BOOST_SPIRIT_THREADSAFE
--#include <boost/property_tree/ptree.hpp>
--#include <boost/property_tree/json_parser.hpp>
- #include <boost/config.hpp>
- #include <boost/program_options/detail/config_file.hpp>
- #include <boost/program_options/parsers.hpp>
-+#include <boost/property_tree/json_parser.hpp>
-+#include <boost/property_tree/ptree.hpp>
-
- using namespace snoop;
-
-@@ -35,37 +33,35 @@
- snoop::Flush snoop::flush;
-
- using u64_millis = std::chrono::duration<uint64_t, std::milli>;
--static std::chrono::time_point<std::chrono::system_clock, u64_millis> u64_to_time(uint64_t timestamp) {
-- return std::chrono::time_point<std::chrono::system_clock, u64_millis>{u64_millis{timestamp}};
-+static std::chrono::time_point<std::chrono::system_clock, u64_millis>
-+u64_to_time(uint64_t timestamp) {
-+ return std::chrono::time_point<std::chrono::system_clock, u64_millis>{
-+ u64_millis{timestamp}};
- }
-
--std::string safestring(const unsigned char *c)
-- {
-- if(c==0) return "";
-- else return std::string((const char *)c);
-+std::string safestring(const unsigned char *c) {
-+ if (c == 0)
-+ return "";
-+ else
-+ return std::string((const char *)c);
- }
-
--Snoop::Snoop()
-- : sync_immediately_(false)
-- {
-- impl=new SnoopImpl(this);
-- }
-+Snoop::Snoop() : sync_immediately_(false) { impl = new SnoopImpl(this); }
-
- SnoopImpl::SnoopImpl(Snoop *s)
-- : snoop_(s), db(0), insert_statement(0), id_for_uuid_statement(0), connection_is_open(false)
-- {
-- }
-+ : snoop_(s), db(0), insert_statement(0), id_for_uuid_statement(0),
-+ connection_is_open(false) {}
-
--void Snoop::init(const std::string& app_name, const std::string& app_version, std::string server, std::string dbname)
-- {
-+void Snoop::init(const std::string &app_name, const std::string &app_version,
-+ std::string server, std::string dbname) {
- impl->init(app_name, app_version, server, dbname);
- }
-
--void SnoopImpl::init(const std::string& app_name, const std::string& app_version, std::string server, std::string dbname)
-- {
-+void SnoopImpl::init(const std::string &app_name,
-+ const std::string &app_version, std::string server,
-+ std::string dbname) {
- assert(app_name.size()>0);
-
--
- if(db==0) { // Only initialise if database has not been opened before
- this_app_.app_name=app_name;
- this_app_.app_version=app_version;
-@@ -72,14 +68,17 @@
- this_app_.pid = getpid();
- struct utsname buf;
- if(uname(&buf)==0) {
-- this_app_.machine_id = std::string(buf.sysname)
-- +", "+buf.nodename+", "+buf.release+", "+buf.version+", "+buf.machine+", "+buf.domainname;
-+ this_app_.machine_id = std::string(buf.sysname) + ", " + buf.nodename +
-+ ", " + buf.release + ", " + buf.version + ", " +
-+ buf.machine + ", " + buf.domainname;
- }
-
- this_app_.user_id = get_user_uuid(app_name);
-
-- auto duration = std::chrono::high_resolution_clock::now().time_since_epoch();
-- this_app_.create_millis = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
-+ auto duration =
-+ std::chrono::high_resolution_clock::now().time_since_epoch();
-+ this_app_.create_millis =
-+ std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
-
- server_=server;
-
-@@ -92,21 +91,25 @@
- dbname=logdir+"/"+app_name+".sql";
- }
-
-- int ret = sqlite3_open_v2(dbname.c_str(), &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
-+ int ret = sqlite3_open_v2(dbname.c_str(), &db,
-+ SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
- if(ret) {
- throw std::logic_error("Cannot open database");
- }
- create_tables();
-
-- // Turn off synchronous writes as they seriously degrade performance (by orders of magnitude)
-+ // Turn off synchronous writes as they seriously degrade performance (by
-+ // orders of magnitude)
- // for our single-row inserts. See
- // http://stackoverflow.com/questions/1711631/improve-insert-per-second-performance-of-sqlite?rq=1
- // for more options to speed things up.
-
- sqlite3_exec(db, "PRAGMA synchronous = OFF", NULL, NULL, NULL);
-
-- // If this is a client, i.e. not a SnoopServer: obtain a uuid, start the websocket listener,
-- // and sync with the remote server whatever has not yet been synced in previous runs.
-+ // If this is a client, i.e. not a SnoopServer: obtain a uuid, start the
-+ // websocket listener,
-+ // and sync with the remote server whatever has not yet been synced in
-+ // previous runs.
-
- if(this_app_.app_name!="SnoopServer") {
- obtain_uuid();
-@@ -118,26 +121,29 @@
- }
- }
-
--std::string Snoop::get_user_uuid(const std::string& appname)
-- {
-+std::string Snoop::get_user_uuid(const std::string &appname) {
- return impl->get_user_uuid(appname);
- }
-
--std::string SnoopImpl::get_user_uuid(const std::string& appname)
-- {
-+std::string SnoopImpl::get_user_uuid(const std::string &appname) {
- struct passwd *pw = getpwuid(getuid());
- const char *homedir = pw->pw_dir;
- std::string user_uuid="";
-
-- std::string configpath=homedir + std::string("/.config/snoop/"+appname+".conf");
-+ std::string configpath =
-+ homedir + std::string("/.config/snoop/" + appname + ".conf");
- std::ifstream config(configpath);
- bool need_to_write=true;
- if(config) {
- std::set<std::string> options;
- options.insert("user");
-
-- for(boost::program_options::detail::config_file_iterator i(config, options), e ; i != e; ++i) {
-- // FIXME: http://stackoverflow.com/questions/24701547/how-to-parse-boolean-option-in-config-file
-+ for (boost::program_options::detail::config_file_iterator
-+ i(config, options),
-+ e;
-+ i != e; ++i) {
-+ // FIXME:
-+ // http://stackoverflow.com/questions/24701547/how-to-parse-boolean-option-in-config-file
- if(i->string_key=="user") {
- user_uuid=i->value[0];
- need_to_write=false;
-@@ -160,21 +166,16 @@
- user_uuid=uuid_string;
-
- config << "user = " << user_uuid << std::endl;
-- }
-- else {
-+ } else {
- std::cerr << "Snoop: cannot write " << configpath << std::endl;
- }
- }
- return user_uuid;
- }
-
--void Snoop::set_sync_immediately(bool s)
-- {
-- sync_immediately_=s;
-- }
-+void Snoop::set_sync_immediately(bool s) { sync_immediately_ = s; }
-
--void SnoopImpl::create_tables()
-- {
-+void SnoopImpl::create_tables() {
- assert(db!=0);
-
- std::lock_guard<std::mutex> lock(sqlite_mutex);
-@@ -191,8 +192,8 @@
- "app_name text,"
- "app_version text,"
- "user_id text,"
-- "server_status int);"
-- , NULL, NULL, &errmsg) != SQLITE_OK) {
-+ "server_status int);",
-+ NULL, NULL, &errmsg) != SQLITE_OK) {
- sqlite3_free(errmsg);
- throw std::logic_error("Failed to create table runs");
- }
-@@ -207,23 +208,24 @@
- "loc_method text,"
- "type text,"
- "message text,"
-- "server_status int);"
-- , NULL, NULL, &errmsg) != SQLITE_OK) {
-+ "server_status int);",
-+ NULL, NULL, &errmsg) != SQLITE_OK) {
- sqlite3_free(errmsg);
- throw std::logic_error("Failed to create table logs");
- }
- }
-
--void SnoopImpl::obtain_uuid()
-- {
-+void SnoopImpl::obtain_uuid() {
- assert(db!=0);
-
- std::lock_guard<std::mutex> lock(sqlite_mutex);
-
- sqlite3_stmt *statement=0;
- std::ostringstream ss;
--// ss << "select uuid from runs where pid=" << getpid() << " order by create_millis desc limit 1";
-- ss << "select uuid from runs where id=" << getpid() << " order by create_millis desc limit 1";
-+ // ss << "select uuid from runs where pid=" << getpid() << " order by
-+ // create_millis desc limit 1";
-+ ss << "select uuid from runs where id=" << getpid()
-+ << " order by create_millis desc limit 1";
-
- int res = sqlite3_prepare(db, ss.str().c_str(), -1, &statement, NULL);
- if(res==SQLITE_OK) {
-@@ -231,12 +233,14 @@
- if(ret==SQLITE_ROW) {
- if(sqlite3_column_type(statement, 0)==SQLITE3_TEXT)
- this_app_.uuid=safestring(sqlite3_column_text(statement, 0));
-- else throw std::logic_error("Database inconsistency for obtain_uuid");
-+ else
-+ throw std::logic_error("Database inconsistency for obtain_uuid");
- }
- }
- sqlite3_finalize(statement);
-
-- // Generate and insert a new uuid if there is no existing entry for the current pid.
-+ // Generate and insert a new uuid if there is no existing entry for the
-+ // current pid.
-
- if(this_app_.uuid.size()==0) {
- uuid_t nid;
-@@ -249,8 +253,7 @@
- }
- }
-
--bool SnoopImpl::store_app_entry(Snoop::AppEntry& app)
-- {
-+bool SnoopImpl::store_app_entry(Snoop::AppEntry &app) {
- assert(db!=0);
-
- std::lock_guard<std::mutex> lock(sqlite_mutex);
-@@ -258,10 +261,11 @@
- return store_app_entry_without_lock(app);
- }
-
--bool SnoopImpl::store_app_entry_without_lock(Snoop::AppEntry& app)
-- {
-+bool SnoopImpl::store_app_entry_without_lock(Snoop::AppEntry &app) {
- sqlite3_stmt *statement=0;
-- int res = sqlite3_prepare(db, "insert into runs (uuid, create_millis, receive_millis, pid, ip_address, machine_id, "
-+ int res =
-+ sqlite3_prepare(db, "insert into runs (uuid, create_millis, "
-+ "receive_millis, pid, ip_address, machine_id, "
- "app_name, app_version, user_id, server_status) "
- "values "
- "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
-@@ -272,10 +276,14 @@
- sqlite3_bind_int64(statement, 2, app.create_millis);
- sqlite3_bind_int64(statement, 3, app.receive_millis);
- sqlite3_bind_int64(statement, 4, app.pid);
-- sqlite3_bind_text(statement, 5, app.ip_address.c_str(), app.ip_address.size(), 0);
-- sqlite3_bind_text(statement, 6, app.machine_id.c_str(), app.machine_id.size(), 0);
-- sqlite3_bind_text(statement, 7, app.app_name.c_str(), app.app_name.size(), 0);
-- sqlite3_bind_text(statement, 8, app.app_version.c_str(), app.app_version.size(), 0);
-+ sqlite3_bind_text(statement, 5, app.ip_address.c_str(),
-+ app.ip_address.size(), 0);
-+ sqlite3_bind_text(statement, 6, app.machine_id.c_str(),
-+ app.machine_id.size(), 0);
-+ sqlite3_bind_text(statement, 7, app.app_name.c_str(), app.app_name.size(),
-+ 0);
-+ sqlite3_bind_text(statement, 8, app.app_version.c_str(),
-+ app.app_version.size(), 0);
- sqlite3_bind_text(statement, 9, app.user_id.c_str(), app.user_id.size(), 0);
- sqlite3_bind_int(statement, 10, app.server_status);
-
-@@ -283,27 +291,28 @@
- sqlite3_finalize(statement);
-
- app.id = sqlite3_last_insert_rowid(db);
-- }
-- else {
-+ } else {
- throw std::logic_error("Failed to prepare insertion");
- }
-
- return false;
- }
-
--void SnoopImpl::store_log_entry(Snoop::LogEntry& log_entry)
-- {
-+void SnoopImpl::store_log_entry(Snoop::LogEntry &log_entry) {
- assert(db!=0);
-
- std::lock_guard<std::mutex> lock(sqlite_mutex);
-
- auto duration = std::chrono::high_resolution_clock::now().time_since_epoch();
-- log_entry.receive_millis = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
-+ log_entry.receive_millis =
-+ std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
-
- int res=SQLITE_OK;
- if(insert_statement==0) {
-- res=sqlite3_prepare_v2(db, "insert into logs "
-- "(client_log_id, id, create_millis, receive_millis, loc_file, loc_line, loc_method, "
-+ res = sqlite3_prepare_v2(db,
-+ "insert into logs "
-+ "(client_log_id, id, create_millis, "
-+ "receive_millis, loc_file, loc_line, loc_method, "
- " type, message, server_status) "
- "values "
- "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
-@@ -315,11 +324,15 @@
- sqlite3_bind_int(insert_statement, 2, log_entry.id);
- sqlite3_bind_int64(insert_statement, 3, log_entry.create_millis);
- sqlite3_bind_int64(insert_statement, 4, log_entry.receive_millis);
-- sqlite3_bind_text(insert_statement, 5, log_entry.loc_file.c_str(), log_entry.loc_file.size(), 0);
-+ sqlite3_bind_text(insert_statement, 5, log_entry.loc_file.c_str(),
-+ log_entry.loc_file.size(), 0);
- sqlite3_bind_int(insert_statement, 6, log_entry.loc_line);
-- sqlite3_bind_text(insert_statement, 7, log_entry.loc_method.c_str(), log_entry.loc_method.size(), 0);
-- sqlite3_bind_text(insert_statement, 8, log_entry.type.c_str(), log_entry.type.size(), 0);
-- sqlite3_bind_text(insert_statement, 9, log_entry.message.c_str(), log_entry.message.size(), 0);
-+ sqlite3_bind_text(insert_statement, 7, log_entry.loc_method.c_str(),
-+ log_entry.loc_method.size(), 0);
-+ sqlite3_bind_text(insert_statement, 8, log_entry.type.c_str(),
-+ log_entry.type.size(), 0);
-+ sqlite3_bind_text(insert_statement, 9, log_entry.message.c_str(),
-+ log_entry.message.size(), 0);
- sqlite3_bind_int(insert_statement, 10, log_entry.server_status);
-
- sqlite3_step(insert_statement);
-@@ -327,24 +340,26 @@
- log_entry.log_id = sqlite3_last_insert_rowid(db);
-
- sqlite3_reset(insert_statement);
-- }
-- else {
-+ } else {
- throw std::logic_error("Failed to insert log entry");
- }
- }
-
--void SnoopImpl::start_websocket_client()
-- {
-+void SnoopImpl::start_websocket_client() {
- using websocketpp::lib::bind;
-
- wsclient.clear_access_channels(websocketpp::log::alevel::all);
- wsclient.clear_error_channels(websocketpp::log::elevel::all);
-
-- wsclient.set_open_handler(bind(&SnoopImpl::on_client_open, this, websocketpp::lib::placeholders::_1));
-- wsclient.set_fail_handler(bind(&SnoopImpl::on_client_fail, this, websocketpp::lib::placeholders::_1));
-- wsclient.set_close_handler(bind(&SnoopImpl::on_client_close, this, websocketpp::lib::placeholders::_1));
-+ wsclient.set_open_handler(bind(&SnoopImpl::on_client_open, this,
-+ websocketpp::lib::placeholders::_1));
-+ wsclient.set_fail_handler(bind(&SnoopImpl::on_client_fail, this,
-+ websocketpp::lib::placeholders::_1));
-+ wsclient.set_close_handler(bind(&SnoopImpl::on_client_close, this,
-+ websocketpp::lib::placeholders::_1));
- wsclient.set_message_handler(bind(&SnoopImpl::on_client_message, this,
-- websocketpp::lib::placeholders::_1, websocketpp::lib::placeholders::_2));
-+ websocketpp::lib::placeholders::_1,
-+ websocketpp::lib::placeholders::_2));
- wsclient.init_asio();
- wsclient.start_perpetual();
-@@ -352,7 +367,8 @@
- websocketpp::lib::error_code ec;
- connection = wsclient.get_connection(uri, ec);
- if (ec) {
-- std::cerr << "Snoop: websocket connection error " << ec.message() << std::endl;
-+ std::cerr << "Snoop: websocket connection error " << ec.message()
-+ << std::endl;
- return;
- }
-
-@@ -362,13 +378,11 @@
- wsclient_thread=std::thread([this]{ wsclient.run(); });
- }
-
--void Snoop::sync_with_server(bool from_wsthread)
-- {
-+void Snoop::sync_with_server(bool from_wsthread) {
- impl->sync_with_server(from_wsthread);
- }
-
--void SnoopImpl::sync_with_server(bool from_wsthread)
-- {
-+void SnoopImpl::sync_with_server(bool from_wsthread) {
- assert(server_.size()>0);
-
- if(!from_wsthread)
-@@ -379,13 +393,11 @@
- sync_logs_with_server(from_wsthread);
- }
-
--void Snoop::sync_runs_with_server(bool from_wsthread)
-- {
-+void Snoop::sync_runs_with_server(bool from_wsthread) {
- impl->sync_runs_with_server(from_wsthread);
- }
-
--void SnoopImpl::sync_runs_with_server(bool from_wsthread)
-- {
-+void SnoopImpl::sync_runs_with_server(bool from_wsthread) {
- if(!from_wsthread)
- if(!connection_is_open)
- return;
-@@ -399,7 +411,8 @@
- std::ostringstream ssc;
- std::ostringstream pack;
- pack << "{ \"run\": [";
-- ssc << "select id, uuid, create_millis, receive_millis, pid, ip_address, machine_id, app_name, app_version, user_id, server_status "
-+ ssc << "select id, uuid, create_millis, receive_millis, pid, ip_address, "
-+ "machine_id, app_name, app_version, user_id, server_status "
- << "from runs where server_status=0";
-
- int sres = sqlite3_prepare(db, ssc.str().c_str(), -1, &statement, NULL);
-@@ -410,11 +423,13 @@
- int ret = sqlite3_step(statement);
- switch(ret) {
- case SQLITE_BUSY:
-- throw std::logic_error("Unexpected SQLITE_BUSY in sync_runs_with_server");
-+ throw std::logic_error(
-+ "Unexpected SQLITE_BUSY in sync_runs_with_server");
- break;
- case SQLITE_ROW: {
- Snoop::AppEntry ae;
-- // FIXME: isolate this in a separate function so we can fetch individual records more easily
-+ // FIXME: isolate this in a separate function so we can fetch individual
-+ // records more easily
- ae.id = sqlite3_column_int(statement, 0);
- ae.uuid = safestring(sqlite3_column_text(statement, 1));
- ae.create_millis = sqlite3_column_int64(statement, 2);
-@@ -426,8 +441,10 @@
- ae.app_version = safestring(sqlite3_column_text(statement, 8));
- ae.user_id = safestring(sqlite3_column_text(statement, 9));
- ae.server_status = sqlite3_column_int(statement, 10);
-- if(!first) pack << ", \n";
-- else first=false;
-+ if (!first)
-+ pack << ", \n";
-+ else
-+ first = false;
- pack << ae.to_json(false);
- break;
- }
-@@ -451,23 +468,21 @@
- if(sres==SQLITE_OK) {
- sqlite3_step(statement);
- sqlite3_finalize(statement);
-- }
-- else {
-+ } else {
- sqlite3_finalize(statement);
- return;
- }
-
- // Upload to the server.
-- wsclient.send(our_connection_hdl, pack.str(), websocketpp::frame::opcode::text);
-+ wsclient.send(our_connection_hdl, pack.str(),
-+ websocketpp::frame::opcode::text);
- }
-
--void Snoop::sync_logs_with_server(bool from_wsthread)
-- {
-+void Snoop::sync_logs_with_server(bool from_wsthread) {
- impl->sync_logs_with_server(from_wsthread);
- }
-
--void SnoopImpl::sync_logs_with_server(bool from_wsthread)
-- {
-+void SnoopImpl::sync_logs_with_server(bool from_wsthread) {
- if(!from_wsthread)
- if(!connection_is_open)
- return;
-@@ -481,7 +496,8 @@
- std::ostringstream ssc;
- std::ostringstream pack;
- pack << "{ \"log\": [";
-- ssc << "select log_id, client_log_id, id, create_millis, loc_file, loc_line, loc_method, type, message, server_status "
-+ ssc << "select log_id, client_log_id, id, create_millis, loc_file, loc_line, "
-+ "loc_method, type, message, server_status "
- << "from logs where server_status=0";
-
- int sres = sqlite3_prepare(db, ssc.str().c_str(), -1, &statement, NULL);
-@@ -492,7 +508,8 @@
- int ret = sqlite3_step(statement);
- switch(ret) {
- case SQLITE_BUSY:
-- throw std::logic_error("Unexpected SQLITE_BUSY in sync_runs_with_server");
-+ throw std::logic_error(
-+ "Unexpected SQLITE_BUSY in sync_runs_with_server");
- break;
- case SQLITE_ROW: {
- Snoop::LogEntry le;
-@@ -507,8 +524,10 @@
- le.type = safestring(sqlite3_column_text(statement, 7));
- le.message = safestring(sqlite3_column_text(statement, 8));
- le.server_status = sqlite3_column_int(statement, 9);
-- if(!first) pack << ", \n";
-- else first=false;
-+ if (!first)
-+ pack << ", \n";
-+ else
-+ first = false;
- pack << le.to_json(false);
- break;
- }
-@@ -532,25 +551,26 @@
- if(sres==SQLITE_OK) {
- sqlite3_step(statement);
- sqlite3_finalize(statement);
-- }
-- else {
-+ } else {
- sqlite3_finalize(statement);
- return;
- }
-
- // Upload to the server.
-
-- wsclient.send(our_connection_hdl, pack.str(), websocketpp::frame::opcode::text);
-+ wsclient.send(our_connection_hdl, pack.str(),
-+ websocketpp::frame::opcode::text);
- }
-
--std::vector<Snoop::AppEntry> SnoopImpl::get_app_registrations(std::string uuid_filter)
-- {
-+std::vector<Snoop::AppEntry>
-+SnoopImpl::get_app_registrations(std::string uuid_filter) {
- std::lock_guard<std::mutex> lock(sqlite_mutex);
-
- sqlite3_stmt *statement=0;
-
- std::ostringstream ssc;
-- ssc << "select id, uuid, create_millis, receive_millis, pid, ip_address, machine_id, "
-+ ssc << "select id, uuid, create_millis, receive_millis, pid, ip_address, "
-+ "machine_id, "
- "app_name, app_version, user_id, server_status from runs";
- if(uuid_filter.size()>0)
- ssc << " where uuid=?";
-@@ -587,35 +607,34 @@
- }
- }
- }
-- }
-- else throw std::logic_error("Failed to prepare statement for get_app_registrations");
-+ } else
-+ throw std::logic_error(
-+ "Failed to prepare statement for get_app_registrations");
-
- sqlite3_finalize(statement);
-
- return entries;
- }
-
--void SnoopImpl::on_client_open(websocketpp::connection_hdl)
-- {
-- // std::cerr << "Snoop: connection to " << server_ << " open " << std::this_thread::get_id() << std::endl;
-+void SnoopImpl::on_client_open(websocketpp::connection_hdl) {
-+ // std::cerr << "Snoop: connection to " << server_ << " open " <<
-+ // std::this_thread::get_id() << std::endl;
- sync_with_server(true);
- connection_is_open=true;
- // std::cerr << "Snoop: sync'ed with server" << std::endl;
- }
-
--void SnoopImpl::on_client_fail(websocketpp::connection_hdl)
-- {
-+void SnoopImpl::on_client_fail(websocketpp::connection_hdl) {
- // std::cerr << "Snoop: connection failed" << std::endl;
- }
-
--void SnoopImpl::on_client_close(websocketpp::connection_hdl)
-- {
-+void SnoopImpl::on_client_close(websocketpp::connection_hdl) {
- connection_is_open=false;
- // std::cerr << "Snoop: connection closed" << std::endl;
- }
--void SnoopImpl::on_client_message(websocketpp::connection_hdl, WebsocketClient::message_ptr msg)
-- {
-+void SnoopImpl::on_client_message(websocketpp::connection_hdl,
-+ WebsocketClient::message_ptr msg) {
- Json::Value root;
- Json::Reader reader;
- if(!reader.parse( msg->get_payload(), root ))
-@@ -637,7 +656,8 @@
- ssc << "update logs set server_status=1 where log_id=?";
- int ret = sqlite3_prepare(db, ssc.str().c_str(), -1, &statement, NULL);
- if(ret!=SQLITE_OK)
-- throw std::logic_error("Failed to prepare statement for on_client_message");
-+ throw std::logic_error(
-+ "Failed to prepare statement for on_client_message");
-
- Json::Value entries=root["log_stored"];
- for(auto entry: entries) {
-@@ -662,7 +682,8 @@
- ssc << "update runs set server_status=1 where id=?";
- int ret = sqlite3_prepare(db, ssc.str().c_str(), -1, &statement, NULL);
- if(ret!=SQLITE_OK)
-- throw std::logic_error("Failed to prepare statement for on_client_message");
-+ throw std::logic_error(
-+ "Failed to prepare statement for on_client_message");
-
- Json::Value entries=root["app_stored"];
- for(auto entry: entries) {
-@@ -674,18 +695,16 @@
-
- sqlite3_exec(db, "END TRANSACTION", NULL, NULL, NULL);
- }
--
- }
-
--
--Snoop::~Snoop()
-- {
-- if(impl) delete impl;
-+Snoop::~Snoop() {
-+ if (impl)
-+ delete impl;
- }
-
--SnoopImpl::~SnoopImpl()
-- {
-- if(db!=0) { // If the database is not open the wsclient won't be running either
-+SnoopImpl::~SnoopImpl() {
-+ if (db !=
-+ 0) { // If the database is not open the wsclient won't be running either
- wsclient.stop();
- wsclient_thread.join();
- }
-@@ -702,14 +721,13 @@
- }
- }
-
--
--Snoop& Snoop::operator()(const std::string& type, std::string fl, int loc, std::string method)
-- {
-+Snoop &Snoop::operator()(const std::string &type, std::string fl, int loc,
-+ std::string method) {
- return impl->operator()(type, fl, loc, method);
- }
-
--Snoop& SnoopImpl::operator()(const std::string& type, std::string fl, int loc, std::string method)
-- {
-+Snoop &SnoopImpl::operator()(const std::string &type, std::string fl, int loc,
-+ std::string method) {
- std::lock_guard<std::mutex> lock(call_mutex);
-
- assert(this_app_.app_name.size()>0);
-@@ -722,13 +740,9 @@
- return *snoop_;
- }
-
--Snoop& Snoop::operator<<(const Flush& f)
-- {
-- return impl->operator<<(f);
-- }
-+Snoop &Snoop::operator<<(const Flush &f) { return impl->operator<<(f); }
-
--Snoop& SnoopImpl::operator<<(const Flush&)
-- {
-+Snoop &SnoopImpl::operator<<(const Flush &) {
- std::lock_guard<std::mutex> lock(call_mutex);
-
- assert(this_app_.app_name.size()>0);
-@@ -736,7 +750,8 @@
- // Fill in the remaining fields of the LogEntry to be stored/sent.
-
- auto duration = std::chrono::high_resolution_clock::now().time_since_epoch();
-- auto millis = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
-+ auto millis =
-+ std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
- this_log_.create_millis = millis;
- this_log_.message = snoop_->out_.str();
- this_log_.server_status = 0;
-@@ -757,21 +772,18 @@
- }
-
- Snoop::LogEntry::LogEntry()
-- : log_id(0), client_log_id(0), id(0), create_millis(0), receive_millis(0), loc_line(0), server_status(0)
-- {
-- }
-+ : log_id(0), client_log_id(0), id(0), create_millis(0), receive_millis(0),
-+ loc_line(0), server_status(0) {}
-
--Snoop::LogEntry::LogEntry(int log_id_, int client_log_id_, int c1, const std::string& c1b,
-- uint64_t c2, uint64_t c2b, const std::string& c3, int c4, const std::string& c5,
-+Snoop::LogEntry::LogEntry(int log_id_, int client_log_id_, int c1,
-+ const std::string &c1b, uint64_t c2, uint64_t c2b,
-+ const std::string &c3, int c4, const std::string &c5,
- const std::string& c6, const std::string& c7, int c8)
- : log_id(log_id_), client_log_id(client_log_id_), id(c1), uuid(c1b),
-- create_millis(c2), receive_millis(c2b), loc_file(c3), loc_line(c4), loc_method(c5),
-- type(c6), message(c7), server_status(c8)
-- {
-- }
-+ create_millis(c2), receive_millis(c2b), loc_file(c3), loc_line(c4),
-+ loc_method(c5), type(c6), message(c7), server_status(c8) {}
-
--std::string Snoop::LogEntry::to_json(bool human_readable) const
-- {
-+std::string Snoop::LogEntry::to_json(bool human_readable) const {
- Json::Value json;
-
- json["log_id"]=log_id;
-@@ -779,18 +791,17 @@
- json["id"]=id;
- json["uuid"]=uuid;
- if(human_readable) {
-- time_t tt = std::chrono::system_clock::to_time_t(u64_to_time(create_millis));
-+ time_t tt =
-+ std::chrono::system_clock::to_time_t(u64_to_time(create_millis));
- tm utc_tm = *localtime(&tt);
- std::ostringstream str;
-- str << std::setfill('0')
-- << std::setw(2) << utc_tm.tm_hour << ":"
-- << std::setw(2) << utc_tm.tm_min << ":"
-- << std::setw(2) << utc_tm.tm_sec;
-+ str << std::setfill('0') << std::setw(2) << utc_tm.tm_hour << ":"
-+ << std::setw(2) << utc_tm.tm_min << ":" << std::setw(2)
-+ << utc_tm.tm_sec;
- json["time"]=str.str();
- str.str("");
-- str << std::setw(2) << utc_tm.tm_mday << "/"
-- << std::setw(2) << utc_tm.tm_mon+1 << "/"
-- << std::setw(4) << utc_tm.tm_year+1900;
-+ str << std::setw(2) << utc_tm.tm_mday << "/" << std::setw(2)
-+ << utc_tm.tm_mon + 1 << "/" << std::setw(4) << utc_tm.tm_year + 1900;
- json["date"]=str.str();
- }
- json["create_millis"]=(Json::UInt64)create_millis;
-@@ -809,57 +820,49 @@
- }
-
- Snoop::AppEntry::AppEntry()
-- : id(0), create_millis(0), receive_millis(0), pid(0), server_status(0), connected(false)
-- {
-- }
-+ : id(0), create_millis(0), receive_millis(0), pid(0), server_status(0),
-+ connected(false) {}
-
--Snoop::AppEntry::AppEntry(const std::string& uuid_, uint64_t create_millis_, uint64_t receive_millis_, pid_t pid_,
-- const std::string& ip_address_, const std::string& machine_id_,
-- const std::string& app_name_, const std::string& app_version_,
-- const std::string& user_id_,
-- int server_status_)
-- : uuid(uuid_), create_millis(create_millis_), receive_millis(receive_millis_), pid(pid_), ip_address(ip_address_),
-+Snoop::AppEntry::AppEntry(const std::string &uuid_, uint64_t create_millis_,
-+ uint64_t receive_millis_, pid_t pid_,
-+ const std::string &ip_address_,
-+ const std::string &machine_id_,
-+ const std::string &app_name_,
-+ const std::string &app_version_,
-+ const std::string &user_id_, int server_status_)
-+ : uuid(uuid_), create_millis(create_millis_),
-+ receive_millis(receive_millis_), pid(pid_), ip_address(ip_address_),
- machine_id(machine_id_), app_name(app_name_), app_version(app_version_),
-- user_id(user_id_), server_status(server_status_)
-- {
-- }
-+ user_id(user_id_), server_status(server_status_) {}
-
--std::string Snoop::AppEntry::to_json(bool human_readable) const
-- {
-+std::string Snoop::AppEntry::to_json(bool human_readable) const {
- std::ostringstream str;
-- str << "{ \"id\": " << id
-- << ", \"uuid\": \"" << uuid << "\"";
-+ str << "{ \"id\": " << id << ", \"uuid\": \"" << uuid << "\"";
- if(human_readable) {
-- time_t tt = std::chrono::system_clock::to_time_t(u64_to_time(create_millis));
-+ time_t tt =
-+ std::chrono::system_clock::to_time_t(u64_to_time(create_millis));
- tm utc_tm = *localtime(&tt);
-- str << ", \"time\": \""
-- << std::setfill('0')
-- << std::setw(2) << utc_tm.tm_hour << ":"
-- << std::setw(2) << utc_tm.tm_min << ":"
-+ str << ", \"time\": \"" << std::setfill('0') << std::setw(2)
-+ << utc_tm.tm_hour << ":" << std::setw(2) << utc_tm.tm_min << ":"
- << std::setw(2) << utc_tm.tm_sec << "\""
-- << ", \"date\": \""
-- << std::setw(2) << utc_tm.tm_mday << "/"
-- << std::setw(2) << utc_tm.tm_mon+1 << "/"
-- << std::setw(4) << utc_tm.tm_year+1900
-- << "\"";
-+ << ", \"date\": \"" << std::setw(2) << utc_tm.tm_mday << "/"
-+ << std::setw(2) << utc_tm.tm_mon + 1 << "/" << std::setw(4)
-+ << utc_tm.tm_year + 1900 << "\"";
- }
- str << ", \"create_millis\": " << create_millis
-- << ", \"receive_millis\": " << receive_millis
-- << ", \"pid\": " << pid
-+ << ", \"receive_millis\": " << receive_millis << ", \"pid\": " << pid
- << ", \"ip_address\": \"" << ip_address << "\""
- << ", \"machine_id\": \"" << machine_id << "\""
- << ", \"app_name\": \"" << app_name << "\""
- << ", \"app_version\": \"" << app_version << "\""
- << ", \"user_id\": \"" << user_id << "\""
- << ", \"server_status\": " << server_status
-- << ", \"connected\": " << connected
-- << "}";
-+ << ", \"connected\": " << connected << "}";
-
- return str.str();
- }
-
--void Snoop::LogEntry::from_json(const Json::Value& entry)
-- {
-+void Snoop::LogEntry::from_json(const Json::Value &entry) {
- // FIXME: if info is missing, catch the exception.
- log_id = entry["log_id"].asInt();
- id = entry["id"].asInt();
-@@ -873,8 +876,7 @@
- server_status = entry["server_status"].asInt();
- }
-
--void Snoop::AppEntry::from_json(const Json::Value& entry)
-- {
-+void Snoop::AppEntry::from_json(const Json::Value &entry) {
- // FIXME: if info is missing, catch the exception.
- id = entry["id"].asInt();
- uuid = entry["uuid"].asString();
diff -aur -bZwB cadabra2-git.old/core/CMakeLists.txt cadabra2-git/core/CMakeLists.txt
---- cadabra2-git.old/core/CMakeLists.txt 2016-02-20 07:47:46.411252738 -0500
-+++ cadabra2-git/core/CMakeLists.txt 2016-02-20 07:48:29.464392244 -0500
+--- cadabra2-git.old/core/CMakeLists.txt 2016-02-25 06:52:33.188813463 -0500
++++ cadabra2-git/core/CMakeLists.txt 2016-02-25 06:54:17.681633824 -0500
@@ -19,7 +19,8 @@
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
@@ -913,7 +56,7 @@ diff -aur -bZwB cadabra2-git.old/core/CMakeLists.txt cadabra2-git/core/CMakeList
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
-@@ -157,11 +158,11 @@
+@@ -156,11 +157,11 @@
#set(SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in")
#set(SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py")
#configure_file(${SETUP_PY_IN} ${SETUP_PY})
@@ -923,34 +66,36 @@ diff -aur -bZwB cadabra2-git.old/core/CMakeLists.txt cadabra2-git/core/CMakeList
# import site; print site.getsitepackages()[0]
-execute_process(COMMAND ${PYTHON} -c "import site; print site.getsitepackages()[0];"
-+execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import site; print site.getsitepackages()[0];"
++execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import site; print site.getsitepackages()[0];"
OUTPUT_VARIABLE python_site_path OUTPUT_STRIP_TRAILING_WHITESPACE)
message("-- Python site path at ${python_site_path}")
diff -aur -bZwB cadabra2-git.old/core/PythonCdb.cc cadabra2-git/core/PythonCdb.cc
---- cadabra2-git.old/core/PythonCdb.cc 2016-02-20 07:47:46.411252738 -0500
-+++ cadabra2-git/core/PythonCdb.cc 2016-02-20 07:48:29.464392244 -0500
-@@ -6,15 +6,13 @@
+--- cadabra2-git.old/core/PythonCdb.cc 2016-02-25 06:52:33.192146783 -0500
++++ cadabra2-git/core/PythonCdb.cc 2016-02-25 07:08:34.046616432 -0500
+@@ -6,13 +6,17 @@
// This now works on both Linux and OS X El Capitan, but your mileage may vary.
//
-#ifdef __clang__
- #ifdef __linux__
++#if (defined(__clang__) && defined(__linux__)) || defined(__GNUG__)
++#ifdef __GNUG__
+namespace boost {
++#endif
template<typename T>
T *get_pointer(std::shared_ptr<T> p)
{
return p.get();
}
-- #endif
--#endif
++#ifdef __GNUG__
+}
+ #endif
+ #endif
- #include "Parser.hh"
- #include "Exceptions.hh"
diff -aur -bZwB cadabra2-git.old/frontend/common/CMakeLists.txt cadabra2-git/frontend/common/CMakeLists.txt
---- cadabra2-git.old/frontend/common/CMakeLists.txt 2016-02-20 07:47:46.417919375 -0500
-+++ cadabra2-git/frontend/common/CMakeLists.txt 2016-02-20 07:48:29.464392244 -0500
+--- cadabra2-git.old/frontend/common/CMakeLists.txt 2016-02-25 06:52:33.198813424 -0500
++++ cadabra2-git/frontend/common/CMakeLists.txt 2016-02-25 06:53:18.795296070 -0500
@@ -25,8 +25,11 @@
endif()
@@ -964,8 +109,8 @@ diff -aur -bZwB cadabra2-git.old/frontend/common/CMakeLists.txt cadabra2-git/fro
+install(TARGETS texengine LIBRARY DESTINATION "${INSTALL_LIB_DIR}")
+
diff -aur -bZwB cadabra2-git.old/frontend/gtkmm/CMakeLists.txt cadabra2-git/frontend/gtkmm/CMakeLists.txt
---- cadabra2-git.old/frontend/gtkmm/CMakeLists.txt 2016-02-20 07:47:46.421252693 -0500
-+++ cadabra2-git/frontend/gtkmm/CMakeLists.txt 2016-02-20 07:48:29.464392244 -0500
+--- cadabra2-git.old/frontend/gtkmm/CMakeLists.txt 2016-02-25 06:52:33.198813424 -0500
++++ cadabra2-git/frontend/gtkmm/CMakeLists.txt 2016-02-25 06:53:18.795296070 -0500
@@ -14,7 +14,9 @@
link_directories(${GTKMM3_LIBRARY_DIRS})
add_definitions(${GTKMM3_CFLAGS_OTHER})
@@ -977,8 +122,8 @@ diff -aur -bZwB cadabra2-git.old/frontend/gtkmm/CMakeLists.txt cadabra2-git/fron
find_package(Boost 1.45.0 COMPONENTS system)
set(Boost_USE_STATIC_LIBS OFF)
diff -aur -bZwB cadabra2-git.old/frontend/gtkmm/NotebookWindow.cc cadabra2-git/frontend/gtkmm/NotebookWindow.cc
---- cadabra2-git.old/frontend/gtkmm/NotebookWindow.cc 2016-02-20 07:47:46.421252693 -0500
-+++ cadabra2-git/frontend/gtkmm/NotebookWindow.cc 2016-02-20 07:48:29.467725563 -0500
+--- cadabra2-git.old/frontend/gtkmm/NotebookWindow.cc 2016-02-25 06:52:33.198813424 -0500
++++ cadabra2-git/frontend/gtkmm/NotebookWindow.cc 2016-02-25 06:53:18.795296070 -0500
@@ -25,7 +25,7 @@
#ifdef __APPLE__
scale = 1.0;