Despotify på Nokia N900

Något som verkligen saknas på min nya Nokia N900 är Spotify. Självklart kommer man då att tänka på despotify, den fria spotifyklienten. Så här gör man för att korskompilera den för Maemo 5:

Börja med att installera Maemo SDK:

wget http://repository.maemo.org/stable/fremantle/maemo-sdk-install-wizard_5.0.py

sudo ./maemo-sdk-install-wizard_5.0.py

Följ instruktionerna på skärmen, det fixar du nog utan vidare instruktioner, om inte kan du läsa mer här.

När installationen är klar kan du starta SDK:n med:

/scratchbox/login

Byt sedan target till armel genom kommandot:

sb-menu

Där väljer du alternativet "Select" och sedan "FREEMANTEL_ARMEL"

Lägg den här patchen i din hemkatalog i SDK:n och döp den till patch1.patch, nano finns att tillgå som textredigerare i SDK:n:

nano patch1.patch

Här är patchen:

Index: src/lib/gstreamer.c
===================================================================
--- src/lib/gstreamer.c    (revision 437)
+++ src/lib/gstreamer.c    (arbetskopia)
@@ -239,17 +239,26 @@
     return 0;
 }
 
+void g_idle_add_x(GSourceFunc function, gpointer data) 
+{ 
+    gst_PRIVATE *priv = (gst_PRIVATE *) data; 

+    GSource *src = g_idle_source_new(); 
+    g_source_set_callback(src, function, data,NULL); 
+    g_source_attach(src, g_main_loop_get_context(priv->loop)); 
+} 
+
 int gstreamer_pause (AUDIOCTX * actx)
 {
     DSFYDEBUG ("%sn", __FUNCTION__);
-    g_idle_add (pause_cb, actx->driverprivate);
+    g_idle_add_x(pause_cb, actx->driverprivate);
     return 0;
 }
 
 int gstreamer_resume (AUDIOCTX * actx)
 {
     DSFYDEBUG ("%sn", __FUNCTION__);
-    g_idle_add (resume_cb, actx->driverprivate);
+    g_idle_add_x (resume_cb, actx->driverprivate);
     return 0;
 }
 
@@ -275,7 +284,7 @@
 
     DSFYDEBUG ("%sn", __FUNCTION__);
 
-    g_idle_add (stop_cb, priv);
+    g_idle_add_x(stop_cb, priv);
     actx->driverprivate = NULL;
 
     return 0;
Index: src/Makefile.local.mk.dist
===================================================================
--- src/Makefile.local.mk.dist    (revision 437)
+++ src/Makefile.local.mk.dist    (arbetskopia)
@@ -7,14 +7,14 @@
 ## Enable additional clients.
 CLIENT_DESPOTIFY = 1
 CLIENT_GATEWAY   = 1
-# CLIENT_MAEMIFY   = 1
+CLIENT_MAEMIFY   = 1
 
 ## Enable Nokia Maemo4 specific code in maemify client.
 ## At least LINUX_BACKEND = gstreamer seems to work with this.
 # MAEMO4 = 1
 
 ## Install prefix
-# INSTALL_PREFIX = /usr
+INSTALL_PREFIX = /usr
 
 ## Specify ncurses include path explicitly. (should contain curses.h)
 # NCURSES_INCLUDE = /usr/local/include/ncursesw
@@ -29,7 +29,7 @@
 # CFLAGS += -DDEBUG_PACKETS
 
 ## Adjust linking flags
-# LDFLAGS += -L/usr/local/lib
+LDFLAGS += -static
 
 ## If you're on Mac OS X and have installed libvorbisfile
 ## via 'port install ..', try uncommenting these lines

Sedan gör du bara så här:
#Libogg
wget http://downloads.xiph.org/releases/ogg/libogg-1.1.4.tar.gz
tar xfv libogg-1.1.4.tar.gz
cd libogg-1.1.4
./configure --prefix=/usr
make
fakeroot make install
ldconfig
cd ..

#Libvorbis
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.3.tar.gz
tar xfv libvorbis-1.2.3.tar.gz
cd libvorbis-1.2.3
./configure --prefix=/usr
make
fakeroot make install
ldconfig
cd ..

#Install other requirements from SDK repo
fakeroot apt-get install zlib1g-dev libtool libgstreamer0.10-dev

#Get despotify
svn co https://despotify.svn.sourceforge.net/svnroot/despotify despotify --revision 437

#Patch despotify
cd despotify/
patch -p0 < ../../patch1.patch
cd src/

#Build despotify
make
fakeroot make install

När du är klar med dessa steg kan du kopiera /usr/bin/despotify, /usr/bin/despotify-simple, /usr/bin/despotify-gateway och /usr/bin/maemify från SDK:n till motsvarande plats på telefonen.

Se även

Läs även andra bloggar om , , , ,

  1. Peter’s avatar

    Underbart att det äntligen kommit en guide!
    Tyvärr så verkar inte det gå nå bra att installera maemo sdk på mitt ubuntu 64 bitars… Skulle du inte kunna lägga upp filerna ifrån /usr/bin/despotify, /usr/bin/despotify-simple, /usr/bin/despotify-gateway och /usr/bin/maemify för att sedan lägga ut på internet..? Det verkar inte skilja sig något från mobil till mobil så det borde väl gå bra?

    Svara

Reply

E-postadressen publiceras inte. Obligatoriska fält är märkta *

*

Switch to our mobile site

Page optimized by WP Minify WordPress Plugin