summaryrefslogtreecommitdiff
path: root/libre/clementine/PKGBUILD
blob: fb7a7f804d7662f3eca99773bf567e2964e01599 (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
# 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.r702.3b76fa627
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=3b76fa62752f25b445ee2a71f02c0c9d7581735a
  clementine-gcc6.patch
  remove-nonfree-artwork-and-spotify.patch
  moognu.png
)
sha256sums=('SKIP'
            '05bd4dc0138eed084332fa1a688a96858418731f337f54e0d8ab0853123f40ee'
            '0680a1efc5f24a2662be42ba5a23d2278ce707c76104c03a3d693f7a890358b8'
            '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

  # 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: