summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 1bb9db6b8d53272e0916eed5942a6203d4026414 (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
# Maintainer: theRealPadster <padspambox at gmail dot com>
# Based on the authy and spotify AUR packages
# https://aur.archlinux.org/packages/authy
# https://aur.archlinux.org/packages/spotify
# https://unix.stackexchange.com/questions/560065/how-can-i-manually-download-a-snap-package-for-example-with-wget

pkgname=spotify-edge
pkgver=1.1.99.878
_commit=g1e4ccc6e
pkgrel=1
pkgdesc='A proprietary music streaming service. Edge version.'
arch=('x86_64')
url='https://www.spotify.com'
provides=('spotify')
conflicts=('spotify')
license=('custom')
depends=('alsa-lib>=1.0.14' 'gtk3' 'libxss' 'desktop-file-utils' 'openssl' 'nss' 'at-spi2-atk' 'libcurl-gnutls' 'libsm')
optdepends=('ffmpeg-compat-57: Adds support for playback of local files'
            'zenity: Adds support for importing local files'
            'libnotify: Desktop notifications')
makedepends=('squashfs-tools')
_snapid='pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7'
_snaprev='62'
source=(
    'spotify.protocol'
    'LICENSE'
    "https://api.snapcraft.io/api/v1/snaps/download/${_snapid}_${_snaprev}.snap"
)
sha512sums=(
    '999abe46766a4101e27477f5c9f69394a4bb5c097e2e048ec2c6cb93dfa1743eb436bde3768af6ba1b90eaac78ea8589d82e621f9cbe7d9ab3f41acee6e8ca20'
    '2e16f7c7b09e9ecefaa11ab38eb7a792c62ae6f33d95ab1ff46d68995316324d8c5287b0d9ce142d1cf15158e61f594e930260abb8155467af8bc25779960615'
    '9b8f63c067632f15f5abf6449d09d28fd56839decfc9801d4526cf5b97b9cb5933ede179bcd0b0f2d8b6d4c7e72f55c7fc13dfb0ae4293ef447ead1d018b9cc6'
)

prepare() {
    echo 'Extracting snap file...'
    unsquashfs -q -f -d "${srcdir}/${pkgname}" "${_snapid}_${_snaprev}.snap"
}

package() {
    # Install files
    install -d "${pkgdir}/opt/spotify"
    install -d "${pkgdir}/usr/share"
    install -d "${pkgdir}/usr/bin"

    # copy /usr/share/spotify into /opt/spotify
    cp -r "${srcdir}/${pkgname}/usr/share/spotify/." "${pkgdir}/opt/spotify"

    # Enable spotify to open URLs from the webapp
    sed -i 's/^Exec=.*/Exec=spotify --uri=%U/' "${pkgdir}"/opt/spotify/spotify.desktop

    # Fix the icon
    sed -i 's/^Icon=.*/Icon=spotify-client/' "${pkgdir}"/opt/spotify/spotify.desktop

    # Desktop Entry
    install -Dm644 "${pkgdir}"/opt/spotify/spotify.desktop "${pkgdir}"/usr/share/applications/spotify.desktop

    # Copy icons
    install -Dm644 "${pkgdir}"/opt/spotify/icons/spotify-linux-512.png "${pkgdir}"/usr/share/pixmaps/spotify-client.png

    for size in 22 24 32 48 64 128 256 512; do
        install -Dm644 "${pkgdir}/opt/spotify/icons/spotify-linux-$size.png" \
            "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/spotify.png"
    done

    # Copy /usr/share/doc/spotify-client/changelog.gz
    mkdir -p "${pkgdir}/usr/share/doc/spotify-client"
    cp "${srcdir}/${pkgname}/usr/share/doc/spotify-client/changelog.gz" "${pkgdir}/usr/share/doc/spotify-client/changelog.gz"

    # Symlink spotify binary which is located in /opt
    ln -sf /opt/spotify/spotify "${pkgdir}/usr/bin/spotify"

    # Copy protocol file for KDE
    install -Dm644 "${srcdir}/spotify.protocol" "${pkgdir}/usr/share/kservices5/spotify.protocol"

    # Install license
    # https://www.spotify.com/legal/end-user-agreement
    # TODO: should this be in a folder called spotify or spotify-edge?
    install -Dm 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

    # Fix permissions
    chmod -R go-w "${pkgdir}"
}