Github messages for voidlinux
 help / color / mirror / Atom feed
From: ericonr <ericonr@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] [WIP] spotify: restrict, remove INSTALL script.
Date: Wed, 15 Jul 2020 23:26:05 +0200	[thread overview]
Message-ID: <20200715212605.agG1cbSf489JWUhQt7mLKVQL67m-4ZE2034NqjQJTRc@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-23576@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 702 bytes --]

There is an updated pull request by ericonr against master on the void-packages repository

https://github.com/ericonr/void-packages spotifyd-options
https://github.com/void-linux/void-packages/pull/23576

[WIP] spotify: restrict, remove INSTALL script.
Following discussion on IRC, this package should be restricted. Once this is merged, spotify should be included in #23575 

TODO:

- Still need to find some way to fetch the license, don't want to vendor it in.
- I need some ideas on how to obtain the symlinks for `libssl` and `libcrypto` shared libraries
- It built fine but I haven't tested it yet

A patch file from https://github.com/void-linux/void-packages/pull/23576.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-spotifyd-options-23576.patch --]
[-- Type: text/x-diff, Size: 5692 bytes --]

From 1b95c816c124a51027b5d8f0a475cd3e56d0c266 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Tue, 14 Jul 2020 16:30:45 -0300
Subject: [PATCH] spotify: restrict, remove INSTALL script.

Remove dependencies that were detected automatically and libatomic.
---
 srcpkgs/spotify/INSTALL       | 41 -----------------------
 srcpkgs/spotify/REMOVE        | 11 -------
 srcpkgs/spotify/files/spotify |  2 +-
 srcpkgs/spotify/template      | 62 ++++++++++++++++++++++++++++++-----
 4 files changed, 55 insertions(+), 61 deletions(-)
 delete mode 100644 srcpkgs/spotify/INSTALL
 delete mode 100644 srcpkgs/spotify/REMOVE

diff --git a/srcpkgs/spotify/INSTALL b/srcpkgs/spotify/INSTALL
deleted file mode 100644
index 1cf70985dcb..00000000000
--- a/srcpkgs/spotify/INSTALL
+++ /dev/null
@@ -1,41 +0,0 @@
-# INSTALL for 'spotify'
-# Fetching proprietary binaries at install-time
-
-_BUILDDIR="/tmp/spotify.build"
-_LIBS=$(ldconfig -vNX -n usr/lib 2>/dev/null)
-
-linklib() {
-	_LIB=$(echo "$_LIBS" | grep -m 1 "${1}\.so" | sed 's/\s*\([^ ]*\).*$/\1/')
-	ln -sf "/usr/lib/${_LIB}" "/usr/share/spotify/${1}.so.${2}"
-}
-
-if test "$ACTION" = "post"; then
-	. usr/share/spotify/pkgdata
-	mkdir -p "$_BUILDDIR"
-	(
-		set -e
-		cd "$_BUILDDIR"
-		xbps-uhelper fetch "http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_${SVERSION}.deb"
-		echo "${SCHECKSUM}  spotify-client_${SVERSION}.deb" >checksum
-		sha256sum -c checksum
-		ar x "spotify-client_${SVERSION}.deb"
-		tar -xf data.tar.gz
-	)
-	if [ $? -ne 0 ] ; then
-		echo "Failed downloading spotify client"
-		rm -r "$_BUILDDIR";
-		exit 1;
-	fi
-
-	[ -d "/usr/share/spotify/spotify-client" ] && rm -rf usr/share/spotify/spotify-client
-	mv -f "${_BUILDDIR}/usr/share/spotify" usr/share/spotify/spotify-client
-	for _s in 16 22 24 32 48 64 128 256 512; do
-		mkdir -p "/usr/share/icons/hicolor/${_s}x${_s}/apps"
-		ln -sf "/usr/share/spotify/spotify-client/icons/spotify-linux-${_s}.png" "/usr/share/icons/hicolor/${_s}x${_s}/apps/spotify-client.png"
-	done
-	mkdir -p usr/share/applications
-	ln -sf /usr/share/spotify/spotify-client/spotify.desktop usr/share/applications/spotify.desktop
-	linklib "libssl" "1.0.0"
-	linklib "libcrypto" "1.0.0"
-	rm -r "$_BUILDDIR"
-fi
diff --git a/srcpkgs/spotify/REMOVE b/srcpkgs/spotify/REMOVE
deleted file mode 100644
index c109f570ef8..00000000000
--- a/srcpkgs/spotify/REMOVE
+++ /dev/null
@@ -1,11 +0,0 @@
-# REMOVE for 'spotify'
-# Deleting dynamically fetched files
-
-if test "$ACTION" = "post"; then
-	rm usr/share/applications/spotify.desktop
-	for _s in 16 22 24 32 48 64 128 256 512; do
-		rm "/usr/share/icons/hicolor/${_s}x${_s}/apps/spotify-client.png"
-	done
-	rm -r usr/share/spotify
-fi
-
diff --git a/srcpkgs/spotify/files/spotify b/srcpkgs/spotify/files/spotify
index 35f912475d1..ab9cc8db10f 100644
--- a/srcpkgs/spotify/files/spotify
+++ b/srcpkgs/spotify/files/spotify
@@ -1,2 +1,2 @@
 #!/bin/sh
