Skip to content
Snippets Groups Projects
Commit 2e46b3fa authored by Ruslan Makhmatkhanov's avatar Ruslan Makhmatkhanov
Browse files

audio/exaile: readd port

Add upstream patch that adds support of berkeleydb and remove bsddb
dependency.
parent 0ca1f5f5
No related branches found
No related tags found
No related merge requests found
......@@ -17408,7 +17408,6 @@ multimedia/livestreamer||2022-06-30|Has expired: Abandoned upstream, please cons
net/kissd||2022-06-30|Has expired: Obsolete, target hardware was released 19 years ago
www/gecko-mediaplayer||2022-06-30|Has expired: Uses incompatible plugin interface NPAPI
multimedia/snappy||2022-06-30|Has expired: Deprecated upstream, please consider multimedia/mpv or multimedia/vlc
audio/exaile||2022-06-30|Has expired: Requires py-bsddb3 which requires upstream EOLd db5
multimedia/gnome-twitch||2022-06-30|Has expired: Unmaintained, please consider using www/yt-dlp or multimedia/streamlink
multimedia/clive||2022-06-30|Has expired: Last release in 2012, please consider using www/yt-dlp or multimedia/streamlink
multimedia/imagination||2022-06-30|Has expired: Obsolete, majority of DVD players made in the last 15+ years have been able to do image slideshows
......@@ -147,6 +147,7 @@
SUBDIR += etcd
SUBDIR += eteroj-lv2
SUBDIR += etktab
SUBDIR += exaile
SUBDIR += exhale
SUBDIR += ezstream
SUBDIR += faac
......
PORTNAME= exaile
DISTVERSION= 4.1.1
CATEGORIES= audio
MAINTAINER= rm@FreeBSD.org
COMMENT= Full featured python-based music player for GTK+
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}berkeleydb>0:databases/py-berkeleydb@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dbus>0:devel/py-dbus@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}gstreamer1>0:multimedia/py-gstreamer1@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}mutagen>0:audio/py-mutagen@${PY_FLAVOR}
USES= desktop-file-utils gmake gnome gstreamer python:3.6+
USE_GITHUB= yes
USE_GNOME= gtk30 librsvg2 pygobject3
USE_GSTREAMER= faad good
MAKE_ENV= EPREFIX=${PREFIX} \
MANPREFIX=${PREFIX} \
PYTHON3_CMD=${PYTHON_CMD} \
XDGCONFDIR=${PREFIX}/etc/xdg
NO_ARCH= yes
OPTIONS_DEFINE= DOCS NLS UDISKS2
OPTIONS_SUB= yes
UDISKS2_DESC= UDISKS2 implementation for hardware detection
NLS_BUILD_DEPENDS= help2man:misc/help2man
NLS_USES= gettext
NLS_INSTALL_TARGET_OFF= install_no_locale
UDISKS2_RUN_DEPENDS= ${LOCALBASE}bin/bsdisks:sysutils/bsdisks
.include <bsd.port.mk>
TIMESTAMP = 1617890794
SHA256 (exaile-exaile-4.1.1_GH0.tar.gz) = 12781731b77a1c90285c237bb51523e50283514eca434ab048f0a6cb3f0c95c0
SIZE (exaile-exaile-4.1.1_GH0.tar.gz) = 3641073
--- Makefile.orig 2018-02-09 15:54:09 UTC
+++ Makefile
@@ -6,7 +6,7 @@ EPREFIX = $(PREFIX)
LIBINSTALLDIR = $(EPREFIX)/lib
DATADIR = $(PREFIX)/share
-MANPREFIX = $(PREFIX)/share
+MANPREFIX ?= $(PREFIX)/share
# /etc if PREFIX is /usr, $PREFIX/etc otherwise.
ETCDIR := $(shell [ "$(PREFIX)" = "/usr" ] && echo /etc || echo "$(PREFIX)/etc")
XDGCONFDIR = $(ETCDIR)/xdg
@@ -23,6 +23,7 @@ EXAILELIBDIR = $(DESTDIR)$(LIBINSTALLDIR)/exaile
EXAILESHAREDIR = $(DESTDIR)$(DATADIR)/exaile
EXAILECONFDIR = $(DESTDIR)$(XDGCONFDIR)/exaile
EXAILEMANDIR = $(DESTDIR)$(MANPREFIX)/man
+BASHCOMPDIR = $(ETCDIR)/bash_completion.d
.PHONY: all all_no_locale builddir compile make-install-dirs uninstall \
install install_no_locale install-target locale install-locale \
@@ -206,7 +207,7 @@ po/messages.pot: pot
# dash (Debian's /bin/sh) doesn't support it and exits immediately, so we test it in a subshell.
# The "export LC_ALL=C" disables any locale-dependent sort behavior.
pot:
- ( ( set -o pipefail 2> /dev/null ) && set -o pipefail ; \
+ ( \
export LC_ALL=C && cd po && \
{ find ../xl ../xlgui -name "*.py" | sort && \
find ../data/ui -name "*.ui" | sort && \
https://github.com/exaile/exaile/issues/770
--- xl/common.py.orig 2021-03-28 10:31:17 UTC
+++ xl/common.py
@@ -44,7 +44,12 @@ import weakref
import urllib.request
import weakref
-import bsddb3 as bsddb
+# TODO: Flip these around once we've done more testing with berkeleydb
+try:
+ import bsddb3 as bsddb
+except ImportError:
+ import berkeleydb as bsddb
+
from gi.repository import Gio, GLib, GObject
from xl import shelve_compat
@@ -394,8 +399,8 @@ def open_shelf(path):
"""
shelve_compat.ensure_shelve_compat()
- # As of Exaile 4, new DBs will only be created as Berkeley DB Hash databases
- # using either bsddb3 (external) or bsddb (stdlib but sometimes removed).
+ # As of Exaile 4, DBs are created as Berkeley DB Hash databases using
+ # either berkeleydb or bsddb3.
# Existing DBs created with other backends will be migrated to Berkeley DB.
# We do this because BDB is generally considered more performant,
# and because gdbm currently doesn't work at all in MSYS2.
Exaile is a music manager and player for GTK+ written in Python. It
incorporates automatic fetching of album art, lyrics fetching, artist/album
information via Wikipedia, Last.fm scrobbling, support for many portable
media players including iPods, internet radio such as shoutcast, and tabbed
playlists.
WWW: https://www.exaile.org/
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment