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.