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.