diff --git a/.gitignore b/.gitignore index 615062a..35d5fef 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ transmission-2.04.tar.xz /transmission-2.80.tar.xz /transmission-2.81.tar.xz /transmission-2.82.tar.xz +/transmission-2.83.tar.xz diff --git a/sources b/sources index 70b5ac1..f74b82e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a5ef870c0410b12d10449c2d36fa4661 transmission-2.82.tar.xz +4620cfbfefee2ce55a6fa12c3ec330a7 transmission-2.83.tar.xz diff --git a/transmission-2.82-changeset_14150.diff b/transmission-2.82-changeset_14150.diff deleted file mode 100644 index a72e63d..0000000 --- a/transmission-2.82-changeset_14150.diff +++ /dev/null @@ -1,462 +0,0 @@ -Index: /trunk/qt/README.txt -=================================================================== ---- /trunk/qt/README.txt (revision 14149) -+++ /trunk/qt/README.txt (revision 14150) -@@ -37,7 +37,7 @@ - BUILDING ON UNIX - -- 1. Prerequisites: Qt >= 4.6 and its development packages -+ 1. Prerequisites: Qt >= 5 and its development packages - 2. Build Transmission as normal -- 3. In the qt/ directory, type "qmake qtr.pro" or "qmake-qt4 qtr.pro" -+ 3. In the qt/ directory, type "qmake qtr.pro" or "qmake-qt5 qtr.pro" - 4. In the qt/ directory, type "make" - 5. In the qt/ directory, as root, type "INSTALL_ROOT=/usr make install" -Index: /trunk/qt/about.cc -=================================================================== ---- /trunk/qt/about.cc (revision 14149) -+++ /trunk/qt/about.cc (revision 14150) -@@ -38,5 +38,5 @@ - - l = new QLabel; -- l->setPixmap (QPixmap (QString::fromAscii (":/icons/transmission-48.png"))); -+ l->setPixmap (QPixmap (QString::fromUtf8 (":/icons/transmission-48.png"))); - l->setAlignment (Qt::AlignCenter); - v->addWidget (l); -@@ -45,5 +45,5 @@ - f.setWeight (QFont::Bold); - f.setPointSize (int (f.pointSize () * 1.2)); -- l = new QLabel (tr ("Transmission %1").arg (QString::fromAscii (LONG_VERSION_STRING))); -+ l = new QLabel (tr ("Transmission %1").arg (QString::fromUtf8 (LONG_VERSION_STRING))); - l->setAlignment (Qt::AlignCenter); - l->setFont (f); -@@ -52,5 +52,5 @@ - - l = new QLabel (tr ("A fast and easy BitTorrent client")); -- l->setStyleSheet (QString::fromAscii ("text-align: center")); -+ l->setStyleSheet (QString::fromUtf8 ("text-align: center")); - l->setAlignment (Qt::AlignCenter); - v->addWidget (l); -@@ -60,5 +60,5 @@ - v->addWidget (l); - -- l = new QLabel (QString::fromAscii ("http://www.transmissionbt.com/")); -+ l = new QLabel (QString::fromUtf8 ("http://www.transmissionbt.com/")); - l->setOpenExternalLinks (true); - l->setAlignment (Qt::AlignCenter); -@@ -90,5 +90,5 @@ - this, - tr ("Credits"), -- QString::fromAscii ("Jordan Lee (Backend; Daemon; GTK+; Qt)\n" -+ QString::fromUtf8 ("Jordan Lee (Backend; Daemon; GTK+; Qt)\n" - "Michell Livingston (OS X)\n")); - } -Index: /trunk/qt/add-data.cc -=================================================================== ---- /trunk/qt/add-data.cc (revision 14149) -+++ /trunk/qt/add-data.cc (revision 14150) -@@ -44,5 +44,5 @@ - else if( Utils::isHexHashcode( key ) ) - { -- magnet = QString::fromAscii("magnet:?xt=urn:btih:") + key; -+ magnet = QString::fromUtf8("magnet:?xt=urn:btih:") + key; - type = MAGNET; - } -Index: /trunk/qt/app.cc -=================================================================== ---- /trunk/qt/app.cc (revision 14149) -+++ /trunk/qt/app.cc (revision 14150) -@@ -46,7 +46,7 @@ - namespace - { -- const QString DBUS_SERVICE = QString::fromAscii ("com.transmissionbt.Transmission" ); -- const QString DBUS_OBJECT_PATH = QString::fromAscii ("/com/transmissionbt/Transmission"); -- const QString DBUS_INTERFACE = QString::fromAscii ("com.transmissionbt.Transmission" ); -+ const QString DBUS_SERVICE = QString::fromUtf8 ("com.transmissionbt.Transmission" ); -+ const QString DBUS_OBJECT_PATH = QString::fromUtf8 ("/com/transmissionbt/Transmission"); -+ const QString DBUS_INTERFACE = QString::fromUtf8 ("com.transmissionbt.Transmission" ); - - const char * MY_READABLE_NAME ("transmission-qt"); -@@ -90,5 +90,5 @@ - myLastFullUpdateTime (0) - { -- const QString MY_CONFIG_NAME = QString::fromAscii ("transmission"); -+ const QString MY_CONFIG_NAME = QString::fromUtf8 ("transmission"); - - setApplicationName (MY_CONFIG_NAME); -@@ -109,5 +109,5 @@ - sizes << 16 << 22 << 24 << 32 << 48 << 64 << 72 << 96 << 128 << 192 << 256; - foreach (int size, sizes) -- icon.addPixmap (QPixmap (QString::fromAscii (":/icons/transmission-%1.png").arg (size))); -+ icon.addPixmap (QPixmap (QString::fromUtf8 (":/icons/transmission-%1.png").arg (size))); - setWindowIcon (icon); - -@@ -465,13 +465,13 @@ - MyApp :: notify (const QString& title, const QString& body) const - { -- const QString dbusServiceName = QString::fromAscii ("org.freedesktop.Notifications"); -- const QString dbusInterfaceName = QString::fromAscii ("org.freedesktop.Notifications"); -- const QString dbusPath = QString::fromAscii ("/org/freedesktop/Notifications"); -- -- QDBusMessage m = QDBusMessage::createMethodCall (dbusServiceName, dbusPath, dbusInterfaceName, QString::fromAscii ("Notify")); -+ const QString dbusServiceName = QString::fromUtf8 ("org.freedesktop.Notifications"); -+ const QString dbusInterfaceName = QString::fromUtf8 ("org.freedesktop.Notifications"); -+ const QString dbusPath = QString::fromUtf8 ("/org/freedesktop/Notifications"); -+ -+ QDBusMessage m = QDBusMessage::createMethodCall (dbusServiceName, dbusPath, dbusInterfaceName, QString::fromUtf8 ("Notify")); - QList args; -- args.append (QString::fromAscii ("Transmission")); // app_name -+ args.append (QString::fromUtf8 ("Transmission")); // app_name - args.append (0U); // replaces_id -- args.append (QString::fromAscii ("transmission")); // icon -+ args.append (QString::fromUtf8 ("transmission")); // icon - args.append (title); // summary - args.append (body); // body -@@ -511,5 +511,5 @@ - DBUS_OBJECT_PATH, - DBUS_INTERFACE, -- QString::fromAscii ("AddMetainfo")); -+ QString::fromUtf8 ("AddMetainfo")); - QList arguments; - AddData a (addme[i]); -Index: /trunk/qt/details.cc -=================================================================== ---- /trunk/qt/details.cc (revision 14149) -+++ /trunk/qt/details.cc (revision 14150) -@@ -868,5 +868,5 @@ - { - QString txt; -- switch (ch.toAscii ()) -+ switch (ch.unicode ()) - { - case 'O': txt = tr ("Optimistic unchoke"); break; -Index: /trunk/qt/favicon.cc -=================================================================== ---- /trunk/qt/favicon.cc (revision 14149) -+++ /trunk/qt/favicon.cc (revision 14150) -@@ -11,9 +11,9 @@ - */ - --#include - #include - #include - #include - #include -+#include - - #include "favicon.h" -@@ -41,5 +41,5 @@ - Favicons :: getCacheDir( ) - { -- const QString base = QDesktopServices::storageLocation( QDesktopServices::CacheLocation ); -+ const QString base = QStandardPaths::writableLocation (QStandardPaths::CacheLocation); - return QDir( base ).absoluteFilePath( "favicons" ); - } -Index: /trunk/qt/file-tree.cc -=================================================================== ---- /trunk/qt/file-tree.cc (revision 14149) -+++ /trunk/qt/file-tree.cc (revision 14150) -@@ -437,5 +437,4 @@ - { - QString oldpath; -- QModelIndex walk = index; - FileTreeItem * item = itemFromIndex (index); - -@@ -576,7 +575,7 @@ - FileTreeModel :: clear () - { -+ beginResetModel (); - clearSubtree (QModelIndex()); -- -- reset (); -+ endResetModel (); - } - -@@ -614,5 +613,5 @@ - bool added = false; - FileTreeItem * item; -- QStringList tokens = filename.split (QChar::fromAscii('/')); -+ QStringList tokens = filename.split (QChar::fromLatin1('/')); - - item = findItemForFileIndex (fileIndex); -@@ -887,5 +886,5 @@ - { - setColumnHidden (i, (isetResizeMode(i, QHeaderView::Interactive); -+ header()->setSectionResizeMode(i, QHeaderView::Interactive); - } - -Index: /trunk/qt/filterbar.cc -=================================================================== ---- /trunk/qt/filterbar.cc (revision 14149) -+++ /trunk/qt/filterbar.cc (revision 14150) -@@ -11,4 +11,10 @@ - */ - -+#include -+#include -+#include -+#include -+#include -+#include - #include - #include -Index: /trunk/qt/freespace-label.cc -=================================================================== ---- /trunk/qt/freespace-label.cc (revision 14149) -+++ /trunk/qt/freespace-label.cc (revision 14150) -@@ -74,4 +74,6 @@ - FreespaceLabel :: onSessionExecuted (int64_t tag, const QString& result, struct tr_variant * arguments) - { -+ Q_UNUSED (result); -+ - if (tag != myTag) - return; -Index: /trunk/qt/freespace-label.h -=================================================================== ---- /trunk/qt/freespace-label.h (revision 14149) -+++ /trunk/qt/freespace-label.h (revision 14150) -@@ -17,5 +17,5 @@ - #include - --#include -+#include - - class Session; -Index: /trunk/qt/mainwin.cc -=================================================================== ---- /trunk/qt/mainwin.cc (revision 14149) -+++ /trunk/qt/mainwin.cc (revision 14150) -@@ -15,4 +15,8 @@ - - #include -+#include -+#include -+#include -+#include - - #include -Index: /trunk/qt/make-dialog.cc -=================================================================== ---- /trunk/qt/make-dialog.cc (revision 14149) -+++ /trunk/qt/make-dialog.cc (revision 14150) -@@ -22,4 +22,5 @@ - #include - #include -+#include - #include - #include -@@ -343,5 +344,5 @@ - QPushButton * b = new QPushButton; - b->setIcon( folderPixmap ); -- b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) ); -+ b->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) ); - myDestination = QDir::homePath(); - b->setText( myDestination ); -@@ -357,5 +358,5 @@ - myFolderButton->setIcon( folderPixmap ); - myFolderButton->setText( tr( "(None)" ) ); -- myFolderButton->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) ); -+ myFolderButton->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) ); - connect( myFolderButton, SIGNAL(clicked(bool)), - this, SLOT(onFolderClicked(void)) ); -@@ -372,5 +373,5 @@ - myFileButton->setText( tr( "(None)" ) ); - myFileButton->setIcon( filePixmap ); -- myFileButton->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) ); -+ myFileButton->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) ); - connect( myFileButton, SIGNAL(clicked(bool)), - this, SLOT(onFileClicked(void)) ); -@@ -385,5 +386,5 @@ - - hig->addWideControl( myTrackerEdit = new ShortPlainTextEdit ); -- const int height = fontMetrics().size( 0, QString::fromAscii("\n\n\n\n") ).height( ); -+ const int height = fontMetrics().size( 0, QString::fromUtf8("\n\n\n\n") ).height( ); - myTrackerEdit->setMinimumHeight( height ); - hig->addTallRow( tr( "&Trackers:" ), myTrackerEdit ); -Index: /trunk/qt/options.cc -=================================================================== ---- /trunk/qt/options.cc (revision 14149) -+++ /trunk/qt/options.cc (revision 14150) -@@ -125,5 +125,5 @@ - p = mySourceButton = new QPushButton; - p->setIcon (filePixmap); -- p->setStyleSheet (QString::fromAscii ("text-align: left; padding-left: 5; padding-right: 5")); -+ p->setStyleSheet (QString::fromUtf8 ("text-align: left; padding-left: 5; padding-right: 5")); - p->installEventFilter (this); - w = p; -@@ -140,5 +140,5 @@ - } - -- const int width = fontMetrics.size (0, QString::fromAscii ("This is a pretty long torrent filename indeed.torrent")).width (); -+ const int width = fontMetrics.size (0, QString::fromUtf8 ("This is a pretty long torrent filename indeed.torrent")).width (); - w->setMinimumWidth (width); - layout->addWidget (w, row, 1); -Index: /trunk/qt/prefs-dialog.cc -=================================================================== ---- /trunk/qt/prefs-dialog.cc (revision 14149) -+++ /trunk/qt/prefs-dialog.cc (revision 14150) -@@ -22,5 +22,4 @@ - #include - #include --#include - #include - #include -@@ -136,5 +135,5 @@ - const int minutes( myPrefs.getInt( key ) ); - QTimeEdit * e = new QTimeEdit( ); -- e->setDisplayFormat( QString::fromAscii( "hh:mm" ) ); -+ e->setDisplayFormat( QString::fromUtf8( "hh:mm" ) ); - e->setProperty( PREF_KEY, key ); - e->setTime( QTime().addSecs( minutes * 60 ) ); -@@ -234,9 +233,9 @@ - h->setSpacing( HIG :: PAD ); - QLabel * label = new QLabel; -- label->setPixmap( QPixmap( QString::fromAscii( ":/icons/alt-limit-off.png" ) ) ); -+ label->setPixmap( QPixmap( QString::fromUtf8( ":/icons/alt-limit-off.png" ) ) ); - label->setAlignment( Qt::AlignLeft|Qt::AlignVCenter ); - h->addWidget( label ); - label = new QLabel( tr( "Alternative Speed Limits" ) ); -- label->setStyleSheet( QString::fromAscii( "font: bold" ) ); -+ label->setStyleSheet( QString::fromUtf8( "font: bold" ) ); - label->setAlignment( Qt::AlignLeft|Qt::AlignVCenter ); - h->addWidget( label ); -@@ -573,5 +572,5 @@ - b = myWatchButton = new QPushButton; - b->setIcon( folderPixmap ); -- b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) ); -+ b->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) ); - connect( b, SIGNAL(clicked(bool)), this, SLOT(onWatchClicked(void)) ); - hig->addRow( l, b ); -@@ -586,5 +585,5 @@ - b = myDestinationButton = new QPushButton; - b->setIcon( folderPixmap ); -- b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) ); -+ b->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) ); - connect( b, SIGNAL(clicked(bool)), this, SLOT(onDestinationClicked(void)) ); - hig->addRow( tr( "Save to &Location:" ), b ); -@@ -611,5 +610,5 @@ - b = myIncompleteButton = new QPushButton; - b->setIcon( folderPixmap ); -- b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) ); -+ b->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) ); - connect( b, SIGNAL(clicked(bool)), this, SLOT(onIncompleteClicked(void)) ); - hig->addRow( myIncompleteCheckbox, b ); -@@ -619,5 +618,5 @@ - b = myTorrentDoneScriptButton = new QPushButton; - b->setIcon( filePixmap ); -- b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) ); -+ b->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) ); - connect( b, SIGNAL(clicked(bool)), this, SLOT(onScriptClicked(void)) ); - hig->addRow( myTorrentDoneScriptCheckbox, b ); -Index: /trunk/qt/qtr.pro -=================================================================== ---- /trunk/qt/qtr.pro (revision 14149) -+++ /trunk/qt/qtr.pro (revision 14150) -@@ -2,5 +2,5 @@ - NAME = "Transmission" - DESCRIPTION = "Transmission: a fast, easy, and free BitTorrent client" --VERSION = 2.00 -+VERSION = 2.81 - LICENSE = "GPL" - -@@ -12,6 +12,6 @@ - man.files = transmission-qt.1 - --CONFIG += qt qdbus thread debug link_pkgconfig --QT += network -+CONFIG += qt thread debug link_pkgconfig -+QT += network dbus widgets - PKGCONFIG = fontconfig libcurl openssl libevent - -Index: /trunk/qt/session.cc -=================================================================== ---- /trunk/qt/session.cc (revision 14149) -+++ /trunk/qt/session.cc (revision 14150) -@@ -691,9 +691,9 @@ - QNetworkRequest request; - request.setUrl (myUrl); -- request.setRawHeader ("User-Agent", QString (QCoreApplication::instance ()->applicationName () + "/" + LONG_VERSION_STRING).toAscii ()); -+ request.setRawHeader ("User-Agent", QString (QCoreApplication::instance ()->applicationName () + "/" + LONG_VERSION_STRING).toUtf8 ()); - request.setRawHeader ("Content-Type", "application/json; charset=UTF-8"); - - if (!mySessionId.isEmpty ()) -- request.setRawHeader (TR_RPC_SESSION_ID_HEADER, mySessionId.toAscii ()); -+ request.setRawHeader (TR_RPC_SESSION_ID_HEADER, mySessionId.toUtf8 ()); - - const QByteArray requestData (json); -Index: /trunk/qt/squeezelabel.h -=================================================================== ---- /trunk/qt/squeezelabel.h (revision 14149) -+++ /trunk/qt/squeezelabel.h (revision 14150) -@@ -43,5 +43,5 @@ - #define SQUEEZELABEL_H - --#include -+#include - - class SqueezeLabel : public QLabel -Index: /trunk/qt/torrent-model.cc -=================================================================== ---- /trunk/qt/torrent-model.cc (revision 14149) -+++ /trunk/qt/torrent-model.cc (revision 14150) -@@ -23,9 +23,12 @@ - TorrentModel :: clear( ) - { -+ beginResetModel (); -+ - myIdToRow.clear( ); - myIdToTorrent.clear( ); - foreach( Torrent * tor, myTorrents ) delete tor; - myTorrents.clear( ); -- reset( ); -+ -+ endResetModel (); - } - -Index: /trunk/qt/utils.h -=================================================================== ---- /trunk/qt/utils.h (revision 14149) -+++ /trunk/qt/utils.h (revision 14150) -@@ -43,10 +43,10 @@ - /// - -- static bool isMagnetLink( const QString& s ) { return s.startsWith( QString::fromAscii( "magnet:?" ) ); } -+ static bool isMagnetLink( const QString& s ) { return s.startsWith( QString::fromUtf8( "magnet:?" ) ); } - - static bool isHexHashcode( const QString& s ) - { - if( s.length() != 40 ) return false; -- foreach( QChar ch, s ) if( !isxdigit( ch.toAscii() ) ) return false; -+ foreach( QChar ch, s ) if( !isxdigit( ch.unicode() ) ) return false; - return true; - } -@@ -54,7 +54,7 @@ - static bool isUriWithSupportedScheme( const QString& s ) - { -- static const QString ftp = QString::fromAscii( "ftp://" ); -- static const QString http = QString::fromAscii( "http://" ); -- static const QString https = QString::fromAscii( "https://" ); -+ static const QString ftp = QString::fromUtf8( "ftp://" ); -+ static const QString http = QString::fromUtf8( "http://" ); -+ static const QString https = QString::fromUtf8( "https://" ); - return s.startsWith(http) || s.startsWith(https) || s.startsWith(ftp); - } -Index: /trunk/qt/watchdir.cc -=================================================================== ---- /trunk/qt/watchdir.cc (revision 14149) -+++ /trunk/qt/watchdir.cc (revision 14150) -@@ -53,5 +53,5 @@ - if( err ) - ret = ERROR; -- else if( myModel.hasTorrent( QString::fromAscii( inf.hashString ) ) ) -+ else if( myModel.hasTorrent( QString::fromUtf8( inf.hashString ) ) ) - ret = DUPLICATE; - else -@@ -107,5 +107,5 @@ - // try to add any new files which end in .torrent - const QSet newFiles( files - myWatchDirFiles ); -- const QString torrentSuffix = QString::fromAscii( ".torrent" ); -+ const QString torrentSuffix = QString::fromUtf8( ".torrent" ); - foreach( QString name, newFiles ) { - if( name.endsWith( torrentSuffix, Qt::CaseInsensitive ) ) { diff --git a/transmission.spec b/transmission.spec index edbc886..0b2d06c 100644 --- a/transmission.spec +++ b/transmission.spec @@ -1,8 +1,8 @@ %global _hardened_build 1 Name: transmission -Version: 2.82 -Release: 3%{?dist} +Version: 2.83 +Release: 1%{?dist} Summary: A lightweight GTK+ BitTorrent client Group: Applications/Internet @@ -11,10 +11,6 @@ License: MIT and GPLv2 URL: http://www.transmissionbt.com Source0: http://download.transmissionbt.com/files/transmission-%{version}.tar.xz -# Revert to changeset 14150 to build with qt4. Doesn't build otherwise -# Check in 2.83 and drop if fixed. -Patch0: transmission-2.82-changeset_14150.diff - BuildRequires: openssl-devel >= 0.9.4 BuildRequires: glib2-devel >= 2.32.0 BuildRequires: gtk3-devel >= 3.2.0 @@ -92,7 +88,6 @@ exit 0 %prep %setup -q -%patch0 -p2 -R # fix icon location for Transmission Qt sed -i 's|Icon=%{name}-qt|Icon=%{name}|g' qt/%{name}-qt.desktop @@ -112,7 +107,7 @@ CXXFLAGS="%{optflags} -fPIC" make %{?_smp_mflags} pushd qt -qmake-qt4 QMAKE_LFLAGS="$RPM_LD_FLAGS" QMAKE_CXXFLAGS="$CXXFLAGS" qtr.pro +qmake-qt4 QMAKE_LFLAGS="$RPM_LD_FLAGS" QMAKE_CXXFLAGS="$CXXFLAGS -std=c++11" qtr.pro make %{?_smp_mflags} popd @@ -200,6 +195,11 @@ fi %doc %{_mandir}/man1/transmission-qt.* %changelog +* Sun May 25 2014 Ankur Sinha 2.83-1 +- Updated to 2.83 +- https://trac.transmissionbt.com/wiki/Changes +- Remove patch: https://trac.transmissionbt.com/ticket/5465 + * Sat May 17 2014 Rahul Sundaram - 2.82-3 - fix Transmission Qt icon location (rhbz#1096423)