audio/py-pyradio: New port: Command line radio player

Pyradio is a curses based Internet radio player.

It provides the following features:

  * vi like keys in addition to arrows and special keys
  * Station editor (add/edit) with CJK characters support
  * Configuration editor
  * Multiple playlist support
  * vi like station registers
  * Search function
  * Theming support
  * RadioBrowser support
This commit is contained in:
Nicola Vitale 2022-11-26 16:57:48 +01:00
parent d730540fcc
commit 0ba92b30f8
No known key found for this signature in database
GPG Key ID: A51E190C4C0808D0
6 changed files with 103 additions and 0 deletions

View File

@ -660,6 +660,7 @@
SUBDIR += py-pyliblo
SUBDIR += py-pymad
SUBDIR += py-pyogg
SUBDIR += py-pyradio
SUBDIR += py-pysndfile
SUBDIR += py-python-mpd2
SUBDIR += py-soundcloud

51
audio/py-pyradio/Makefile Normal file
View File

@ -0,0 +1,51 @@
PORTNAME= pyradio
DISTVERSION= 0.8.9.31
CATEGORIES= audio python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= nivit@FreeBSD.org
COMMENT= Curses based Internet radio player
WWW= https://github.com/coderholic/pyradio
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENCE
BUILD_DEPENDS= ${PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} \
${PKGNAMEPREFIX}psutil>=5.9.2:sysutils/py-psutil@${PY_FLAVOR} \
${PKGNAMEPREFIX}requests>=2.28.1:www/py-requests@${PY_FLAVOR} \
${PKGNAMEPREFIX}wheel>=0.38.4:devel/py-wheel@${PY_FLAVOR} \
bash:shells/bash
RUN_DEPENDS= ${PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} \
${PKGNAMEPREFIX}psutil>=5.9.2:sysutils/py-psutil@${PY_FLAVOR} \
${PKGNAMEPREFIX}requests>=2.28.1:www/py-requests@${PY_FLAVOR} \
${PKGNAMEPREFIX}wheel>=0.38.4:devel/py-wheel@${PY_FLAVOR} \
bash:shells/bash
USES= python:3.7+
USE_GITHUB= yes
GH_ACCOUNT= coderholic
USE_PYTHON= autoplist distutils
PORTDOCS= *
OPTIONS_DEFINE= DOCS
OPTIONS_DEFAULT= MPV
OPTIONS_SINGLE= MEDIA_PLAYER
OPTIONS_SINGLE_MEDIA_PLAYER= MPLAYER MPV VLC
# override predefined
MPV_DESC= Mpv media player support
VLC_DESC= VLC media player support
DOCS_PLIST_FILES= man/man1/pyradio.1.gz \
man/man1/pyradio_rb.1.gz
MPLAYER_RUN_DEPENDS+= mplayer:multimedia/mplayer
MPV_RUN_DEPENDS+= mpv:multimedia/mpv
VLC_RUN_DEPENDS+= vlc:multimedia/vlc
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_MAN} ${WRKSRC}/pyradio*.1 ${STAGEDIR}${MANPREFIX}/man/man1
${INSTALL_DATA} ${WRKSRC}/*.html ${WRKSRC}/*.md ${STAGEDIR}${DOCSDIR}/
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1669451407
SHA256 (coderholic-pyradio-0.8.9.31_GH0.tar.gz) = f5787d002f4bb891dc00421934c93ab42f6afa616dd51773cc53f775b16112a2
SIZE (coderholic-pyradio-0.8.9.31_GH0.tar.gz) = 629976

View File

@ -0,0 +1,11 @@
--- pyradio/ping.py.orig 2022-11-25 15:21:16 UTC
+++ pyradio/ping.py
@@ -35,7 +35,7 @@ def linux_ping(server, count=1, timeout_in_seconds=1):
-1: error
'''
try:
- r=subprocess.Popen(['ping', '-c', str(count), '-w', str(timeout_in_seconds), server ], stdout=subprocess.PIPE).stdout.read()
+ r=subprocess.Popen(['ping', '-c', str(count), '-t', str(timeout_in_seconds), server ], stdout=subprocess.PIPE).stdout.read()
# print(r)
return 0 if '100%' in str(r) else 1
except:

View File

@ -0,0 +1,25 @@
--- setup.py.orig 2022-11-25 15:21:16 UTC
+++ setup.py
@@ -2,7 +2,7 @@
from os import path as op
from sys import version_info
-from setuptools import setup, find_packages
+from setuptools import setup
from pyradio import version, __project__, __license__
@@ -27,8 +27,11 @@ meta = dict(
author='Ben Dowling',
author_email='ben.m.dowling@gmail.com',
url=' http://github.com/coderholic/pyradio',
- packages=find_packages(),
- include_package_data=True,
+ packages=['pyradio'],
+ package_dir={'pyradio':'pyradio'},
+ package_data={
+ 'pyradio': ['themes/*'],
+ },
entry_points={
'console_scripts': [
'pyradio = pyradio.main:shell',

View File

@ -0,0 +1,12 @@
Curses based Internet radio player.
PyRadio provides the following features:
* vi like keys in addition to arrows and special keys
* Station editor (add/edit) with CJK characters support
* Configuration editor
* Multiple playlist support
* vi like station registers
* Search function
* Theming support
* RadioBrowser support