オーディオプレイヤーBansheeについて。

§1 ソースからのビルド・インストール

version 1.6 RC1 (1.5.5)をソースからビルドしてインストールする手順。 ビルドに使用した環境はUbuntu 9.10 Desktop。

§1.1 ndesk-dbus, ndesk-dbus-glib

ndesk-dbusのソースのダウンロードとconfigure。

wget http://www.ndesk.org/archive/dbus-sharp/ndesk-dbus-0.6.0.tar.gz
tar -xvf ndesk-dbus-0.6.0.tar.gz 
cd ndesk-dbus-0.6.0/
./configure

configureの結果例。

  :
checking for MONO... yes
checking for gmcs... /usr/local/bin/gmcs
checking for gacutil... /usr/local/bin/gacutil
checking for Mono.Posix.dll... found
  :

configureした結果に問題が無ければmake、make installする。

make
sudo make install

続けてndesk-dbus-glibのソースのダウンロードとconfigure。

wget http://www.ndesk.org/archive/dbus-sharp/ndesk-dbus-glib-0.4.1.tar.gz
tar -xvf ndesk-dbus-glib-0.4.1.tar.gz 
cd ndesk-dbus-glib-0.4.1/
./configure

configureの結果例。

  :
checking for MONO... yes
checking for gmcs... /usr/local/bin/gmcs
checking for gacutil... /usr/local/bin/gacutil
checking for NDESK_DBUS... yes
  :

configureした結果に問題が無ければmake、make installする。

make
sudo make install

gacutilでインストールされたアセンブリを確認する。

$ gacutil -l | grep DBus
NDesk.DBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6716e4f9b2ed099
NDesk.DBus.GLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6716e4f9b2ed099

§1.2 PodSleuth

  • ビルドで必要となるパッケージ類
    • libsgutils2-dev

ソースのチェックアウトとautogen、configure。

git clone git://git.gnome.org/podsleuth
cd podsleuth/
./autogen.sh

configureした結果に問題が無ければmake、make installする。

PodSleuth 0.6.5

   Prefix:        /usr/local
   HAL Callouts:  /usr/local/lib/hal
   Updates Cache: /usr/local/var/cache/podsleuth
   libsgutils:    libsgutils2.so.2

   ******** WARNING ********

   Could not locate the standard HAL callout script,
   hal-storage-eject in /usr/local/lib/hal.

   You should re-run configure and set --with-hal-callouts-dir
   to the right location. In Gentoo for example, you 
   may need to run:

     ./configure --with-hal-callouts-dir=/usr/libexec

この警告はsudo make installの時点で解決されるので、無視してmake、make installする。

make
sudo make install

§1.3 ipod-sharp

ソースのチェックアウトとautogen、configure。

svn co http://anonsvn.mono-project.com/source/trunk/ipod-sharp
cd ipod-sharp/
./autogen.sh

configureの結果例。

  :
checking for MONO_MODULE... yes
checking for gmcs... /usr/local/bin/gmcs
checking for mono... /usr/local/bin/mono
checking for monodocer... /usr/local/bin/monodocer
checking for mdassembler... /usr/local/bin/mdassembler
checking for Mono 2.0 GAC for System.dll... found
checking for Mono 2.0 GAC for System.Web.dll... found
checking for MONO_NUNIT... yes
checking for PODSLEUTH... yes
checking for NDESK_DBUS... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating ipod-sharp.pc
config.status: creating ipod-sharp-ui.pc
config.status: creating src/Makefile
config.status: creating src/Firmware/Makefile
config.status: creating ui/Makefile
config.status: creating docs/Makefile

    Installation Prefix:     /usr/local
    C# Compiler:             /usr/local/bin/gmcs

    Developer Documentation: yes

configureした結果に問題が無ければmake、make installする。

make
sudo make install

§1.4 TagLib#

ソースのチェックアウトとautogen、configure。

