2010年10月8日 星期五

使用 GNU Build System (aka Autotools) 來管理 Vala 編譯流程

首先要先安裝好需要的軟體套件

以 Ubuntu 10.04 為例
$ sudo apt-get install autoconf automake pkg-config valac vim

Ubuntu 10.04 上面的 Vim 並沒有提供 Vala 的語法著色
還好官方網站上面已經有提供了 Vala/Vim
照著做一遍就好了

準備一個的 hello world 原始碼檔案 hello.vala
void main() {
    stdout.printf("Hello world\n");
}

接者寫一個 Makefile.am
bin_PROGRAMS = hello
hello_SOURCES = hello.vala
hello_CPPFLAGS = @GLIB_CFLAGS@
hello_LDFLAGS = @GLIB_LIBS@

然後將 autoscan 產生出來的 configure.scan 更名為 configure.ac
$ autoscan
$ mv configure.scan configure.ac

再修改成下面這樣
#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ(2.65)
AC_INIT([hello],[0.0],[foo@bar.com])

AM_INIT_AUTOMAKE([-Wall -Werror foreign])

# Checks for programs.
AC_PROG_CC
AM_PROG_VALAC([0.8.0])

# Checks for libraries.
AM_PATH_GLIB_2_0(,,,[gobject])                                  

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_CONFIG_FILES([Makefile])
AC_OUTPUT

第 7 行的
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
會產生一些處理 Makefile.am 的工具出來

第 10 行的
AC_PROG_CC
會檢查 C Compiler 因為 Vala 最終還是會產生 C 的原始檔案

第 11 行的
AM_PROG_VALAC([0.8.0])
當然就是檢查這篇文章的主角 Vala 囉

第 14 行的
AM_PATH_GLIB_2_0(,,,[gobject])
會產生出在 Makefile.am 所使用的 @GLIB_CFLAGS@ 跟 @GLIB_LIBS@
還有會使用到 glib 裡面的 gobject 這個 module

接下來就如同一般的 GNU Build System (aka Autotools) 的慣用方法
使用以下命令來產生 configure 腳本檔案
$ autoreconf -if

然後就是 ./configure && make && make install 這類常見的指令連續技囉~ :P

2010年10月3日 星期日

BetaRadio v1.1 正式釋出

此版新增的功能是可以透過網路新增播放清單
簡單講就是 list.json 這個網路上的檔案裡面有多少清單就會看到多少清單
另外修正了播放時會斷斷續續的問題

Ubuntu 9.10/10.04/10.10 使用者可以直接使用命令列執行以下步驟
$ sudo add-apt-repository ppa:fourdollars/betaradio
$ sudo apt-get update
$ sudo apt-get install betaradio
來安裝

至於其它的 GNU/Linux 系統就要請諸位大大們幫忙產生安裝套件囉~ <(_ _)>

軟體原始碼下載 betaradio-1.1.tar.bz2 SHA1: 2768cfbb07dbc7d87b6f653645a00037629446ad
編譯時會需要 libgtk2.0-dev libgstreamer0.10-dev libjson-glib-dev libsoup2.4-dev 這些套件
執行時會需要 gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly gstreamer0.10-ffmpeg 這些套件

祝大家玩得開心。:D

2010年9月27日 星期一

Debian Package (6) - 使用 pbuilder - personal package builder 個人 Debian Package 製作工具

目標是編譯在 Ubuntu 10.04 上面使用的 Debian Package

首先是安裝需要的軟體套件還有修正一些小問題
sudo apt-get install pbuilder cowdancer ccache
sudo mkdir -p /var/cache/ccache # To avoid error of "special device /var/cache/ccache does not exist"

然後編輯設定檔 ~/.pbuilderrc 加入
MIRRORSITE=http://tw.archive.ubuntu.com/ubuntu/
COMPONENTS="main restricted universe multiverse"
DISTRIBUTION=lucid
OTHERMIRROR="deb http://tw.archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse|deb http://tw.archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse|deb http://tw.archive.ubuntu.com/ubuntu/ lucid-proposed main restricted universe multiverse|deb http://tw.archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse"
PDEBUILD_PBUILDER=cowbuilder
BUILDRESULT=~/deb/

接者開始產生一個編譯用的基本環境
sudo cowbuilder --create

然後就可以在原本使用 debuild 編譯 Debian Package 的目錄裡面
改用 pdebuild 來編譯 Debian Package
程式會自動透過網路下載相依的軟體套件然後將 Debian Package 編譯到 ~/deb/ 底下

或是像下面的使用方法
apt-get source --download-only hello
下載 hello_2.4-3.diff.gz hello_2.4-3.dsc hello_2.4.orig.tar.gz 後,再執行
sudo cowbuilder --build hello_2.4-3.dsc
來編譯 Debian Package

參考資料:

2010年9月23日 星期四

StarCraft2 on Ubuntu 10.04



不過目前在 Intel 顯示晶片上面似乎無法使用 Wine 來顯示 3D 圖形
所以遊戲中的 3D 模型的部份都無法顯示出來,也就是無法玩的意思。XD

參考資料:
http://www.thehelper.net/forums/showthread.php?t=147567
https://launchpad.net/~ubuntu-wine/+archive/ppa

2010年8月16日 星期一

COSCUP 2010 投影片

首先是第一天晚上的 Ubuntu BoF
第二天上午的 Introducing GStreamer
第二天下午的 Debian Policy 中的 5.6.12 小節的 Version

2010年6月26日 星期六

BetaRadio v1.0 網路廣播點播器 正式釋出

BetaRadio 因為 hichannel 網頁不斷地改版,最後碰到了 libmms 這個函式庫的一個 bug 所以專案就一直呈現死掉的狀態;不過最近終於有時間能夠找出 libmms 的 bug 並且修正,所以才能夠再次地讓這個純 C 語言寫出來的網路廣播點播器復活。

Source code tarball 可以在 http://code.google.com/p/betaradio/downloads/list 下載
相依一個特別的函式庫 json-cat 可以在 http://github.com/fourdollars/json-cat/downloads 下載 Source code tarball

另外就是特別為 Ubuntu 10.04 使用者準備好一個 PPA 可以馬上裝起來就可以使用了。

GUI 安裝方式 [系統]->[管理]->[軟體來源] 裡面的 [其它軟體] 點擊 [加入] 後輸入
ppa:fourdollars/lucid
然後關閉 [軟體來源] 選擇 [重新載入] 
再打開 [系統]->[管理]->[Synaptic套件管理程式] 搜尋 betaradio 就可以找到來安裝了

或是可以使用命令列輸入來安裝
$ sudo apt-add-repository ppa:fourdollars/lucid
$ sudo apt-get update
$ sudo apt-get install betaradio
安裝完就可以在 [應用程式]->[影音] 裡面看到 "BetaRadio 點播器" 點一下就可以使用了~ :)