-LD_LIBRARY_PATH=/usr/share/spotify exec /usr/share/spotify/spotify-client/spotify "$@"
+LD_LIBRARY_PATH=/usr/libexec/spotify exec /usr/libexec/spotify/spotify "$@"
diff --git a/srcpkgs/spotify/template b/srcpkgs/spotify/template
index d9ec603bf6a..963b1d336c6 100644
--- a/srcpkgs/spotify/template
+++ b/srcpkgs/spotify/template
@@ -1,21 +1,67 @@
 # Template file for 'spotify'
 pkgname=spotify
 version=1.1.26
-revision=1
+revision=2
+_ver="${version}.501.gbe11e53b-15_amd64"
+_filename="spotify-client_${_ver}.deb"
 archs="x86_64"
 create_wrksrc=yes
 build_style=fetch
-depends="binutils gtk+ nss GConf libXScrnSaver libatomic"
+hostmakedepends="curl w3m"
+depends="GConf"
 short_desc="Proprietary music streaming client"
 maintainer="Stefan Mühlinghaus <jazzman@alphabreed.com>"
-license="Proprietary"
+license="custom:Proprietary"
 homepage="https://www.spotify.com"
+distfiles="http://repository.spotify.com/pool/non-free/s/spotify-client/${_filename}"
+checksum="54ba1bd91020913273c469591cedeebfa34aedc250033dde7c8b3fded94a9c71"
+_license_checksum="3949b3442f9e17e6934502884caa1e78fa97c48c4b8b79c2de8eb2c301b69f3f"
 repository=nonfree
-_sversion=".501.gbe11e53b-15_amd64"
-_schecksum="54ba1bd91020913273c469591cedeebfa34aedc250033dde7c8b3fded94a9c71"
+restricted=yes
+nostrip=yes
+
+post_extract() {
+	curl -L https://www.spotify.com/us/legal/end-user-agreement/ | \
+		w3m -dump -I utf-8 -T text/html > LICENSE
+	echo "$_license_checksum  LICENSE" | sha256sum -c || { sha256sum LICENSE; return 1; }
+}
+
+do_build() {
+	ar x "${_filename}"
+	bsdtar -xf data.tar.gz
+}
+
+_linklib() {
+	local LIB
+	LIB="$(find /usr/lib -name "${1}.so*" | sort | tail -1)"
+	ln -sf "${LIB}" "${DESTDIR}/usr/libexec/spotify/${1}.so.${2}"
+}
+
 do_install() {
-	vbin ${FILESDIR}/spotify
+	vbin "${FILESDIR}/spotify"
+
 	vmkdir usr/share/spotify
-	echo "export SVERSION=\"${version}${_sversion}\"" >"${DESTDIR}/usr/share/spotify/pkgdata"
-	echo "export SCHECKSUM=\"${_schecksum}\"" >>"${DESTDIR}/usr/share/spotify/pkgdata"
+	vmkdir usr/share/applications
+	vmkdir usr/libexec/
+	vcopy usr/share/spotify usr/libexec/
+
+	# move icons to /usr/share
+	mv "${DESTDIR}/usr/libexec/spotify/icons" "${DESTDIR}/usr/share/spotify/"
+
+	# install icons
+	for _s in 16 22 24 32 48 64 128 256 512; do
+		vmkdir "usr/share/icons/hicolor/${_s}x${_s}/apps"
+		ln -sf "/usr/share/spotify/icons/spotify-linux-${_s}.png" \
+			"${DESTDIR}/usr/share/icons/hicolor/${_s}x${_s}/apps/spotify-client.png"
+	done
+
+	vmkdir usr/share/applications
+	mv "${DESTDIR}/usr/libexec/spotify/spotify.desktop" \
+		"${DESTDIR}/usr/share/applications/spotify.desktop"
+
+	# provide dynamic libraries
+	_linklib libssl 1.0.0
+	_linklib libcrypto 1.0.0
+
+	vlicense LICENSE
 }

  parent reply	other threads:[~2020-07-15 21:26 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-14 19:36 [PR PATCH] " ericonr
2020-07-14 20:42 ` [PR PATCH] [Updated] " ericonr
2020-07-14 20:51 ` ericonr
2020-07-14 23:58 ` ericonr
2020-07-15  0:03 ` ericonr
2020-07-15 15:05 ` sgn
2020-07-15 17:34 ` ericonr
2020-07-15 20:57 ` Chocimier
2020-07-15 21:26 ` ericonr [this message]
2020-07-15 23:37 ` [PR REVIEW] " sgn
2020-07-15 23:37 ` sgn
2020-07-16  0:05 ` ericonr
2020-07-16  0:14 ` [PR PATCH] [Updated] " ericonr
2020-07-16  0:14 ` [PR REVIEW] " ericonr
2020-07-20  4:18 ` [PR PATCH] [Merged]: " abenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200715212605.agG1cbSf489JWUhQt7mLKVQL67m-4ZE2034NqjQJTRc@z \
    --to=ericonr@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).