summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: b2fdb4b20a33a849cf6850b151d1d4f02161ba41 (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
# Maintainer: Kevin MacMartin <prurigro@gmail.com>
# Contributor: yan12125
# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Jelle van der Waa <jelle vdwaa nl>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Michael Düll <mail@akurei.me>
# Contributor: Luca Corbatto <lucaatcorbatto.de>
# Ported from the upstream synergy package

_pkgname=synergy
pkgname=$_pkgname-git
pkgver=20211021.r4088.940e2ecd2
pkgrel=2
pkgdesc='Share a single mouse and keyboard between multiple computers'
url='http://synergy-foss.org'
arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
license=('GPL2')
provides=("$_pkgname")
conflicts=("$_pkgname")
depends=('libxtst' 'libxinerama' 'libxkbcommon-x11' 'avahi' 'curl' 'libnotify' 'libxrandr' 'hicolor-icon-theme')
makedepends=('libxt' 'cmake' 'qt5-base' 'gmock' 'gtest' 'git' 'qt5-tools')
checkdepends=('xorg-server-xvfb')
optdepends=('qt5-base: gui support')

source=(
  "$_pkgname::git+https://github.com/symless/$_pkgname-core.git"
  "${_pkgname}s_at.socket"
  "${_pkgname}s_at.service"
)
sha512sums=(
  'SKIP'
  'f9c124533dfd0bbbb1b5036b7f4b06f7f86f69165e88b9146ff17798377119eb9f1a4666f3b2ee9840bc436558d715cdbfe2fdfd7624348fae64871f785a1a62'
  'e85cc3452bb8ba8fcccb1857386c77eb1e4cabb149a1c492c56b38e1b121ac0e7d96c6fcbd3c9b522d3a4ae9d7a9974f4a89fc32b02a56f665be92af219e371c'
)

pkgver() {
  cd $_pkgname

  printf "%s.r%s.%s" \
    "$(git show -s --format=%ci master | sed 's/\ .*//g;s/-//g')" \
    "$(git rev-list --count HEAD)" \
    "$(git rev-parse --short HEAD)"
}

build() {
  # Build synergy
  cd $_pkgname
  cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYNERGY_ENTERPRISE=ON .
  make
}

check() {
  # Run tests
  cd $_pkgname
  ./bin/unittests
  # Integration tests on Linux are broken
  # https://github.com/symless/synergy-core/issues/7106
  #xvfb-run --auto-display ./bin/integtests
}

package() {
  # Install systemd service and socket
  install -Dm644 ${_pkgname}s_at.service "$pkgdir/usr/lib/systemd/system/${_pkgname}s@.service"
  install -Dm644 ${_pkgname}s_at.socket "$pkgdir/usr/lib/systemd/system/${_pkgname}s@.socket"

  # Install binary
  cd $_pkgname
  install -Dm755 bin/${_pkgname} "$pkgdir/usr/bin/${_pkgname}"
  install -Dm755 bin/${_pkgname}c "$pkgdir/usr/bin/${_pkgname}c"
  install -Dm755 bin/${_pkgname}d "$pkgdir/usr/bin/${_pkgname}d"
  install -Dm755 bin/${_pkgname}s "$pkgdir/usr/bin/${_pkgname}s"
  install -Dm755 bin/syntool "$pkgdir/usr/bin/syntool"

  # Install config
  install -Dm644 doc/$_pkgname.conf.example "$pkgdir/etc/$_pkgname.conf.example"
  install -Dm644 doc/$_pkgname.conf.example-advanced "$pkgdir/etc/$_pkgname.conf.example-advanced"
  install -Dm644 doc/$_pkgname.conf.example-basic "$pkgdir/etc/$_pkgname.conf.example-basic"

  # Install manfiles
  install -Dm644 doc/${_pkgname}c.man "$pkgdir/usr/share/man/man1/${_pkgname}c.1"
  install -Dm644 doc/${_pkgname}s.man "$pkgdir/usr/share/man/man1/${_pkgname}s.1"

  # Install desktop/icon stuff
  install -Dm644 res/${_pkgname}.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/${_pkgname}.svg"
  install -Dm644 res/${_pkgname}.desktop "$pkgdir/usr/share/applications/${_pkgname}.desktop"
}