Bug 238754 - audio/beets: Missing runtime dependency on audio/py-pyacoustid
Summary: audio/beets: Missing runtime dependency on audio/py-pyacoustid
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Alexandre C. Guimarães
URL:
Keywords: easy, needs-patch
Depends on:
Blocks: 239191
  Show dependency treegraph
 
Reported: 2019-06-22 02:09 UTC by Conrad Meyer
Modified: 2020-02-18 07:16 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (silb)
koobs: merge-quarterly?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Conrad Meyer freebsd_committer freebsd_triage 2019-06-22 02:09:58 UTC
** error loading plugin chroma:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/beets/plugins.py", line 270, in load_plugins
    namespace = __import__(modname, None, None)
  File "/usr/local/lib/python3.6/site-packages/beetsplug/chroma.py", line 27, in <module>
    import acoustid
ModuleNotFoundError: No module named 'acoustid'
Comment 1 Alexandre C. Guimarães freebsd_committer freebsd_triage 2019-07-13 18:52:08 UTC
Hello,

the current version already has py-pyacoustid in CHROMA_RUN_DEPENDS, are you experiencing this error in another way too?
Comment 2 Conrad Meyer freebsd_committer freebsd_triage 2019-07-14 01:12:44 UTC
Latest version still does not have a run-depend on pyacoustid:

$ pkg info --dependencies beets
beets-1.4.7_4:
        py36-munkres10-1.0.12
        python36-3.6.9
        py36-yaml-5.1
        py36-six-1.12.0
        py36-setuptools-41.0.1
        py36-jellyfish-0.6.1
        py36-sqlite3-3.6.9_7
        py36-unidecode-1.0.23_1
        py36-mutagen-1.42.0_1
        py36-musicbrainzngs-0.6

So, the bug seems to still be present.

The problem with using CHROMA_RUN_DEPENDS is that the CHROMA port option is broken.  It does not correctly unlink the chroma.py plugin from the beets application when the port option is disable.  So with !CHROMA, beets still attempts to reference the missing acoustid via chroma.py.
Comment 3 Alexandre C. Guimarães freebsd_committer freebsd_triage 2019-07-14 07:33:21 UTC
I see I didn't hit this because I use that OPTION ON. I updated to the last version and I will remove the CHROMA OPTION and add pyacoustid to RUN_DEPENDS then.

Thank you.
Comment 4 Conrad Meyer freebsd_committer freebsd_triage 2019-07-14 14:20:32 UTC
Thanks Alexandre!
Comment 5 commit-hook freebsd_committer freebsd_triage 2019-07-30 20:26:10 UTC
A commit references this bug:

Author: rigoletto
Date: Tue Jul 30 20:25:34 UTC 2019
New revision: 507661
URL: https://svnweb.freebsd.org/changeset/ports/507661

Log:
  audio/beets: Update to 1.4.9.

  - add missing audio/py-pyacoustid to RUN_DEPENDS
  - remove the CHROMA OPTION, the support is mandatory

  PR:		239191
  PR:		238754
  Reported by:	cem
  Reviewed by:	tcberner (mentor)
  MFH:		2019Q3

Changes:
  head/audio/beets/Makefile
  head/audio/beets/distinfo
Comment 6 Stig Inge Lea Bjørnsen 2020-02-18 07:16:37 UTC
(In reply to Conrad Meyer from comment #2)
The chroma.py plugin is "unlinked" from Beets by removing the plugin from the configuration file "$HOME/.config/beets/config.yaml".

In setup.py, the chroma option is still present as an optional dependency.

See also <https://beets.readthedocs.io/en/stable/plugins/chroma.html>.

[1] https://github.com/beetbox/beets/blob/v1.4.9/setup.py