summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 2955cb6ae0d01790e31d6766af4a7aeeb92d3252 (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
# Maintainer: xiota / aur.chaotic.cx
# Contributor: Gustavo Castro < gustawho [ at ] gmail [ dot ] com >

_pkgname="plasmatube"
pkgname="$_pkgname-git"
pkgver=23.08.1.r17.gcb6b8de
pkgrel=1
pkgdesc="Kirigami YouTube video player based on libmpv and yt-dlp"
url="https://invent.kde.org/multimedia/plasmatube"
license=(GPL3)
arch=(x86_64 i686 arm armv6h armv7h aarch64)

depends=(
  'kconfig5'
  'kcoreaddons5'
  'ki18n5'
  'kirigami-addons5'
  'mpv'
  'qt5-svg'
  'yt-dlp'
)
makedepends=(
  'extra-cmake-modules'
)

if [ x"$pkgname" == x"$_pkgname" ] ; then
  # normal package
  :
else
  # git package
  makedepends+=('git')

  provides=("$_pkgname")
  conflicts=("$_pkgname")

  _commit='cb6b8dea'

  _pkgsrc="$_pkgname"
  source=(
    "$_pkgsrc"::"git+$url.git#commit=$_commit"
  )
  sha256sums=(
    'SKIP'
  )

  pkgver() {
    cd "$srcdir/$_pkgname"

    _regex='^\s+<release version="([0-9]+\.[0-9]+(\.[0-9]+)?)".*>$'
    _file='org.kde.plasmatube.appdata.xml'

    _line=$(
      grep -E "$_regex" "$_file" | head -1
    )
    _version=$(
      printf '%s' "$_line" | sed -E "s@$_regex@\1@"
    )
    _commit=$(
      git log -G "$_line" -1 --pretty=oneline --no-color -- $_file \
        | sed 's@\ .*$@@'
    )
    _revision=$(
      git rev-list --count $_commit..HEAD
    )
    _hash=$(
      git rev-parse --short HEAD
    )

    printf '%s.r%s.g%s' \
      "$_version" \
      "$_revision" \
      "$_hash"
  }
fi

build() {
  local _cmake_options=(
    -B build
    -S "$_pkgname"
    -D CMAKE_INSTALL_PREFIX='/usr'
    -D CMAKE_BUILD_TYPE=Release
    -D BUILD_TESTING=OFF
  )

  cmake "${_cmake_options[@]}"
  cmake --build build
}

package() {
  DESTDIR="${pkgdir:?}" cmake --install build
}