Index: audio/pithos/Makefile =================================================================== --- audio/pithos/Makefile +++ audio/pithos/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= pithos -PORTVERSION= 1.0.0 -PORTREVISION= 3 +PORTVERSION= 1.4.1 CATEGORIES= audio MAINTAINER= jhixson@FreeBSD.org @@ -11,21 +10,40 @@ LICENSE= GPLv3 -USE_GITHUB= yes +BUILD_DEPENDS+= appstream-util:devel/appstream-glib \ + desktop-file-validate:devel/desktop-file-utils \ + glib>=2.54:devel/glib20 \ + help2man:misc/help2man \ + ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR} -RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/xdg/__init__.py:devel/py-xdg@${PY_FLAVOR} \ +RUN_DEPENDS+= glib-compile-schemas:devel/glib20 \ + gnome-keyring:security/gnome-keyring \ + gsettings-desktop-schemas>3.0.0:devel/gsettings-desktop-schemas \ + pkgconf>1.0:devel/pkgconf \ ${PYTHON_SITELIBDIR}/dbus/__init__.py:devel/py-dbus@${PY_FLAVOR} \ ${PYTHON_SITELIBDIR}/gi/overrides/Gst.py:multimedia/py-gstreamer1@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pylast>0:audio/py-pylast@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}pylast>0:audio/py-pylast@${PY_FLAVOR} \ + ${PYTHON_SITELIBDIR}/xdg/__init__.py:devel/py-xdg@${PY_FLAVOR} -USE_GNOME= gtk30 pygobject3 -USES= python:3.4+ -USE_PYTHON= distutils autoplist optsuffix +USES= python:3.4+ gnome meson ninja gettext +USE_GITHUB= yes USE_GSTREAMER1= core good bad soup -post-install: +INSTALLS_ICONS= yes + +post-patch: + ${SED} -i '' -e 's|@@PYTHONPREFIX_SITELIBDIR@@|${PYTHONPREFIX_SITELIBDIR}|g' ${WRKSRC}/meson.build + ${SED} -i '' -e 's|@@PYTHONPREFIX_SITELIBDIR@@|${PYTHONPREFIX_SITELIBDIR}|g' ${WRKSRC}/bin/pithos.in + ${SED} -i '' -e 's|@@PYTHONPREFIX_SITELIBDIR@@|${PYTHONPREFIX_SITELIBDIR}|g' ${WRKSRC}/meson_post_install.py + ${SED} -i '' -e 's|@@PYTHON_PATH@@|${PYTHONBASE}/bin/python${PYTHON_VER}|g' ${WRKSRC}/meson.build + ${SED} -i '' -e 's|@@PYTHON_PATH@@|${PYTHONBASE}/bin/python${PYTHON_VER}|g' ${WRKSRC}/bin/pithos.in + ${SED} -i '' -e 's|@@PYTHON_PATH@@|${PYTHONBASE}/bin/python${PYTHON_VER}|g' ${WRKSRC}/meson_post_install.py + ${SED} -i '' -e 's|@@PYTHON_PATH@@|${PYTHONBASE}/bin/python${PYTHON_VER}|g' ${WRKSRC}/docs/conf.py + ${SED} -i '' -e 's|sphinx-build-3|sphinx-build-${PYTHON_VER}|' ${WRKSRC}/docs/meson.build + +post-extract: + ${MKDIR} ${STAGEDIR}/${PYTHONPREFIX_SITELIBDIR}/${PORTNAME} + ${MKDIR} ${STAGEDIR}/${PREFIX}/share/glib-2.0/schemas ${MKDIR} ${STAGEDIR}${DATADIR} - (cd ${WRKSRC}/data/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${DATADIR}) - (cd ${WRKSRC}/pithos/data/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${DATADIR}) .include Index: audio/pithos/distinfo =================================================================== --- audio/pithos/distinfo +++ audio/pithos/distinfo @@ -1,2 +1,3 @@ -SHA256 (pithos-pithos-1.0.0_GH0.tar.gz) = cacd1a09e984fd83c4e9f38fa41feb0990981e0fd14d7b8c64e99cff294a9184 -SIZE (pithos-pithos-1.0.0_GH0.tar.gz) = 107108 +TIMESTAMP = 1547793970 +SHA256 (pithos-pithos-1.4.1_GH0.tar.gz) = 33682e5f7ac37ae99f91d09ceeb76fd51ca2cee0a326cbc8118079b24a51fbd5 +SIZE (pithos-pithos-1.4.1_GH0.tar.gz) = 125303 Index: audio/pithos/files/patch-bin__pithos.in =================================================================== --- /dev/null +++ audio/pithos/files/patch-bin__pithos.in @@ -0,0 +1,17 @@ +--- bin/pithos.in.orig 2017-11-26 19:10:08 UTC ++++ bin/pithos.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python3 ++#!@@PYTHON_PATH@@ + + import os + import sys +@@ -16,7 +16,7 @@ sys.modules['gi.overrides.GstPbutils'] = None + VERSION = '@VERSION@' + pkgdatadir = '@pkgdatadir@' + localedir = '@localedir@' +-srcdir = pkgdatadir ++srcdir = '@@PYTHONPREFIX_SITELIBDIR@@' + builddir = os.environ.get('MESON_BUILD_ROOT') + if builddir: + pkgdatadir = os.path.join(builddir, 'data') Index: audio/pithos/files/patch-docs__conf.py =================================================================== --- /dev/null +++ audio/pithos/files/patch-docs__conf.py @@ -0,0 +1,8 @@ +--- docs/conf.py.orig 2019-01-18 18:47:38 UTC ++++ docs/conf.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python3 ++#!@@PYTON_PATH@@ + # -*- coding: utf-8 -*- + # + # Pithos documentation build configuration file, created by Index: audio/pithos/files/patch-meson.build =================================================================== --- /dev/null +++ audio/pithos/files/patch-meson.build @@ -0,0 +1,11 @@ +--- meson.build.orig 2017-11-26 19:10:08 UTC ++++ meson.build +@@ -6,7 +6,7 @@ project('pithos', + i18n = import('i18n') + pkgdatadir = join_paths(get_option('datadir'), meson.project_name()) + +-install_subdir('pithos', install_dir: pkgdatadir) ++install_subdir('pithos', install_dir: '@@PYTHONPREFIX_SITELIBDIR@@') + subdir('data') + subdir('bin') + subdir('docs') Index: audio/pithos/files/patch-meson_post_install.py =================================================================== --- /dev/null +++ audio/pithos/files/patch-meson_post_install.py @@ -0,0 +1,21 @@ +--- meson_post_install.py.orig 2017-11-26 19:10:08 UTC ++++ meson_post_install.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python3 ++#!@@PYTHON_PATH@@ + + from compileall import compile_dir + from os import environ, path +@@ -14,8 +14,9 @@ if not destdir: + for theme in ('hicolor', 'ubuntu-mono-dark', 'ubuntu-mono-light'): + call(['gtk-update-icon-cache', '-qtf', path.join(datadir, 'icons', theme)]) + +- print('Compiling GSettings schemas...') +- call(['glib-compile-schemas', path.join(datadir, 'glib-2.0', 'schemas')]) ++print('Compiling GSettings schemas...') ++call(['glib-compile-schemas', path.join(datadir, 'glib-2.0', 'schemas')]) + + print('Compiling python bytecode...') +-compile_dir(destdir + path.join(datadir, 'pithos', 'pithos'), optimize=2) ++compile_dir(destdir + path.join('@@PYTHONPREFIX_SITELIBDIR@@', 'pithos'), ++ ddir='@@PYTHONPREFIX_SITELIBDIR@@', optimize=2) Index: audio/pithos/files/patch-setup.py =================================================================== --- audio/pithos/files/patch-setup.py +++ /dev/null @@ -1,27 +0,0 @@ ---- setup.py.orig 2014-05-01 22:33:16 UTC -+++ setup.py -@@ -37,11 +37,11 @@ def read(fname): - - if sys.platform != 'win32': - data_files = [ -- ('/usr/share/icons/hicolor/scalable/apps', ['data/icons/hicolor/pithos.svg']), -- ('/usr/share/icons/hicolor/48x48/apps', ['data/icons/hicolor/pithos-tray-icon.png']), -- ('/usr/share/icons/ubuntu-mono-dark/apps/16', ['data/icons/ubuntu-mono-dark/pithos-tray-icon.svg']), -- ('/usr/share/icons/ubuntu-mono-light/apps/16', ['data/icons/ubuntu-mono-light/pithos-tray-icon.svg']), -- ('/usr/share/applications', ['data/pithos.desktop']) -+ ('share/icons/hicolor/scalable/apps', ['data/icons/hicolor/pithos.svg']), -+ ('share/icons/hicolor/48x48/apps', ['data/icons/hicolor/pithos-tray-icon.png']), -+ ('share/icons/ubuntu-mono-dark/apps/16', ['data/icons/ubuntu-mono-dark/pithos-tray-icon.svg']), -+ ('share/icons/ubuntu-mono-light/apps/16', ['data/icons/ubuntu-mono-light/pithos-tray-icon.svg']), -+ ('share/applications', ['data/pithos.desktop']) - ] - else: - data_files = [] -@@ -78,6 +78,7 @@ setup( - ], - packages=find_packages(), - include_package_data=True, -+ zip_safe=False, - entry_points={ - 'gui_scripts': ['pithos = pithos.pithos:main'] - } Index: audio/pithos/pkg-deinstall =================================================================== --- /dev/null +++ audio/pithos/pkg-deinstall @@ -0,0 +1,9 @@ +#!/bin/sh + +[ "$2" = 'POST-DEINSTALL' ] || exit 0 + +if [ -d "${LOCALBASE}/share/glib-2.0/schemas" ] ; then + glib-compile-schemas "${LOCALBASE}/share/glib-2.0/schemas" +fi + +exit 0 Index: audio/pithos/pkg-install =================================================================== --- /dev/null +++ audio/pithos/pkg-install @@ -0,0 +1,14 @@ +#!/bin/sh + +case "$2" in + PRE-INSTALL) + if [ ! -d "${LOCALBASE}/share/glib-2.0/schemas" ] ; then + mkdir -p "${LOCALBASE}/share/glib-2.0/schemas" + fi + ;; + POST-INSTALL) + glib-compile-schemas "${LOCALBASE}/share/glib-2.0/schemas" + ;; +esac + +exit 0 Index: audio/pithos/pkg-plist =================================================================== --- audio/pithos/pkg-plist +++ audio/pithos/pkg-plist @@ -1,23 +1,77 @@ -%%DATADIR%%/media/album_default.png -%%DATADIR%%/media/album_default.svg -%%DATADIR%%/media/icon.svg -%%DATADIR%%/media/pithos-tray-icon.png -%%DATADIR%%/media/rate_bg.png -%%DATADIR%%/media/rate_bg.svg -%%DATADIR%%/icons/hicolor/pithos-tray-icon.png -%%DATADIR%%/icons/hicolor/pithos-tray-icon.svg -%%DATADIR%%/icons/hicolor/pithos.svg -%%DATADIR%%/icons/ubuntu-mono-dark/pithos-tray-icon.svg -%%DATADIR%%/icons/ubuntu-mono-light/pithos-tray-icon.svg -%%DATADIR%%/pithos.desktop -%%DATADIR%%/ui/PithosWindow.ui -%%DATADIR%%/ui/preferences_pithos_dialog.xml -%%DATADIR%%/ui/pithos_window.xml -%%DATADIR%%/ui/PreferencesPithosDialog.ui -%%DATADIR%%/ui/stations_dialog.xml -%%DATADIR%%/ui/search_dialog.xml -%%DATADIR%%/ui/AboutPithosDialog.ui -%%DATADIR%%/ui/about_pithos_dialog.xml -%%DATADIR%%/ui/SearchDialog.ui -%%DATADIR%%/ui/StationsDialog.ui -%%DATADIR%%/ui/app_menu.ui +bin/pithos +%%PYTHON_SITELIBDIR%%/pithos/AboutPithosDialog.py +%%PYTHON_SITELIBDIR%%/pithos/PreferencesPithosDialog.py +%%PYTHON_SITELIBDIR%%/pithos/SearchDialog.py +%%PYTHON_SITELIBDIR%%/pithos/StationsDialog.py +%%PYTHON_SITELIBDIR%%/pithos/StationsPopover.py +%%PYTHON_SITELIBDIR%%/pithos/__init__.py +%%PYTHON_SITELIBDIR%%/pithos/__main__.py +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/AboutPithosDialog.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/PreferencesPithosDialog.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/SearchDialog.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/StationsDialog.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/StationsPopover.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/__init__.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/__main__.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/application.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/gi_composites.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/gobject_worker.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/migrate_settings.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/pithos.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/plugin.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/__pycache__/util.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/application.py +%%PYTHON_SITELIBDIR%%/pithos/gi_composites.py +%%PYTHON_SITELIBDIR%%/pithos/gobject_worker.py +%%PYTHON_SITELIBDIR%%/pithos/migrate_settings.py +%%PYTHON_SITELIBDIR%%/pithos/pandora/__init__.py +%%PYTHON_SITELIBDIR%%/pithos/pandora/__pycache__/__init__.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/pandora/__pycache__/blowfish.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/pandora/__pycache__/data.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/pandora/__pycache__/fake.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/pandora/__pycache__/pandora.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/pandora/blowfish.py +%%PYTHON_SITELIBDIR%%/pithos/pandora/data.py +%%PYTHON_SITELIBDIR%%/pithos/pandora/fake.py +%%PYTHON_SITELIBDIR%%/pithos/pandora/pandora.py +%%PYTHON_SITELIBDIR%%/pithos/pithos.py +%%PYTHON_SITELIBDIR%%/pithos/plugin.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/10_band_equalizer.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/__init__.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/__pycache__/10_band_equalizer.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/__pycache__/__init__.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/__pycache__/auto_volume_normalization.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/__pycache__/inhibit_screensaver.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/__pycache__/journald_logging.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/__pycache__/lastfm.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/__pycache__/mediakeys.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/__pycache__/mpris.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/__pycache__/notification_icon.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/__pycache__/notify.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/__pycache__/screensaver_pause.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/auto_volume_normalization.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/dbus_util/DBusServiceObject.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/dbus_util/GioNotify.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/dbus_util/__pycache__/DBusServiceObject.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/dbus_util/__pycache__/GioNotify.cpython-36.opt-2.pyc +%%PYTHON_SITELIBDIR%%/pithos/plugins/inhibit_screensaver.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/journald_logging.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/lastfm.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/mediakeys.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/mpris.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/notification_icon.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/notify.py +%%PYTHON_SITELIBDIR%%/pithos/plugins/screensaver_pause.py +%%PYTHON_SITELIBDIR%%/pithos/util.py +man/man1/pithos.1.gz +share/appdata/io.github.Pithos.appdata.xml +share/applications/io.github.Pithos.desktop +share/dbus-1/services/io.github.Pithos.service +share/glib-2.0/schemas/io.github.Pithos.gschema.xml +share/icons/hicolor/48x48/apps/io.github.Pithos-tray.png +share/icons/hicolor/scalable/apps/io.github.Pithos-tray.svg +share/icons/hicolor/scalable/apps/io.github.Pithos.svg +share/icons/hicolor/symbolic/apps/io.github.Pithos-symbolic.svg +share/icons/ubuntu-mono-dark/16x16/apps/io.github.Pithos-tray.svg +share/icons/ubuntu-mono-light/16x16/apps/io.github.Pithos-tray.svg +%%DATADIR%%/pithos.gresource