aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/mpg321.rb51
1 files changed, 47 insertions, 4 deletions
diff --git a/Library/Formula/mpg321.rb b/Library/Formula/mpg321.rb
index b2e06385e..618679543 100644
--- a/Library/Formula/mpg321.rb
+++ b/Library/Formula/mpg321.rb
@@ -1,17 +1,60 @@
require 'formula'
class Mpg321 < Formula
- url 'http://downloads.sourceforge.net/project/mpg321/mpg321/0.2.13/mpg321_0.2.13.tar.gz'
homepage 'http://mpg321.sourceforge.net/'
- sha1 'e081688a084b16f56596c3ac4d3512e63a4b6269'
+ url 'http://sourceforge.net/projects/mpg321/files/mpg321/0.3.2/mpg321_0.3.2.orig.tar.gz'
+ sha1 'bf1c22542c86af69267828e45f217fdeb49e5d43'
depends_on 'mad'
depends_on 'libid3tag'
depends_on 'libao'
+ # 1. Apple defines semun already. Skip redefining it to fix build errors.
+ # This is a homemade patch fashioned using deduction.
+ # 2. Also a couple of IPV6 values are not defined on OSX that are needed.
+ # This patch was seen in the wild for an app called lscube:
+ # http://lscube.org/pipermail/lscube-commits/2009-March/000500.html
+ # Both patches have been reported upstream here:
+ # https://sourceforge.net/tracker/?func=detail&aid=3587769&group_id=36274&atid=416544
+ # Remove these at: Unknown. These have not been merged as of 0.3.2.
+ def patches; DATA; end
+
def install
- system "./configure", "--disable-debug", "--disable-dependency-tracking",
- "--prefix=#{prefix}"
+ system "./configure", "--disable-dependency-tracking",
+ "--disable-debug",
+ "--prefix=#{prefix}",
+ "--disable-mpg123-symlink",
+ "--enable-ipv6",
+ "--disable-alsa"
system "make install"
end
end
+
+__END__
+--- a/mpg321.h 2012-03-25 05:27:49.000000000 -0700
++++ b/mpg321.h 2012-11-15 20:54:28.000000000 -0800
+@@ -290,7 +290,7 @@
+ /* Shared total decoded frames */
+ decoded_frames *Decoded_Frames;
+
+-#if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
++#if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED) || defined(__APPLE__)
+ /* */
+ #else
+ union semun {
+--- a/network.c 2012-03-25 05:27:49.000000000 -0700
++++ b/network.c 2012-11-15 20:58:02.000000000 -0800
+@@ -50,6 +50,13 @@
+
+ #define IFVERB if(options.opt & MPG321_VERBOSE_PLAY)
+
++/* The following defines are needed to emulate the Linux interface on
++ * BSD-based systems like FreeBSD and OS X */
++#if !defined(IPV6_ADD_MEMBERSHIP) && defined(IPV6_JOIN_GROUP)
++#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
++#define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
++#endif
++
+ int proxy_enable = 0;
+ char *proxy_server;
+ int auth_enable = 0;