mopidy / homebrew-mopidy

Homebrew formulas for Mopidy and Mopidy extensions
https://mopidy.com
Other
22 stars 15 forks source link

Issue with gst-plugins-good #12

Closed tricksunga closed 7 years ago

tricksunga commented 8 years ago

I'm new to tinkering with brew so I'm not sure why it happens, but it looks like it's ignoring the dependency gst-plugins-good. Installing with options -vd doesn't show any error or warnings.

➜  ~ brew install mopidy
==> Installing mopidy from mopidy/mopidy
==> Installing dependencies for mopidy/mopidy/mopidy: gst-plugins-good
==> Installing mopidy/mopidy/mopidy dependency: gst-plugins-good
==> Using the sandbox
==> Downloading https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.8.3.tar.xz
Already downloaded: /Users/trick.sunga/Library/Caches/Homebrew/gst-plugins-good-1.8.3.tar.xz
==> Patching
patching file sys/osxvideo/cocoawindow.h
patching file sys/osxvideo/osxvideosink.h
==> ./configure --prefix=/usr/local/Cellar/gst-plugins-good/1.8.3_1 --disable-gtk-doc --disable-goom --with-default-videosink=ximagesink --disable-silent-rules --disable-x
==> make
==> make install
🍺  /usr/local/Cellar/gst-plugins-good/1.8.3_1: 370 files, 12.3M, built in 3 minutes 19 seconds
==> Installing mopidy/mopidy/mopidy
==> Installing dependencies for mopidy/mopidy/mopidy: gst-plugins-good

➜  ~ brew info mopidy
mopidy/mopidy/mopidy: stable 2.0.1, HEAD
Extensible music server written in Python
http://www.mopidy.com/
Not installed
From: https://github.com/mopidy/homebrew-mopidy/blob/master/mopidy.rb
==> Dependencies
Required: gst-plugins-base ✔, gst-plugins-good ✔, gst-plugins-bad ✔, gst-plugins-ugly ✔, gst-python ✔, mopidy/mopidy/python-pykka ✔, mopidy/mopidy/python-tornado ✔, mopidy/mopidy/python-requests ✔
==> Caveats
To have launchd start mopidy/mopidy/mopidy now and restart at login:
  brew services start mopidy/mopidy/mopidy
Or, if you don't want/need a background service you can just run:
  mopidy

➜  ~ 

while gst-plugins-good is already installed

➜  ~ brew info gst-plugins-good
gst-plugins-good: stable 1.8.3 (bottled), HEAD
GStreamer plugins (well-supported, under the LGPL)
https://gstreamer.freedesktop.org/
/usr/local/Cellar/gst-plugins-good/1.8.3_1 (370 files, 12.3M) *
  Built from source on 2016-09-21 at 15:05:48 with: --with-flac --with-libshout --with-speex --with-taglib
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gst-plugins-good.rb
==> Dependencies
Build: xz ✔, pkg-config ✔
Required: gettext ✔, gst-plugins-base ✔, libsoup ✔
Recommended: jpeg ✔, orc ✔
Optional: check ✘, gdk-pixbuf ✔, aalib ✘, cairo ✔, flac ✔, libcaca ✘, libdv ✘, libpng ✔, libshout ✔, speex ✔, taglib ✔, libvpx ✘, pulseaudio ✘, jack ✘
==> Options
--with-aalib
        Build with aalib support
--with-cairo
        Build with cairo support
--with-check
        Build with check support
--with-flac
        Build with flac support
--with-gdk-pixbuf
        Build with gdk-pixbuf support
--with-jack
        Build with jack support
--with-libcaca
        Build with libcaca support
--with-libdv
        Build with libdv support
--with-libpng
        Build with libpng support
--with-libshout
        Build with libshout support
--with-libvpx
        Build with libvpx support
--with-pulseaudio
        Build with pulseaudio support
--with-speex
        Build with speex support
--with-taglib
        Build with taglib support
--with-x11
        Build with x11 support
--without-jpeg
        Build without jpeg support
--without-orc
        Build without orc support
--HEAD
        Install HEAD version
➜  ~

Also happens to mopidy-spotify

