diff --git a/app-misc/spicetify-cli/Manifest b/app-misc/spicetify-cli/Manifest index 605da95..ed13603 100644 --- a/app-misc/spicetify-cli/Manifest +++ b/app-misc/spicetify-cli/Manifest @@ -1,2 +1,4 @@ DIST spicetify-cli-2.23.2-deps.tar.xz 5086400 BLAKE2B cdf306cee4425c0f645debcd72758de5b02eaf90622876d962805b646171282ac90eed500b5ed662c3f3ef7be0a4342b1d6ca1af7da2cd897171757c2ba9ff52 SHA512 cd489bfb2b40627da434e3f2a983ea7eb4a9a73ae2968af00ff5d36997a0fec022ce05f044b477ec81b20951b1702bdaa65d89a3a78310ed8662c9377da0d7c0 DIST spicetify-cli-2.23.2.tar.gz 2041315 BLAKE2B 8fb47db890f655b85e1d58d79bd15441907ae79495e2a197e59e64e7da114424e7e6606b6aeb41026da5ca7487530c92d73227ae9ebb833e58bd1d0a99ed67e2 SHA512 99b027f575212f44c80e9edcd2ed45b9b145f18519af84659fcbe94029ee1e88d6f7275a292e4c2e0315420dad48ee9baeef96092d244cc772d2fdc0c9571ab7 +DIST spicetify-cli-2.24.1-deps.tar.xz 5085588 BLAKE2B 75e192a21a083d64e1b9809e9f9caca6f4a133c473a7f6c20891ffd58f77c6066b0ccf261f10eb1a0556cf05fe33c3585e9964191183d5e7d2d89c6242c2f30a SHA512 9ff980f93f75796e0766ef0ad9d5ff2330e72634d401720fe8cdbdb8c6b373c9dc315ce601d8ba454c1b29ff34d77e6cfb2e32ce391e122c78e729adea2b4568 +DIST spicetify-cli-2.24.1.tar.gz 2041313 BLAKE2B 0c68d09a3dc18bb7fa7b45d20e1670116ce5e367dfea1b34291c3d5a487bf7784f2574db5968123261862a7907000bd27c16869f8699ff5c50b79c7a7dc50ee3 SHA512 9f42447192ecf9460451d81cee057ae291127445036f43a1f0b44c36642cde60ac8ca73b7ce503dc560a57f5b5d31f1472ed3b29622df46b6c4be3c57a2e79ad diff --git a/app-misc/spicetify-cli/spicetify-cli-2.24.1.ebuild b/app-misc/spicetify-cli/spicetify-cli-2.24.1.ebuild new file mode 100644 index 0000000..a2f61bd --- /dev/null +++ b/app-misc/spicetify-cli/spicetify-cli-2.24.1.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +WHITELIST_VERSIONS=( + "~ 1.2.20" + "~ 1.2.13" + "~ 1.2.11" + "~ 1.2.9" + "~ 1.2.8" +) + +whitelist_versions() { + local version_spec version1 version2 + local -a deps + + SPOTIFY_VERSIONS= + + # Iterate in reverse for elog + for ((index = $(( ${#WHITELIST_VERSIONS[@]} - 1 )); index >= 0; index--)); do + read -r version_spec version1 version2 <<< "${WHITELIST_VERSIONS[${index}]}" + + case ${version_spec} in + "<>") + deps[$index]="( <=media-sound/spotify-${version2} >=media-sound/spotify-${version1} )" + SPOTIFY_VERSIONS+="${version1} -> ${version2}" + ;; + "~") + deps[$index]="~media-sound/spotify-${version1}" + SPOTIFY_VERSIONS+="${version1}" + ;; + *) + die "Invalid version specifier in WHITELIST_VERSIONS" + ;; + esac + + if [[ ${index} == 0 ]]; then + SPOTIFY_VERSIONS+=". " + elif [[ ${index} == 1 ]]; then + SPOTIFY_VERSIONS+=" and " + else + SPOTIFY_VERSIONS+=", " + fi + done + + RDEPEND=" || ( ${deps[@]} )" +} +whitelist_versions + +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}" + +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 " ${SPOTIFY_VERSIONS}" + 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" +}