svn co http://anonsvn.mono-project.com/source/trunk/taglib-sharp
cd taglib-sharp
./autogen.sh

configureの結果例。

  :
checking for gmcs... /usr/local/bin/gmcs
checking for mono... /usr/local/bin/mono
checking for gacutil... /usr/local/bin/gacutil
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for monodocer... /usr/local/bin/monodocer
checking for mdassembler... /usr/local/bin/mdassembler
checking for GNOME_SHARP... yes
checking for MONO_NUNIT... yes
checking for nunit-console2... /usr/local/bin/nunit-console2
configure: creating ./config.status
configure: WARNING: unrecognized options: --enable-compile-warnings
TagLib# (taglib-sharp-2.0.3.6) is ready to be compiled.
Now type `make' to compile

configureした結果に問題が無ければmake、make installする。

make
make install

§1.5 Mono.Zeroconf

ソースのチェックアウトとautogen、configure。

svn co svn://anonsvn.mono-project.com/source/trunk/Mono.Zeroconf
cd Mono.Zeroconf/
./autogen.sh

configureの結果例。

    Installation Prefix:     /usr/local
    C# Compiler:             /usr/local/bin/gmcs
    Host Platform:           i686-pc-linux-gnu

    Avahi Support:           yes
    mDNSResponder Support:   yes
      Target Library:        libnss_mdns-0.2.so

    Developer Documentation: yes

configureした結果に問題が無ければmake、make installする。

make
sudo make install

gacutilでインストールされたアセンブリを確認する。

$ gacutil -l Mono.Zeroconf
The following assemblies are installed into the GAC:
Mono.Zeroconf, Version=4.0.0.90, Culture=neutral, PublicKeyToken=e60c4f4a95e1099e
Number of items = 1

§1.6 google-gdata (gdata-sharp)

ソースのダウンロード。

wget http://google-gdata.googlecode.com/files/libgoogle-data-mono-1.4.0.2.tar.gz
tar -xvf libgoogle-data-mono-1.4.0.2.tar.gz
cd libgoogle-data-mono-1.4.0.2/

configureは用意されていないので、インストール先を指定する場合は、MakefileのPREFIXを変更する必要がある(デフォルトは/usr/local)。

make、make installする。

make
sudo make install

gacutilでインストールされたアセンブリを確認する。

$ gacutil -l | grep Google
Google.GData.AccessControl, Version=1.4.0.2, Culture=neutral, PublicKeyToken=b4b8eb9a7afc8328
Google.GData.Apps, Version=1.4.0.2, Culture=neutral, PublicKeyToken=e6feebfe441b89cb
Google.GData.Blogger, Version=1.4.0.2, Culture=neutral, PublicKeyToken=6f8943d33947d761
Google.GData.Calendar, Version=1.4.0.2, Culture=neutral, PublicKeyToken=aa6748391206b888
Google.GData.Client, Version=1.4.0.2, Culture=neutral, PublicKeyToken=04a59ca9b0273830
Google.GData.CodeSearch, Version=1.4.0.2, Culture=neutral, PublicKeyToken=cac30bb7c678972d
Google.GData.Contacts, Version=1.4.0.2, Culture=neutral, PublicKeyToken=7e065189dd4b982f
Google.GData.Documents, Version=1.4.0.2, Culture=neutral, PublicKeyToken=099e9a853da5b089
Google.GData.Extensions, Version=1.4.0.2, Culture=neutral, PublicKeyToken=0b4c5df2ebf20876
Google.GData.GoogleBase, Version=1.4.0.2, Culture=neutral, PublicKeyToken=b361faa2ad5bd3db
Google.GData.Health, Version=1.4.0.2, Culture=neutral, PublicKeyToken=7dc2246c3cef9211
Google.GData.Photos, Version=1.4.0.2, Culture=neutral, PublicKeyToken=a25b50f2e8e3887a
Google.GData.Spreadsheets, Version=1.4.0.2, Culture=neutral, PublicKeyToken=3f77feb76ff0d9a1
Google.GData.YouTube, Version=1.4.0.2, Culture=neutral, PublicKeyToken=af04a32718ae8833

§1.7 Banshee本体

  • 依存するパッケージ類
    • intltool
    • libgstreamer0.10-0
    • libgstreamer0.10-dev
    • libgstreamer-plugins-base0.10-0
    • libgstreamer-plugins-base0.10-dev
    • libsqlite3-0
    • libsqlite3-dev

ソースのダウンロードとconfigure。

wget http://download.banshee-project.org/banshee/stable/1.5.1/banshee-1-1.5.1.tar.bz2
tar -xvf banshee-1-1.5.1.tar.bz2
cd banshee-1-1.5.1/
./configure --disable-boo --disable-podcast --disable-mtp

configureの結果例。

banshee-1-1.5.5

  Build Environment
    Install Prefix:    /usr/local
    Datadir:           /usr/local/share
    Libdir:            /usr/local/lib

    C Compiler:        /bin/bash /srv/files/build/banshee/banshee-1-1.5.5/build/m4/shave/shave cc gcc
    Mono C# Compiler:  /bin/bash /srv/files/build/banshee/banshee-1-1.5.5/build/m4/shave/shave mcs /usr/local/bin/gmcs -define:RELEASE
    Mono Runtime:      /usr/local/bin/mono

  Video/Graphics:
    Graphics System:   X11
    X11 Video:         no
    Clutter:           no

  Operating System/Desktop Environment:
    GNOME Support:     yes
    OSX Support:       no
    Moblin Support:    no

  Digital Audio Player (DAP) Support:
    Mass Storage:      yes
    MTP:               no
    iPod:              yes
    Karma:             no

  Extra Features:
    Boo Scripting:     no
    Builtin Equalizer: yes
    DAAP:              yes
    GIO Backend:       no (requires glib >= 2.22, gtk-sharp-beans, and gio-sharp)
    Library Watcher:   yes (requires Mono >= 2.4.3)
    Podcasts:          no
    Wikipedia:         no (requires webkit-sharp)
    Gapless playback:  no (requires gstreamer-plugins-base > 0.10.25.2)
    YouTube extension: yes (requires gdata-sharp >= 1.4)

  Build/Development:
    Unit Tests:        no (requires nunit >= 2.4.7)
    Custom a11y:       no (requires gtk-sharp >= 2.12.10)
    Release Build:     yes
    Vendor Build ID:   source-tarball

  WARNING: An existing Banshee install is in /usr/local/lib/banshee-1
           Remove the existing install before installing this build.
           Installing over an existing install will cause conflicts!

configureした結果に問題が無ければmake、make installする。

make
sudo make install

なお、ビルド中エラーが発生したため、以下の箇所を修正した。

src/Extensions/Banshee.YouTube/Makefile
141c141
< GDATASHARP_LIBS = -r:/usr/local/lib/mono/GData-Sharp/Google.GData.Client.dll -r/usr/local/lib/mono/GData-Sharp/Google.GData.Extensions.dll -r:/usr/local/lib/mono/GData-Sharp/Google.GData.YouTube.dll  
---
> GDATASHARP_LIBS = -r:/usr/local/lib/mono/GData-Sharp/Google.GData.Client.dll -r:/usr/local/lib/mono/GData-Sharp/Google.GData.Extensions.dll -r:/usr/local/lib/mono/GData-Sharp/Google.GData.YouTube.dll  
src/Extensions/Banshee.NotificationArea/Notifications/Notification.cs
23c23
< #if INTERNAL_NOTIFY_SHARP
---
> //#if INTERNAL_NOTIFY_SHARP
388c388
< #endif
---
> //#endif
src/Extensions/Banshee.NotificationArea/Notifications/Notifications.cs
23c23
< #if INTERNAL_NOTIFY_SHARP
---
> //#if INTERNAL_NOTIFY_SHARP
98c98
< #endif
---
> //#endif