add package "qbittorrent" to plugin "apps"

The qBittorrent project aims to provide a Free Software
alternative to µtorrent. Additionally, qBittorrent runs and
provides the same features on all major platforms (Linux,
Mac OS X, Windows, OS/2, FreeBSD).

qBittorrent is based on Qt4 toolkit and libtorrent-rasterbar.

http://www.qbittorrent.org/

See also https://github.com/mxe/mxe/pull/812
This commit is contained in:
Boris Nagaev 2015-08-30 02:52:32 +02:00
parent 9c241ec2d3
commit 1974c8ecfe
5 changed files with 287 additions and 0 deletions

View File

@ -0,0 +1,33 @@
This file is part of MXE.
See index.html for further information.
From 6f6377091a12ed3fe749fe646674be921d2c648c Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 30 Aug 2015 00:28:50 +0200
Subject: [PATCH] do not check qmake existance
Fix ./configure error:
checking for mxe/usr/i686-w64-mingw32.static/qt/bin/qmake...
configure: error: cannot check for file existence when
cross compiling
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index f28d1b0..a414bd6 100755
--- a/configure
+++ b/configure
@@ -4540,7 +4540,7 @@ if eval \${$as_ac_File+:} false; then :
$as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
- as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
+ echo "cannot check for file existence when cross compiling" "$LINENO" 5
if test -r "$QT_QMAKE/qmake"; then
eval "$as_ac_File=yes"
else
--
1.7.10.4

View File

@ -0,0 +1,98 @@
This file is part of MXE.
See index.html for further information.
From 8976424272266837b7bf7574e555d13694d244e3 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 30 Aug 2015 01:58:17 +0200
Subject: [PATCH 1/3] convert includes like <Windows.h> to lowercase
---
src/app/application.cpp | 2 +-
src/core/misc.cpp | 2 +-
src/core/preferences.cpp | 2 +-
src/core/qtlibtorrent/filterparserthread.h | 2 +-
src/core/qtlibtorrent/qtorrenthandle.cpp | 2 +-
src/gui/powermanagement/powermanagement.cpp | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/app/application.cpp b/src/app/application.cpp
index 2594e9a..90a43e1 100644
--- a/src/app/application.cpp
+++ b/src/app/application.cpp
@@ -35,7 +35,7 @@
#ifndef DISABLE_GUI
#ifdef Q_OS_WIN
-#include <Windows.h>
+#include <windows.h>
#include <QSharedMemory>
#include <QSessionManager>
#endif // Q_OS_WIN
diff --git a/src/core/misc.cpp b/src/core/misc.cpp
index 5e551ff..632b5ee 100644
--- a/src/core/misc.cpp
+++ b/src/core/misc.cpp
@@ -54,7 +54,7 @@
#ifdef Q_OS_WIN
#include <windows.h>
-#include <PowrProf.h>
+#include <powrprof.h>
const int UNLEN = 256;
#else
#include <unistd.h>
diff --git a/src/core/preferences.cpp b/src/core/preferences.cpp
index 1c43927..0759b5a 100644
--- a/src/core/preferences.cpp
+++ b/src/core/preferences.cpp
@@ -46,7 +46,7 @@
#endif
#ifdef Q_OS_WIN
-#include <ShlObj.h>
+#include <shlobj.h>
#include <winreg.h>
#endif
diff --git a/src/core/qtlibtorrent/filterparserthread.h b/src/core/qtlibtorrent/filterparserthread.h
index a950865..36536df 100644
--- a/src/core/qtlibtorrent/filterparserthread.h
+++ b/src/core/qtlibtorrent/filterparserthread.h
@@ -45,7 +45,7 @@ using namespace std;
// P2B Stuff
#include <string.h>
#ifdef Q_OS_WIN
-#include <Winsock2.h>
+#include <winsock2.h>
#else
#include <arpa/inet.h>
#endif
diff --git a/src/core/qtlibtorrent/qtorrenthandle.cpp b/src/core/qtlibtorrent/qtorrenthandle.cpp
index a1cf5a3..bbe7bfb 100644
--- a/src/core/qtlibtorrent/qtorrenthandle.cpp
+++ b/src/core/qtlibtorrent/qtorrenthandle.cpp
@@ -48,7 +48,7 @@
#include <libtorrent/entry.hpp>
#ifdef Q_OS_WIN
-#include <Windows.h>
+#include <windows.h>
#endif
using namespace libtorrent;
diff --git a/src/gui/powermanagement/powermanagement.cpp b/src/gui/powermanagement/powermanagement.cpp
index ec07aa8..c51b229 100644
--- a/src/gui/powermanagement/powermanagement.cpp
+++ b/src/gui/powermanagement/powermanagement.cpp
@@ -40,7 +40,7 @@
#endif
#ifdef Q_OS_WIN
-#include <Windows.h>
+#include <windows.h>
#endif
PowerManagement::PowerManagement(QObject *parent) : QObject(parent), m_busy(false)
--
1.7.10.4

View File

@ -0,0 +1,32 @@
This file is part of MXE.
See index.html for further information.
From 9e74dc0c9cda72506303a276a0a6174b500fae15 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 30 Aug 2015 01:59:15 +0200
Subject: [PATCH 2/3] remove unused members of peerlistwidget
They were still generated by MOC and caused compilation errors
---
src/gui/properties/peerlistwidget.h | 5 -----
1 file changed, 5 deletions(-)
diff --git a/src/gui/properties/peerlistwidget.h b/src/gui/properties/peerlistwidget.h
index 0771555..7f5f771 100644
--- a/src/gui/properties/peerlistwidget.h
+++ b/src/gui/properties/peerlistwidget.h
@@ -83,11 +83,6 @@ protected slots:
void saveSettings() const;
void showPeerListMenu(const QPoint&);
-#if LIBTORRENT_VERSION_NUM < 10000
- void limitUpRateSelectedPeers(const QStringList& peer_ips);
- void limitDlRateSelectedPeers(const QStringList& peer_ips);
-#endif
-
void banSelectedPeers(const QStringList& peer_ips);
void handleSortColumnChanged(int col);
--
1.7.10.4

