Building GNOME 3.14 release (TAKE 3).

ひとまず gnome-shell 関連はおいておいて、アプリ単体のビルドを継続中。
まずは Web こと epiphany ウェブブラウザ。WebKitGTK+ をレンダリング・エンジンとして持ち、GNOME デスクトップ向けに GTK+ ツールキットのバージョン3の UI を持つタブ対応ブラウザ。このバージョンでは、Google Chrome 同様にタブ毎にスレッド (プロセス) を割り当てることができるようになった。あとは表示しているウェブ・ページのソースをデフォルトのエディタで開くことができるようになった:

internet-web-browser.png epiphany-3.14.png

次は Glade ことユーザ・インタフェース・ビルダ。GTK+ バージョン2向けのビルダが Glade-3 と呼ばれ、こちらは GTK+ バージョン3系の UI を設計できる。このバージョンでは、なんとアンケート機能が追加された。同時にユーザ登録する際にメーリングリストの購読も選択できる。一応、個人情報の扱いには注意をはらっている模様。

glade.png glade-3.14-01.png

Glade には設計した UI をモックアップとして表示する機能が追加されているけど、さらに機能が追加されてスクリーンショットも撮れるようになっていた:

$ glade-previewer --help
用法:
glade-previewer [オプション...] - Glade UI 定義をプレビューする
ヘルプのオプション: -h, --help ヘルプのオプションを表示する --help-all ヘルプのオプションを全て表示する --help-gtk GTK+ のオプションを表示する
アプリケーションのオプション: -f, --filename=FILENAME プレビューするファイルの名前を指定する --template テンプレートを読み込むダミーのウィジェット・クラスを生成する -t, --toplevel=TOPLEVELNAME プレビューするトップレベルの名前を指定する --screenshot スクリーンショットを保存する先のファイル名を指定する --css 使用する CSS ファイルの名前を指定する -l, --listen 標準入力待ちにする --slideshow GtkStack を使って全てのトップレベル・ウィジェットのスライドショーを作成する -v, --version バージョンを表示する --display=DISPLAY 使用するXのディスプレイを指定する

次は画像ビューアこと Eye of GNOME。こちらは何が新しくなったか今ひとつ不明。GTK+ バージョン3の新しい API への移行だろうか。プラグインの方もあまり変わっていないような気がする:

eog.png eog-3.14-01.png
eog-3.14-02.png

最後はドキュメント・ビューアこと Evince。こちらも特にサポートするドキュメントの形式が追加されたわけでもなく、GTK+ バージョン3の新しい UI に追従したような感じ:

evince.png evince-3.14-01.png

例えば表示倍率を変えるメニューはこんな感じ:
evince-3.14-02.png
まだまだ半分もいっていないな :$

Building GNOME 3.14 release (TAKE 2).

せっかくなので NetworkManager のバージョン 1.0.0 をビルド・インストールしてみた。ライブラリの統廃合が大きな特徴だけれど、まだ古いライブラリも提供されているのでバージョン 0.9 系の最新版をインストールしているのとあまり変わらない感じ。と思ったら、g-c-c のネットワーク・アプレットが起動されなくなってしまった :$ :
gcc-panels-network-NM10-01.png
まぁ NetworkManager のバージョン 1.0 は GNOME 3.14 のずっと後にリリースされたから仕方がないとは思うのだけれど、なんだか「気持ち悪い」ので現在の開発ブランチである GNOME 3.15 の g-c-c のソースコードを確認してみたら、こんなログが

commit f30e6df1d4665b06a45ad7bbe7a2ed2bfa9387f5
Author: Bastien Nocera 
Date:   Thu Dec 18 08:04:00 2014 +0100
network: Also work with NM 1.0
Remove the NetworkManager version checking altogether. The code was made to check for now very old versions of NetworkManager, and anything newer than ancient should degrade gracefully if we support newer features.
https://bugzilla.gnome.org/show_bug.cgi?id=741661

このネットワーク・アプレットは起動時に実行中の NetworkManager のバージョンを取得してチェックしている:

static gboolean
panel_check_network_manager_version (CcNetworkPanel *panel)
{
const gchar *version;
gchar **split = NULL;
guint major = 0;
guint micro = 0;
guint minor = 0;
gboolean ret = TRUE;
/* 実行中のバージョンを取得して解析する */
version = nm_client_get_version (panel->priv->client);
if (version != NULL) {
split = g_strsplit (version, ".", -1);
major = atoi (split[0]);
minor = atoi (split[1]);
micro = atoi (split[2]);
}
/* そのバージョンが新しすぎるか、もしくは古すぎるか? */
if (major > 0 || minor > 9 || (minor <= 8 && micro priv->nm_warning_idle = g_idle_add ((GSourceFunc)display_version_warning_idle, panel);
}
g_strfreev (split);
return ret;
}

この実装、本来はバージョン 1.0 の NetworkManager の場合は through するはずなのが、どうやら引っかかっていたらしい。なにやらバージョン管理も面倒になったのか、バッサリ割愛されて、かなり古いバージョンのみ弾くような実装に変更されていた。こちらをそのまま適用してネットワーク設定画面を出すことができた:
gcc-panels-network-NM10-02.png
で肝心のコア・パッケージの方だけれど、安易に upstartsystemd で置き換えようとしたら、何だかいろいろ起動しなくなったので止めた。あと、このバージョンから日本語入力などの「IM 切り替えが gnome-setting-daemon から gnome-shell へ移行された」ようで、なにやらこちらも危険な匂いがしたので、ひとまず gnome-shell とそれに依存するパッケージは保留したまま Standalone なアプリを先にビルド中。
(現在インストール保留中のパッケージ)

  1. mutter
  2. clutter と clutter-gtk
  3. gnome-settings-daemon
  4. gnome-session
  5. gcj
  6. gnome-shell

ということで、現在のデスクトップは GNOME のバージョン 3.10 と 3.14 が混ざった状態。特に支障はないのでどうしょうかなぁと考え中 :|