diff --git a/app-misc/spicetify-cli/Manifest b/app-misc/spicetify-cli/Manifest index e649b15..85f3980 100644 --- a/app-misc/spicetify-cli/Manifest +++ b/app-misc/spicetify-cli/Manifest @@ -2,3 +2,5 @@ DIST spicetify-cli-2.20.0-deps.tar.xz 4747916 BLAKE2B 64a3dfebaa8bad2d8003c54338 DIST spicetify-cli-2.20.0.tar.gz 2031544 BLAKE2B ee853f6aaff416abb662adcac4c6d0fe74307fb818fdfa9d413b74c922c25d8b8c56166a8c4df34f4eb0555c770277e378027abfc8346c1bd5c4aeefabea4144 SHA512 80c83152302763205fcc4341c2d5a0e23e2c71d14512e661a770e05a4b315ef8c4cbf7a3a164511c824344d08ccb93fc7283deb13c843a31ddfadff826b7f69b DIST spicetify-cli-2.20.1-deps.tar.xz 4836496 BLAKE2B 2ce9dfcaeff71393638d78c7fd514d271b37a31c894341ac9ffde4216e763f3089aadc0fd5e1a4453b49dc88ed98ec9d66d4ffcdd31bd33d8000bafc8ef1f0b7 SHA512 0cfd0fd69fbfdd26d0541dbca2ca779fe005d68249f8bf872777b31454cf99ba8b5337564536ebfb7f79f8845d2ce51b21a283197f707367dd1a72556e6103d9 DIST spicetify-cli-2.20.1.tar.gz 2033994 BLAKE2B 5461b5ccb4a185dd08414eec4077f21c4b6f312faef092ec6adbf5d13772917d6f8e3b26e6a68cd4618605914c7bc9bae7d4060447d47d390a1128bf673a01d1 SHA512 4ff29aaba4ab4b63501c8323524579c88688c671c77b55be9025c9b17d2d92d711c9d543f62a78f0166c89891fdb58094fdb9566ea165dbd147176ed1648a38a +DIST spicetify-cli-2.20.2-deps.tar.xz 4836824 BLAKE2B 52b0ad55752e143d574b11ed5a3fb35820b52f794154002bebd021e1d25d7e00e08e1340c810a394914dea2a348d5725fcae583304b364ad909e9627fb2f05a7 SHA512 c7d610e61df03bd22899053c5791abcfca7763101473d9d4b3ac5de32fefa72e4d73bac4dedf02e2fcd2009db08ee88d959c6bdd378b7d1da33bebfb75e18b84 +DIST spicetify-cli-2.20.2.tar.gz 2036866 BLAKE2B 0da08a501936dd8485df797184541c56f83774e50e7e1291b1339ecf01647df207df7c92b3380bb18a45cc02f41fc3cc570a728b13ee78b30f3dc6d8db12cd22 SHA512 d74c8dc6af55f5a6103baec05925c789f47c55617945da002e2676c90210d5df4e567113431fe9f4f2735947169e4b84074023509949cb2048e018a39e8cf146 diff --git a/app-misc/spicetify-cli/spicetify-cli-2.20.2.ebuild b/app-misc/spicetify-cli/spicetify-cli-2.20.2.ebuild new file mode 100644 index 0000000..ae93697 --- /dev/null +++ b/app-misc/spicetify-cli/spicetify-cli-2.20.2.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +#2023-06-27: +# added 1.2.13 despite it not being declared compatbile for Linux in particular. +# Works fine for me and is declared compatible for Windows and macOS. +WHITELIST_VERSIONS=( + "~ 1.2.13" + "~ 1.2.11" + "~ 1.2.9" + "~ 1.2.8" + "~ 1.1.99" +) + +DESCRIPTION="Commandline tool to customize Spotify client." +HOMEPAGE="https://spicetify.app/" +SRC_URI=" + https://github.com/spicetify/spicetify-cli/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://gitlab.com/api/v4/projects/37881342/packages/generic/${PN}/${PV}/${P}-deps.tar.xz +" + +LICENSE="Apache-2.0 BSD LGPL-2.1 MIT" +SLOT="0" +KEYWORDS="~amd64" + +# no tests +RESTRICT="test" + +INSTALLDIR="/opt/${PN}" + +whitelist_versions_src_uri() { + local -a deps + local version_spec version1 version2 + + for index in ${!WHITELIST_VERSIONS[@]}; do + read -r version_spec version1 version2 <<< "${WHITELIST_VERSIONS[${index}]}" + + case ${version_spec} in + "<>") + deps+=( + ">=media-sound/spotify-${version1}" + "<=media-sound/spotify-${version2}" + ) + ;; + "~") + deps+=( "~media-sound/spotify-${version1}" ) + ;; + *) + die "Invalid version specifier in WHITELIST_VERSIONS" + ;; + esac + done + + RDEPEND=" || ( ${deps[@]} )" +} +whitelist_versions_src_uri + +whitelist_versions_elog() { + local versions + local version_spec version1 version2 + + # Iterate in reverse + for ((index = $(( ${#WHITELIST_VERSIONS[@]} - 1 )); index >= 0; index--)); do + read -r version_spec version1 version2 <<< "${WHITELIST_VERSIONS[${index}]}" + + case ${version_spec} in + "<>") + versions+="${version1} -> ${version2}" + ;; + "~") + versions+="${version1}" + ;; + *) + die "Invalid version specifier in WHITELIST_VERSIONS" + ;; + esac + + if [[ ${index} == 0 ]]; then + versions+=". " + elif [[ ${index} == 1 ]]; then + versions+=" and " + else + versions+=", " + fi + done + + echo "${versions}" +} + +src_compile() { + ego build -ldflags "-X main.version=${PV}" +} + +src_install() { + insinto "${INSTALLDIR}" + doins -r {CustomApps,Extensions,Themes,jsHelper,spicetify-cli} + dobin "${FILESDIR}/spicetify" + fperms +x "${INSTALLDIR}/spicetify-cli" +} + +pkg_postinst() { + elog "Spicetify requires a Spotify install that it can modify." + elog "To give read and write permissions to everyone on the system to run the following commands." + elog "# chmod a+wr /opt/spotify/spotify-client" + elog "# chmod a+wr /opt/spotify/spotify-client/Apps -R" + elog "" + elog "Spicetify compatibility is limited to the following Spotify versions:" + elog " $(whitelist_versions_elog)" + elog "" + elog "Otherwise you can install spotify to a user modifiable location like as a flatpak:" + elog " https://spicetify.app/docs/advanced-usage/installation#spotify-installed-from-flatpak" + elog "" + elog "To install themes see:" + elog " https://spicetify.app/docs/advanced-usage/themes" +}