Open coax75ohm opened 13 years ago
plist is a little ruby library, to install it in your system type: [sudo] gem install plist
I added a more meaningful error when plist is not installed.
That got me a little further. I'm still pretty new to using ruby, but now it appears to be failing while trying to parse the output of otool -L, which works fine when run from the command line.
$ rake pkg:mposxt --trace
(in /Users/coax/build/mplayerosx-builds)
** Invoke pkg:mposxt (first_time)
** Execute pkg:mposxt
rake aborted!
no block given
/Users/coax/build/mplayerosx-builds/lib/extensions/pathname.rb:26:in `each_line'
/Users/coax/build/mplayerosx-builds/lib/extensions/pathname.rb:26:in `otool'
/Users/coax/build/mplayerosx-builds/lib/extensions/pathname.rb:20:in `usrlibs'
/Users/coax/build/mplayerosx-builds/lib/extensions/pathname.rb:16:in `liblist'
/Users/coax/build/mplayerosx-builds/lib/dylibpackager.rb:15:in `cp_libraries'
/Users/coax/build/mplayerosx-builds/lib/dylibpackager.rb:9:in `stage_to'
/Users/coax/build/mplayerosx-builds/lib/mposxbinpackager.rb:43:in `bundle_mplayer'
/Users/coax/build/mplayerosx-builds/Rakefile:57
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:392:in `call'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:392:in `execute'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:392:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:392:in `execute'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:362:in `invoke'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:355:in `synchronize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:355:in `invoke'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1739:in `top_level'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1739:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1739:in `top_level'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1761:in `standard_exception_handling'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1733:in `top_level'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1711:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1761:in `standard_exception_handling'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1708:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/bin/rake:7
/usr/bin/rake:19:in `load'
/usr/bin/rake:19
Sorry for making you test this, it has probably ran only on my Mac until now :)
1) Try deleting everything from the deploy/ directory. 2) Add puts self at the start of the otool method in lib/extensions/pathname.rb. Something like https://gist.github.com/79145
Get some of the paths printed and try otool -L on them. I suspect it is not outputting the expected stuff.
I don't mind testing.
The output from puts self is: /Users/coax/build/mplayerosx-builds/deploy/mplayer-git-local.mpBinaries/Contents/MacOS/mplayer
$ otool -L /Users/coax/build/mplayerosx-builds/deploy/mplayer-git-local.mpBinaries/Contents/MacOS/mplayer
/Users/coax/build/mplayerosx-builds/deploy/mplayer-git-local.mpBinaries/Contents/MacOS/mplayer:
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0)
/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime (compatibility version 1.0.0, current version 1674.0.0)
/usr/X11/lib/libfreetype.6.dylib (compatibility version 13.0.0, current version 13.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/usr/X11/lib/libfontconfig.1.dylib (compatibility version 6.0.0, current version 6.3.0)
/usr/local/Cellar/libass/0.9.11/lib/libass.4.dylib (compatibility version 6.0.0, current version 6.0.0)
/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
/usr/local/Cellar/libbs2b/3.1.0/lib/libbs2b.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/Cellar/ffmpeg/HEAD/lib/libavutil.dylib (compatibility version 50.0.0, current version 50.36.0)
/usr/local/Cellar/ffmpeg/HEAD/lib/libavcodec.dylib (compatibility version 52.0.0, current version 52.108.0)
/usr/local/Cellar/ffmpeg/HEAD/lib/libavformat.dylib (compatibility version 52.0.0, current version 52.93.0)
/usr/local/Cellar/ffmpeg/HEAD/lib/libswscale.dylib (compatibility version 0.0.0, current version 0.12.0)
/usr/local/Cellar/ffmpeg/HEAD/lib/libpostproc.dylib (compatibility version 51.0.0, current version 51.2.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.5)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0)
/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.5.8)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 32.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.19.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 949.54.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 34.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 677.26.0)
/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.6.1)
I found out it is a problem in the Ruby version coming with Snow Leopard: the String#each_line method changed some of its behaviour in the most recent versions. I recommend using Ruby 1.9.2 with rvm to manage the different Ruby versions in an elegant way.
I will try to put out a patch in the next few days in order to support older versions of Ruby.
Cool, though actually I'm still using Leopard on that machine, I'm afraid too many things will break if I try to upgrade. Still, I packaged this version of mplayer manually and it seems to work with MPE, though it sometimes hangs when switching between files using ordered chapters, but that's a separate issue.
Running rake pkg:mposxt fails, I'm guessing because there is no plist.rb file and I don't see anywhere to download it from.
$ rake pkg:mposxt (in /Users/coax/build/mplayerosx-builds) rake aborted! no such file to load -- plist /Users/coax/build/mplayerosx-builds/Rakefile:49 (See full trace by running task with --trace)