Here are instructions that can be used to build Bino with MacPorts. To compile Bino this way, must have administration rights on your Mac, and you have to know how to use MacPorts and the Terminal application.
chmod 755 /Users/USER_NAME/Development/dports-dev
"sudo -u nobody ls /Users/USER_NAME/Development/dports-dev
". If it fails, then try again after having given execution permissions on your home directory using the following command: "chmod o+x /Users/USER_NAME
". If this still fails, then something is really wrong.sudo nano /opt/local/etc/macports/sources.conf
", insert at the beginning of the file the configuration for a local repository (read the comments in the file), by inserting the line "file:///Users/USER_NAME/Development/dports-dev
" (without quotes, and yes there are 3 slashes). Save and exit (if your're using nano, this means typing ctrl-X, Y and return).sudo port selfupdate
"cd /Users/USER_NAME/Development/dports-dev; portindex
" (no need to be root for this)sudo port install bino +app +openalsoft +qt4nokia +no_x11 +dc1394 +quartz
The +no_x11 and +quartz flags are to installing cairo and pango libs, which FFmpeg and Bino depend on, with Quartz support but without X11; the +dc1394 enables firewire camera support in FFmpeg (and Bino). Add +universal if you want a universal binary, i.e. PPC/i386 on Leopard, or i386/x86_64 on Snow Leopard and Lion, but this will most likely fail. The FFmpeg Portfile has a +no_dirac variant, which is especially useful for building it on platforms which have difficulties building the schoedinger package (Leopard PPC is one of these). Just install ffmpeg with the +no_dirac variant before installing bino (or add the +no_dirac flag to the command-ine above if FFmpeg is not yet installed) : sudo port install ffmpeg +no_dirac +dc1394 +no_x11
The resulting application is installed in /Applications/MacPorts, and it can be redistributed (it doesn't contain links to locally installed libraries or frameworks, and it is redistributable under the GPL v3 license).
The Bino Portfile has the following variants:
+app
build a standalone application rather than a command-line tool+openalsoft
compile against the OpenAL-soft port to MacOSX, which enables multi-channel audio extensions+qt4nokia
compile against Nokia's Qt4 distribution (which has to be installed) rather than MacPorts's qt4-mac package+debug
enable debugging codeTo compile Bino from source against the Qt4 distribution by Nokia and dependencies installed in MacPorts, configure the source using the following command:
$ git clone git://git.savannah.nongnu.org/bino.git
$ cd bino
$ autoreconf -i
$ ./configure --prefix=/opt/local LDFLAGS=-L/opt/local/lib CPPFLAGS=-I/opt/local/include libqtopengl_LIBS="-framework QtCore -framework QtGui -framework QtOpenGL -framework OpenGL" libqtopengl_CFLAGS="-I/Library/Frameworks/QtCore.framework/Headers -I/Library/Frameworks/QtGui.framework/Headers -I/Library/Frameworks/QtOpenGL.framework/Headers" libgl_LIBS="-framework OpenGL" libgl_CFLAGS="-I/Library/Frameworks/OpenGL.framework/Headers"
You can add --enable-debug
to add debugging and checking code. On Mac OS X Leopard (10.5), you should also add CC=gcc-4.2 CXX=g++-4.2
because the default compiler (GCC 4.0) doesn't support atomic builtins.
$ make
The command above compiled and links the bino binary, which can be found in src/bino
, and if you want to make a standalone and redistributable application, you can use the following command:
$ make package-macosx
The resulting Bino.app is in the currect directory:
$ open Bino.app
The command-line version is hidden inside:
$ ./Bino.app/Contents/MacOS/Bino --help
If you want to compile with Apple OpenAL, you should add to the configure flags: libopenal_LIBS="-framework OpenAL" libopenal_CFLAGS="-F/System/Library/Frameworks"
I still haven't managed to build Bino on the Mac with Equalizer support. Please tell me if you managed to do so.
sudo port install x264 +asm ffmpeg libass openal-soft
sudo port install bino +app +openalsoft +qt4nokia
Bino is free software, licensed under the terms of the GNU GPL version 3 or later.