summaryrefslogtreecommitdiff
path: root/libre/clementine/PKGBUILD
blob: 2ac8777217c3e5bb4f7df166c5af750ffa6e4755 (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
142
143
144
145
146
147
148
149
150
# 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
pkgrel=21
pkgrel+=.parabola2
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
  libechonest
  libgl
  libgpod
  liblastfm
  libmtp
  libpulse
  libx11
  protobuf
  qjson
  qt4
  sqlite
  taglib
  zlib
)
makedepends=(
  boost
  cmake
  mesa
  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=(
  clementine-${pkgver}.tar.gz::https://github.com/clementine-player/Clementine/archive/${pkgver}.tar.gz
  clementine-gcc6.patch
  clementine-chromaprint1.4.0.patch
  clementine-cryptopp6.patch
  https://github.com/clementine-player/Clementine/commit/8a6cc8b5069265e1e92e22def985e22c5955e503.patch
  https://github.com/clementine-player/Clementine/commit/75f9439843a0e9cdc26cd739d5e1dbd93bd974bc.patch
  https://github.com/clementine-player/Clementine/commit/ddfa5e63f1ef0e243a007efbe576fceb9b2442e8.patch
  remove-nonfree-artwork-and-spotify.patch
  moognu.png
)
sha256sums=('f885931a9ab7c88607d07b50c64fcce46fc05f13dd2c0a04188c94eff938f37c'
            '05bd4dc0138eed084332fa1a688a96858418731f337f54e0d8ab0853123f40ee'
            '4cc9c9df599df4a595c6acf4e129a54296c0a8e537627435e3df14e1e95447b0'
            'e9c09dca76ed8fae2ecb089571396c9293f546871fb2f27cc37010dd5cba9e46'
            '77e32aae6f035523d5cfb8adb45cb0857ebed751b7fcd1f250a2972c79f6282e'
            'd4dbd7f09da7a554f86237476b96e3ca097117b7ab2acd706088c72203d8b64f'
            '9c02acd0a2b70ce8d0b6574161df692fc08c9e9c3061a4a7b78be7805b279dc7'
            '8978c44d38e95edd8d7fec00d64debfa78e9906653cfd47caa2b2fb5aaf45d9d'
            'c6918617769152f3617c61f721819e69d03f671b85760b11cfe45abd53955bc4')

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

  cd Clementine-${pkgver}

  # 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

  # Fix build with GCC 6
  patch -p1 -i ../clementine-gcc6.patch
  # https://github.com/clementine-player/Clementine/pull/5630
  patch -Np1 -i ../8a6cc8b5069265e1e92e22def985e22c5955e503.patch
  # Fix build with chromaprint 1.4.0
  patch -p1 -i ../clementine-chromaprint1.4.0.patch
  # Fix build with crypto++ 6.0.0 due to https://github.com/weidai11/cryptopp/issues/442
  # (this is not necessary on parabola, since we remove the patched files)
  # patch -p1 -i ../clementine-cryptopp6.patch
  # FS#58413
  patch -Np1 -i ../75f9439843a0e9cdc26cd739d5e1dbd93bd974bc.patch
  # Fix DI.FM
  patch -Np1 -i ../ddfa5e63f1ef0e243a007efbe576fceb9b2442e8.patch
}

build() {
  cd build

  cmake ../Clementine-${pkgver} \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr\
    -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-catch-value"
  make
}

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

# vim: ts=2 sw=2 et: