Handbrake for Haiku
Is there any possibility of getting Handbrake, which was originally a BeOS application working on Haiku? When I visited the Handbrake forum, I came across this post by kallisti5, where he had apparently made an attempt at a Haiku build. What, if anything became of this?
HandBrake for Haiku
Quote
Postby kallisti5 » Sat Jan 22, 2011 6:28 pm
Here are the steps I have to far towards compiling HandBrake under Haiku...
I got to libass... but ran out of gas for now. I am not really sure how the contrib patch system in Handbrake works... but a lot of these fixes might be automated.
This is all gcc4, gcc2 isn't worth trying.
installoptionalpackage -a python
/Data/HandBrake-0.9.5> cp make/variant/linux.defs make/variant/haiku.defs
/Data/HandBrake-0.9.5> ./configure --prefix=/boot/common
/Data/HandBrake-0.9.5> cd ./build
/Data/HandBrake-0.9.5/build> make
* build for faac fails
/Data/HandBrake-0.9.5/build> cd contrib/faac/faac-1.28
/Data/HandBrake-0.9.5/build/contrib/faac/faac-1.28> libtoolize --force --copy --install
/Data/HandBrake-0.9.5/build/contrib/faac/faac-1.28> aclocal
/Data/HandBrake-0.9.5/build/contrib/faac/faac-1.28> autoconf
* remove all references to -lm and -lstdc++ in frontend/Makefile.in
/Data/HandBrake-0.9.5/build/contrib/faac/faac-1.28> cd ../../../
/Data/HandBrake-0.9.5/build> make
* build for faad2 fails
/Data/HandBrake-0.9.5/build> cd contrib/faad2/faad2-2.7
/Data/HandBrake-0.9.5/build/contrib/faad2/faad2-2.7> libtoolize --force --copy --install
/Data/HandBrake-0.9.5/build/contrib/faad2/faad2-2.7> aclocal
/Data/HandBrake-0.9.5/build/contrib/faad2/faad2-2.7> autoconf
* edit libfaad/common.h and remove lrintf definition block (we need logic to not define lrintf if we are on Haiku)
/Data/HandBrake-0.9.5/build/contrib/faad2/faad2-2.7> cd ../../../
/Data/HandBrake-0.9.5/build> make
* ffmpeg builds ok
* freetype builds ok
* libxml2 fails
/Data/HandBrake-0.9.5/build> cd contrib/libxml2/libxml2-2.7.7
/Data/HandBrake-0.9.5/build/contrib/libxml2/libxml2-2.7.7> libtoolize --force --copy --install
/Data/HandBrake-0.9.5/build/contrib/libxml2/libxml2-2.7.7> aclocal
/Data/HandBrake-0.9.5/build/contrib/libxml2/libxml2-2.7.7> autoconf
/Data/HandBrake-0.9.5/build/contrib/libxml2/libxml2-2.7.7> cd ../../../
/Data/HandBrake-0.9.5/build> make
* fontconfig fails
/Data/HandBrake-0.9.5/build> cd contrib/fontconfig/fontconfig-2.8.0/
/Data/HandBrake-0.9.5/build/contrib/fontconfig/fontconfig-2.8.0> libtoolize --force --copy --install
/Data/HandBrake-0.9.5/build/contrib/fontconfig/fontconfig-2.8.0> echo 'AC_CONFIG_MACRO_DIR([m4])' >> configure.in
/Data/HandBrake-0.9.5/build/contrib/fontconfig/fontconfig-2.8.0> aclocal
/Data/HandBrake-0.9.5/build/contrib/fontconfig/fontconfig-2.8.0> autoconf
* edit configure
* remvove:
"
PKG_PROG_PKG_CONFIG
if test "$enable_libxml2" = "yes" -o "$expat" = "no"; then
PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.6)
"
/Data/HandBrake-0.9.5/build/contrib/fontconfig/fontconfig-2.8.0> CC="/boot/develop/tools/gnupro/bin/gcc" CFLAGS="" CXX=/boot/develop/tools/gnupro/bin/g++ CXXFLAGS="" CPPFLAGS="" LDFLAGS="" ./configure --prefix=/Data/HandBrake-0.9.5/build/contrib/ --disable-dependency-tracking --disable-shared --enable-static --enable-libxml2 --with-freetype-config=/Data/HandBrake-0.9.5/build/contrib/bin/freetype-config LIBXML2_LIBS="-L/Data/HandBrake-0.9.5/build/contrib/lib -lxml2" LIBXML2_CFLAGS="-I/Data/HandBrake-0.9.5/build/contrib/include/libxml2"
* command above will fail.
* remove the fi at line provided
/Data/HandBrake-0.9.5/build/contrib/fontconfig/fontconfig-2.8.0> CC="/boot/develop/tools/gnupro/bin/gcc" CFLAGS="" CXX=/boot/develop/tools/gnupro/bin/g++ CXXFLAGS="" CPPFLAGS="" LDFLAGS="" ./configure --prefix=/Data/HandBrake-0.9.5/build/contrib/ --disable-dependency-tracking --disable-shared --enable-static --enable-libxml2 --with-freetype-config=/Data/HandBrake-0.9.5/build/contrib/bin/freetype-config LIBXML2_LIBS="-L/Data/HandBrake-0.9.5/build/contrib/lib -lxml2" LIBXML2_CFLAGS="-I/Data/HandBrake-0.9.5/build/contrib/include/libxml2"
/Data/HandBrake-0.9.5/build/contrib/fontconfig/fontconfig-2.8.0> touch ../.stamp.configure
/Data/HandBrake-0.9.5/build/contrib/fontconfig/fontconfig-2.8.0> cd ../../../
/Data/HandBrake-0.9.5/build> make
* lame will fail
/Data/HandBrake-0.9.5/build> cd contrib/lame/lame
/Data/HandBrake-0.9.5/build/contrib/lame/lame> libtoolize --force --copy --install
/Data/HandBrake-0.9.5/build/contrib/lame/lame> echo 'AC_CONFIG_MACRO_DIR([m4])' >> configure.in
/Data/HandBrake-0.9.5/build/contrib/lame/lame> libtoolize --force --copy --install
/Data/HandBrake-0.9.5/build/contrib/lame/lame> aclocal
* edit configure.in
* change AM_PATH_GTK(1.2.0, HAVE_GTK="yes", HAVE_GTK="no")
to
HAVE_GTK="no"
* change "PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.2, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")"
to
HAVE_SNDFILE="no"
/Data/HandBrake-0.9.5/build/contrib/lame/lame> autoconf
/Data/HandBrake-0.9.5/build/contrib/lame/lame> cd frontend
* remove all references to @SNDFILE_LIBS@ @GTK_LIBS@ @GTK_CFLAGS@ @SNDFILE_CFLAGS@ in Makefile
/Data/HandBrake-0.9.5/build/contrib/lame/lame> cd ../../../../
/Data/HandBrake-0.9.5/build> make
* libass will fail
/Data/HandBrake-0.9.5/build> cd contrib/libass/libass-0.9.9
/Data/HandBrake-0.9.5/build/contrib/libass/libass-0.9.9> libtoolize --force --copy --install
/Data/HandBrake-0.9.5/build/contrib/libass/libass-0.9.9> aclocal
* edit configure.ac
remove all lines containing "AC_DEFINE"
/Data/HandBrake-0.9.5/build/contrib/libass/libass-0.9.9> autoconf
* endless PKG_CHECK_MODULES errors.

Comments
Re: Handbrake for Haiku
HandBrake is available in haikuports and I've just updated it to 0.10.1.
The steps above are not needed anymore as there are packages and recipes ready for them.
I had to build a few deps first tho, namely:
Of course it would be nice to have them all available in HaikuDepot.
Re: Handbrake for Haiku
This is good news. Since I installed a CD/DVD drive into my Haiku box to test BurnitNow2 I might as well try Handbrake.
Thanks!
Re: Handbrake for Haiku
Diver,
You just made my day. I'm guessing some significant additions or changes will be needed to get it to the point where it is available in HaikuDepot for testing. Did you build it from source, or have you been in contact with the current development team about a Haiku version?
My understanding is that Eric Petit is no longer involved, and the current versions are all forks. Can you keep us updated in this thread?
Re: Handbrake for Haiku
The resulting package contains HandBreake_CLI tool, so it has no GUI yet. Therefore, it's not very useful I think. I built it from source.
See https://bitbucket.org/haikuports/haikuports/src/master/media-video/handb...
Re: Handbrake for Haiku
http://filthypants.blogspot.com/2008/08/how-to-compile-qt4-gui-for-handb...
that is a very old post, but IIRC Handbrake does have a QT4 GUI available, which means haiku can get a working QT handbrake GUI, today.