libraries/barry: Fix build on 14.2.

Signed-off-by: Heinz Wiesinger <pprkut@slackbuilds.org>
This commit is contained in:
Heinz Wiesinger 2016-02-06 22:23:25 +01:00 committed by Willy Sudiarto Raharjo
parent ccea84b9da
commit 2de8614619
4 changed files with 280 additions and 20 deletions

View File

@ -3,8 +3,4 @@ comes with a command line tool for exploring the device and a GUI for making
quick backups. This project's goal is to create a fully functional syncing
mechanism on Linux.
FYI, this slackbuild can take a variable of OPENSYNC (in addition to the
standard ARCH, TMP, BUILD, etc.), by default compiling barry with opensync
is disabled. passing OPENSYNC=<anything that isn't 'no'> will compile barry
with opensync support, which will require that opensync already be installed
(libopensync is in the SBo repository as well)
This optionally depends on libxml++ for the ALX parser.

View File

@ -7,16 +7,13 @@
## http://sourceforge.net/projects/barry/
##
## Written by "Vincent Batts <vbatts@batts.mine.nu>"
##
## opensync consideration added thanks
## to "Heinz Wiesinger <HMWiesinger@gmx.at>"
# Modified by Robby Workman <rworkman@slackbuilds.org>
# Modified by Mario Preksavec <mario@slackware.hr>
PRGNAM=barry
VERSION=${VERSION:-0.18.3}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -37,14 +34,6 @@ OUTPUT=${OUTPUT:-/tmp}
# BARRY_GROUP=barry ./barry.SlackBuild
BARRY_GROUP=${BARRY_GROUP:-plugdev}
# Enable opensync-plugin?
OPENSYNC=${OPENSYNC:-no}
case "$OPENSYNC" in
no) opensync_opt="dis" ;;
*) opensync_opt="en" ;;
esac
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
@ -77,8 +66,14 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
# Debian fixes
patch -p1 -i $CWD/fix-sizeof-use.patch
# Fix C++11 compatibilty (taken from Arch)
patch -p1 -i $CWD/c++11.patch
CFLAGS="$SLKCFLAGS -std=c++11" \
CXXFLAGS="$SLKCFLAGS -std=c++11" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@ -86,7 +81,6 @@ CXXFLAGS="$SLKCFLAGS" \
--disable-static \
--enable-boost \
--enable-gui \
--${opensync_opt}able-opensync-plugin \
--build=$ARCH-slackware-linux
make

240
libraries/barry/c++11.patch Normal file
View File

