Hello, On Sat, 06 Apr 2013, Stefan Botter wrote: >On Friday, April 05, 2013 11:15:35 PM David Haller wrote: >> Done. Building (partly finished, not copied yet). Expect 0.9.8-2.1 >> soonish in the Repo. > >Great! Exactly what I had in mind. >I will simplify the package a little bit, based on what I did so far - >as long as I have a stable internet connetcion, it has been a rocky 12 >hours now with Kabel Deutschlad :(
Keep in mind though: you cannot get rid of harfbuzz{,-devel}, as that's pulled in via openSuSE's pango{,-devel} package (and via that by gtk{2,3?}{,-devel}). So, if harfbuzz is pulled in _anyway_, there's probably no real advantage trying to get rid of it for libass[1]. You probably could get rid of the -I/usr/include/harfbuzz in the GTK/PANGO/CPP/CFLAGS ... ('sed'ding GHB_CFLAGS because of e.g. [2] and probably some more stuff) to avoid the hb.h clash from -I/usr/include/harfbuzz. But IMO not worth the effort. As handbrake's headers are all internal, there's IMO only one sane way, which is the one I used, be it via patch or from the .spec. Well, maybe it'd be more practical to do the patching from the .spec instead of by a patch. Here's what I used: ==== put after %setup (possibly after other %patch*es) in %prep section ==== mv -i libhb/hb.h libhb/handbrake.h mv -i gtk/src/hb-backend.h gtk/src/handbrake-backend.h find . -name '*.[ch]' -exec grep -l 'include.*"hb.h"' {} + | \ xargs perl -pi -e 's/include\s*"hb.h"/include "handbrake.h"/' find . -name '*.[ch]' -exec grep -l 'include.*"hb-backend.h"' {} + | \ xargs perl -pi -e 's/include\s*"hb-backend.h"/include "handbrake-backend.h"/' ==== BTW: the handbrake developers know about the problem, it's cropping up on basically all other distributions too, like Gentoo, Fedora, Debian and derivatives ... I'd be glad if you CC me on followups / bugs etc., as I do not read the packman ML regularly (unless I spot a topic flying by in the procmail log ;) And feel free to ask for help. HTH, -dnh PS: ever experimented to get handbrake use the system/packman libs instead of its own? I fear at least the ffmpeg API is too unstable for that, but other libs (e.g. font*) should be stable enough ... Thoughts? PM (auf deutsch) is ok (ignorieren kann ich immer noch). Oh, and thanks for accepting my "changes-only" sr :) PPS: that whole crap is a good example to give public headers longer and speaking names and/or paths than "hb.h". And/or always use only the standard includes (and a project include) and include stuff relative to those. c.f. <linux/*.h>, <asm/*.h>, <harfbuzz/hb.h>, "libhb/hb.h"... Versioned -I is ok. c.f. 'ls /usr/include/gtk-*/' with '-I/usr/include/gtk-2.0', and, lo, and behold: $ pkg-config --cflags gtk+-2.0 -pthread -I/usr/include/gtk-2.0 [...] That's by someone who thought a bit (that '+' in the pkg-config name is annoying though). [1] --- HandBrake-0.9.8/contrib/libass/module.defs~ 2012-06-08 23:39:58.000000000 +0200 +++ HandBrake-0.9.8/contrib/libass/module.defs 2013-04-05 23:56:36.000000000 +0200 @@ -7,7 +7,7 @@ # Disable as many external dependencies as I can get away with # and tell configure where to find our version of freetype LIBASS.CONFIGURE.extra = \ - --disable-png --disable-enca \ + --disable-png --disable-enca --disable-harfbuzz \ FREETYPE_LIBS="-L$(call fn.ABSOLUTE,$(CONTRIB.build/))lib -lfreetype" \ FREETYPE_CFLAGS="-I$(call fn.ABSOLUTE,$(CONTRIB.build/))include/freetype2" \ FONTCONFIG_LIBS="-L$(call fn.ABSOLUTE,$(CONTRIB.build/))lib -lfontconfig" \ [2] # chroot /data/build/openSUSE_12.3-x86_64-root/ grusum:/> pkg-config --cflags gtk+-2.0 -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/harfbuzz ^^^^^^^^^^^^^^^^^^^^^^^ -- Kiss me twice. I'm schizophrenic. -- from the BSD fortune file _______________________________________________ Packman mailing list Packman@links2linux.de http://lists.links2linux.de/cgi-bin/mailman/listinfo/packman