summaryrefslogtreecommitdiff
path: root/libre/clementine/PKGBUILD
blob: aa8cbe52edf1f0856c112d881452c39e4a5646f6 (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
# $Id: PKGBUILD 209417 2017-01-29 21:40:56Z alucryd $
# 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>

pkgname=clementine
_pkgname=$pkgname-libre
pkgver=1.3.1
pkgrel=18.parabola4
pkgdesc='A modern music player and library organizer, without nonfree artwork and Spotify support'
url='http://www.clementine-player.org/'
license=('GPL')
arch=('i686' 'x86_64' 'armv7h')
replaces=("$_pkgname")
conflicts=("$_pkgname")
depends=('chromaprint' 'crypto++' 'fftw' 'gcc-libs' 'glew' 'glib2' 'glibc'
         'gst-plugins-base-libs' 'gstreamer' 'libcdio' 'libechonest' 'libgl'
         'libgpod' 'liblastfm' 'libmtp' 'libpulse' 'libx11' 'protobuf<3.8' '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')
mksource=("clementine-${pkgver}.tar.gz::https://github.com/clementine-player/Clementine/archive/${pkgver}.tar.gz")
source=("https://repo.parabola.nu/other/${_pkgname}/${_pkgname}-${pkgver}.tar.gz"
        'clementine-gcc6.patch'
        'add-missing-functional-includes-5630.patch'
        'clementine-1.3.1-chromaprint-1.4.0.patch'
        'https://github.com/clementine-player/Clementine/commit/75f9439843a0e9cdc26cd739d5e1dbd93bd974bc.patch'
        'remove-nonfree-artwork-and-spotify.patch'
        'moognu.png')
mksha256sums=('f885931a9ab7c88607d07b50c64fcce46fc05f13dd2c0a04188c94eff938f37c')
sha256sums=('9b84b3b867963da265308b150746aec0faaf5bcd79f78e3363a741edda7286ec'
            '05bd4dc0138eed084332fa1a688a96858418731f337f54e0d8ab0853123f40ee'
            '213a1c2eb3f3c1d2904ed855ad851c10705d04cfa20b36b843b60003469fdc1a'
            '4cc9c9df599df4a595c6acf4e129a54296c0a8e537627435e3df14e1e95447b0'
            'd4dbd7f09da7a554f86237476b96e3ca097117b7ab2acd706088c72203d8b64f'
            '8978c44d38e95edd8d7fec00d64debfa78e9906653cfd47caa2b2fb5aaf45d9d'
            'c6918617769152f3617c61f721819e69d03f671b85760b11cfe45abd53955bc4')
mksource() {
  cd Clementine-${pkgver}

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

prepare() {
  cd Clementine-${pkgver}

  # 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 -p1 -i ../add-missing-functional-includes-5630.patch
  # Fix build with chromaprint 1.4.0
  patch -p1 -i ../clementine-1.3.1-chromaprint-1.4.0.patch
  # FS#58413
  patch -Np1 -i ../75f9439843a0e9cdc26cd739d5e1dbd93bd974bc.patch

  if [[ -d build ]]; then
    rm -rf build
  fi
  mkdir build
}

build() {
  cd Clementine-${pkgver}/build

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

package() {
  cd Clementine-${pkgver}/build

  make DESTDIR="${pkgdir}" install
}

# vim: ts=2 sw=2 et: