summaryrefslogtreecommitdiff
path: root/recipes/gpsdrive
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/gpsdrive')
-rw-r--r--recipes/gpsdrive/files/gpsdrive-pda-fix.patch72
-rw-r--r--recipes/gpsdrive/files/gpsdrive.desktop9
-rw-r--r--recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch128
-rw-r--r--recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch18
-rw-r--r--recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch96
-rw-r--r--recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop9
-rw-r--r--recipes/gpsdrive/gpsdrive-pda/makefile.patch16
-rw-r--r--recipes/gpsdrive/gpsdrive-pda_2.10pre2.bb29
-rw-r--r--recipes/gpsdrive/gpsdrive.inc25
-rw-r--r--recipes/gpsdrive/gpsdrive_2.10pre2.bb6
-rw-r--r--recipes/gpsdrive/gpsdrive_2.10pre4.bb33
11 files changed, 441 insertions, 0 deletions
diff --git a/recipes/gpsdrive/files/gpsdrive-pda-fix.patch b/recipes/gpsdrive/files/gpsdrive-pda-fix.patch
new file mode 100644
index 0000000000..85f220bd16
--- /dev/null
+++ b/recipes/gpsdrive/files/gpsdrive-pda-fix.patch
@@ -0,0 +1,72 @@
+--- gpsdrive/src/gpsdrive.c 2005-07-22 23:17:36.452918848 +0200
++++ gpsdrive/src/gpsdrive.c 2005-07-23 01:02:40.482560672 +0200
+@@ -10516,7 +10516,7 @@
+ PangoFontDescription *font_desc;
+ font_desc =
+ pango_font_description_from_string
+- ("Sans 20");
++ ("Sans 10");
+ gtk_widget_modify_font (myroutelist, font_desc);
+ pango_font_description_free (font_desc);
+ }
+@@ -12343,6 +12343,8 @@
+ GDK_BUTTON_PRESS_MASK);
+ gtk_signal_connect (GTK_OBJECT (drawing_sats), "button-press-event",
+ GTK_SIGNAL_FUNC (satpos_cb), NULL);
++ if(!pdamode)
++ {
+ frame_sats = gtk_frame_new (_("GPS Info"));
+ sateventbox = gtk_event_box_new ();
+ gtk_container_add (GTK_CONTAINER (sateventbox), drawing_sats);
+@@ -12386,7 +12388,7 @@
+
+ gtk_box_pack_start (GTK_BOX (hbox2), frame_sats, FALSE, FALSE,
+ 1 * PADDING);
+-
++ }
+ havebattery = battery_get_values ();
+ if (debug)
+ fprintf (stderr, "batt: %d, temp: %d\n", havebattery,
+@@ -12569,9 +12571,11 @@
+ /* if (!pdamode) */
+ /* gtk_box_pack_start (GTK_BOX (hbox2), frame_speed, TRUE, TRUE, */
+ /* 1 * PADDING); */
+-
++ if (!pdamode)
++ {
+ frame_altitude = gtk_frame_new (_("Altitude"));
+ gtk_container_add (GTK_CONTAINER (frame_altitude), altilabel);
++ }
+ /*** Mod by Arms */
+ /* if (!pdamode) */
+ /* gtk_box_pack_start (GTK_BOX (hbox2), frame_altitude, FALSE, TRUE, */
+@@ -12904,23 +12908,23 @@
+ if (onemousebutton)
+ {
+ /* gtk_misc_set_padding (GTK_MISC (l1), x, y); */
+- gtk_misc_set_padding (GTK_MISC (l1), 50, 1);
+- gtk_misc_set_padding (GTK_MISC (l2), 50, 1);
+- gtk_misc_set_padding (GTK_MISC (l3), 50, 1);
++ gtk_misc_set_padding (GTK_MISC (l1), 20, 1);
++ gtk_misc_set_padding (GTK_MISC (l2), 20, 1);
++ gtk_misc_set_padding (GTK_MISC (l3), 20, 1);
+
+ /* http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html */
+
+ char *markup;
+ markup = g_markup_printf_escaped
+- ("<span weight='heavy' stretch='ultraexpanded' size='20480'>%s</span>",
++ ("<span font_desc='10'>%s</span>",
+ _("Map"));
+ gtk_label_set_markup (GTK_LABEL (l1), markup);
+ markup = g_markup_printf_escaped
+- ("<span weight='heavy' stretch='ultraexpanded' size='20480'>%s</span>",
++ ("<span font_desc='10'>%s</span>",
+ _("Menu"));
+ gtk_label_set_markup (GTK_LABEL (l2), markup);
+ markup = g_markup_printf_escaped
+- ("<span weight='heavy' stretch='ultraexpanded' size='20480'>%s</span>",
++ ("<span font_desc='10'>%s</span>",
+ _("Status"));
+ gtk_label_set_markup (GTK_LABEL (l3), markup);
+
diff --git a/recipes/gpsdrive/files/gpsdrive.desktop b/recipes/gpsdrive/files/gpsdrive.desktop
new file mode 100644
index 0000000000..13d0b4fcce
--- /dev/null
+++ b/recipes/gpsdrive/files/gpsdrive.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=GPSDrive
+Comment=GPS map software
+Exec=gpsdrive -p -1
+Terminal=false
+Type=Application
+Icon=gpsicon
+Categories=Graphics;Network;Geography;
+StartupNotify=false
diff --git a/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch b/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch
new file mode 100644
index 0000000000..878cb1dba9
--- /dev/null
+++ b/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch
@@ -0,0 +1,128 @@
+diff -ur gpsdrive-2.10pre4.orig/scripts/gpsfetchmap.pl gpsdrive-2.10pre4/scripts/gpsfetchmap.pl
+--- gpsdrive-2.10pre4.orig/scripts/gpsfetchmap.pl 2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/scripts/gpsfetchmap.pl 2008-01-04 19:01:35.000000000 +0100
+@@ -35,6 +35,7 @@
+ modified (Jul 2005) by Jaroslaw Zachwieja <grok\@filippa.org.uk>
+ modified (Dec 2005) by David Pollard <david dot pollard\@optusnet.com.au>
+ modified (Jul 2007) by Maciek Kaliszewski <mkalkal\@interia.pl>
++modified (Jan 2008) by Gernot Hillier <gernot\@hillier.de> (added Openstreetmap support)
+ Version svn-$Version
+ ";
+
+@@ -176,6 +177,25 @@
+ 15812 => 3 ,
+ 7906 => 2,
+ 3953 => 1
++ },
++ openstreetmap_tah => {
++ 256*576000 => 1,
++ 128*576000 => 2,
++ 64*576000 => 3,
++ 32*576000 => 4,
++ 16*576000 => 5,
++ 8*576000 => 6,
++ 4*576000 => 7,
++ 2*576000 => 8,
++ 576000 => 9,
++ 288000 => 10,
++ 144000 => 11,
++ 72000 => 12,
++ 36000 => 13,
++ 18000 => 14,
++ 9000 => 15,
++ 4500 => 16,
++ 2250 => 17
+ }
+ };
+
+@@ -331,7 +351,6 @@
+ exit();
+ }
+
+-
+ # Verify that we have the options that we need
+ pod2usage(1) if (&error_check);
+
+@@ -417,6 +436,13 @@
+ print "+-----------------------------------------------------------+\n";
+ print "| Landsat Maps are Copyright, ..... |\n";
+ print "| They are free for non commercial use. |\n";
++}elsif ( $mapserver eq 'openstreetmap_tah' ){
++ print "+-----------------------------------------------------------+\n";
++ print "| OpenStreetmap Maps are Copyright by the OpenStreetmap |\n";
++ print "| project. |\n";
++ print "| They are free for use under the terms of the |\n";
++ print "| Creative Commons \"Attribution-Share Alike 2.0 Generic\" |\n";
++ print "| license. See http://www.openstreetmap.org for details. |\n";
+ } elsif ( ! $force) {
+ print "You are violating the map servers copyright!\n";
+ print "Are you sure you want to continue? [y|n] ";
+@@ -700,6 +726,11 @@
+ {
+ ($url,$mapscale)=googlemap_url($lati,$long,$scale);
+ }
++ elsif ( $mapserver eq 'openstreetmap_tah')
++ {
++ $filename=~s/\.gif/.png/;
++ ($url,$mapscale)=openstreetmap_tah_url($lati,$long,$scale);
++ }
+ else
+ {
+ print "Unknown map sever :", $mapserver, "\n";
+@@ -935,6 +966,37 @@
+ return ($url,$mapscale);
+ }
+
++#############################################################################
++sub openstreetmap_tah_url($$$){
++ my $lati = shift;
++ my $long = shift;
++ my $scale = shift;
++
++ my $mapscale = $scale;
++ my $zoom = undef;
++ for my $s ( sort keys %{$Scale2Zoom->{openstreetmap_tah}} ) {
++ next unless $s == $scale;
++ $zoom = $Scale2Zoom->{openstreetmap_tah}->{$s};
++ $mapscale = $s;
++ last;
++ }
++
++ unless ( $zoom ) {
++ print "Error calculating Zoomlevel for Scale: $scale\n";
++ return (undef,undef);
++ }
++
++ if ($debug) {
++ print "\n";
++ print "Using openstreetmap_tah zoom ", $zoom, " for requested scale ", $scale, ":1 actual scale ", $mapscale, ":1\n";
++ print "lat: $lati\n";
++ print "lon: $long\n";
++ }
++
++ my $url = "http://tah.openstreetmap.org/MapOf/?lat=$lati&long=$long&z=$zoom&w=1280&h=1024&format=png";
++# print "$url\n";
++ return ($url,$mapscale);
++}
+
+ #############################################################################
+ sub eniro_url($$$){
+@@ -2284,7 +2346,7 @@
+ =item B<--mapserver <MAPSERVER>>
+
+ Mapserver to download from. Default: 'expedia'.
+-Currently can use: landsat or expedia.
++Currently usable: landsat, expedia or openstreetmap_tah.
+
+ geoscience, gov_au, incrementp, googlesat, googlemap and eniro have download stubs,
+ but they are !!!NOT!!!! in the right scale.
+@@ -2294,6 +2356,9 @@
+
+ landsat covers the whole world with satelite Photos
+
++openstreetmap_tah: Free maps from the OpenStreetmap Tiles@Home project, see
++ http://www.openstreetmap.org and http://tah.openstreetmap.org.
++
+ gov_au is for Australia
+
+ incrementp for japanese Maps
diff --git a/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch b/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch
new file mode 100644
index 0000000000..c51c80931c
--- /dev/null
+++ b/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch
@@ -0,0 +1,18 @@
+Index: src/map_handler.c
+===================================================================
+--- aa/src/map_handler.c (Revision 1699)
++++ aa/src/map_handler.c (Revision 1700)
+@@ -660,9 +660,12 @@
+ if (maploaded)
+ gdk_pixbuf_unref (image);
+
++#ifdef MAPNIK
+ if ( !strcmp (filename,"mapnik") ) {
+ limage = gdk_pixbuf_new_from_data(get_mapnik_imagedata(), GDK_COLORSPACE_RGB, FALSE, 8, 1280, 1024, 1280 * 3, NULL, NULL);
+- } else {
++ } else
++#endif
++ {
+ limage = gdk_pixbuf_new_from_file (filename, NULL);
+ if (limage == NULL)
+ {
diff --git a/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch b/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch
new file mode 100644
index 0000000000..c8c0fe9c6a
--- /dev/null
+++ b/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch
@@ -0,0 +1,96 @@
+diff -ur gpsdrive-2.10pre4.orig/src/Makefile.am gpsdrive-2.10pre4/src/Makefile.am
+--- gpsdrive-2.10pre4.orig/src/Makefile.am 2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/src/Makefile.am 2007-12-28 18:50:29.000000000 +0100
+@@ -14,14 +14,14 @@
+ -DLOCALEDIR=\"${localedir}\" -DDATADIR=\"${datadir}\" \
+ -DLIBDIR=\"${libdir}\" \
+ -DFRIENDSSERVERVERSION=\"${FRIENDSSERVERVERSION}\" \
+- ${NOGARMIN} ${NOPLUGINS} ${AMAPNIK}\
+- -I/usr/include/ \
+- -I/usr/local/include \
+- -I/opt/boost_1_35/include/boost-1_35 \
+- -I/usr/local/include/freetype2 \
+- -I/usr/include/freetype2 \
++ ${NOGARMIN} ${NOPLUGINS} ${AMAPNIK}
++# -I/usr/include/ \
++# -I/usr/local/include \
++# -I/opt/boost_1_35/include/boost-1_35 \
++# -I/usr/local/include/freetype2 \
++# -I/usr/include/freetype2 \
+ -I. \
+- -L/usr/local/lib
++# -L/usr/local/lib
+
+ # -I/usr/include/dbus-1.0/
+
+diff -ur gpsdrive-2.10pre4.orig/configure gpsdrive-2.10pre4/configure
+--- gpsdrive-2.10pre4.orig/configure 2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/configure 2008-01-06 14:49:11.000000000 +0100
+@@ -35950,10 +35950,13 @@
+ # Yep, its ebil, but I does not know better...
+ #PERL_PACKAGE_DIR=`perl -V:installsitearch | sed "s/installsitearch='//" | sed "s/';//"`
+ # default on debian should be: /usr/share/perl5/
+-PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
++#PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
+ #PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr,-${prefix}-,"`
+-PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
++#PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
+
++# hard code path for OpenEmbedded environment as I don't know a way
++# to detect it automatically
++PERL_PACKAGE_DIR="/usr/share/perl5"
+
+ ac_perl_modules="File::Basename "
+ # Make sure we have perl
+@@ -37840,11 +37843,11 @@
+ # AC_SUBST(DLSYM_CFLAGS,'-Ddlsym=dlsym_prepend_underscore')
+ #fi
+
+-if test -f /usr/include/mysql/mysql.h; then
+- CFLAGS="$CFLAGS -I/usr/include/mysql"
+-else
+- CFLAGS="$CFLAGS -Imysql"
+-fi
++#if test -f /usr/include/mysql/mysql.h; then
++# CFLAGS="$CFLAGS -I/usr/include/mysql"
++#else
++# CFLAGS="$CFLAGS -Imysql"
++#fi
+
+ CFLAGS="$CFLAGS $OPT_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $OPT_CFLAGS"
+diff -ur gpsdrive-2.10pre4.orig/configure.ac gpsdrive-2.10pre4/configure.ac
+--- gpsdrive-2.10pre4.orig/configure.ac 2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/configure.ac 2008-01-06 14:48:50.000000000 +0100
+@@ -662,9 +662,12 @@
+ # Yep, its ebil, but I does not know better...
+ #PERL_PACKAGE_DIR=`perl -V:installsitearch | sed "s/installsitearch='//" | sed "s/';//"`
+ # default on debian should be: /usr/share/perl5/
+-PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
++#PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
+ #PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr,-${prefix}-,"`
+-PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
++#PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
++# hard code path for OpenEmbedded environment as I don't know a way
++# to detect it automatically
++PERL_PACKAGE_DIR="/usr/share/perl5"
+ AC_SUBST(PERL_PACKAGE_DIR)
+
+ AC_PROG_PERL_MODULES(File::Basename , , AC_MSG_ERROR(Need Perl module File::Basename))
+@@ -719,11 +722,11 @@
+ # AC_SUBST(DLSYM_CFLAGS,'-Ddlsym=dlsym_prepend_underscore')
+ #fi
+
+-if test -f /usr/include/mysql/mysql.h; then
+- CFLAGS="$CFLAGS -I/usr/include/mysql"
+-else
+- CFLAGS="$CFLAGS -Imysql"
+-fi
++#if test -f /usr/include/mysql/mysql.h; then
++# CFLAGS="$CFLAGS -I/usr/include/mysql"
++#else
++# CFLAGS="$CFLAGS -Imysql"
++#fi
+
+ CFLAGS="$CFLAGS $OPT_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $OPT_CFLAGS"
diff --git a/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop b/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop
new file mode 100644
index 0000000000..70af29dcad
--- /dev/null
+++ b/recipes/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=GPSDrive
+Comment=GPS map software
+Exec=gpsdrive -M pda -1
+Terminal=false
+Type=Application
+Icon=gpsicon
+Categories=Graphics;Network;Geography;
+StartupNotify=false
diff --git a/recipes/gpsdrive/gpsdrive-pda/makefile.patch b/recipes/gpsdrive/gpsdrive-pda/makefile.patch
new file mode 100644
index 0000000000..2ec4f6a6d8
--- /dev/null
+++ b/recipes/gpsdrive/gpsdrive-pda/makefile.patch
@@ -0,0 +1,16 @@
+--- gpsdrive-2.10pre2-ipaq/Makefile 2007-11-11 13:29:10.000000000 +0300
++++ gpsdrive-2.10pre2-ipaq.patched/Makefile 2008-01-12 19:18:46.000000000 +0300
+@@ -5,11 +5,11 @@
+ STRIP = arm-linux-strip
+
+ DEFS = -DLOCALEDIR=\"/usr/share/locale\" -DDATADIR=\"/usr/share\"
+-INCLUDES = -I. -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/glib-2.0/ -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
++INCLUDES = -I. `pkg-config gtk+-2.0 --cflags`
+
+ CFLAGS = -O2 -pipe
+
+-LIBRARIES = -L/usr/lib -lcrypt -lpthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lm -lc
++LIBRARIES = -lcrypt -lpthread -lm -lc `pkg-config gtk+-2.0 --libs`
+ LDFLAGS =
+
+ SOURCES = gpsdrive.c speech_out.c track.c settings.c splash.c gpsserial.c gpsmisc.c \
diff --git a/recipes/gpsdrive/gpsdrive-pda_2.10pre2.bb b/recipes/gpsdrive/gpsdrive-pda_2.10pre2.bb
new file mode 100644
index 0000000000..e79240e392
--- /dev/null
+++ b/recipes/gpsdrive/gpsdrive-pda_2.10pre2.bb
@@ -0,0 +1,29 @@
+require gpsdrive.inc
+
+PR = "r2"
+
+DESCRIPTION = "GPS navigation/map display software, PDA-optimized version"
+HOMEPAGE = "http://www.gedanken.demon.co.uk/gpsdrive-ipaq/"
+
+SRC_URI = "http://www.gedanken.demon.co.uk/gpsdrive-ipaq/gpsdrive-2.10pre2-ipaq-r4.tar.gz \
+ file://gpsdrive.desktop \
+ file://makefile.patch;patch=1 "
+
+S = "${WORKDIR}/gpsdrive-2.10pre2-ipaq"
+
+do_compile() {
+ oe_runmake "CC=${CC}" "LD=${CC}" "STRIP=${STRIP}" all
+}
+
+do_install() {
+ mkdir -p ${D}${datadir}
+ cp -a ipkg-data/usr/share/* ${D}${datadir}/
+ cp -a README.iPAQ.txt ${D}${datadir}/gpsdrive
+ cp -a COPYING ${D}${datadir}/gpsdrive
+ cp -a original-docs ${D}${datadir}/gpsdrive
+
+ mkdir -p ${D}${bindir}
+ install -m 0755 gpsdrive ${D}${bindir}/
+}
+
+FILES_${PN} += "${datadir}/gpsdrive"
diff --git a/recipes/gpsdrive/gpsdrive.inc b/recipes/gpsdrive/gpsdrive.inc
new file mode 100644
index 0000000000..562990d278
--- /dev/null
+++ b/recipes/gpsdrive/gpsdrive.inc
@@ -0,0 +1,25 @@
+DESCRIPTION = "GPS navigation/map display software"
+HOMEPAGE = "http://www.gpsdrive.de/"
+AUTHOR = ""Fritz Ganter gpsdrive@warbase.selwerd.nl"
+SECTION = "x11/applications"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "virtual/libc gtk+ libpcre gpsd"
+RDEPENDS_${PN} = "gdk-pixbuf-loader-gif gpsd"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-garmin"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+do_install_append() {
+ mkdir -p ${D}${datadir}/applications
+ install -m 0644 ${WORKDIR}/*.desktop ${D}${datadir}/applications/gpsdrive.desktop
+
+ # gpsd is provided by RDEPENDS
+ if test -e ${D}${bindir}/gpsd
+ then
+ rm ${D}${bindir}/gpsd
+ fi
+}
diff --git a/recipes/gpsdrive/gpsdrive_2.10pre2.bb b/recipes/gpsdrive/gpsdrive_2.10pre2.bb
new file mode 100644
index 0000000000..4d6abf9a85
--- /dev/null
+++ b/recipes/gpsdrive/gpsdrive_2.10pre2.bb
@@ -0,0 +1,6 @@
+require gpsdrive.inc
+
+PR = "r2"
+
+SRC_URI = "http://www.gpsdrive.de/packages/${PN}-${PV}.tar.gz \
+ file://gpsdrive.desktop"
diff --git a/recipes/gpsdrive/gpsdrive_2.10pre4.bb b/recipes/gpsdrive/gpsdrive_2.10pre4.bb
new file mode 100644
index 0000000000..102a917c1f
--- /dev/null
+++ b/recipes/gpsdrive/gpsdrive_2.10pre4.bb
@@ -0,0 +1,33 @@
+require gpsdrive.inc
+
+DEPENDS += "libwww-perl-native libart-lgpl libxml2 cairo mysql"
+RDEPENDS_${PN} += "libwww-perl"
+
+PR = "r2"
+
+SRC_URI = "http://www.gpsdrive.de/packages/${PN}-${PV}.tar.gz \
+ file://gpsdrive_2.10pre4.desktop \
+ file://gpsdrive-remove-hardcoded-paths.patch;patch=1 \
+ file://gpsdrive-ifdef-mapnik.patch;patch=1 \
+ file://gpsdrive-2.10pre4-openstreetmap-download.patch;patch=1"
+
+do_install_append () {
+ mkdir -p ${D}${datadir}/applications
+ install -m 0644 ${WORKDIR}/gpsdrive_2.10pre4.desktop ${D}${datadir}/applications/gpsdrive.desktop
+ mkdir -p ${D}${datadir}/pixmaps
+ cp ${D}${datadir}/${PN}/pixmaps/gpsicon.png ${D}${datadir}/pixmaps
+ # remove stuff we don't want to package
+ rm ${D}${datadir}/${PN}/gpsdrive.desktop # we have our own one
+ rm -rf ${D}${datadir}/${PN}/DSL # for Damn Small Linux
+ rm -rf ${D}${datadir}/${PN}/gentoo # for Gentoo
+}
+
+PACKAGES += "gpsdrive-maps gpsdrive-map-icons-classic gpsdrive-map-icons-other gpsdrive-addons"
+
+FILES_${PN} = "${bindir}/gpsdrive ${datadir}/applications ${datadir}/map-icons/icons.xml"
+FILES_${PN} += "${datadir}/pixmaps ${datadir}/${PN}/pixmaps ${datadir}/${PN}/poi"
+FILES_${PN}-addons = "${bindir}/*.pl ${bindir}/friendsd2 ${bindir}/geo* ${bindir}/*.sh ${bindir}/*.py ${bindir}/gpsreplay ${bindir}/gpssmswatch ${bindir}/wp* ${datadir}/mapnik ${datadir}/perl*/Geo ${datadir}/perl*/Utils"
+FILES_${PN}-map-icons-classic = "${datadir}/map-icons/classic.small"
+FILES_${PN}-map-icons-other = "${datadir}/map-icons/classic.big ${datadir}/map-icons/japan ${datadir}/map-icons/nickw ${datadir}/map-icons/square.big ${datadir}/map-icons/square.small ${datadir}/map-icons/svg"
+FILES_${PN}-maps = "${datadir}/${PN}/maps ${datadir}/${PN}/map_koord.txt"
+FILES_${PN}-doc = "${datadir}/man ${datadir}/${PN}/Documentation"