summaryrefslogtreecommitdiffstats
path: root/rtorrent-extended/PKGBUILD
blob: 52ebeb4f740d1b63f58b91ac894e6763260e7e9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# Maintainer:  Lucky <aur.archlinux.org [at] lucky.take0ver [dot] net>
# Contributor: Ashren <edgar [at] archlinux [dot] us>
# Contributor: Daenyth <Daenyth [at] gmail [dot] com>
# Contributor: Jeff Mickey <jeff@archlinux.org>
# Contributor: sh__

pkgname=rtorrent-extended
_pkgname=rtorrent
pkgver=0.8.6
pkgrel=4
pkgdesc="Ncurses BitTorrent client based on libTorrent with magnet link, IPv6, ipfilter, bad peers, color and trackerinfo patch."
arch=('i686' 'x86_64')
url="http://libtorrent.rakshasa.no"
license=('GPL')
depends=('libtorrent-extended=0.12.6-3' 'curl>=7.14.3' 'xmlrpc-c>=1858')
conflicts=('rtorrent')
provides=('rtorrent')
install=${pkgname}.install
source=(http://libtorrent.rakshasa.no/downloads/${_pkgname}-${pkgver}.tar.gz
        # support for magnet links
        # http://libtorrent.rakshasa.no/ticket/955 (deleted)
        # http://libtorrent.rakshasa.no/ticket/2100
        dht_pex_static_map.patch
        magnet_uri.patch
        # support for IPv6
        # http://libtorrent.rakshasa.no/ticket/1111
        ipv6.patch
        # support for ipfilter.dat
        # http://libtorrent.rakshasa.no/ticket/239
        ip_filter_no_boost_fast.patch
        # support for bad peers (kick/ban)
        # http://ovh.ttdpatch.net/~jdrexler/rt/experimental/bad_peer_handling.diff
        # https://calomel.org/rtorrent_mods.html
        bad_peer_handling.patch
        # support for colors
        # http://libtorrent.rakshasa.no/ticket/1382
        canvas_color.patch
        # karabaja mod patchset (color, interface)
        # http://aur.archlinux.org/packages.php?ID=36604
        karabaja_mod.patch
        # more infos at tracker list
        trackerinfo.patch
        # http://aur.archlinux.org/packages.php?ID=33756
        vi_kb_akston.patch
        # http://aur.archlinux.org/packages.php?ID=35642
        vi_kb_tjwoosta.patch)
md5sums=('b804c45c01c40312926bcea6b55bb084'
         '795c2818d4d869f90f1b7734f94347fc'
         '8dcd2c76ee2ed48e86707a2b94b34c34'
         'cd9f4ce9202f6e03699b962f372a09e0'
         '142f39586cd916608a7d569473bce1b0'
         'e698da498f306435fb8f89824c47e0e8'
         '8721dea9d4da9a4f11051de7a2490e40'
         'fdcee74cc8dc4abb1a5b627ae00b8345'
         '1fc3b40153450f34f8f4c4e1a161b6b8'
         '752590f272e48a2828a7e64746778df8'
         'c5620714083fff8d609924c6bdb37fa0')

build() {
  cd "${srcdir}/${_pkgname}-${pkgver}"

  echo -e "\e[1;32m===> \e[0m Do you want magentlink patch? [Y/n]"
  echo -e "\e[1;31m===> \e[0m !!! needed by ipv6 patch !!!"
  read _answer_ml
  if [[ ! ${_answer_ml} = [n,N] ]]; then
    patch -p1 < ${srcdir}/dht_pex_static_map.patch
    patch -p1 < ${srcdir}/magnet_uri.patch
  fi
  echo -e "\e[1;32m===> \e[0m Do you want ipv6 patch? [y/N]"
  echo -e "\e[1;33m===> \e[0m !!! scgi/xmlrpc-c won't work with this patch !!!"
  read _answer_ipv6
  if [[ ${_answer_ipv6} = [y,Y] ]]; then
    patch -p1 < ${srcdir}/ipv6.patch
    _option_ipv6="--enable-ipv6"
  fi
  echo -e "\e[1;32m===> \e[0m Do you want ipfilter patch? [Y/n]"
  read _answer_ipf
  if [[ ! ${_answer_ipf} = [n,N] ]]; then
    patch -p1 < ${srcdir}/ip_filter_no_boost_fast.patch
  fi
  echo -e "\e[1;32m===> \e[0m Do you want bad peer handling patch? [Y/n]"
  read _answer_bph
  if [[ ! ${_answer_bph} = [n,N] ]]; then
    patch -p1 < ${srcdir}/bad_peer_handling.patch
  fi
  echo -e "\e[1;32m===> \e[0m Do you want color/mod patch? [1/2/n]"
  echo -e "\e[1;33m===> \e[0m 1) karabaja mod (default)"
  echo -e "\e[1;33m===> \e[0m 2) canvas color"
  read _answer_cc
  if [[ ! ${_answer_cc} = [n,N] ]]; then
    if [[ ! ${_answer_cc} = [2] ]]; then
      patch -p1 < ${srcdir}/karabaja_mod.patch
    else
      patch -p1 < ${srcdir}/canvas_color.patch
    fi
  fi
  echo -e "\e[1;32m===> \e[0m Do you want tracker info patch? [Y/n]"
  read _answer_ti
  if [[ ! ${_answer_ti} = [n,N] ]]; then
    patch -p1 < ${srcdir}/trackerinfo.patch 
  fi
  echo -e "\e[1;32m===> \e[0m Do you want keybindings patch? [1/2/n]"
  echo -e "\e[1;33m===> \e[0m 1) vi_kb_tjwoosta (default)"
  echo -e "\e[1;33m===> \e[0m 2) vi_kb_akston"
  read _answer_kb
  if [[ ! ${_answer_kb} = [n,N] ]]; then
    if [[ ! ${_answer_kb} = [2] ]]; then
      patch -p1 < ${srcdir}/vi_kb_tjwoosta.patch
    else
      patch -p1 < ${srcdir}/vi_kb_akston.patch
    fi
  fi

  sed -i 's/rTorrent \" VERSION/rTorrent-eXtended " VERSION/' src/ui/download_list.cc

  ./autogen.sh 
  CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" \
  ./configure --prefix=/usr --enable-posix-fallocate --disable-debug ${_option_ipv6} --with-xmlrpc-c || return 1
  make || return 1
  make DESTDIR="${pkgdir}" install
}
# vim:set ts=2 sw=2 et: