2009-10-10, 18:57
Posting this in case anybody else is interested.
I can't really take much credit for the .spec file. I'd found somebody else that had one for Fedora 8/10 (pretty sure it's Scott Havarnek, they're still in changelog iirc), so I took it and added some stuff to help force xbmc to find MySQL, NVidia, etc. libs and headers where they will be on a Fedora/RPMFusion system. I didn't like the idea of having to manually copy files around or create symlinks on my build system just so xbmc's build Makefiles could find things where it wanted to look for them, when it isn't really necessary.
So perhaps we could call this a contribution to the community. Feel free to tear it to shreds.
It works for me when the rev I'm building from is good.
As far as how i get the sources, I keep a local svn checkout around and when I want to build a particular svn revision, I 'cp -av XBMC-svn XBMC-svn23582' (for example) to copy the source tree from the XBMC svn dir to a tree named after the svn revision.
Then I tar it up:
tar cjvf XBMC-svn23582.tar.bz2 XBMC-svn23582/*
and drop the tarball, spec file, etc. into my RPM building area, and figure out what other libs, -devel packages, etc. need to be added as Requires: or BuildRequires:.
The one thing I wish the developers could do is add configurable paths for the NVidia and MySQL include and lib directories to the autoconf/configure setup, and make the rest of the Makefile system obey them. So instead of having to add a bunch of -L/usr/lib/nvidia -I/usr/include/nvidia etc. stuff to compiler flags, LDFLAGS etc we could just throw "--with-nvidia-headers=/usr/include/nvidia --with-nvidia-libdir=/usr/lib/nvidia", for example.
Anyway, here's the spec file. I apologize for all the compiler flags hacking and such. It's what I had to do to get good builds.
Cheers,
PharaohsPaw
I can't really take much credit for the .spec file. I'd found somebody else that had one for Fedora 8/10 (pretty sure it's Scott Havarnek, they're still in changelog iirc), so I took it and added some stuff to help force xbmc to find MySQL, NVidia, etc. libs and headers where they will be on a Fedora/RPMFusion system. I didn't like the idea of having to manually copy files around or create symlinks on my build system just so xbmc's build Makefiles could find things where it wanted to look for them, when it isn't really necessary.
So perhaps we could call this a contribution to the community. Feel free to tear it to shreds.
It works for me when the rev I'm building from is good.
As far as how i get the sources, I keep a local svn checkout around and when I want to build a particular svn revision, I 'cp -av XBMC-svn XBMC-svn23582' (for example) to copy the source tree from the XBMC svn dir to a tree named after the svn revision.
Then I tar it up:
tar cjvf XBMC-svn23582.tar.bz2 XBMC-svn23582/*
and drop the tarball, spec file, etc. into my RPM building area, and figure out what other libs, -devel packages, etc. need to be added as Requires: or BuildRequires:.
The one thing I wish the developers could do is add configurable paths for the NVidia and MySQL include and lib directories to the autoconf/configure setup, and make the rest of the Makefile system obey them. So instead of having to add a bunch of -L/usr/lib/nvidia -I/usr/include/nvidia etc. stuff to compiler flags, LDFLAGS etc we could just throw "--with-nvidia-headers=/usr/include/nvidia --with-nvidia-libdir=/usr/lib/nvidia", for example.
Anyway, here's the spec file. I apologize for all the compiler flags hacking and such. It's what I had to do to get good builds.
Cheers,
PharaohsPaw