diff -Nru fatrat-1.1.3/debian/changelog fatrat-1.1.3/debian/changelog --- fatrat-1.1.3/debian/changelog 2012-05-19 21:25:41.000000000 +0000 +++ fatrat-1.1.3/debian/changelog 2014-02-16 03:03:02.000000000 +0000 @@ -1,3 +1,11 @@ +fatrat (1.1.3-5+rpi1) jessie-staging; urgency=medium + + * Define BOOST_ASIO_DYN_LINK to fix build failure. (Closes: 713663) + * Fix various other build failures that are presumablly + caused by libtorrent API changes. + + -- Peter Michael Green Sun, 16 Feb 2014 00:59:42 +0000 + fatrat (1.1.3-5) unstable; urgency=low * fix_ftbfs_gcc47.patch: fix ftbfs also on kfreebsd. Thanks to diff -Nru fatrat-1.1.3/debian/patches/define-BOOST_ASIO_DYN_LINK fatrat-1.1.3/debian/patches/define-BOOST_ASIO_DYN_LINK --- fatrat-1.1.3/debian/patches/define-BOOST_ASIO_DYN_LINK 1970-01-01 00:00:00.000000000 +0000 +++ fatrat-1.1.3/debian/patches/define-BOOST_ASIO_DYN_LINK 2014-02-16 03:09:52.000000000 +0000 @@ -0,0 +1,73 @@ +Description: Define BOOST_ASIO_DYN_LINK to fix FTBFS. +Author: Peter Michael Green + +Index: fatrat-1.1.3/src/tools/CreateTorrentDlg.h +=================================================================== +--- fatrat-1.1.3.orig/src/tools/CreateTorrentDlg.h 2014-02-16 01:02:40.000000000 +0000 ++++ fatrat-1.1.3/src/tools/CreateTorrentDlg.h 2014-02-16 01:02:40.000000000 +0000 +@@ -32,6 +32,7 @@ + #include + #include + #include "ui_CreateTorrentDlg.h" ++#define BOOST_ASIO_DYN_LINK + #include + + class HasherThread; +Index: fatrat-1.1.3/src/engines/TorrentDownload.h +=================================================================== +--- fatrat-1.1.3.orig/src/engines/TorrentDownload.h 2014-02-16 01:06:03.000000000 +0000 ++++ fatrat-1.1.3/src/engines/TorrentDownload.h 2014-02-16 01:08:38.000000000 +0000 +@@ -42,6 +42,7 @@ + #include + #include + #include ++#define BOOST_ASIO_DYN_LINK + #include + #include + #include "Proxy.h" +Index: fatrat-1.1.3/src/engines/TorrentIPFilter.h +=================================================================== +--- fatrat-1.1.3.orig/src/engines/TorrentIPFilter.h 2010-09-06 09:43:46.000000000 +0000 ++++ fatrat-1.1.3/src/engines/TorrentIPFilter.h 2014-02-16 02:11:29.000000000 +0000 +@@ -28,6 +28,7 @@ + #ifndef TORRENTIPFILTER_H + #define TORRENTIPFILTER_H + #include ++#define BOOST_ASIO_DYN_LINK + #include + + bool loadIPFilter(QString textFile, libtorrent::ip_filter* filter); +Index: fatrat-1.1.3/src/engines/TorrentPiecesModel.h +=================================================================== +--- fatrat-1.1.3.orig/src/engines/TorrentPiecesModel.h 2014-02-16 02:19:36.000000000 +0000 ++++ fatrat-1.1.3/src/engines/TorrentPiecesModel.h 2014-02-16 02:19:54.000000000 +0000 +@@ -31,6 +31,7 @@ + #include + #include + #include ++#define BOOST_ASIO_DYN_LINK + #include + + class TorrentDownload; +Index: fatrat-1.1.3/src/engines/TorrentProgressWidget.h +=================================================================== +--- fatrat-1.1.3.orig/src/engines/TorrentProgressWidget.h 2010-09-06 09:43:46.000000000 +0000 ++++ fatrat-1.1.3/src/engines/TorrentProgressWidget.h 2014-02-16 02:21:00.000000000 +0000 +@@ -32,6 +32,7 @@ + #include + #include + #include ++#define BOOST_ASIO_DYN_LINK + #include + + class TorrentProgressWidget : public QWidget +--- fatrat-1.1.3.orig/src/engines/TorrentFilesModel.h ++++ fatrat-1.1.3/src/engines/TorrentFilesModel.h +@@ -33,6 +33,7 @@ respects for all of the code used other + #include + #include + #include ++#define BOOST_ASIO_DYN_LINK + #include + #include + diff -Nru fatrat-1.1.3/debian/patches/series fatrat-1.1.3/debian/patches/series --- fatrat-1.1.3/debian/patches/series 2012-05-19 21:25:41.000000000 +0000 +++ fatrat-1.1.3/debian/patches/series 2014-02-16 03:06:18.000000000 +0000 @@ -1,3 +1,5 @@ define_boost_fs_v2.patch fix_ftbfs_gold_linker.patch fix_ftbfs_gcc47.patch +define-BOOST_ASIO_DYN_LINK +various-build-fixes.patch diff -Nru fatrat-1.1.3/debian/patches/various-build-fixes.patch fatrat-1.1.3/debian/patches/various-build-fixes.patch --- fatrat-1.1.3/debian/patches/various-build-fixes.patch 1970-01-01 00:00:00.000000000 +0000 +++ fatrat-1.1.3/debian/patches/various-build-fixes.patch 2014-02-16 03:11:50.000000000 +0000 @@ -0,0 +1,145 @@ +Description: Fix a variety of build failures that are presumablly related to API changes in libtorrent +Author: Peter Michael Green +Bug-Debian: http://bugs.debian.org/713663 + +--- fatrat-1.1.3.orig/src/engines/TorrentDetails.cpp ++++ fatrat-1.1.3/src/engines/TorrentDetails.cpp +@@ -38,7 +38,7 @@ respects for all of the code used other + #include + #include + #include +- ++#include + + TorrentDetails::TorrentDetails(QWidget* me, TorrentDownload* obj) + : m_download(obj), m_bFilled(false) +@@ -121,7 +121,7 @@ void TorrentDetails::openFile() + + int i = m_selFiles[0]; + +- QString relative = QString::fromUtf8(m_download->m_info->file_at(i).path.string().c_str()); ++ QString relative = QString::fromUtf8(m_download->m_info->file_at(i).path.c_str()); + QString path = m_download->dataPath(false); + + if(!path.endsWith('/')) +@@ -182,10 +182,10 @@ void TorrentDetails::fill() + { + m_bFilled = true; + +- boost::optional time = m_download->m_info->creation_date(); ++ boost::optional time = m_download->m_info->creation_date(); + if(time) + { +- std::string created = boost::posix_time::to_simple_string(time.get()); ++ std::string created = boost::posix_time::to_simple_string(boost::posix_time::from_time_t(time.get())); + lineCreationDate->setText(created.c_str()); + } + linePieceLength->setText( QString("%1 kB").arg(m_download->m_info->piece_length()/1024.f) ); +--- fatrat-1.1.3.orig/src/engines/TorrentDownload.cpp ++++ fatrat-1.1.3/src/engines/TorrentDownload.cpp +@@ -56,6 +56,7 @@ respects for all of the code used other + #include + #include + #include ++//#include + + #if (!defined(NDEBUG) && !defined(DEBUG)) + # error Define NDEBUG or DEBUG! +@@ -134,7 +135,7 @@ int TorrentDownload::acceptable(QString + + void TorrentDownload::globalInit() + { +- boost::filesystem::path::default_name_check(boost::filesystem::native); ++ //boost::filesystem::path::default_name_check(boost::filesystem::native); + QString ua = getSettingsValue("torrent/ua").toString(); + short s1 = 0, s2 = 0, s3 = 0, s4 = 0; + QRegExp reVersion("(\\d)\\.(\\d)\\.(\\d)\\.?(\\d)?"); +@@ -317,7 +318,7 @@ void TorrentDownload::applySettings() + + QByteArray external_ip = getSettingsValue("torrent/external_ip").toString().toUtf8(); + if(!external_ip.isEmpty()) +- settings.announce_ip = libtorrent::address::from_string(external_ip.constData()); ++ settings.announce_ip = external_ip.constData(); + + m_session->set_settings(settings); + +@@ -499,7 +500,7 @@ void TorrentDownload::init(QString sourc + + libtorrent::add_torrent_params params; + QByteArray path = source.toUtf8(); +- m_info = new libtorrent::torrent_info(boost::filesystem::path( path.constData() )); ++ m_info = new libtorrent::torrent_info( path.constData() ); + + params.ti = m_info; + path = target.toUtf8(); +@@ -861,7 +862,7 @@ void TorrentDownload::load(const QDomNod + return; + } + +- m_info = new libtorrent::torrent_info(boost::filesystem::path( file.constData() )); ++ m_info = new libtorrent::torrent_info(file.constData() ); + + torrent_resume = QByteArray::fromBase64(getXMLProperty(map, "torrent_resume").toUtf8()); + +--- fatrat-1.1.3.orig/src/engines/TorrentFilesModel.cpp ++++ fatrat-1.1.3/src/engines/TorrentFilesModel.cpp +@@ -31,6 +31,7 @@ respects for all of the code used other + #include "fatrat.h" + #include + #include ++#include + + TorrentFilesModel::TorrentFilesModel(QObject* parent, TorrentDownload* d) + : QAbstractListModel(parent), m_pieces(0), m_download(d) +@@ -77,7 +78,7 @@ QVariant TorrentFilesModel::data(const Q + { + case 0: + { +- QString name = QString::fromUtf8(m_files[i].path.string().c_str()); ++ QString name = QString::fromUtf8(m_files[i].path.c_str()); + int p = name.indexOf('/'); + + if(p != -1) +@@ -117,7 +118,7 @@ void TorrentFilesModel::fill() + { + for(libtorrent::torrent_info::file_iterator it=m_download->m_info->begin_files();it!=m_download->m_info->end_files();it++) + { +- m_files << *it; ++ m_files << m_download->m_info->files().at(it); + } + } + +--- fatrat-1.1.3.orig/src/engines/TorrentOptsWidget.cpp ++++ fatrat-1.1.3/src/engines/TorrentOptsWidget.cpp +@@ -96,7 +96,7 @@ void TorrentOptsWidget::load() + it != m_download->m_info->end_files(); + it++) + { +- QStringList elems = QString::fromUtf8(it->path.string().c_str()).split('/'); ++ QStringList elems = QString::fromUtf8(m_download->m_info->files().at(it).path.c_str()).split('/'); + //QString name = elems.takeLast(); + + QTreeWidgetItem* item = 0; +--- fatrat-1.1.3.orig/src/engines/TorrentPeersModel.h ++++ fatrat-1.1.3/src/engines/TorrentPeersModel.h +@@ -30,6 +30,8 @@ respects for all of the code used other + #include + #include + #include ++#define BOOST_ASIO_DYN_LINK ++#include + #include + + class TorrentDownload; +--- fatrat-1.1.3.orig/src/tools/CreateTorrentDlg.cpp ++++ fatrat-1.1.3/src/tools/CreateTorrentDlg.cpp +@@ -261,7 +261,8 @@ void HasherThread::run() + try + { + libtorrent::file_pool fp; +- libtorrent::storage_interface* st = libtorrent::default_storage_constructor(m_info->files(), 0, m_baseDir.data(), fp); ++ //A test program in the libtorrent-rasterbar testsuite passes an empty vector as the last parameter so presumablly it's ok.... ++ libtorrent::storage_interface* st = libtorrent::default_storage_constructor(m_info->files(), 0, m_baseDir.data(), fp,std::vector()); + + for(int i=0;i