aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Formula/mdxmini.rb42
1 files changed, 28 insertions, 14 deletions
diff --git a/Library/Formula/mdxmini.rb b/Library/Formula/mdxmini.rb
index bac6e38ab..c4e9d83d3 100644
--- a/Library/Formula/mdxmini.rb
+++ b/Library/Formula/mdxmini.rb
@@ -1,14 +1,26 @@
-require 'formula'
-
class Mdxmini < Formula
- homepage 'http://clogging.web.fc2.com/psp/'
- url 'https://github.com/BouKiCHi/mdxplayer/archive/9afbc01f60a12052817cb14a81a8c3c976953506.tar.gz'
- version '20130115'
- sha1 '8ca3b597f009ee7de697329e26b9f3c402dda173'
+ homepage "http://clogging.web.fc2.com/psp/"
+ url "https://github.com/BouKiCHi/mdxplayer/archive/ae219b67a9d2a82f43ba35323c1d85d33959d319.tar.gz"
+ version "20140608"
+ sha256 "a3c4f1b60a3771826de9d3615a7485126818811a3b119ee1354e7b1cb84b66b3"
+
+ option "with-lib-only", "Do not build commandline player"
+ deprecated_option "lib-only" => "with-lib-only"
- option "lib-only", "Do not build commandline player"
+ depends_on "sdl" if build.without? "lib-only"
- depends_on 'sdl' unless build.include? "lib-only"
+ # Include NLG code in libmdxmini
+ # Submitted upstream: https://github.com/BouKiCHi/mdxplayer/pull/6
+ patch do
+ url "https://github.com/mistydemeo/mdxplayer/commit/ca7bad8f5b74a425765b161a213180c0654f914d.diff"
+ sha256 "6d49d632324942bd4901ef1c32d0a2a83a5265fa3ea258fdcef2ed329a6cd1f9"
+ end
+
+ # Fix undefined reference to externed variable in libmdxmini
+ patch do
+ url "https://github.com/mistydemeo/mdxplayer/commit/48075d7e9b136087f2d97d6be4fb2653b5ff66e3.diff"
+ sha256 "6aee796397c66b41cc0332545ebd0b1ac8ee35b7647949461d0ad9b51ebd1fed"
+ end
resource "test_song" do
url "ftp://ftp.modland.com/pub/modules/MDX/Popful Mail/pop-00.mdx"
@@ -19,18 +31,18 @@ class Mdxmini < Formula
cd "jni/mdxmini" do
# Specify Homebrew's cc
inreplace "mak/general.mak", "gcc", ENV.cc
- if build.include? "lib-only"
- system "make -f Makefile.lib"
+ if build.with? "lib-only"
+ system "make", "-f", "Makefile.lib"
else
system "make"
end
# Makefile doesn't build a dylib
- system "#{ENV.cc} -dynamiclib -install_name #{lib}/libmdxmini.dylib -o libmdxmini.dylib -undefined dynamic_lookup obj/*.o"
+ system ENV.cc, "-dynamiclib", "-install_name", "#{lib}/libmdxmini.dylib", "-o", "libmdxmini.dylib", "-undefined", "dynamic_lookup", *Dir["obj/*"]
- bin.install "mdxplay" unless build.include? "lib-only"
- lib.install "libmdxmini.a", "libmdxmini.dylib"
- (include+'libmdxmini').install Dir['src/*.h']
+ bin.install "mdxplay" if build.without? "lib-only"
+ lib.install "libmdxmini.dylib"
+ (include+"libmdxmini").install Dir["src/*.h"]
end
end
@@ -52,8 +64,10 @@ class Mdxmini < Formula
system ENV.cc, "mdxtest.c", "-lmdxmini", "-o", "mdxtest"
result = `#{testpath}/mdxtest #{testpath}/pop-00.mdx #{testpath}`.chomp
+ result.force_encoding("ascii-8bit") if result.respond_to? :force_encoding
# Song title is in Shift-JIS
expected = "\x82\xDB\x82\xC1\x82\xD5\x82\xE9\x83\x81\x83C\x83\x8B \x83o\x83b\x83N\x83A\x83b\x83v\x8D\xEC\x90\xAC (C)Falcom 1992 cv.\x82o\x82h. ass.\x82s\x82`\x82o\x81{"
+ expected.force_encoding("ascii-8bit") if result.respond_to? :force_encoding
assert_equal expected, result
end
end