Compare commits
32 Commits
release-3.
...
release-2.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7c192141d2 | ||
![]() |
0180f46dc9 | ||
![]() |
6e4d15e72d | ||
![]() |
3e1e992fa8 | ||
![]() |
6051aa57cf | ||
![]() |
55b0cac61b | ||
![]() |
28409b83c3 | ||
![]() |
eed0b6ca12 | ||
![]() |
4b0fae88bc | ||
![]() |
6ff3de7686 | ||
![]() |
f08d792e67 | ||
![]() |
e2edf62834 | ||
![]() |
eb4c449620 | ||
![]() |
c06386126b | ||
![]() |
8c854b8a0e | ||
![]() |
749c3a429a | ||
![]() |
a6edea2222 | ||
![]() |
d66c88d59e | ||
![]() |
b92c152d30 | ||
![]() |
148ec32825 | ||
![]() |
8298b62f56 | ||
![]() |
53f46875d8 | ||
![]() |
a67caf1730 | ||
![]() |
6a38f69fad | ||
![]() |
d5bf2b2e1f | ||
![]() |
f6df1c7fed | ||
![]() |
fa88bce77d | ||
![]() |
571465ff7e | ||
![]() |
09a3f78a28 | ||
![]() |
f98520e6c2 | ||
![]() |
0211f3aee3 | ||
![]() |
0dcd33fb6d |
15
.gitignore
vendored
@@ -1,15 +0,0 @@
|
||||
src/geoip/GeoIP.dat
|
||||
src/qbittorrent
|
||||
qbittorrent.pro.user*
|
||||
conf.pri
|
||||
Makefile
|
||||
*.pyc
|
||||
*.log
|
||||
# Compiled object files
|
||||
*.o
|
||||
# Generated MOC, resource and UI files
|
||||
moc_*.cpp
|
||||
qrc_*.cpp
|
||||
ui_*.h
|
||||
*.moc
|
||||
src/lang/qbittorrent_*.qm
|
53
.travis.yml
@@ -1,53 +0,0 @@
|
||||
language:
|
||||
- cpp
|
||||
|
||||
env:
|
||||
# use libtorrent 0.15.10
|
||||
- lt_source=from_dist gui=true
|
||||
- lt_source=from_dist gui=false
|
||||
# use libtorrent 0.16.X from RC_0_16 svn branch
|
||||
- lt_source=from_svn gui=true
|
||||
- lt_source=from_svn gui=false
|
||||
|
||||
branches:
|
||||
except:
|
||||
- search_encoding_windows
|
||||
- v2_9_x
|
||||
|
||||
notifications:
|
||||
email:
|
||||
on_success: change
|
||||
on_failure: change
|
||||
|
||||
before_install:
|
||||
- shopt -s expand_aliases
|
||||
- alias sudo="sudo "
|
||||
# Using nprocs/2 sometimes may fail (gcc is killed by system), just use two threads
|
||||
- alias make="colormake -j2 "
|
||||
|
||||
# Also setup a virtual display for after_success target when gui == true
|
||||
- if ! $gui; then qbtconf="$qbtconf --disable-gui"; else export "DISPLAY=:99.0" && /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16 ; fi
|
||||
- ltconf=" --with-libgeoip=system"
|
||||
|
||||
- echo settings
|
||||
- echo $lt_source
|
||||
- echo $ltconf
|
||||
- echo $gui
|
||||
- echo $qbtconf
|
||||
|
||||
- sudo apt-get -qq update
|
||||
# Travis can stall during heavy load if these packages are installed in one step - split the command
|
||||
- sudo apt-get -qq install debhelper qconf colormake libssl-dev libgeoip-dev
|
||||
- sudo apt-get -qq install libboost-dev libboost-filesystem-dev libboost-system-dev
|
||||
- sudo apt-get -qq install libqt4-dev
|
||||
|
||||
install:
|
||||
- if [[ "$lt_source" == "from_dist" ]]; then sudo apt-get -qq install libtorrent-rasterbar-dev; fi
|
||||
- if [[ "$lt_source" == "from_svn" ]]; then cd .. && svn co http://libtorrent.googlecode.com/svn/branches/RC_0_16 ./libtorrent && (cd libtorrent && ./autotool.sh && ./configure $ltconf && sudo make install) && sudo ldconfig /usr/local/lib && cd $TRAVIS_BUILD_DIR ; fi
|
||||
|
||||
script:
|
||||
- qt-qconf
|
||||
- ./configure $qbtconf && sudo make install
|
||||
|
||||
after_success:
|
||||
- if $gui ; then qbittorrent --version ; else qbittorrent-nox --version ; fi
|
18
.tx/config
@@ -1,18 +0,0 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
[qbittorrent.qbittorrent_v3_1_x]
|
||||
file_filter = src/lang/qbittorrent_<lang>.ts
|
||||
source_file = src/lang/qbittorrent_en.ts
|
||||
source_lang = en
|
||||
type = QT
|
||||
minimum_perc = 23
|
||||
mode = developer
|
||||
|
||||
|
||||
[qbittorrent.qbittorrentdesktop_master]
|
||||
source_file = src/Icons/qBittorrent.desktop
|
||||
source_lang = en
|
||||
type = DESKTOP
|
||||
minimum_perc = 23
|
||||
mode = developer
|
56
AUTHORS
@@ -1,11 +1,7 @@
|
||||
Current maintainer:
|
||||
* Sledgehammer999 <sledgehammer999@qbittorrent.org>
|
||||
|
||||
Original author:
|
||||
Author:
|
||||
* Christophe Dumez <chris@qbittorrent.org>
|
||||
|
||||
Contributors:
|
||||
* Vladimir Golovnev <glassez@yandex.ru>
|
||||
* Stefanos Antaris <santaris@csd.auth.gr>
|
||||
* Mohammad Dib <mdib@qbittorrent.org>
|
||||
* Mirco Chinelli <infinity89@fastwebmail.it>
|
||||
@@ -14,7 +10,6 @@ Contributors:
|
||||
* Grigis Gaëtan <cipher16@gmail.com>
|
||||
* Christian Kandeler <zambesi@users.sourceforge.net>
|
||||
* Silvan Scherrer <silvan.scherrer@aroa.ch>
|
||||
* Nick Tiskov <daymansmail@gmail.com>
|
||||
|
||||
Code from other projects:
|
||||
* files src/qtsingleapp/* src/lineedit/*
|
||||
@@ -29,10 +24,6 @@ Code from other projects:
|
||||
copyright: Dan Haim <negativeiq@users.sourceforge.net>
|
||||
license: BSD
|
||||
|
||||
* file src/stacktrace_win.h
|
||||
copyright: Quassel Project
|
||||
license: GPLv2/3
|
||||
|
||||
Images Authors:
|
||||
* files: src/Icons/*.png
|
||||
copyright: Gnome Icon Theme
|
||||
@@ -58,10 +49,6 @@ Images Authors:
|
||||
copyright: Greg Houston <gregory.houston@gmail.com>
|
||||
license: MIT
|
||||
|
||||
* file: src/Icons/skin/qbittorrent_mono*
|
||||
copyright: Daniel Eguren <deguren@gmail.com>
|
||||
license: LGPL
|
||||
|
||||
* file: src/search_engine/engines/btjunkie.png
|
||||
copyright: Downloaded from btjunkie.org
|
||||
|
||||
@@ -79,46 +66,35 @@ Images Authors:
|
||||
|
||||
Translations authors:
|
||||
* files: src/lang/*.ts
|
||||
* file: src/Icons/qBittorrent.desktop
|
||||
copyright:
|
||||
- Arabic: SDERAWI (abz8868@msn.com), sn51234 (nesseyan@gmail.com) and Ibrahim Saed ibraheem_alex(Transifex)
|
||||
- Armenian: Hrant Ohanyan (hrantohanyan@mail.am)
|
||||
- Basque: Xabier Aramendi (azpidatziak@gmail.com)
|
||||
- Belarusian: Mihas Varantsou (meequz@gmail.com)
|
||||
- Arabic: SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com)
|
||||
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
|
||||
- Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)
|
||||
- Catalan: Francisco Luque Contreras (frannoe@ya.com)
|
||||
- Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com)
|
||||
- Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com) and 冥王歐西里斯 s8321414(Transifex)
|
||||
- Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com)
|
||||
- Croatian: Oliver Mucafir (oliver.untwist@gmail.com)
|
||||
- Czech: Jirka Vilim (web@tets.cz) and Petr Cernobila abr(Transifex)
|
||||
- Czech: Jirka Vilim (web@tets.cz)
|
||||
- Danish: Mathias Nielsen (comoneo@gmail.com)
|
||||
- Dutch: Pieter Heyvaert (pieter_heyvaert@hotmail.com)
|
||||
- English: Christophe Dumez (chris@qbittorrent.org)
|
||||
- English(Australia): Robert Readman readmanr(Transifex)
|
||||
- English(United Kingdom): Robert Readman readmanr(Transifex)
|
||||
- Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net), Pekka Niemi (pekka.niemi@iki.fi) and Jiri Grönroos artnay(Transifex)
|
||||
- Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net)
|
||||
- French: Christophe Dumez (chris@qbittorrent.org)
|
||||
- Galician: Marcos Lans (marcoslansgarza@gmail.com) and antiparvos(Transifex)
|
||||
- Georgian: Beqa Arabuli (arabulibeqa@yahoo.com)
|
||||
- German: Niels Hoffmann (zentralmaschine@users.sourceforge.net)
|
||||
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net), Stephanos Antaris (santaris@csd.auth.gr), sledgehammer999(hammered999@gmail.com) and Γιάννης Ανθυμίδης Evropi(Transifex)
|
||||
- Hebrew: David Deutsch (d.deffo@gmail.com)
|
||||
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) and Stephanos Antaris (santaris@csd.auth.gr)
|
||||
- Hungarian: Majoros Péter (majoros.j.p@t-online.hu)
|
||||
- Italian: bovirus (bovirus@live.it) and Matteo Sechi (bu17714@gmail.com)
|
||||
- Japanese: Masato Hashimoto (cabezon.hashimoto@gmail.com)
|
||||
- Italian: Matteo Sechi (bu17714@gmail.com)
|
||||
- Japanese: Nardog (alphisation@gmail.com)
|
||||
- Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
|
||||
- Lithuanian: Naglis Jonaitis (njonaitis@gmail.com)
|
||||
- Norwegian: Tomaso
|
||||
- Norwegian: Lars-Erik Labori (hamil@users.sourceforge.net)
|
||||
- Polish: Mariusz Fik (fisiu@opensuse.org)
|
||||
- Portuguese: Sérgio Marques smarquespt(Transifex)
|
||||
- Portuguese(Brazil): Nick Marinho (nickmarinho@gmail.com)
|
||||
- Romanian: Obada Denis (obadadenis@users.sourceforge.net), Adrian Gabor Adriannho(Transifex) and Mihai Coman z0id(Transifex)
|
||||
- Russian: Nick Khazov (m2k3d0n at users.sourceforge.net), Alexey Morsov (samurai@ricom.ru), Nick Tiskov Dayman(daymansmail (at) gmail (dot) com), Dmitry DmitryKX(Transifex) and kraleksandr kraleksandr(Transifex)
|
||||
- Portuguese: Nick Marinho (nickmarinho@gmail.com)
|
||||
- Romanian: Obada Denis (obadadenis@users.sourceforge.net)
|
||||
- Russian: Nick Khazov (m2k3d0n at users.sourceforge.net)
|
||||
- Serbian: Anaximandar Milet (anaximandar at operamail.com)
|
||||
- Slovak: helix84
|
||||
- Spanish: Francisco Luque Contreras (frannoe@ya.com), Alfredo Monclus alfrix(Transifex) and José Antonio Moray moray33(Transifex)
|
||||
- Swedish: Daniel Nylander (po@danielnylander.se) and Emil Hammarberg Ooglogput(Transifex)
|
||||
- Spanish: Francisco Luque Contreras (frannoe@ya.com)
|
||||
- Swedish: Daniel Nylander (po@danielnylander.se)
|
||||
- Turkish: Hasan Yilmaz (iletisim@hedefturkce.com)
|
||||
- Ukrainian: Oleh Prypin (blaxpirit@gmail.com) and zubr139(Transifex)
|
||||
- Vietnamese: Anh Phan ppanhh(Transifex)
|
||||
- Ukrainian: Andrey Shpachenko (masterfix@users.sourceforge.net) and Oleh Prypin (blaxpirit@gmail.com)
|
||||
license: GPLv2
|
||||
|
10
COPYING
@@ -69,7 +69,7 @@ patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
@@ -124,7 +124,7 @@ above, provided that you also meet all of these conditions:
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
@@ -182,7 +182,7 @@ access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
@@ -239,7 +239,7 @@ impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
@@ -292,7 +292,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
|
16
INSTALL
@@ -10,23 +10,25 @@ qBittorrent - A BitTorrent client in C++ / Qt4
|
||||
will install and execute qBittorrent hopefully without any problems.
|
||||
|
||||
Dependencies:
|
||||
- Qt >= 4.6.0 (libqtgui, libqtcore, libqtnetwork, libqtxml, libqtdbus/optional)
|
||||
- Qt >= 4.5.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml)
|
||||
|
||||
- pkg-config executable
|
||||
|
||||
- libtorrent-rasterbar by Arvid Norberg (>= 0.15.0)
|
||||
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, compatible with v0.15.x)
|
||||
-> http://www.libtorrent.net
|
||||
Be careful: another library (the one used by rTorrent) uses a similar name.
|
||||
|
||||
- libboost 1.34.x (libboost-filesystem°) + libasio
|
||||
- libboost 1.34.x (libboost-filesystem, libboost-thread, libboost-date-time) + libasio
|
||||
or
|
||||
- libboost >= 1.35.x (libboost-system, libboost-filesystem°)
|
||||
|
||||
°libboost-filesystem is not needed if libtorrent-rasterbar >= v0.16.x is used
|
||||
- libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-thread, libboost-date-time)
|
||||
|
||||
- python >= 2.3 (needed by search engine)
|
||||
* Run time only dependency
|
||||
|
||||
- libnotify >= 0.4.2, glib-2.0 (optional)
|
||||
* Can be used for system notifications to replace standard Qt notifications
|
||||
so that it integrates better into the Desktop
|
||||
|
||||
- geoip-database (optional)
|
||||
* If qBittorrent cannot find this database, it will try to resolve countries using the Internet but it will be a lot slower.
|
||||
* Run time only dependency
|
||||
@@ -44,7 +46,7 @@ qBittorrent - A BitTorrent client in C++ / Qt4
|
||||
|
||||
- pkg-config executable
|
||||
|
||||
- libtorrent-rasterbar by Arvid Norberg (>= v0.15.0)
|
||||
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, >= v0.15.0 ADVISED)
|
||||
-> http://www.libtorrent.net
|
||||
Be careful: another library (the one used by rTorrent) uses a similar name.
|
||||
|
||||
|
16
README.os2
@@ -27,6 +27,7 @@ First you need to create the conf.pri file in the same dir as this readme.os2 is
|
||||
the conf.pri file has the following content:
|
||||
|
||||
##### conf.pri content beginn #####
|
||||
PREFIX = .
|
||||
BINDIR = ./bin
|
||||
INCDIR = ./include
|
||||
LIBDIR = ./lib
|
||||
@@ -42,10 +43,7 @@ LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \
|
||||
|
||||
Of course all the above path references have to be adjusted to your build env.
|
||||
|
||||
Now you can either do a normal build or a shadow build. A shadow build has the
|
||||
advantage that no created files are in the same dir as the sources are.
|
||||
|
||||
For a normal build do the following:
|
||||
It should now be easy to build qBittorrent:
|
||||
|
||||
Simply type:
|
||||
$ qmake
|
||||
@@ -53,16 +51,6 @@ $ qmake
|
||||
Followed by:
|
||||
$ make
|
||||
|
||||
For a shadow build do the following:
|
||||
given your sources are in x:\trees\qbittorrent\trunk create a
|
||||
x:\trees\qbittorrent\build directory
|
||||
|
||||
Now switch to the created directory and type:
|
||||
$ qmake ..\trunk
|
||||
|
||||
Followed by:
|
||||
$ make
|
||||
|
||||
If all works fine you should get a working qbittorrent executable.
|
||||
|
||||
If you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC:
|
||||
|
@@ -8,7 +8,7 @@ qBittorrent\-nox \- a command line Bittorrent client written in C++ / Qt4
|
||||
|
||||
.SH "SYNOPSIS"
|
||||
|
||||
\fBqbittorrent\-nox\fR [\-\-d|\-\-daemon] [\-\-webui-port=x] [TORRENT_FILE | URL]...
|
||||
\fBqbittorrent\-nox\fR [\-\-webui-port=x] [TORRENT_FILE | URL]...
|
||||
|
||||
\fBqbittorrent\-nox\fR \-\-help
|
||||
|
||||
|
131
install.os2
@@ -11,7 +11,7 @@ QBittorrent installation
|
||||
|
||||
3. INSTALLATION
|
||||
|
||||
4. BUGREPORTS
|
||||
4. CONTACT
|
||||
|
||||
5. CREDITS
|
||||
|
||||
@@ -29,70 +29,17 @@ Welcome to QBittorrent port for OS/2 and eComStation.
|
||||
2. REQUIREMENTS
|
||||
===============
|
||||
|
||||
The following requirements can be installed either by rpm or by zip files.
|
||||
* klibc 0.6.3 or later
|
||||
|
||||
RPM Installation:
|
||||
ftp://ftp.netlabs.org/pub/gcc/libc-0_6_3-csd3.wpi
|
||||
|
||||
klibc
|
||||
-----
|
||||
* openssl 1.0
|
||||
|
||||
ftp://ftp.netlabs.org/pub/unixos2/ssl10.zip
|
||||
|
||||
1. yum install libc
|
||||
* Qt4 dll
|
||||
|
||||
openssl 1.0
|
||||
-----------
|
||||
|
||||
1. yum install openssl
|
||||
|
||||
pthread
|
||||
-------
|
||||
|
||||
1. yum install pthread
|
||||
|
||||
GCC4Core
|
||||
--------
|
||||
|
||||
1. yum install libgcc
|
||||
2. yum install gcc-stack-protector
|
||||
3. yum install gcc-stdc++-shared-library
|
||||
4. yum install gcc-supc++-shared-library
|
||||
|
||||
Qt4 dll
|
||||
-------
|
||||
|
||||
1. yum install libqt4
|
||||
|
||||
|
||||
ZIP Installation:
|
||||
|
||||
klibc
|
||||
-----
|
||||
|
||||
1. Download klibc 0.6.5 or better (see http://svn.netlabs.org/libc for more information)
|
||||
2. Install the files to your libpath eg x:\ecs\dll
|
||||
|
||||
openssl 1.0
|
||||
-----------
|
||||
|
||||
1. Download the zip file from http://rpm.netlabs.org/release/00/zip
|
||||
2. Install the files to your libpath eg. x:\ecs\dll
|
||||
|
||||
pthread
|
||||
-------
|
||||
|
||||
1. Download pthread 2012-03-13 or better from http://rpm.netlabs.org/release/00/zip
|
||||
2. Install the files to your libpath eg. x:\ecs\dll
|
||||
|
||||
GCC4Core
|
||||
--------
|
||||
|
||||
1. Download GCC4Core 1.2.1 or better from http://ftp.netlabs.org/pub/gcc
|
||||
2. Install the files to your libpath eg. x:\ecs\dll
|
||||
|
||||
Qt4 dll
|
||||
-------
|
||||
|
||||
1. Download Qt4 4.7.3 or better (see http://svn.netlabs.org/qt4 for more information)
|
||||
2. Install the files according to the readme
|
||||
see http://svn.netlabs.org/qt4 for more information whats needed and where to get the latest
|
||||
|
||||
|
||||
3. INSTALLATION
|
||||
@@ -100,6 +47,30 @@ Qt4 dll
|
||||
|
||||
To install QBittorrent, do the following:
|
||||
|
||||
klibc
|
||||
-----
|
||||
|
||||
1. Download klibc 0.6.3 csd3 or later.
|
||||
2. Install the package by double-clicking on the WPI file.
|
||||
|
||||
|
||||
openssl 1.0
|
||||
-----------
|
||||
|
||||
1. Download the zip file
|
||||
2. Install the files to your libpath eg. x:\ecs\dll
|
||||
|
||||
Qt4 dll
|
||||
-------
|
||||
|
||||
1. Download the package
|
||||
2. Install the package by double-clicking on the wpi file.
|
||||
|
||||
|
||||
|
||||
QBittorrent
|
||||
-----------
|
||||
|
||||
1. Create a directory for QBittorrent.
|
||||
2. Extract the QBittorrent package to the new directory.
|
||||
3. Create a WPS object for QBittorrent.exe.
|
||||
@@ -107,13 +78,18 @@ To install QBittorrent, do the following:
|
||||
5. Happy torrenting
|
||||
|
||||
|
||||
4. BUGREPORTS
|
||||
=============
|
||||
|
||||
Please create bugreports at http://svn.netlabs.org/qtapps
|
||||
4. CONTACT
|
||||
==========
|
||||
|
||||
Please send bugreports to:
|
||||
|
||||
ecs@aroa.ch
|
||||
|
||||
Only bug reports with a reproducable bug are accepted. :-)
|
||||
|
||||
|
||||
|
||||
5. CREDITS
|
||||
==========
|
||||
|
||||
@@ -146,33 +122,6 @@ development, you can do so in one of the following ways:
|
||||
7. HISTORY
|
||||
==========
|
||||
|
||||
2012-09-19
|
||||
|
||||
* updated to 3.0.4 code level of QBittorrent
|
||||
* updated libtorrent to 0.16.3 level
|
||||
|
||||
2012-09-06
|
||||
|
||||
* updated to 3.0.2 code level of QBittorrent
|
||||
|
||||
2012-05-14
|
||||
|
||||
* updated to 2.9.8 code level of QBittorrent
|
||||
|
||||
2012-03-15
|
||||
|
||||
* updated to 2.9.5 code level of QBittorrent
|
||||
|
||||
2011-09-26
|
||||
|
||||
* updated to 2.8.5 code level of QBittorrent
|
||||
* updated to Qt 4.7.3
|
||||
|
||||
2011-06-20
|
||||
|
||||
* updated to 2.7.3 code level of QBittorrent
|
||||
* updated libtorrent to 0.15.6 level
|
||||
|
||||
2010-12-23
|
||||
|
||||
* updated to 2.5.2 code level of QBittorrent
|
||||
|
63
macxconf.pri
@@ -2,66 +2,15 @@ PREFIX = /usr/local
|
||||
BINDIR = /usr/local/bin
|
||||
DATADIR = /usr/local/share
|
||||
|
||||
# Use pkg-config to get all necessary libtorrent DEFINES
|
||||
CONFIG += link_pkgconfig
|
||||
PKGCONFIG += libtorrent-rasterbar
|
||||
DEFINES += BOOST_ASIO_DYN_LINK
|
||||
|
||||
# Special include/libs paths (macports)
|
||||
INCLUDEPATH += /usr/include/openssl /usr/include /opt/local/include/boost /opt/local/include
|
||||
LIBS += -L/opt/local/lib
|
||||
|
||||
# OpenSSL lib
|
||||
LIBS += -lssl -lcrypto
|
||||
# Boost system lib
|
||||
LIBS += -lboost_system-mt
|
||||
# Boost filesystem lib (Not needed for libtorrent >= 0.16.0)
|
||||
#LIBS += -lboost_filesystem-mt
|
||||
# Carbon
|
||||
LIBS += -framework Carbon -framework IOKit
|
||||
# Zlib
|
||||
LIBS += -lz
|
||||
INCLUDEPATH += /usr/local/include/libtorrent /usr/include/openssl /usr/include /opt/local/include/boost /opt/local/include
|
||||
LIBS += -ltorrent-rasterbar -lcrypto -L/opt/local/lib -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -framework Cocoa -framework Carbon
|
||||
|
||||
document_icon.path = Contents/Resources
|
||||
document_icon.files = mac/qBitTorrentDocument.icns
|
||||
document_icon.files = Icons/qBitTorrentDocument.icns
|
||||
|
||||
QMAKE_BUNDLE_DATA += document_icon
|
||||
|
||||
qt_conf.path = Contents/Resources
|
||||
qt_conf.files = mac/qt.conf
|
||||
QMAKE_BUNDLE_DATA += qt_conf
|
||||
|
||||
qt_translations.path = Contents/MacOS/translations
|
||||
qt_translations.files = qt-translations/qt_ar.qm \
|
||||
qt-translations/qt_bg.qm \
|
||||
qt-translations/qt_ca.qm \
|
||||
qt-translations/qt_cs.qm \
|
||||
qt-translations/qt_da.qm \
|
||||
qt-translations/qt_de.qm \
|
||||
qt-translations/qt_es.qm \
|
||||
qt-translations/qt_fi.qm \
|
||||
qt-translations/qt_fr.qm \
|
||||
qt-translations/qt_gl.qm \
|
||||
qt-translations/qt_he.qm \
|
||||
qt-translations/qt_hu.qm \
|
||||
qt-translations/qt_it.qm \
|
||||
qt-translations/qt_ja.qm \
|
||||
qt-translations/qt_ko.qm \
|
||||
qt-translations/qt_lt.qm \
|
||||
qt-translations/qt_nl.qm \
|
||||
qt-translations/qt_pl.qm \
|
||||
qt-translations/qt_pt.qm \
|
||||
qt-translations/qt_pt_BR.qm \
|
||||
qt-translations/qt_ru.qm \
|
||||
qt-translations/qt_sk.qm \
|
||||
qt-translations/qt_sv.qm \
|
||||
qt-translations/qt_tr.qm \
|
||||
qt-translations/qt_uk.qm \
|
||||
qt-translations/qt_zh_CN.qm \
|
||||
qt-translations/qt_zh_TW.qm
|
||||
QMAKE_BUNDLE_DATA += qt_translations
|
||||
|
||||
ICON = mac/qbittorrent_mac.icns
|
||||
QMAKE_INFO_PLIST = mac/Info.plist
|
||||
ICON = Icons/qbittorrent_mac.icns
|
||||
QMAKE_INFO_PLIST = Info.plist
|
||||
|
||||
DEFINES += WITH_GEOIP_EMBEDDED
|
||||
message("On Mac OS X, GeoIP database must be embedded.")
|
||||
|
@@ -1,3 +1,5 @@
|
||||
INCLUDEPATH += $$PWD
|
||||
|
||||
exists(conf.pri) {
|
||||
# to the conf.pri goes all system dependent stuff
|
||||
include(conf.pri)
|
||||
@@ -7,13 +9,9 @@ LIBS += -ltorrent-rasterbar \
|
||||
-lboost_thread \
|
||||
-lboost_system \
|
||||
-lboost_filesystem \
|
||||
-lssl -lcrypto -lidn -lpthread -lz
|
||||
-lssl -lcrypto -lidn -lpthread
|
||||
|
||||
RC_FILE = qbittorrent_os2.rc
|
||||
|
||||
# LIBTORRENT DEFINES
|
||||
DEFINES += WITH_SHIPPED_GEOIP_H
|
||||
DEFINES += BOOST_ASIO_DYN_LINK
|
||||
|
||||
DEFINES += WITH_GEOIP_EMBEDDED
|
||||
message("On eCS(OS/2), GeoIP database must be embedded.")
|
||||
|
@@ -2,18 +2,3 @@ TEMPLATE = subdirs
|
||||
|
||||
SUBDIRS += src
|
||||
|
||||
include(version.pri)
|
||||
include(qm_gen.pri)
|
||||
|
||||
# Dist
|
||||
dist.commands += rm -fR ../$${PROJECT_NAME}-$${PROJECT_VERSION}/ &&
|
||||
dist.commands += git clone . ../$${PROJECT_NAME}-$${PROJECT_VERSION} &&
|
||||
dist.commands += rm -fR ../$${PROJECT_NAME}-$${PROJECT_VERSION}/.git &&
|
||||
dist.commands += rm -f ../$${PROJECT_NAME}-$${PROJECT_VERSION}/.gitignore &&
|
||||
dist.commands += cd .. &&
|
||||
dist.commands += tar czf $${PROJECT_NAME}-$${PROJECT_VERSION}.tar.gz $${PROJECT_NAME}-$${PROJECT_VERSION} &&
|
||||
dist.commands += tar cf $${PROJECT_NAME}-$${PROJECT_VERSION}.tar $${PROJECT_NAME}-$${PROJECT_VERSION} &&
|
||||
dist.commands += xz -f $${PROJECT_NAME}-$${PROJECT_VERSION}.tar &&
|
||||
dist.commands += rm -fR $${PROJECT_NAME}-$${PROJECT_VERSION}
|
||||
|
||||
QMAKE_EXTRA_TARGETS += dist
|
||||
|
@@ -6,8 +6,6 @@
|
||||
<dep type='qt4'>
|
||||
<required/>
|
||||
</dep>
|
||||
<dep type='qt-dbus'>
|
||||
</dep>
|
||||
<dep type='pkg-config'>
|
||||
<required/>
|
||||
</dep>
|
||||
@@ -17,9 +15,10 @@
|
||||
<dep type='libboost'>
|
||||
<required/>
|
||||
</dep>
|
||||
<dep type='libnotify'>
|
||||
</dep>
|
||||
<dep type='geoip-database'>
|
||||
</dep>
|
||||
<dep type='qtsingleapplication'>
|
||||
<required/>
|
||||
</dep>
|
||||
</qconf>
|
||||
|
125
qcm/libboost.qcm
@@ -6,15 +6,12 @@ arg: with-libboost-lib=[path], Path to libboost library files
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
#include <boost/version.hpp>
|
||||
#include <libtorrent/version.hpp>
|
||||
|
||||
class qc_libboost : public ConfObj
|
||||
{
|
||||
public:
|
||||
qc_libboost(Conf *c) : ConfObj(c) {}
|
||||
QString name() const { return "libboost"; }
|
||||
QString shortname() const { return "libboost"; }
|
||||
|
||||
qc_libboost(Conf *c) : ConfObj(c) {}
|
||||
QString name() const { return "libboost"; }
|
||||
QString shortname() const { return "libboost"; }
|
||||
QString findBoostLib(QString path, QString lib) const {
|
||||
QString name;
|
||||
QDir libDir(path);
|
||||
@@ -38,60 +35,84 @@ public:
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
bool exec(){
|
||||
QStringList sl;
|
||||
QString s = conf->getenv("QC_WITH_LIBBOOST_INC");
|
||||
if (!s.isEmpty())
|
||||
sl << s;
|
||||
sl << "/usr/include";
|
||||
sl << "/usr/local/include";
|
||||
bool found = false;
|
||||
foreach (s, sl) {
|
||||
if (conf->checkHeader(s, "boost/format.hpp")
|
||||
#if LIBTORRENT_VERSION_MAJOR == 0 && LIBTORRENT_VERSION_MINOR < 16
|
||||
&& conf->checkHeader(s, "boost/filesystem/path.hpp")
|
||||
#endif
|
||||
) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found)
|
||||
return false;
|
||||
|
||||
conf->addIncludePath(s);
|
||||
|
||||
// Find library
|
||||
s = conf->getenv("QC_WITH_LIBBOOST_LIB");
|
||||
bool exec(){
|
||||
QString s;
|
||||
s = conf->getenv("QC_WITH_LIBBOOST_INC");
|
||||
if(!s.isEmpty()) {
|
||||
if(!conf->checkHeader(s, "boost/format.hpp")) {
|
||||
return false;
|
||||
}
|
||||
if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) {
|
||||
return false;
|
||||
}
|
||||
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
|
||||
return false;
|
||||
}
|
||||
if(!conf->checkHeader(s, "boost/thread.hpp")) {
|
||||
return false;
|
||||
}
|
||||
}else{
|
||||
QStringList sl;
|
||||
sl << "/usr/include";
|
||||
sl << "/usr/local/include";
|
||||
bool found = false;
|
||||
foreach(s, sl){
|
||||
if(conf->checkHeader(s, "boost/format.hpp")){
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!found) {
|
||||
return false;
|
||||
}
|
||||
if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) {
|
||||
return false;
|
||||
}
|
||||
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
|
||||
return false;
|
||||
}
|
||||
if(!conf->checkHeader(s, "boost/thread.hpp")) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
conf->addIncludePath(s);
|
||||
// Find library
|
||||
s = conf->getenv("QC_WITH_LIBBOOST_LIB");
|
||||
QStringList required_libs;
|
||||
#if BOOST_VERSION >= 103500
|
||||
required_libs << "system";
|
||||
#endif
|
||||
#if LIBTORRENT_VERSION_MAJOR == 0 && LIBTORRENT_VERSION_MINOR < 16
|
||||
required_libs << "filesystem" ;
|
||||
#endif
|
||||
//required_libs << "thread";
|
||||
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||
// Not required by nox
|
||||
required_libs << "filesystem" << "thread";
|
||||
}
|
||||
QStringList libDirs;
|
||||
if (!s.isEmpty())
|
||||
libDirs << s;
|
||||
libDirs << "/usr/lib/" << "/usr/lib/i386-linux-gnu/" << "/usr/lib64/" << "/usr/lib/x86_64-linux-gnu/" << "/usr/local/lib/" << "/usr/lib/local/i386-linux-gnu/" << "/usr/local/lib64/" << "/usr/local/lib/x86_64-linux-gnu/";
|
||||
|
||||
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
|
||||
foreach(const QString& lib, required_libs) {
|
||||
bool found = false;
|
||||
foreach(const QString& libDir, libDirs) {
|
||||
QString detected_name = findBoostLib(libDir, lib);
|
||||
if(!detected_name.isEmpty()) {
|
||||
if(!s.isEmpty()) {
|
||||
QString detected_name = findBoostLib(s, lib);
|
||||
if(detected_name.isEmpty()) {
|
||||
printf("Could not find boost %s library!\n", qPrintable(lib));
|
||||
return false;
|
||||
} else {
|
||||
conf->addLib("-l"+detected_name);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
bool found = false;
|
||||
foreach(const QString& libDir, libDirs) {
|
||||
QString detected_name = findBoostLib(libDir, lib);
|
||||
if(!detected_name.isEmpty()) {
|
||||
conf->addLib("-l"+detected_name);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!found) {
|
||||
printf("Could not find boost %s library!\n", qPrintable(lib));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(!found) {
|
||||
printf("Could not find boost %s library!\n", qPrintable(lib));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
@@ -8,17 +8,20 @@ class qc_libtorrent_rasterbar : public ConfObj
|
||||
{
|
||||
public:
|
||||
qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {}
|
||||
QString name() const { return "libtorrent-rasterbar >= 0.15.0"; }
|
||||
QString name() const { return "libtorrent-rasterbar >= 0.14.4"; }
|
||||
QString shortname() const { return "libtorrent-rasterbar"; }
|
||||
bool exec(){
|
||||
QStringList incs;
|
||||
QString req_ver = "0.15.0";
|
||||
QString req_ver = "0.14.4";
|
||||
QString version, libs, other;
|
||||
VersionMode mode = VersionMin;
|
||||
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other))
|
||||
return false;
|
||||
for(int n = 0; n < incs.count(); ++n)
|
||||
conf->addIncludePath(incs[n]);
|
||||
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||
conf->addLib("-lcrypto");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
-----BEGIN QCMOD-----
|
||||
name: qt-dbus
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
// see Conf::findPkgConfig
|
||||
class qc_qt_dbus : public ConfObj
|
||||
{
|
||||
public:
|
||||
qc_qt_dbus(Conf *c) : ConfObj(c) {}
|
||||
QString name() const { return "QtDBus >= 4.5"; }
|
||||
QString shortname() const { return "qt-dbus"; }
|
||||
QString checkString() const {
|
||||
if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
|
||||
return "";
|
||||
return ConfObj::checkString();
|
||||
}
|
||||
bool exec(){
|
||||
if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
|
||||
return false;
|
||||
QStringList incs;
|
||||
QString req_ver = "4.5.0";
|
||||
QString version, libs, other;
|
||||
VersionMode mode = VersionMin;
|
||||
if(conf->findPkgConfig("QtDBus", mode, req_ver, &version, &incs, &libs, &other)) {
|
||||
conf->addExtra("CONFIG += dbus");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
-----BEGIN QCMOD-----
|
||||
name: qt-svg
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
// see Conf::findPkgConfig
|
||||
class qc_qt_svg : public ConfObj
|
||||
{
|
||||
public:
|
||||
qc_qt_svg(Conf *c) : ConfObj(c) {}
|
||||
QString name() const { return "QtSvg >= 4.5"; }
|
||||
QString shortname() const { return "qt-svg"; }
|
||||
QString checkString() const {
|
||||
if(!conf->getenv("QC_DISABLE_qt_svg").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
|
||||
return "";
|
||||
return ConfObj::checkString();
|
||||
}
|
||||
bool exec(){
|
||||
if(!conf->getenv("QC_DISABLE_qt_svg").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
|
||||
return false;
|
||||
QStringList incs;
|
||||
QString req_ver = "4.5.0";
|
||||
QString version, libs, other;
|
||||
VersionMode mode = VersionMin;
|
||||
if(conf->findPkgConfig("QtSvg", mode, req_ver, &version, &incs, &libs, &other)) {
|
||||
conf->addExtra("CONFIG += svg");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
26
qcm/qt4.qcm
@@ -1,7 +1,6 @@
|
||||
/*
|
||||
-----BEGIN QCMOD-----
|
||||
name: Qt >= 4.6
|
||||
arg: enable-debug, Enable debug mode
|
||||
name: Qt >= 4.5
|
||||
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
@@ -9,28 +8,13 @@ class qc_qt4 : public ConfObj
|
||||
{
|
||||
public:
|
||||
qc_qt4(Conf *c) : ConfObj(c) {}
|
||||
QString name() const { return "Qt >= 4.6"; }
|
||||
QString shortname() const { return "Qt 4.6"; }
|
||||
QString name() const { return "Qt >= 4.5"; }
|
||||
QString shortname() const { return "Qt 4.5"; }
|
||||
bool exec()
|
||||
{
|
||||
// NOX mode
|
||||
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||
conf->addExtra("CONFIG += nox");
|
||||
}
|
||||
// Debug mode
|
||||
if(!conf->getenv("QC_ENABLE_DEBUG").isEmpty()) {
|
||||
conf->addExtra("CONFIG -= release");
|
||||
conf->addExtra("CONFIG += debug");
|
||||
} else {
|
||||
conf->addExtra("CONFIG -= debug");
|
||||
conf->addExtra("CONFIG += release");
|
||||
}
|
||||
#ifdef Q_OS_FREEBSD
|
||||
conf->addLib("-lexecinfo");
|
||||
conf->addExtra("MANPREFIX = $$PREFIX");
|
||||
#else
|
||||
conf->addExtra("MANPREFIX = $$PREFIX/share");
|
||||
#endif
|
||||
return(QT_VERSION >= 0x040600);
|
||||
}
|
||||
return(QT_VERSION >= 0x040500);
|
||||
}
|
||||
};
|
||||
|
19
qm_gen.pri
@@ -1,19 +0,0 @@
|
||||
TS_IN = $$fromfile(src/src.pro,TRANSLATIONS)
|
||||
TS_IN_NOEXT = $$replace(TS_IN,".ts","")
|
||||
|
||||
isEmpty(QMAKE_LRELEASE) {
|
||||
win32|os2:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe
|
||||
else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
|
||||
unix {
|
||||
!exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease-qt4 }
|
||||
} else {
|
||||
!exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease }
|
||||
}
|
||||
}
|
||||
|
||||
message("Building translations")
|
||||
for(L,TS_IN_NOEXT) {
|
||||
message("Processing $${L}")
|
||||
system("$$QMAKE_LRELEASE -silent src/$${L}.ts -qm src/$${L}.qm")
|
||||
!exists("src/$${L}.qm"):error("Building translations failed, cannot continue")
|
||||
}
|
BIN
src/Icons/downarrow.png
Normal file
After Width: | Height: | Size: 722 B |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.8 KiB |
BIN
src/Icons/oxygen/browse.png
Normal file
After Width: | Height: | Size: 796 B |
BIN
src/Icons/oxygen/bt_settings.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
src/Icons/oxygen/bug.png
Normal file
After Width: | Height: | Size: 733 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
src/Icons/oxygen/button_ok.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |