git: df0ac288bf2b - main - audio/py-spotipy: New port: Python library for Spotify Web API

From: Nicola Vitale <nivit_at_FreeBSD.org>
Date: Sat, 17 Dec 2022 15:31:17 UTC
The branch main has been updated by nivit:

URL: https://cgit.FreeBSD.org/ports/commit/?id=df0ac288bf2b5b281442ebbba0320dc5acf7dfaa

commit df0ac288bf2b5b281442ebbba0320dc5acf7dfaa
Author:     Nicola Vitale <nivit@FreeBSD.org>
AuthorDate: 2022-12-17 15:27:34 +0000
Commit:     Nicola Vitale <nivit@FreeBSD.org>
CommitDate: 2022-12-17 15:27:34 +0000

    audio/py-spotipy: New port: Python library for Spotify Web API
    
    Spotipy is a lightweight Python library for the Spotify Web API. With Spotipy
    you get full access to all of the music data provided by the Spotify platform.
    
    https://github.com/spotipy-dev/spotipy
---
 audio/Makefile                            |  1 +
 audio/py-spotipy/Makefile                 | 37 +++++++++++++++++++++++++++++++
 audio/py-spotipy/distinfo                 |  3 +++
 audio/py-spotipy/files/patch-docs_conf.py | 11 +++++++++
 audio/py-spotipy/pkg-descr                |  2 ++
 5 files changed, 54 insertions(+)

diff --git a/audio/Makefile b/audio/Makefile
index 4a03fb9b0fb8..717aff868953 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -667,6 +667,7 @@
     SUBDIR += py-sounddevice
     SUBDIR += py-soundscrape
     SUBDIR += py-speechrecognition
+    SUBDIR += py-spotipy
     SUBDIR += py-tagpy
     SUBDIR += py-wavio
     SUBDIR += py-webrtcvad
diff --git a/audio/py-spotipy/Makefile b/audio/py-spotipy/Makefile
new file mode 100644
index 000000000000..be825eee30e2
--- /dev/null
+++ b/audio/py-spotipy/Makefile
@@ -0,0 +1,37 @@
+PORTNAME=	spotipy
+DISTVERSION=	2.22.0
+CATEGORIES=	audio python
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	nivit@FreeBSD.org
+COMMENT=	Light weight Python library for the Spotify Web API
+WWW=		https://github.com/spotipy-dev/spotipy
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}redis>=3.5.3:databases/py-redis@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>=2.25.0:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}six>=1.15.0:devel/py-six@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}urllib3>=1.26.0:net/py-urllib3@${PY_FLAVOR}
+
+USES=		python
+USE_GITHUB=	yes
+GH_ACCOUNT=	spotipy-dev
+USE_PYTHON=	autoplist distutils
+
+NO_ARCH=	yes
+
+OPTIONS_DEFINE=	DOCS EXAMPLES
+
+DOCS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinx>=1.8.0,1:textproc/py-sphinx@${PY_FLAVOR}
+DOCS_PORTDOCS=		* .buildinfo
+EXAMPLES_PORTEXAMPLES=	*
+
+post-install-DOCS-on:
+	${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} -d ${WRKDIR} -b html ${WRKSRC}/docs ${STAGEDIR}${DOCSDIR}
+
+post-install-EXAMPLES-on:
+	cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}/${EXAMPLESDIR}
+
+.include <bsd.port.mk>
diff --git a/audio/py-spotipy/distinfo b/audio/py-spotipy/distinfo
new file mode 100644
index 000000000000..1593af001406
--- /dev/null
+++ b/audio/py-spotipy/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1671214324
+SHA256 (spotipy-dev-spotipy-2.22.0_GH0.tar.gz) = d5cc2672f249d339ba2054d4a0228a1670bc43fd9942f0e7c62fbe99e16f97e2
+SIZE (spotipy-dev-spotipy-2.22.0_GH0.tar.gz) = 109714
diff --git a/audio/py-spotipy/files/patch-docs_conf.py b/audio/py-spotipy/files/patch-docs_conf.py
new file mode 100644
index 000000000000..faf767862f62
--- /dev/null
+++ b/audio/py-spotipy/files/patch-docs_conf.py
@@ -0,0 +1,11 @@
+--- docs/conf.py.orig	2022-12-10 15:31:47 UTC
++++ docs/conf.py
+@@ -17,7 +17,7 @@ import sys, os
+ # add these directories to sys.path here. If the directory is relative to the
+ # documentation root, use os.path.abspath to make it absolute, like shown here.
+ #sys.path.insert(0, os.path.abspath('.'))
+-sys.path.insert(0, os.path.abspath('.'))
++sys.path.insert(0, os.path.abspath(os.path.join('..')))
+ import spotipy
+ 
+ # -- General configuration -----------------------------------------------------
diff --git a/audio/py-spotipy/pkg-descr b/audio/py-spotipy/pkg-descr
new file mode 100644
index 000000000000..2f65e32c998e
--- /dev/null
+++ b/audio/py-spotipy/pkg-descr
@@ -0,0 +1,2 @@
+Spotipy is a lightweight Python library for the Spotify Web API. With Spotipy
+you get full access to all of the music data provided by the Spotify platform.