@ -0,0 +1,240 @@
diff -Nur original/desktop/src/xmlmap.cc modified/desktop/src/xmlmap.cc
--- original/desktop/src/xmlmap.cc 2013-04-05 07:49:43.000000000 +0100
+++ modified/desktop/src/xmlmap.cc 2015-10-24 17:02:59.792298395 +0100
@@ -540,14 +540,14 @@
np.SortBySummary();
cout << "\n\nCute summary:\n";
for_each(np.begin(), np.priority_end(),
- bind( mem_fn(&XmlNodeMapping::DumpSummaries),
- _1, ref(cout)));
+ std::bind( std::mem_fn(&XmlNodeMapping::DumpSummaries),
+ _1, std::ref(cout)));
np.SortByPath();
cout << "\n\nCute summary:\n";
for_each(np.begin(), np.priority_end(),
- bind( mem_fn(&XmlNodeMapping::DumpSummaries),
- _1, ref(cout)));
+ std::bind( std::mem_fn(&XmlNodeMapping::DumpSummaries),
+ _1, std::ref(cout)));
}
catch( Glib::ConvertError &e ) {
cerr << e.what() << endl;
diff -Nur original/tools/bio.cc modified/tools/bio.cc
--- original/tools/bio.cc 2013-04-05 07:49:43.000000000 +0100
+++ modified/tools/bio.cc 2015-10-24 16:50:04.487574052 +0100
@@ -869,7 +869,7 @@
class App
{
public:
- typedef shared_ptr<OutputBase> OutputPtr;
+ typedef std::shared_ptr<OutputBase> OutputPtr;
typedef vector<OutputPtr> OutputsType;
private:
diff -Nur original/tools/btool.cc modified/tools/btool.cc
--- original/tools/btool.cc 2013-04-05 07:49:43.000000000 +0100
+++ modified/tools/btool.cc 2015-10-24 16:50:04.487574052 +0100
@@ -284,7 +284,7 @@
}
};
-shared_ptr<Parser> GetParser(const string &name,
+std::shared_ptr<Parser> GetParser(const string &name,
const string &filename,
bool null_parser,
bool immediate_display,
@@ -296,139 +296,139 @@
if( null_parser ) {
// use null parser
- return shared_ptr<Parser>( new Barry::HexDumpParser(cout) );
+ return std::shared_ptr<Parser>( new Barry::HexDumpParser(cout) );
}
else if( bbackup_mode ) {
#ifdef __BARRY_BACKUP_MODE__
// Only one backup file per run
- static shared_ptr<Parser> backup;
+ static std::shared_ptr<Parser> backup;
if( !backup.get() ) {
backup.reset( new Backup(filename) );
}
return backup;
#else
- return shared_ptr<Parser>( new Barry::HexDumpParser(cout) );
+ return std::shared_ptr<Parser>( new Barry::HexDumpParser(cout) );
#endif
}
// check for recognized database names
else if( name == Contact::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<Contact, Store<Contact> > (
new Store<Contact>(filename, false, dnow, vmode)));
}
else if( name == Message::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<Message, Store<Message> > (
new Store<Message>(filename, false, dnow, vmode)));
}
else if( name == Calendar::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<Calendar, Store<Calendar> > (
new Store<Calendar>(filename, false, dnow, vmode)));
}
else if( name == CalendarAll::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<CalendarAll, Store<CalendarAll> > (
new Store<CalendarAll>(filename, false, dnow, vmode)));
}
else if( name == CallLog::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<CallLog, Store<CallLog> > (
new Store<CallLog>(filename, false, dnow, vmode)));
}
else if( name == Bookmark::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<Bookmark, Store<Bookmark> > (
new Store<Bookmark>(filename, false, dnow, vmode)));
}
else if( name == ServiceBook::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<ServiceBook, Store<ServiceBook> > (
new Store<ServiceBook>(filename, false, dnow, vmode)));
}
else if( name == Memo::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<Memo, Store<Memo> > (
new Store<Memo>(filename, false, dnow, vmode)));
}
else if( name == Task::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<Task, Store<Task> > (
new Store<Task>(filename, false, dnow, vmode)));
}
else if( name == PINMessage::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<PINMessage, Store<PINMessage> > (
new Store<PINMessage>(filename, false, dnow, vmode)));
}
else if( name == SavedMessage::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<SavedMessage, Store<SavedMessage> > (
new Store<SavedMessage>(filename, false, dnow, vmode)));
}
else if( name == Sms::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<Sms, Store<Sms> > (
new Store<Sms>(filename, false, dnow, vmode)));
}
else if( name == Folder::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<Folder, Store<Folder> > (
new Store<Folder>(filename, false, dnow, vmode)));
}
else if( name == TimeZone::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<TimeZone, Store<TimeZone> > (
new Store<TimeZone>(filename, false, dnow, vmode)));
}
else if( name == HandheldAgent::GetDBName() ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<HandheldAgent, Store<HandheldAgent> > (
new Store<HandheldAgent>(filename, false, dnow, vmode)));
}
else {
// unknown database, use null parser
- return shared_ptr<Parser>( new Barry::HexDumpParser(cout) );
+ return std::shared_ptr<Parser>( new Barry::HexDumpParser(cout) );
}
}
-shared_ptr<Builder> GetBuilder(const string &name, const string &filename)
+std::shared_ptr<Builder> GetBuilder(const string &name, const string &filename)
{
// check for recognized database names
if( name == Contact::GetDBName() ) {
- return shared_ptr<Builder>(
+ return std::shared_ptr<Builder>(
new RecordBuilder<Contact, Store<Contact> > (
new Store<Contact>(filename, true, true, false)));
}
else if( name == Calendar::GetDBName() ) {
- return shared_ptr<Builder>(
+ return std::shared_ptr<Builder>(
new RecordBuilder<Calendar, Store<Calendar> > (
new Store<Calendar>(filename, true, true, false)));
}
else if( name == CalendarAll::GetDBName() ) {
- return shared_ptr<Builder>(
+ return std::shared_ptr<Builder>(
new RecordBuilder<CalendarAll, Store<CalendarAll> > (
new Store<CalendarAll>(filename, true, true, false)));
}
else if( name == Memo::GetDBName() ) {
- return shared_ptr<Builder>(
+ return std::shared_ptr<Builder>(
new RecordBuilder<Memo, Store<Memo> > (
new Store<Memo>(filename, true, true, false)));
}
else if( name == Task::GetDBName() ) {
- return shared_ptr<Builder>(
+ return std::shared_ptr<Builder>(
new RecordBuilder<Task, Store<Task> > (
new Store<Task>(filename, true, true, false)));
}
/*
else if( name == "Messages" ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<Message, Store<Message> > (
new Store<Message>(filename, true, true, false)));
}
else if( name == "Service Book" ) {
- return shared_ptr<Parser>(
+ return std::shared_ptr<Parser>(
new RecordParser<ServiceBook, Store<ServiceBook> > (
new Store<ServiceBook>(filename, true, true, false)));
}
@@ -942,7 +942,7 @@
}
unsigned int id = desktop.GetDBID(dbNames[0]);
- shared_ptr<Parser> parse = GetParser(dbNames[0],filename,
+ std::shared_ptr<Parser> parse = GetParser(dbNames[0],filename,
null_parser, true, vformat_mode, bbackup_mode);
for( unsigned int i = 0; i < stCommands.size(); i++ ) {
@@ -968,7 +968,7 @@
vector<string>::iterator b = dbNames.begin();
for( ; b != dbNames.end(); b++ ) {
- shared_ptr<Parser> parse = GetParser(*b,
+ std::shared_ptr<Parser> parse = GetParser(*b,
filename, null_parser, !sort_records,
vformat_mode, bbackup_mode);
unsigned int id = desktop.GetDBID(*b);
@@ -1000,7 +1000,7 @@
vector<string>::iterator b = saveDbNames.begin();
for( ; b != saveDbNames.end(); b++ ) {
- shared_ptr<Builder> build = GetBuilder(*b,
+ std::shared_ptr<Builder> build = GetBuilder(*b,
filename);
unsigned int id = desktop.GetDBID(*b);
desktop.SaveDatabase(id, *build);

View File

@ -0,0 +1,30 @@
Description: Fix sizeof(pointer) to be sizeof(buffer_pointed_to)
Author: Olly Betts <olly@survex.com>
Forwarded: no
Last-Update: 2014-08-14
--- a/src/vformat.c
+++ b/src/vformat.c
@@ -1881,11 +1881,11 @@
//static unsigned char _evc_base64_rank[256];
-static void base64_init(char *rank)
+static void base64_init(char *rank, size_t len)
{
int i;
- memset(rank, 0xff, sizeof(rank));
+ memset(rank, 0xff, len);
for (i=0;i<64;i++) {
rank[(unsigned int)base64_alphabet[i]] = i;
}
@@ -2011,7 +2011,7 @@
static size_t base64_decode_step(const unsigned char *in, size_t len, unsigned char *out, int *state, unsigned int *save)
{
unsigned char base64_rank[256];
- base64_init((char*)base64_rank);
+ base64_init((char*)base64_rank, sizeof(base64_rank));
register const unsigned char *inptr;
register unsigned char *outptr;