summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 447b49422f2762d26c8398fb28634735de7ce518 (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
# Maintainer: Marat Bakeev <hawara@gmail.com>

pkgname=fido2-token2-git
pkgver=r185.fc825a3
pkgrel=1
pkgdesc='TOKEN2 FIDO2 management CLI with wrapper and GUI'
arch=('x86_64')
url='https://github.com/Token2/fido2-manage'
license=('BSD-2-Clause')
depends=('bash' 'openssl' 'libcbor' 'pcsclite' 'systemd-libs' 'zlib' 'python' 'tk' 'python-pexpect' 'hicolor-icon-theme')
makedepends=('git' 'cmake' 'pkgconf' 'gcc' 'make')
provides=('fido2-token2')
conflicts=('fido2-token2')
source=(
  'fido2-manage-upstream::git+https://github.com/Token2/fido2-manage.git'
  'prepare-overlay.sh'
  'fido2-manage.desktop'
  'fido2-manage.png'
)
sha256sums=(
  'SKIP'
  'SKIP'
  'SKIP'
  'SKIP'
)

pkgver() {
  cd "$srcdir/fido2-manage-upstream"
  printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
}

prepare() {
  cd "$srcdir"
  bash "$srcdir/prepare-overlay.sh" "$srcdir/fido2-manage-upstream" "$srcdir/overlay"
}

build() {
  # Strip makepkg's _FORTIFY_SOURCE — upstream CMakeLists.txt sets its own
  CFLAGS="${CFLAGS/-Wp,-D_FORTIFY_SOURCE=?/}"
  CXXFLAGS="${CXXFLAGS/-Wp,-D_FORTIFY_SOURCE=?/}"

  cmake -S "$srcdir/fido2-manage-upstream" -B "$srcdir/build" \
    -DUSE_PCSC=ON \
    -DBUILD_SHARED_LIBS=OFF \
    -DBUILD_STATIC_LIBS=ON \
    -DBUILD_EXAMPLES=OFF \
    -DBUILD_TESTS=OFF \
    -DBUILD_MANPAGES=OFF \
    -DCMAKE_BUILD_TYPE=Release

  cmake --build "$srcdir/build" -j"$(nproc)"
}

package() {
  install -Dm755 "$srcdir/build/tools/fido2-token2" "$pkgdir/usr/bin/fido2-token2"
  install -Dm755 "$srcdir/overlay/fido2-manage" "$pkgdir/usr/bin/fido2-manage"
  install -Dm755 "$srcdir/overlay/fido2-manage-gui" "$pkgdir/usr/bin/fido2-manage-gui"

  install -Dm644 "$srcdir/overlay/gui.py" "$pkgdir/usr/share/fido2-manage/gui.py"
  install -Dm644 "$srcdir/fido2-manage.desktop" "$pkgdir/usr/share/applications/fido2-manage.desktop"
  install -Dm644 "$srcdir/fido2-manage.png" "$pkgdir/usr/share/icons/hicolor/128x128/apps/fido2-manage.png"
  install -Dm644 "$srcdir/overlay/69-fido2-token2.rules" "$pkgdir/usr/lib/udev/rules.d/69-fido2-token2.rules"

  install -Dm644 "$srcdir/fido2-manage-upstream/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}