View File

@ -0,0 +1,92 @@
This file is part of MXE.
See index.html for further information.
From f581b0bec9286cc9e2cb450a79a77e325f070fcb Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 30 Aug 2015 02:02:39 +0200
Subject: [PATCH 3/3] fix library list
Replace library list hardcoded in qmake files with
libraries found by autotools.
---
configure | 2 +-
winconf-mingw.pri | 15 ++-------------
winconf.pri | 16 +---------------
3 files changed, 4 insertions(+), 29 deletions(-)
diff --git a/configure b/configure
index a414bd6..7417654 100755
--- a/configure
+++ b/configure
@@ -8469,7 +8469,7 @@ fi
$as_echo "$as_me: Running qmake to generate the makefile..." >&6;}
CONFDIR="$( cd "$( dirname "$0" )" && pwd )"
-$QT_QMAKE -r $CONFDIR/qbittorrent.pro
+$QT_QMAKE -r $CONFDIR/qbittorrent.pro "QMAKE_LRELEASE=$QMAKE_LRELEASE" "CONF_LIBS=$LIBS"
ret="$?"
diff --git a/winconf-mingw.pri b/winconf-mingw.pri
index 4507000..39d30dd 100644
--- a/winconf-mingw.pri
+++ b/winconf-mingw.pri
@@ -17,19 +17,8 @@ CONFIG(debug, debug|release) {
RC_FILE = qbittorrent_mingw.rc
-# Adapt the lib names/versions accordingly
-CONFIG(debug, debug|release) {
- LIBS += libtorrent \
- libboost_system-mgw45-mt-d-1_47 \
- libboost_filesystem-mgw45-mt-d-1_47 \
- libboost_thread-mgw45-mt-d-1_47
-} else {
- LIBS += libtorrent \
- libboost_system-mgw45-mt-1_47 \
- libboost_filesystem-mgw45-mt-1_47 \
- libboost_thread-mgw45-mt-1_47
-}
+LIBS += $$CONF_LIBS
LIBS += libadvapi32 libshell32 libuser32
-LIBS += libcrypto.dll libssl.dll libwsock32 libws2_32 libz libiconv.dll
+LIBS += libcrypto libssl libwsock32 libws2_32 libz libiconv
LIBS += libpowrprof
diff --git a/winconf.pri b/winconf.pri
index 3818cca..ede8535 100644
--- a/winconf.pri
+++ b/winconf.pri
@@ -9,15 +9,6 @@ INCLUDEPATH += $$quote(C:/qBittorrent/Zlib/include)
# Point this to the openssl include folder
INCLUDEPATH += $$quote(C:/qBittorrent/openssl/include)
-# Point this to the boost lib folder
-LIBS += $$quote(-LC:/qBittorrent/boost_1_51_0/stage/lib)
-# Point this to the libtorrent lib folder
-LIBS += $$quote(-LC:/qBittorrent/RC_0_16/bin/<path-according-to-the-build-options-chosen>)
-# Point this to the zlib lib folder
-LIBS += $$quote(-LC:/qBittorrent/Zlib/lib)
-# Point this to the openssl lib folder
-LIBS += $$quote(-LC:/qBittorrent/openssl/lib)
-
# LIBTORRENT DEFINES
DEFINES += BOOST_ALL_NO_LIB
DEFINES += BOOST_ASIO_HASH_MAP_BUCKETS=1021
@@ -47,12 +38,7 @@ CONFIG(debug, debug|release) {
# Enable backtrace support
CONFIG += strace_win
-win32-g++ {
- include(winconf-mingw.pri)
-}
-else {
- include(winconf-msvc.pri)
-}
+include(winconf-mingw.pri)
DEFINES += WITH_GEOIP_EMBEDDED
message("On Windows, GeoIP database must be embedded.")
--
1.7.10.4

View File

@ -0,0 +1,32 @@
# This file is part of MXE.
# See index.html for further information.
PKG := qbittorrent
$(PKG)_IGNORE :=
$(PKG)_VERSION := 3.2.3
$(PKG)_CHECKSUM := 86a79f3772bd06736a4be104180187d76c5c8feb2c1cdf1054135b4ba602a914
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$(PKG)-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_DEPS := gcc libtorrent-rasterbar qt boost geoip-database
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://www.qbittorrent.org/download.php' | \
$(SED) -n 's,.*qbittorrent-\([0-9][^"]*\)\.tar.*,\1,p' | \
head -1
endef
define $(PKG)_BUILD
# On Windows, GeoIP database must be embedded
cp '$(PREFIX)/$(BUILD)/share/GeoIP/GeoIP.dat' \
'$(1)'/src/gui/geoip/GeoIP.dat
cd '$(1)' && \
QMAKE_LRELEASE='$(PREFIX)/$(TARGET)/qt/bin/lrelease' \
./configure \
$(MXE_CONFIGURE_OPTS) \
--with-boost='$(PREFIX)/$(TARGET)'
$(MAKE) -C '$(1)' -j '$(JOBS)'
cp '$(1)'/src/release/qbittorrent.exe '$(PREFIX)/$(TARGET)/bin/'
endef
$(PKG)_BUILD_SHARED =