commit: f9d64c8bf08adb2097a68d67155e9cb4b849d678 Author: David Roman <davidroman96 <AT> gmail <DOT> com> AuthorDate: Fri Apr 26 11:35:07 2024 +0000 Commit: David Roman <davidroman96 <AT> gmail <DOT> com> CommitDate: Fri Apr 26 11:35:07 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f9d64c8b
media-sound/TauonMusicBox: update live ebuild Signed-off-by: David Roman <davidroman96 <AT> gmail.com> .../TauonMusicBox/TauonMusicBox-9999.ebuild | 19 ++- .../files/TauonMusicBox-fix-build-system.patch | 156 --------------------- 2 files changed, 17 insertions(+), 158 deletions(-) diff --git a/media-sound/TauonMusicBox/TauonMusicBox-9999.ebuild b/media-sound/TauonMusicBox/TauonMusicBox-9999.ebuild index a38abd496d..ae30a05d6b 100644 --- a/media-sound/TauonMusicBox/TauonMusicBox-9999.ebuild +++ b/media-sound/TauonMusicBox/TauonMusicBox-9999.ebuild @@ -7,7 +7,7 @@ PLOCALES="cs de es fr_FR hu id it ja_JP nb_NO pl pt pt_BR pt_PT ru sv tr zh_CN" PYTHON_COMPAT=( python3_{10..12} ) DISTUTILS_USE_PEP517=setuptools -inherit cmake desktop distutils-r1 plocale +inherit cmake desktop distutils-r1 optfeature plocale xdg DESCRIPTION="The desktop music player of today!" HOMEPAGE="https://tauonmusicbox.rocks/" @@ -38,10 +38,17 @@ PHAZOR_DEPS=" " DEPEND=" + dev-python/beautifulsoup4[${PYTHON_USEDEP}] dev-python/musicbrainzngs[${PYTHON_USEDEP}] + dev-python/natsort[${PYTHON_USEDEP}] dev-python/pillow[${PYTHON_USEDEP}] dev-python/PySDL2[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/setproctitle[${PYTHON_USEDEP}] + dev-python/send2trash[${PYTHON_USEDEP}] + media-video/ffmpeg media-libs/mutagen[${PYTHON_USEDEP}] + media-libs/sdl2-image ${PHAZOR_DEPS} " @@ -50,13 +57,14 @@ RDEPEND=" ${DEPEND} dev-libs/libappindicator + x11-libs/libnotify " BDEPEND="sys-devel/gettext" src_prepare() { # Workaround. If PATCHES is used it would be applied to times and fail - eapply "${FILESDIR}/${PN}-fix-build-system.patch" + eapply "${FILESDIR}/${PN}-fix-desktop.patch" distutils-r1_src_prepare cmake_src_prepare @@ -105,3 +113,10 @@ python_install() { distutils-r1_python_install } + +pkg_postinst() { + optfeature "last fm support" dev-python/pylast + optfeature "PLEX support" dev-python/plexapi + + xdg_pkg_postinst +} diff --git a/media-sound/TauonMusicBox/files/TauonMusicBox-fix-build-system.patch b/media-sound/TauonMusicBox/files/TauonMusicBox-fix-build-system.patch deleted file mode 100644 index dad565e16c..0000000000 --- a/media-sound/TauonMusicBox/files/TauonMusicBox-fix-build-system.patch +++ /dev/null @@ -1,156 +0,0 @@ -From fea857478425a10ee285818e1c987d1efdbb6a5c Mon Sep 17 00:00:00 2001 -From: David Roman <davidroma...@gmail.com> -Date: Tue, 30 Jan 2024 23:34:48 +0100 -Subject: [PATCH 1/3] Add CmakeLists.txt file to compile phrazor - -Closes: #828 ---- - CMakeLists.txt | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - create mode 100644 CMakeLists.txt - -diff --git a/CMakeLists.txt b/CMakeLists.txt -new file mode 100644 -index 000000000..cf79faf5b ---- /dev/null -+++ b/CMakeLists.txt -@@ -0,0 +1,19 @@ -+cmake_minimum_required(VERSION 3.10) -+project(phazor) -+ -+add_library(phazor SHARED src/phazor/phazor.c) -+ -+find_package(PkgConfig REQUIRED) -+ -+pkg_check_modules(phazor REQUIRED flac libopenmpt libmpg123 opus opusfile wavpack samplerate) -+ -+find_package(kissfft CONFIG COMPONENTS float) -+if(NOT kissfft_FOUND) -+ add_subdirectory(src/phazor/kissfft) -+endif() -+ -+target_include_directories(phazor PRIVATE ${phazor_INCLUDE_DIRS}) -+target_link_libraries(phazor kissfft::kissfft ${phazor_LIBRARIES}) -+ -+ -+install(TARGETS phazor DESTINATION ${CMAKE_SOURCE_DIR}/lib) - -From 44785f42480b7e53fda707b839153c3665ae4df0 Mon Sep 17 00:00:00 2001 -From: David Roman <davidroma...@gmail.com> -Date: Thu, 1 Feb 2024 19:35:58 +0100 -Subject: [PATCH 2/3] Add setup.py and fix install_directory for Linux installs - ---- - setup.py | 16 ++++++++++++++++ - t_modules/t_main.py | 4 ++++ - tauon.py | 15 +++++++++------ - 3 files changed, 29 insertions(+), 6 deletions(-) - create mode 100644 setup.py - -diff --git a/setup.py b/setup.py -new file mode 100644 -index 000000000..dbfa6257a ---- /dev/null -+++ b/setup.py -@@ -0,0 +1,16 @@ -+from setuptools import setup, find_packages, Extension -+ -+with open('requirements.txt') as f: -+ required = f.read().splitlines() -+ -+setup( -+ name = 'Tauon Music Box', -+ packages = find_packages(), -+ version = '7.7.2', -+ url = 'https://tauonmusicbox.rocks/', -+ license = 'GPL-3', -+ install_requires=required, -+ classifiers=[ -+ 'Programming Language :: Python :: 3' -+ ], -+) -diff --git a/t_modules/t_main.py b/t_modules/t_main.py -index ebbd325b8..7cbb9782c 100644 ---- a/t_modules/t_main.py -+++ b/t_modules/t_main.py -@@ -141,6 +141,10 @@ - # if system == "windows" or msys: - # os.environ["PYSDL2_DLL_PATH"] = install_directory + "\\lib" - -+# Assume that it's a classic Linux install, use standard paths -+if install_directory.startswith("/usr/"): -+ install_directory = "/usr/share/TauonMusicBox" -+ - # Set data folders (portable mode) - user_directory = install_directory - config_directory = user_directory -diff --git a/tauon.py b/tauon.py -index 6dec8f340..8c502a1a3 100755 ---- a/tauon.py -+++ b/tauon.py -@@ -78,11 +78,6 @@ def transfer_args_and_exit(): - os.environ["PATH"] += ":" + sys._MEIPASS - os.environ['SSL_CERT_FILE'] = os.path.join(install_directory, "certifi", "cacert.pem") - --user_directory = os.path.join(install_directory, "user-data") --config_directory = user_directory -- --asset_directory = os.path.join(install_directory, "assets") -- - # If we're installed, use home data locations - install_mode = False - if install_directory.startswith("/opt/")\ -@@ -91,6 +86,14 @@ def transfer_args_and_exit(): - or install_directory.startswith("/snap/") or sys.platform == "darwin" or sys.platform == 'win32': - install_mode = True - -+# Assume that it's a classic Linux install, use standard paths -+if install_directory.startswith("/usr/"): -+ install_directory = "/usr/share/TauonMusicBox" -+ -+user_directory = os.path.join(install_directory, "user-data") -+config_directory = user_directory -+asset_directory = os.path.join(install_directory, "assets") -+ - if install_directory.startswith("/app/"): - # Its Flatpak - t_id = "com.github.taiko2k.tauonmb" -@@ -345,7 +348,7 @@ def transfer_args_and_exit(): - del flags - del img_path - --if pyinstaller_mode or sys.platform == "darwin": -+if pyinstaller_mode or sys.platform == "darwin" or install_mode: - from t_modules import t_main - else: - # Using the above import method breaks previous pickles. Could be fixed - -From e5f16cfa1176421f4a3b7990a8d30158c9141ae6 Mon Sep 17 00:00:00 2001 -From: David Roman <davidroma...@gmail.com> -Date: Fri, 2 Feb 2024 15:56:37 +0100 -Subject: [PATCH 3/3] Search phazor.so from standard LD_LIBRARY_PATH - -By removing the hardcoded path we allow LoadLibrary to search the -library from LD_LIBRARY_PATH directories ---- - t_modules/t_phazor.py | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/t_modules/t_phazor.py b/t_modules/t_phazor.py -index 2ec5724c9..0c629f62c 100644 ---- a/t_modules/t_phazor.py -+++ b/t_modules/t_phazor.py -@@ -55,7 +55,12 @@ def player4(tauon): - loaded_track = None - fade_time = 400 - -- aud = ctypes.cdll.LoadLibrary(pctl.install_directory + "/lib/libphazor.so") -+ if os.path.isfile(pctl.install_directory + "/lib/libphazor.so"): -+ # XXX: May be unnecesary. It's only to ensure compatibility with WWindows -+ aud = ctypes.cdll.LoadLibrary(pctl.install_directory + "/lib/libphazor.so") -+ else: -+ aud = ctypes.cdll.LoadLibrary("libphazor.so") -+ - aud.init() - - aud.get_device.restype = ctypes.c_char_p