➜  ~ brew install mopidy-spotify
==> Installing mopidy-spotify from mopidy/mopidy
==> Installing dependencies for mopidy/mopidy/mopidy-spotify: gst-plugins-good, mopidy/mopidy/libspotify, mopidy/mopidy/python-pycparser, mopidy/mopidy/python-cffi, mopidy/mopidy/python-spotify
==> Installing mopidy/mopidy/mopidy-spotify dependency: gst-plugins-good
==> Using the sandbox
==> Downloading https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.8.3.tar.xz
Already downloaded: /Users/trick.sunga/Library/Caches/Homebrew/gst-plugins-good-1.8.3.tar.xz
==> Patching
patching file sys/osxvideo/cocoawindow.h
patching file sys/osxvideo/osxvideosink.h
==> ./configure --prefix=/usr/local/Cellar/gst-plugins-good/1.8.3_1 --disable-gtk-doc --disable-goom --with-default-videosink=ximagesink --disable-silent-rules --disable-x
==> make
==> make install
🍺  /usr/local/Cellar/gst-plugins-good/1.8.3_1: 370 files, 12.3M, built in 3 minutes 18 seconds
==> Installing mopidy/mopidy/mopidy-spotify dependency: mopidy/mopidy/libspotify
==> Downloading https://developer.spotify.com/download/libspotify/libspotify-12.1.51-Darwin-universal.zip
Already downloaded: /Users/trick.sunga/Library/Caches/Homebrew/libspotify-12.1.51.zip
🍺  /usr/local/Cellar/libspotify/12.1.51: 149 files, 5.9M, built in 1 second
==> Installing mopidy/mopidy/mopidy-spotify dependency: mopidy/mopidy/python-pycparser
==> Downloading https://pypi.python.org/packages/source/p/pycparser/pycparser-2.14.tar.gz
Already downloaded: /Users/trick.sunga/Library/Caches/Homebrew/python-pycparser-2.14.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/python-pycparser/2.14 --single-version-externally-managed --record=installed.txt
🍺  /usr/local/Cellar/python-pycparser/2.14: 41 files, 872K, built in 1 second
==> Installing mopidy/mopidy/mopidy-spotify dependency: mopidy/mopidy/python-cffi
==> Downloading https://pypi.python.org/packages/83/3c/00b553fd05ae32f27b3637f705c413c4ce71290aa9b4c4764df694e906d9/cffi-1.7.0.tar.gz
Already downloaded: /Users/trick.sunga/Library/Caches/Homebrew/python-cffi-1.7.0.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/python-cffi/1.7.0 --single-version-externally-managed --record=installed.txt
🍺  /usr/local/Cellar/python-cffi/1.7.0: 42 files, 755.2K, built in 4 seconds
==> Installing mopidy/mopidy/mopidy-spotify dependency: mopidy/mopidy/python-spotify
==> Downloading https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.5.tar.gz
Already downloaded: /Users/trick.sunga/Library/Caches/Homebrew/python-spotify-2.0.5.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/python-spotify/2.0.5 --single-version-externally-managed --record=installed.txt
🍺  /usr/local/Cellar/python-spotify/2.0.5: 67 files, 840.0K, built in 4 seconds
==> Installing mopidy/mopidy/mopidy-spotify
==> Installing dependencies for mopidy/mopidy/mopidy-spotify: gst-plugins-good
➜

➜  ~ brew info mopidy-spotify
mopidy/mopidy/mopidy-spotify: stable 3.0.0, HEAD
Mopidy extension for playing music from Spotify
https://github.com/mopidy/mopidy-spotify
Not installed
From: https://github.com/mopidy/homebrew-mopidy/blob/master/mopidy-spotify.rb
==> Dependencies
Required: mopidy/mopidy/mopidy ✔, mopidy/mopidy/python-pykka ✔, mopidy/mopidy/python-requests ✔, mopidy/mopidy/python-spotify ✔
➜

Workaround for mopidy is to install older version 1.1.2:

➜  ~ brew install https://raw.githubusercontent.com/mopidy/homebrew-mopidy/aa05065347a73d13778c18549120016fdb935d03/mopidy.rb
➜  ~ brew link --overwrite gst-plugins-bad010

I can't find a way to install an old mopidy-spotify as it depends on mopidy which depends on gst-plugins-good

jgillman commented 7 years ago

I fixed it!! I ran into this same problem.


The mopidy formula has this dependency requirement for gst-plugins-good:

gst-plugins-good --with-flac --with-jpeg --with-libshout --with-libsoup --with-speex --with-taglib

If I use those requirements to install the dependency manually I get:

$ brew install gst-plugins-good --with-flac --with-jpeg --with-libshout --with-libsoup --with-speex --with-taglib
Warning: gst-plugins-good: this formula has no --with-jpeg option so it will be ignored!
Warning: gst-plugins-good: this formula has no --with-libsoup option so it will be ignored!
==> Using the sandbox
==> Downloading https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.10.2.tar.xz
Already downloaded: /Users/jgillman/Library/Caches/Homebrew/gst-plugins-good-1.10.2.tar.xz
==> ./configure --prefix=/usr/local/Cellar/gst-plugins-good/1.10.2 --disable-gtk-doc --disable-goom --with-default-videosink=ximagesink --disable-silent-rules
==> make
==> make install
🍺  /usr/local/Cellar/gst-plugins-good/1.10.2: 454 files, 13.3M, built in 2 minutes 23 seconds

The two warnings pointed out that --with-jpeg and --with-libsoup are not available anymore so it just ignores them. The mopidy formula requires those options so it won't install until they're satisfied.

Looking into brew info gst-plugins-good I can see that "jpeg" is now included by default (no more --with-jpeg needed) and libsoup is now a required dependency so it will be installed/required regardless (no more --with-libsoup). I edited the formula locally with brew edit mopidy, remove those two options, saved, and successfully brew install mopidy!

TL;DR

Do brew edit mopidy.

Remove the lines with-jpeg and with-libsoup from the depends_on "gst-plugins-good" section. Save.

Install with brew install mopidy!

tricksunga commented 7 years ago

It works! Closing this now. Thanks @jgillman !