summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 6436e5e51d874368c28746bb5da003a8c56c0eeb (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
# Maintainer: Dee.H.Y <dongfengweixiao at hotmail dot com>
# Contributor: Mark Wagie <mark dot wagie at proton dot me>
# This repository is a fork of musicpod-git.
# Before executing makepkg, you can set FVM_CACHE_PATH to $HOME/fvm or the path specified by the cachePath field in the $HOME/.config/fvm/.fvmrc file.

pkgname="musicpod"
pkgver=2.16.0
pkgrel=2
pkgdesc="Music, radio, television and podcast player"
url="https://github.com/ubuntu-flutter-community/musicpod"
license=('GPL-3.0-or-later')
arch=('x86_64' 'aarch64')
depends=(
  'alsa-lib'
  'at-spi2-core'
  'cairo'
  'fontconfig'
  'freetype2'
  'fribidi'
  'gdk-pixbuf2'
  'glib2'
  'glibc'
  'gnutls'
  'gtk3'
  'harfbuzz'
  'lcms2'
  'libarchive'
  'libdrm'
  'libepoxy'
  'libgcc'
  'libglvnd'
  'libnotify'
  'libpulse'
  'libstdc++'
  'libunwind'
  'libva'
  'libvdpau'
  'libx11'
  'libxcb'
  'libxext'
  'libxfixes'
  'libxkbcommon'
  'libxrandr'
  'libxss'
  'libxv'
  'mesa'
  'pango'
  'wayland'
  'xz'
  'zlib'
)
makedepends=(
  'clang'
  'cmake'
  'fvm'
  'git'
  'lld'
  'llvm'
  'ninja'
  'patchelf'
  'rustup'
)

options=('!lto')

_pkgsrc="$pkgname-$pkgver"
_pkgext="tar.gz"
source=("$_pkgsrc.$_pkgext"::"$url/archive/refs/tags/v$pkgver.$_pkgext" "org.feichtmeier.Musicpod.desktop")
sha256sums=('a266df60dd79c1b8327da84810cc6ad241eb29b806cda47ea0e6028923634439'
            '2c25d7e7ee10f3e53ac918a39c357c5c338426c0c3b631e63e5ddd525e15fce3')

build() {
  export FVM_CACHE_PATH="$SRCDEST/fvm-cache"

  cd "$_pkgsrc"
  fvm install

  fvm flutter --disable-analytics
  #fvm flutter pub upgrade --major-versions
  fvm flutter --no-version-check pub get
  fvm flutter clean && fvm flutter build linux --release
}

package() {
  if [ $CARCH == "aarch64" ]; then
    FLUTTER_ARCH=arm64
  else
    FLUTTER_ARCH=x64
  fi

  cd "$_pkgsrc/build/linux/$FLUTTER_ARCH/release/bundle"

  install -Dm755 "musicpod" "$pkgdir/usr/lib/$pkgname/$pkgname"
  cp --reflink=auto -r lib/ "$pkgdir/usr/lib/$pkgname/"
  cp --reflink=auto -r data/ "$pkgdir/usr/lib/$pkgname/"

  # runpath
  patchelf --set-rpath '$ORIGIN/lib' "$pkgdir/usr/lib/$pkgname/$pkgname"
  for i in "$pkgdir/usr/lib/$pkgname/lib"/*.so; do
    [ -z "$(patchelf --print-rpath "$i")" ] && continue
    patchelf --set-rpath '$ORIGIN' "$i"
  done

  # symlink
  install -dm755 "${pkgdir}/usr/bin"
  ln -sfr "$pkgdir/usr/lib/$pkgname/$pkgname" "$pkgdir/usr/bin/${pkgname}"

  # icon
  install -Dm644 "$srcdir/$_pkgsrc/snap/gui/$pkgname.png" \
    "$pkgdir/usr/share/pixmaps/$pkgname.png"

  # .desktop file
  install -Dm644 "$srcdir/org.feichtmeier.Musicpod.desktop" "${pkgdir}/usr/share/applications/org.feichtmeier.Musicpod.desktop"

  # license
  install -Dm644 "$srcdir/$_pkgsrc/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/"
}