This repository has been archived by the owner. It is now read-only.

New formula: xmms2 0.8 #11798

Closed
wants to merge 1 commit into
from

Conversation

Projects
None yet
5 participants
Contributor

nandub commented Apr 21, 2012

XMMS2 is the next generation XMMS audio player.

  • The formula has many dependencies.
  • Added fails_with :clang as it fails to compile with clang.
  • Added --enable-jack option because the current jack formula does not compile with clang unless I specify --use-llvm option.
Contributor

adamv commented Apr 21, 2012

I realize that most of the codecs are optional, but since "optional" in Homebrew doesn't really mean anything yet.. any problem with just making them standard deps?

Contributor

nandub commented Apr 22, 2012

No problem.

Contributor

nandub commented Apr 22, 2012

How about now?

Contributor

nandub commented Apr 22, 2012

bump

Contributor

nandub commented Apr 26, 2012

bump

Contributor

nandub commented May 1, 2012

@adamv how about now?

Contributor

nandub commented Jun 15, 2012

@adamv what do you think now?

Contributor

adamv commented Jun 15, 2012

Can another maintainer take a look at this?

@jacknagel jacknagel commented on an outdated diff Jun 15, 2012

Library/Formula/xmms2.rb
+ depends_on 'libao'
+ depends_on 'libshout'
+ #Language bindings
+ depends_on 'boost'
+
+ fails_with :clang do
+ build 318
+ cause 'error: binding of reference to type...'
+ end
+
+ def options
+ [["--enable-jack", "Enable JACK output."]]
+ end
+
+ #binaries fail with Symbol not found errors.
+ skip_clean 'bin'
@jacknagel

jacknagel Jun 15, 2012

Contributor

skip_clean goes above def options (in general we keep the DSL elements above methods).

@jacknagel jacknagel commented on an outdated diff Jun 15, 2012

Library/Formula/xmms2.rb
+ fails_with :clang do
+ build 318
+ cause 'error: binding of reference to type...'
+ end
+
+ def options
+ [["--enable-jack", "Enable JACK output."]]
+ end
+
+ #binaries fail with Symbol not found errors.
+ skip_clean 'bin'
+
+ def install
+ system "./waf","configure","--prefix=#{prefix}","--conf-prefix=#{prefix}"
+ system "./waf","build"
+ system "./waf","install"
@jacknagel

jacknagel Jun 15, 2012

Contributor

Spaces after commas here, thanks.

Contributor

nandub commented Jun 15, 2012

@jacknagel what do you think now?

Contributor

jacknagel commented Jun 16, 2012

It wants to install Perl and Ruby bindings outside the prefix: https://gist.github.com/2939265

Offhand I can't recall what the correct locations are, but you should be able to grep through existing formulae to figure it out.

It might also do this for Python bindings when building against the system Python, but I have a Homebrew Python installed so I don't know for sure.

Contributor

nandub commented Jun 16, 2012

@jacknagel how about now?

New formula: xmms2 0.8
Main url not working so I added a mirror.  Also apply suggested changes
and add respective site libraries for ruby and perl bindings.

fix audit warnings
Contributor

nandub commented Sep 24, 2012

Just updated the pull request to fix some audit warnings. @jacknagel please let me know what you think now.

@adamv adamv referenced this pull request Sep 26, 2012

Closed

calling git from formula #15067

the 0.8 release is broken on osx, use the version from the dev branch. The 0.8 release will use 100% of your cpu. If you want to try it out. Install it from macports.

It will also not build with s4, you have to clone the submodule...It can be done using

git submodules update --init

then you have to remove s4 using --without-optional=s4

Also I'd consider removing all along perl and ruby support and python. I can't really say how perl packages are installed but if you really want to have ruby support, just create a gem. I made an egg for python. It can be installed using "pip install xmmsclient" and the ruby way should be gem install xmmsclient or something similar.

For some reasons, it makes sense not to compile these clients. You can't tell for sure that the user has a writeable directory and you can't tell for sure that the "wanted" binary is the one used by brew.

For example someone using rvm, virtualenvs etc. It will also make xmms2 lighter for compilation since not everybody wants everything.

Contributor

adamv commented Oct 27, 2012

Doesn't build for me on Snow Leopard:

[168/309] c: _build_/src/clients/lib/perl/XMMSClientResult.c -> _build_/src/clients/lib/perl/XMMSClientResult.c.1.o
cc1: error: unrecognized command line option "-march=core2"
lipo: can't open input file: /var/folders/-R/-RTga5RvF-8UNERefp3d5++++TI/-Tmp-//cco92B91.out (No such file or directory)
cc1: error: unrecognized command line option "-march=core2"
lipo: can't open input file: /var/folders/-R/-RTga5RvF-8UNERefp3d5++++TI/-Tmp-//ccYfPmQy.out (No such file or directory)
Waf: Leaving directory `/private/tmp/xmms2-Yspy/xmms2-0.8DrO_o/_build_'
Build failed

Here is my own version..

require 'formula'

# Documentation: https://github.com/mxcl/homebrew/wiki/Formula-Cookbook
# PLEASE REMOVE ALL GENERATED COMMENTS BEFORE SUBMITTING YOUR PULL REQUEST!

class Xmms2 < Formula
  homepage 'http://xmms2.org/wiki/Main_Page'
  url 'http://git.xmms2.org/xmms2/xmms2-devel/snapshot/6e6a9635f04c3e2c7af8dd9336ca6006d89f8114.tar.gz'
  sha1 'b8ade9e2c511280fe98ed81df438e357b22f8157'
  version '0.8.1'

  # depends_on 'cmake' => :build
  # depends_on :x11 # if your formula requires any X11/XQuartz components
  # ENV.libxml2
  depends_on 'glib'
  depends_on 'sqlite'
  depends_on 'flac'
  depends_on 'mad'
  depends_on 'mpg123'
  depends_on 'musepack'
  depends_on 'libmms'
  depends_on 'libsndfile'
  depends_on 'libvorbis'
  depends_on 'libao'

  def install
    # Some dependencie on s4 which doesn't build
    # system "echo `git clone git://git.xmms.se/xmms2/s4.git src/lib/s4`"
    `git init`
    `git add . && git commit -m "init"`
    `git clone git://git.xmms.se/xmms2/s4.git src/lib/s4`
    `./waf configure --prefix=#{prefix} --without-optional=s4,perl,ruby`
    `./waf build`
    `./waf install`
  end

  def test
    # This test will fail and we won't accept that! It's enough to just replace
    # "false" with the main program this formula installs, but it'd be nice if you
    # were more thorough. Run the test with `brew test xmms2`.
    system "false"
  end                                                                                                                                                                                     
end

If someone wants to merge that, I'd recommend removing the python plugin to. I made a python package and it can be installed using python package manager. Which is better than compiling it with whatever python will be used using brew.

It will probably compile but the python package might be useless from brew.

Contributor

adamv commented Nov 26, 2012

@llacroix please open a pull request! thanks!

Owner

MikeMcQuaid commented Feb 1, 2013

Doesn't build, closing.

@MikeMcQuaid MikeMcQuaid closed this Feb 1, 2013

@xu-cheng xu-cheng locked and limited conversation to collaborators Feb 16, 2016

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.