summaryrefslogtreecommitdiff
path: root/pcr/ring/PKGBUILD
blob: 2ee23d4c803985224c208aa0af3738e3b50e29c6 (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
123
124
125
126
127
128
129
130
131
132
133
# Maintainer: Luke Shumaker <lukeshu@parabola.nu>

pkgbase=ring
pkgname=(ring-daemon ring-lrc ring-client-gnome)
pkgdesc="The GNU Ring / ring.cx (formerly SFLphone) VoIP system"
_pkgver=20170126.1.cd1aa0d

pkgver=beta2.$_pkgver
pkgrel=1
arch=("i686" "x86_64")
url="https://ring.cx/"
license=('GPL3')
source=("http://dl.ring.cx/ring-release/tarballs/${pkgbase}_${_pkgver}.tar.gz")
sha256sums=('d732159eabdbb580cfb73ce325c353c1139cf0cd6001bdb45b54da4b8b1fb8dc')

# Get this list by looking at `daemon/contrib/src/*/rules.mak`; look
# for packages that add themselves to both PKGS and FOUND_PKGS.
_daemon_contrib=(
        #asio           # TODO: IDK: no PKGS_FOUND logic, specific git commit
        #boost          # TODO: IDK: no PKGS_FOUND logic
        crypto++
        ffmpeg
        #gnutls         # DUP: ffmpeg->gnutls
        #gsm            # TODO: IDK: no PKGS_FOUND logic
        jsoncpp
        msgpack-c
        libnatpmp       # NOTE: force system version; see below
        #nettle         # DUP: ffmpeg->gnutls->nettle
        #libogg         # DUP: ffmpeg->{libvorbis,speex}->libogg
        #opendht        # TODO: not yet packaged (>=git.3fb7c2a)
        #opus           # DUP: ffmpeg->opus
        #pcre           # DUP: {base,base-devel}->grep->pcre
        #pjproject      # CONTRIB: Added patches for gnutls
        #restbed        # TODO: not yet packaged (>=4.0, >=git.3418750)
        #libsamplerate  # DUP: ffmpeg->jack->libsamplerate
        #libsndfile     # DUP: ffmpeg->libsamplerate->libsndfile
        #speex          # DUP: ffmpeg->speex
        #speexdsp       # DUP: ffmpeg->speex->speexdsp
        libupnp
        #libvorbis      # DUP: ffmpeg->libvorbis
        yaml-cpp
        #zlib           # DUP: ffmpeg->zlib
)
# We force the system version of libnatpmp because the detection logic
# uses pkg-config, but the libnatpmp package doesn't include
# pkg-config files; so the build system thinks we don't have it.  We
# accomplish this by passing `--disable-natpmp` to `../bootstrap`.

_makedepends_daemon=()
_depends_daemon=("${_daemon_contrib[@]}" dbus-c++)

_makedepends_lrc=(qt5-tools)
_depends_lrc=(qt5-base)

_makedepends_client_gnome=()
_depends_client_gnome=(clutter-gtk evolution-data-server libnm-glib qrencode)

makedepends=(
  cmake
  doxygen
  "${_makedepends_daemon[@]}"
  "${_depends_daemon[@]}"
  "${_makedepends_lrc[@]}"
  "${_depends_lrc[@]}"
  "${_makedepends_client_gnome[@]}"
  "${_depends_client_gnome[@]}"
)

#checkdepends=(cppunit swig)

_makedepends_ringpy=(autoconf-archive gnome-icon-theme-symbolic
                     libe-book)

build() {
  cd "$srcdir/ring-project/daemon/contrib"
  mkdir native
  cd native
  ../bootstrap --disable-downloads --disable-natpmp
  make BATCH_MODE=1
  
  cd "$srcdir/ring-project/daemon"
  ./autogen.sh
  ./configure --prefix=/usr
  make

  cd "$srcdir/ring-project/lrc"
  mkdir build
  cd build
  cmake .. \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE=Release \
        -DRING_BUILD_DIR="$srcdir/ring-project/daemon/src"
  make

  cd "$srcdir/ring-project/client-gnome"
  mkdir build
  cd build
  cmake .. \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE=Release \
        -DLibRingClient_PROJECT_DIR="$srcdir/ring-project/lrc"
  make
}

package_ring-daemon() {
  pkgdesc="The communication daemon of the GNU Ring / ring.cx (formerly SFLphone) VoIP system"
  depends=("${_depends_daemon[@]}")

  cd "$srcdir/ring-project/daemon"
  make DESTDIR="$pkgdir" install
}  

package_ring-lrc() {
  pkgdesc="A client library for the GNU Ring / ring.cx (formerly SFLphone) VoIP system"
  depends=("${_depends_lrc[@]}" "ring-daemon=$pkgver")
  provides=("libringclient=$pkgver") # AUR name
  replaces=("libringclient") # AUR name

  cd "$srcdir/ring-project/lrc/build"
  make DESTDIR="$pkgdir" install
}

package_ring-client-gnome() {
  pkgdesc="A GTK+3 user interface for the GNU Ring / ring.cx (formerly SFLphone) VoIP system"
  depends=("${_depends_client_gnome[@]}" "ring-lrc=$pkgver")
  provides=("ring-gnome=$pkgver") # AUR name
  replaces=("ring-gnome") # AUR name

  cd "$srcdir/ring-project/client-gnome/build"
  make DESTDIR="$pkgdir" install
}

# vim:set ts=2 sw=2 et: