summaryrefslogtreecommitdiff
path: root/libre/clementine/PKGBUILD
blob: 4f8ba2316fc08f6cc9da5aff227ea226281245a8 (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
134
135
136
137
138
139
140
141
# Maintainer (Arch): Maxime Gauduin <alucryd@archlinux.org>
# Contributor (Arch): Stéphane Gaudreault <stephane@archlinux.org>
# Contributor (Arch): BlackEagle <ike.devolder@gmail.com>
# Contributor (Arch): Dany Martineau <dany.luc.martineau@gmail.com>
# Maintainer (Hyperbola): André Silva <emulatorman@hyperbola.info>
# Contributor (Hyperbola): Márcio Silva <coadde@hyperbola.info>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
# Contributor: Kete <kete@ninthfloor.org>

# rationale for inclusion in libre:
#  - replaced nonfree nyancat artwork with moognu
#  - removed spotify support
#
# additional changes:
#  - build from release tarball instead of VCS

pkgname=clementine
_pkgname=$pkgname-libre
pkgver=1.3.1.r831.664c5a31f
pkgrel=2
pkgrel+=.par1
pkgdesc='A modern music player and library organizer'
pkgdesc+=', without nonfree artwork and Spotify support'
url=https://www.clementine-player.org/
license=(GPL)
arch=(x86_64)
arch+=(i686 armv7h)
depends=(
  chromaprint
  crypto++
  fftw
  glew
  glib2
  gst-plugins-base-libs
  gstreamer
  libcdio
  libgl
  libgpod
  liblastfm-qt5
  libmtp
  libmygpo-qt5
  libpulse
  libx11
  protobuf
  qt5-base
  qt5-x11extras
  sqlite
  zlib
)
makedepends=(
  boost
  cmake
  git
  mesa
  qt5-tools
  sparsehash
)
optdepends=(
  'gst-plugins-base: "Base" plugin libraries'
  'gst-plugins-good: "Good" plugin libraries'
  'gst-plugins-bad: "Bad" plugin libraries'
  'gst-plugins-ugly: "Ugly" plugin libraries'
  'gst-libav: Libav plugin'
  'gvfs: Various devices support'
)
source=(
  git+https://github.com/clementine-player/Clementine.git#commit=664c5a31f9cf519af5a4c3adcb30dbbc73d037d6
  clementine-gcc6.patch
  remove-nonfree-artwork-and-spotify.patch
  moognu.png
)
sha256sums=('SKIP'
            '05bd4dc0138eed084332fa1a688a96858418731f337f54e0d8ab0853123f40ee'
            '75536b5290ebcd6126d9e8796c3f15a0b0d5339257060ebab511dfe665d64e32'
            'c6918617769152f3617c61f721819e69d03f671b85760b11cfe45abd53955bc4')

pkgver() {
  cd Clementine

  git describe --tags | sed 's/-/.r/; s/-g/./'
}

prepare() {
  if [[ -d build ]]; then
    rm -rf build
  fi
  mkdir build

  cd Clementine

  # Fix build with GCC 6
  patch -p1 -i ../clementine-gcc6.patch
  # https://github.com/clementine-player/Clementine/pull/5630
  git cherry-pick -n 8a6cc8b5069265e1e92e22def985e22c5955e503
  # FS#58413
  git cherry-pick -n -m 1 75f9439843a0e9cdc26cd739d5e1dbd93bd974bc
  # Fix DI.FM
  git cherry-pick -n ddfa5e63f1ef0e243a007efbe576fceb9b2442e8

  # remove nonfree artwork for the Nyan Cat plugin
  # https://labs.parabola.nu/issues/329
  rm -v data/nyancat.png

  # remove nonfree artwork and Spotify references
  patch -Np1 -i ../remove-nonfree-artwork-and-spotify.patch

  # remove Spotifyblob files
  rm -rv ext/{$pkgname-spotifyblob,lib${pkgname}-spotifyblob}

  # remove Spotify files
  rm -rv src/internet/spotify
  rm -v data/icons/svg/spotify.svg
  rm -v data/providers/{22x22,32x32,48x48}/spotify.png
  rm -v data/spotify-attribution.png
  rm -v data/clementine-spotify-public.pem
  rm -v cmake/SpotifyVersion.cmake
  rm -v data/schema/schema-30.sql
  rm -v src/globalsearch/spotifysearchprovider.{cpp,h}

  # move free Nyan Cat replacement mascot (MooGNU) to the source code
  # https://labs.parabola.nu/issues/329
  install -m644 -v ../moognu.png data

  # create a blank file because it's a dependency for Clementine
  touch data/schema/schema-30.sql
}

build() {
  cd build

  cmake ../Clementine \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr
  make
}

package() {
  make DESTDIR="${pkgdir}" -C build install
}

# vim: ts=2 sw=2 et: