).
- Upgraded the package version.
packages. (
- Uploaded the Vlad and Denis patch for Cairo and GTK.
We have tested the setup on Fedora 8 and Ubuntu 7.10.
-----Original Message-----
From: dev-platforms-mobile-boun
...@lists.mozilla.org
[mailto:dev-platforms-mobile-boun...@lists.mozilla.org] On Behalf Of Ray
Kiddy
Sent: Sunday, May 25, 2008 4:21 PM
To: dev-platforms-mob...@lists.mozilla.org
Subject: Re: updates to Mobile/DFBPorting doc?
Mohan Reddy Duggi wrote:
> Ray,
> Thanks for the feedback. Actually we didn't realize some one else
apart from us are actually using this page.
> Yes, this page has become really stale over last few months. We were
planning to update this page once we get DFB stable on some version of
gtk. But I'm going to fix it early next week since now I now others are
using it too; from now on we'll try to keep it as up-to-date as
possible.
> Not just the gtk package information, even parts of porting approach
has been changed (especially the surface part) after Vlad, roc and
Stuart reviewed the code. So, we need to update it too.
> So far we have got firefox-dfb working with some display issues on
gtk+-2.13.x. This was possible because of help from Vlad and Stuart. We
are trying to get this working on gtk+-2.12.9 as our platform depends on
that. Stuart has kindly created an hg repo for firefox-dfb which
contains all the DFB patches. Vlad fixed couple of bugs in cairo-1.6.4.
Denis Oliver Kropp (DirectFB developer) is trying make gdk-directfb
backend stable for gtk+-2.12.9 and he also has a patch for gtk.
> I have a script that automates downloading, patching and building of
gtk packages. We will update this page with all the up-to-date info (hg
repo info, updated porting approach, cairo & gtk patches, script, bugs
filed so far, etc).
> Thanks,
> Mohan.
Well, thanks for the info. FYI, the script I used is below. I found
these few issues with building:
1) my scratchbox does not have apt-get, so I fetched and built
flex-2.5.35 and bison-2.3 and this was easy to do.
2) I think we are not using SDL, so I did not include that.
3) The project page for libpng says that there is a security problem
with versions of libpng that include the one being referenced in the
DFBPorting document. I used libpng-1.2.29 and this seemed to build fine.
4) As I mentioned earlier, cairo demands pixman-0.10.0 instead of the
pixman-0.9.6 that the DFBPorting document references.
5) The DFBPorting points to versions of these and I was able to use
later versions:
pkg-config-0.22 -> pkg-config-0.23
fontconfig-2.4.91 -> fontconfig-2.4.92
cairo-1.5.10 -> cairo-1.5.20
pango-1.16.4 -> pango-1.16.5
gtk+-2.10.1 -> gtk+-2.10.14
If you all are going to update some of the documentation, there are lots
of documents in the 'Build Documentation' category on MDC that would
definitely benefit from some TLC and some updating for the mobile
product and for hg repository references. I know you guys probably know
everything well enough that you do not have to refer to MDC, but some of
us really rely on it.
cheers - ray
-----
#!/bin/sh
XFER=../xfer
export LD_LIBRARY_PATH=/usr/local/dfb/lib
export PATH=/usr/local/dfb/bin/:$PATH
export PKG_CONFIG=/usr/local/dfb/bin/pkg-config
export PKG_CONFIG_PATH=/usr/local/dfb/lib/pkgconfig
export CPPFLAGS=-I/usr/local/dfb/include
export LDFLAGS=-L/usr/local/dfb/lib
# ok
if [ ! -d jpeg-6b ]; then
if [ ! -f $XFER/jpegsrc.v6b.tar.gz ]; then
( cd $XFER ; wget
ftp://ftp.gtk.org/pub/gtk/v2.10/dependencies/jpegsrc.v6b.tar.gz )
fi
tar -xzvf $XFER/jpegsrc.v6b.tar.gz
cd jpeg-6b
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb --without-x --enable-shared
--without-libjasper
make
make install
cd ..
fi
# ok
if [ ! -d tiff-3.7.4 ]; then
if [ ! -f $XFER/tiff-3.7.4.tar.gz ]; then
( cd $XFER ; wget
ftp://ftp.gtk.org/pub/gtk/v2.10/dependencies/tiff-3.7.4.tar.gz )
fi
tar xfvz $XFER/tiff-3.7.4.tar.gz
cd tiff-3.7.4
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb --without-x
make
make install
cd ..
fi
# libpng depended on zlib.
#
# ok
if [ ! -d zlib-1.2.3 ]; then
if [ ! -f $XFER/zlib-1.2.3.tar.gz ]; then
( cd $XFER ; wget
'http://prdownloads.sourceforge.net/libpng/zlib-1.2.3.tar.gz?download' )
fi
tar xfvz $XFER/zlib-1.2.3.tar.gz
cd zlib-1.2.3
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb
make
make install
cd ..
fi
# the libpng reports a security vulnerability in versions including
1.0.6 through 1.2.26.
# The DFBPorting page points to libpng-1.2.22
#
# ok
if [ ! -d libpng-1.2.29 ]; then
if [ ! -f $XFER/libpng-1.2.29.tar.gz ]; then
( cd $XFER ; wget
'http://prdownloads.sourceforge.net/libpng/libpng-1.2.29.tar.gz?download
' )
fi
tar xfvz $XFER/libpng-1.2.29.tar.gz
cd libpng-1.2.29
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb
make
make install
cd ..
fi
# pkg-config is currently up to version 0.23.
#
# ok
if [ ! -d pkg-config-0.23 ]; then
if [ ! -f $XFER/pkg-config-0.23.tar.gz ]; then
( cd $XFER ; wget
http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz )
fi
tar xfvz $XFER/pkg-config-0.23.tar.gz
cd pkg-config-0.23
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb --without-x
make
make install
cd ..
fi
# ok
if [ ! -d gettext-0.17 ]; then
if [ ! -f $XFER/gettext-0.17.tar.gz ]; then
( cd $XFER ; wget
http://ftp.gnu.org/gnu/gettext/gettext-0.17.tar.gz )
fi
tar xfvz $XFER/gettext-0.17.tar.gz
cd gettext-0.17
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb
make
make install
cd ..
fi
# ok
if [ ! -d glib-2.12.9 ]; then
if [ ! -f $XFER/glib-2.12.9.tar.gz ]; then
( cd $XFER ; wget
ftp://ftp.gtk.org/pub/glib/2.12/glib-2.12.9.tar.gz )
fi
tar xfvz $XFER/glib-2.12.9.tar.gz
cd glib-2.12.9
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb
make
make install
cd ..
fi
# ok
if [ ! -d atk-1.9.1 ]; then
if [ ! -f $XFER/atk-1.9.1.tar.bz2 ]; then
( cd $XFER ; wget
ftp://ftp.gtk.org/pub/gtk/v2.10/dependencies/atk-1.9.1.tar.bz2 )
fi
cp $XFER/atk-1.9.1.tar.bz2 .
bunzip2 ./atk-1.9.1.tar.bz2
tar xfv atk-1.9.1.tar
/bin/rm atk-1.9.1.tar
cd atk-1.9.1
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb
make
make install
cd ..
fi
# We are not needing this.
#
# apt-get install libsdl1.2-dev
# ok
if [ ! -d DirectFB-1.0.1 ]; then
if [ ! -f $XFER/DirectFB-1.0.1.tar.gz ]; then
( cd $XFER ; wget
http://www.directfb.org/downloads/Core/DirectFB-1.0.1.tar.gz )
fi
tar xfvz $XFER/DirectFB-1.0.1.tar.gz
cd DirectFB-1.0.1
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb --libdir=/usr/local/dfb/lib
--include=/usr/local/dfb/include --disable-x11 --enable-debug
--disable-voodoo --disable-mmx --disable-see --disable-sdl --enable-jpeg
--enable-zlib --enable-png --disable-video4linux2 --with-gfxdrivers=none
--with-inputdrivers=none
make
make install
cd ..
fi
# ok
if [ ! -d freetype-2.3.5 ]; then
if [ ! -f $XFER/freetype-2.3.5.tar.gz ]; then
( cd $XFER ; wget
http://download.savannah.gnu.org/releases/freetype/freetype-2.3.5.tar.gz
)
fi
tar xfvz $XFER/freetype-2.3.5.tar.gz
cd freetype-2.3.5
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb --without-x --enable-directfb
--disable-xlib --disable-win32
make
make install
cd ..
fi
# there is now a 2.5.92 version available.
# wget http://fontconfig.org/release/fontconfig-2.5.91.tar.gz
#
#
if [ ! -d fontconfig-2.4.92 ]; then
if [ ! -f $XFER/fontconfig-2.5.92.tar.gz ]; then
( cd $XFER ; wget
http://fontconfig.org/release/fontconfig-2.5.92.tar.gz )
fi
tar xfvz $XFER/fontconfig-2.4.92.tar.gz
cd fontconfig-2.4.92
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb --without-x --enable-directfb
--disable-xlib --disable-win32
make
make install
cd ..
fi
# wget http://cairographics.org/snapshots/LATEST-pixman-0.9.6
# ... but this version is not current enough for a cairo requirement...
#
# ok
if [ ! -d pixman-0.10.0 ]; then
if [ ! -f $XFER/pixman-0.10.0.tar.gz ]; then
( cd $XFER ; wget
http://cairographics.org/releases/pixman-0.10.0.tar.gz )
fi
tar xfvz $XFER/pixman-0.10.0.tar.gz
cd pixman-0.10.0
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb
make
make install
cd ..
fi
# ok
if [ ! -d cairo-1.5.20 ]; then
if [ ! -f $XFER/LATEST-cairo-1.5.20 ]; then
( cd $XFER ; wget
http://cairographics.org/snapshots/LATEST-cairo-1.5.20 )
fi
tar xvfz $XFER/LATEST-cairo-1.5.20
cd cairo-1.5.20
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb --enable-directfb=yes
--enable-xlib=no --enable-xlib-xrender=no --enable-xcb=no --without-x
--disable-win32
make
make install
cd ..
fi
# DFBPorting lists pango-1.16.4, but 1.16.5 exists.
#
if [ ! -d pango-1.16.5 ]; then
if [ ! -f $XFER/pango-1.16.5.tar.gz ]; then
( cd $XFER ; wget
ftp://ftp.gtk.org/pub/pango/1.16/pango-1.16.5.tar.gz )
fi
tar xfvz $XFER/pango-1.16.5.tar.gz
cd pango-1.16.5
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb --enable-cairo --without-x
--disable-xlib --disable-win32
make
make install
cd ..
fi
# ok
if [ ! -d gtk+-2.10.14 ]; then
if [ ! -f $XFER/gtk+-2.10.14.tar.bz2 ]; then
( cd $XFER ; wget
ftp://ftp.gtk.org/pub/gtk/v2.10/gtk+-2.10.14.tar.bz2 )
fi
cp $XFER/gtk+-2.10.14.tar.bz2 .
bunzip2 ./gtk+-2.10.14.tar.bz2
tar xvf ./gtk+-2.10.14.tar
/bin/rm ./gtk+-2.10.14.tar
cd gtk+-2.10.14
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb --with-gdktarget=directfb
--without-x
make
make install
cd ..
fi
# apt-get install flex - or fetch it and build...
#
# ok
if [ ! -d flex-2.5.35 ]; then
if [ ! -f $XFER/flex-2.5.35.tar.gz ]; then
( cd $XFER ; wget
http://internap.dl.sourceforge.net/sourceforge/flex/flex-2.5.35.tar.gz )
fi
tar xfvz $XFER/flex-2.5.35.tar.gz
cd flex-2.5.35
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb
make
make install
cd ..
fi
# apt-get install bison - or fetch it and build...
#
# ok
if [ ! -d bison-2.3 ]; then
if [ ! -f $XFER/bison-2.3.tar.gz ]; then
( cd $XFER ; wget http://ftp.gnu.org/gnu/bison/bison-2.3.tar.gz
)
fi
tar xfvz $XFER/bison-2.3.tar.gz
cd bison-2.3
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb
make
make install
cd ..
fi
# ok
if [ ! -d libIDL-0.8.5 ]; then
if [ ! -f $XFER/libIDL-0.8.5.tar.bz2 ]; then
( cd $XFER ; wget
http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/libIDL-0.8.5.tar.bz2 )
fi
cp $XFER/libIDL-0.8.5.tar.bz2 .
bunzip2 ./libIDL-0.8.5.tar.bz2
tar xfv ./libIDL-0.8.5.tar
/bin/rm ./libIDL-0.8.5.tar
cd libIDL-0.8.5
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb
make
make install
cd ..
fi
# ok
if [ ! -d expat-2.0.1 ]; then
if [ ! -f $XFER/expat-2.0.1.tar.gz ]; then
( cd $XFER ; wget
'http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=
10780&release_id=513851'
)
fi
tar zxvf $XFER/expat-2.0.1.tar.gz
cd expat-2.0.1
if [ $? -ne 0 ]; then echo "ERROR"; exit 1; fi
./configure --prefix=/usr/local/dfb
make
make install
cd ..
fi
_______________________________________________
dev-platforms-mobile mailing list
dev-platforms-mob...@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platforms-mobile