2020-06-30

【備忘録】廃止されていた GtkStock

Vala は GObject を利用した C 言語のソースコードを生成する、セルフホスティングコンパイラを持つオブジェクト指向言語です。C# に似た構文を持ち、無名関数シグナルプロパティジェネリクスメモリ管理例外処理型推論、および、for-each など、C 言語にはない言語仕様を持っています。

Wikipedia より引用・編集

PyGObject で GUI サンプルを作りためていたので、Vala 用に書き直しています。Vala 用にダイアログのサンプルを作り直してビルドしたときに、ちょっと困った警告が出たので備忘録にしました。

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora 32 (Workstation Edition) x86_64

PyGObject のダイアログのサンプルは下記のとおりです。

gtk_dialog.py
gtk_dialog.py の実行例

Vala でも(ちょっと手を抜いてはいますが)同じように記述できます。

gtk_dialog.vala

このコードを実行しようとすると、ビルド、実行はできるものの、下記のような警告が出ます。

$ ./gtk_dialog.vala --pkg gtk+-3.0
/tmp/gtk_dialog.vala.PPEXM0.c: 関数 ‘my_dialog_on_clicked’ 内:
/tmp/gtk_dialog.vala.PPEXM0.c:134:2: 警告: ‘GtkStock’ は廃止されました [-Wdeprecated-declarations]
  134 |  _tmp0_ = (GtkDialog*) gtk_dialog_new_with_buttons ("ダイアログ", (GtkWindow*) self, GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL, NULL);
      |  ^~~~~~
/tmp/gtk_dialog.vala.PPEXM0.c:134:2: 警告: ‘GtkStock’ は廃止されました [-Wdeprecated-declarations]
/tmp/gtk_dialog.vala.PPEXM0.c:137:9: 警告: assignment to ‘GtkBox *’ {aka ‘struct _GtkBox *’} from incompatible pointer type ‘GtkWidget *’ {aka ‘struct _GtkWidget *’} [-Wincompatible-pointer-types]
  137 |  _tmp1_ = gtk_dialog_get_content_area (dialog);
      |         ^
$ 
gtk_dialog.vala の実行例

GtkStock は、メニューやツールバーなどで共通で使用する「開く」や「終了する」といったアイテムの ID を扱っています。しかし、参考サイト [1] によると、GTK 3.10 より Stock は廃止されたとあります。Fedora 32 で使用している GTK+ は 3.24 ですので、ずいぶん前から廃止されていることになりますが、PyGObject では警告が出なかったので気が付きませんでした。💦

Since GTK+ 3.10, stock items are deprecated. You should instead set up whatever labels and/or icons you need using normal widget API, rather than relying on GTK+ providing ready-made combinations of these.

今後のことを考えると、いつでも使えるやり方を確立したいので、代替案を探索しています。

参考サイト

  1. Stock Items: GTK+ 3 Reference Manual

ブログランキング・にほんブログ村へ
にほんブログ村

2020-06-26

HP Stream 11-ak0000 を購入

11.6 型ノート PC、HP Stream 11-ak0006TU(税込 29,500 円)を Amazon.jp から購入しました。6 月 25 日木曜日に注文して、配達は 7 月 4 日から 7 月 11 日の間になるとのことです。Amazon.jp で注文しても HP Directplus の販売です。アカウントを作らなければなりませんが、HP のオンラインストアから買った方が少し安いので、そちらから買った方がよかったのかもしれません。💦

今までに購入した HP Stream 11 は、11-r016TU → 11-y004TU → 11-ak0006TU と三代(台)目になります。今回も Linux ディストロをインストールして評価するために使用する予定です。

HP Stream 11 といえば、2014 年末に発売された HP Stream 11-d012TU が、おそらく日本では最初の発売でしょう。

当時、税抜25,800円というのは驚きの価格でしたが、この最初の Stream 11 を買うことはありませんでした。翌年 2015 年 10 月に発売された Stream11-r016TU を、少し様子見をして 2016 年 3 月に思い切って買ったのが、自分にとって Stream 11 を使い始めたはじまりです。

具体的な数値目標を設定していませんが「非力な CPU を搭載した低価格で貧弱な PC で Linux をどこまで使いこなせるか」をテーマに取り組んできた中で、Stream 11 は評価用の標準 PC として活躍してきました。先代の Stream 11-y004TU もまだ現役ですが、新しい Stream 11 が加わります。

仕様比較

HP Stream 11 の三代に亘る仕様の変遷をまとめました。

シリーズ HP Stream 11-r000 シリーズ HP Stream 11-y000 シリーズ HP Stream 11-ak0000 シリーズ
発売開始月 2015 年 10 月 2016 年 9 月 2020 年 1 月
モデル 11-r016TU 11-y003TU 11-y004TU 11-ak0006TU 11-ak0007TU
外観
カラー コバルトブルー アクアブルー ダイヤモンドホワイト
プロセッサ Intel® Celeron® N2840
2.16GHz-2.58GHz
L2キャッシュ 1MB
Intel® Celeron® N3050
1.60GHz-2.16GHz
L2 キャッシュ 2MB
Intel® Celeron® N4000
1.10GHz-2.60GHz
キャッシュ 4MB
メモリ 2GB オンボード 4GB オンボード
1333MHz, DDR3L SDRAM 1600MHz, DDR3L SDRAM DDR4-2400 SDRAM
ストレージ 32GB eMMC 64GB eMMC
Web カメラ HP TrueVision HD Webcam (約92万画素) VGA Webcam (約30万画素) HP Webcam (約30万画素)
内蔵無線LAN IEEE802.11a/b/g/n/ac, Bluetooth 4.0 IEEE802.11a/b/g/n/ac, Bluetooth 4.2 IEEE802.11a/b/g/n/ac, Bluetooth 5.0
機内モードオン/オフボタン付き
グラフィックスタイプ インテル®HDグラフィックス
(プロセッサーに内蔵)
インテル®UHDグラフィックス 600
(プロセッサーに内蔵)
ビデオメモリ 最大1033MB(メインメモリと共有) メインメモリと共有
ディスプレイタイプ 11.6 インチワイド HD 非光沢・ディスプレイ(1366×768 / 最大1677万色)
外部ディスプレイ 最大 1920×1080 / 最大 1677万色 最大 3840×2160 / 最大 1677万色
ポインティングデバイス イメージパッド(タッチジェスチャー対応)
メディアカードスロット microSD カードスロット
キーボード 日本語配列
インターフェイス HDMI 出力端子 ×1
USB3.0×1、USB2.0 ×1
ヘッドフォン出力/マイク入力コンボポート ×1
HDMI 出力端子 ×1
USB Type-C™ 3.1 ×1, USB3.1 Gen1 ×2
ヘッドフォン出力/マイク入力コンボポート ×1
オーディオ dts Sound+
Realtek High Definition Audio 準拠
dts Studio Sound
Realtek High Definition Audio 準拠
Realtek High Definition Audio 準拠
デュアルスピーカー, 内蔵デュアルマイク デュアルスピーカー, 内蔵マイク
サイズ(幅×奥行き×高さ) 約300×206×18.4mm 約300×205×18.5(最薄部)-20.0(最厚部)mm 約281×194×16.5(最薄部)-18.5(最厚部)mm
質量 約 1.18 kg 約 1.13 kg 約 1 kg
ACアダプター 45W スマートACアダプター(動作電圧: 100-240 VAC、動作周波数: 50-60 Hz)
消費電力(標準時/最大時) 約 5W / 45W
省エネ法に基づくエネルギー消費効率 S区分 0.043 (AA) Y区分 0.043 (AAA) S区分 0.043 (AA) 10区分 8.9kWh/年 (AA)
バッテリ リチウムイオンポリマーバッテリ(2セル) リチウムイオンバッテリ(2セル)
バッテリ駆動時間 約10時間30分 約10時間45分 約13時間30分
実勢価格 (amazon.jp) 26,270 円 28,980 円 38,800 円 29,500 円(税込)
Windows 10 Sモード
38,500 円(税込)
Windows 10 Home

今回の Stream 11-ak0000 シリーズには 11-ak0006TU と 11-ak0007TU の二種類のモデルがありますが、搭載する Windows OS の違いのみで、ハードウェアの違いは無さそうです。それにしても 3 年以上経過しても価格はさほど変わらず、全体的な性能がじわりと強化されているところは流石です。今回はストレージ容量が 64GB になったのが特に嬉しい点です。

配達されるのを楽しみに待つことにします。

参考サイト

  1. HP Stream 11-ak0000 製品詳細 - ノートパソコン | 日本HP
  2. HP Stream 11-ak0000 (2020年モデル)レビュー:税込2万9700円で約1kgの激安11インチノートPC | こまめブログ [2020-02-07]
  3. HP Stream 11-ak0000レビュー:2万円台のコンパクトノートPC|HPパソコン比較購入ガイド [2020-02-18]
  4. Stream 11-ak0000の実機レビュー - the比較 [2020-02-28]
  5. HP Stream 11-ak0000 レビュー ー 毎日持ち歩きたくなる11.6インチ!誰にでもよく似合う落ち着いたデザインになりました!(実機レビュー) [2020-04-05]

 

ブログランキング・にほんブログ村へ
にほんブログ村

2020-06-25

Linux ディストロ探訪(16) 〜 CloudReady 〜

Linux とは本来 Linux カーネルのことを指しています。しかし、カーネルだけでは OS として動作させることはできません。そこで、OS に関連するツールやアプリケーションなどをまとめて、インストールし易く、インストール後にすぐ利用できるような配布形態にしたものを「ディストリビューション(略してディストロ)」と呼んでいます。

本シリーズ記事は、Linux ディストリビューションをピックアップ、仮想マシン(あるいは実機)にインストールして紹介します[不定期]。

CloudReady とは

CloudReady は、Google 社の Chromium OS をベースに Neverware 社が構築したオペレーティングシステムです。

CloudReady のデスクトップ画面

Chromium OS は、主にウェブアプリケーションと共に動作するよう Google 社により設計された Linux ディストリビューションであり、Chrome OS のオープンソース開発バージョンです。ソースコードからコンパイルするパッケージ管理システム Portage を使用している Gentoo Linux をベースにして開発されています。

Wikipedia より引用

Chromium OS はオープンソースでインストール方法も公開されていますが、他の Linux ディストロほどには単純ではありません。

それに比べると CloudReady は、Windows 上で USB イメージを作成して、ライブ OS として試すことができ、そのまま実機へのインストールもできるとのことで、とっても簡単そうだったので、試してみました。

なお、CloudReady を利用する(ログインする)には、Chromebook と同じく、Google のアカウントが必要になります。Chromebook に搭載されている Chrome OS 系の OS は、他の Linux ディストロのように、インストール時にユーザ・アカウントを作成するということをしません。

インストール

Cloud Ready には下記の三種類のエディションがあります。

  • Home ; 無料
    • 自宅などでプライベートな利用
  • Education : $20 / 年
    • 学校など教育現場での利用(別途、詳細なオプション有)
  • Enterprise : $49 / 年
    • 企業、官公庁などでのエンタープライズ用途

$ は米国ドルで、有償のエディションにはテクニカルサポートやセキュリティパッチなどのサービスが含まれています。

Neverware 社は、下記に認定ハードウェア (PC) のリストを掲載しています。リスト以外の PC でも問題なく動作する可能性はありますが、一部のデバイスに対応していない場合もあるので、自己責任でインストールを実施してください。

起動用 USB メモリの作成

ここでは Home Edition をダウンロードして起動用の USB メモリを作成します。

上記のサイトから USB Maker (cloudready-usb-maker.exe) をダウンロードしてインターネットにつながっている Windows 上で起動すると、Cloudready の Home Edition をダウンロードします。その後、起動可能なイメージで USB メモリへ書き込んでくれます。

フォーマットされた 8GB あるいは 16GB の容量の USB メモリをプログラムの起動前に PC の USB ポートに差し込んでおきましょう。

下記のような流れで起動用の USB メモリを作成します。

実機でライブ起動、そしてインストール

今回はインストールできる仮想環境がなかったので、Linux ディストロの評価に使っているテスト機 HP Stream 11-y004TU にインストールしました。作成した USB メモリを挿入し、USB メモリから起動するように BIOS の設定を変更して起動します。

言語やキーボードの設定をした後、Google のアカウントでログインします。ライブ OS で確認したところ、フツーに動いているようなので、本体 PC にインストールしてみることにしました。

本体 PC へのインストールは、メニューから「install OS」を選択します。

本体 PC へのインストールボタン

以下のような画面が現れ、INSTALL CLOUDREADYINSTALL HARD DRIVE & INSTALL CLOUDREADY ボタンをクリックすると、CloudReady のインストールが始まります。しばらくするとインストールが終了し、シャットダウンします。USB メモリを抜いて起動します。

ちなみに、インストールする PC は、いつも Linux ディストロ評価に使用しているので、不測の問題を回避するため、前にインストールされていたパーティション、フォーマットを GParted で削除してから、新しい OS をインストールするようにしています。

はじめての CloudReady

CloudReady は Chromium OS をベースとしている OS ですが、どこが Chromium OS と異なるのかが、調べても判りませんでした。ここではひとまず Chromium OS と同等だとみなすことにします。Chromebook に搭載されている Chrome OS と違うのは Google 固有の製品が含まれていないことです。

下記の Chromebook の使い方の大半は CloudReady にもあてはまるはずです。

そもそも Chromebook を使ったことが無いので、一応同じ機能として、CloudReady のデスクトップで気づいたことをまとめました。

ログイン後のデフォルト画面ではバーが画面下側にあり、その左側に「ランチャー」があります。以下のようにクリックするとアプリの一覧が表示されます。

ランチャーでアプリのリストを表示

表示されているアプリは主にウェブブラウザの Google Chrome あるいは Chromium のアプリの一部ですが、その他にも「ファイル」という Chromebook (CloudReady) 固有のアプリがあります。これはファイルブラウザで、ローカルの保存領域(マイファイル)とGoogle ドライブにアクセスできます。

ファイルブラウザ「ファイル」

画面右下の時刻のあたりをクリック、あるいは Alt + Shift + s を押下すると「ステータス領域」が表示されます。ギヤアイコンをクリックすると、設定画面が表示されます。

ステータス領域と設定画面(CloudReady のバージョン)

ショートカット

ショートカットの一覧は、Ctrl + Alt + / で表示されます。

ショートカット一覧

ちなみに、全画面のスクリーンショットは Ctrl + □|| で取得できるとありますが、Windows PC に CloudReady をインストールしているので、Chromebook とはキーボードが異なります。ファンクションキーのどれかに対応しているのだろうと見当を付けていろいろ試してみたところ、Ctrl + F5 でスクリーンショットを取得できることが判りました。

Linux(ベータ版)

Linux(ベータ版)は、Chromebook を使用してソフトウェアを開発できる機能です。CloudReady でも同様に利用できます。

「設定」にある「Linux(ベータ版)」

機能をオンにして使ってみます。「オン」にすると、下記のような画面が表示され、インストール をクリックするとインストールが始まります。まず仮想マシンがインストールされ、そのあとに Linux コンテナがインストールされます。

Linux のコンテナとしてインストールされたのは、Debian Linux 10 (buster) の amd64 版です。

「Linux」アプリのターミナル画面

apt が利用でき、パスワード無しの sudo で必要なものは自分でインストールできます。また、ちょっと確認した限りでは GUI プログラムが CloudReady のデスクトップ上で動くようです。

PyGObject の実行例

「ファイル」を起動すると、マイファイル内に「Linux ファイル」ができており、Linux アプリ内のアカウント内のファイルにアクセスできるようになっています。結構便利にできています。

「Linux」アプリインストール後の「ファイル」のマイファイル内

その他

既知の問題はいろいろあるようです。

まとめ

項目 説明
ディストリビューション CloudReady
プロジェクトサイト Neverware
デスクトップ環境 Chromebook のデスクトップ
対応プラットフォーム x86_64
パッケージ管理 (システムのビルドは Gentoo Linux のパッケージ管理システムである Portage を利用)
アプリのインストールやアップデートの機能はあるものの、CloudReady 上でユーザーが直接 Portage を使うようなパッケージ管理はない。
日本語入力 Google 日本語入力
寸評

Chromebook といえば、ブラウザ中心の OS で、Linux をベースにしていながら、Linux ユーザにとっては面白みが少ないだろうと思っていました。

しかし、CloudReady を使ってみて、Chromebook は意外と使える環境かもしれないと思うようになりました。どこにでも持ち歩くノート PC で必要となる用途、ゲームといった重い処理でなければ、いろいろと使えそうです。Linux を使いたければ Linux アプリを使えば良いのです。

参考サイト

  1. CloudReady – USBメモリから起動して使えるChrome OS(Chromium OS) を使ってみよう! [2020-04-13]
  2. Windows7がサポート終了したのでCloudReady(ChromeOS, ChromiumOS)を入れて再利用する - Qiita [2020-01-15]
  3. Windows PCにCloudReadyをインストールしてChromebookとして再利用する:中古PC活用 - @IT [2019-08-09]
  4. Chromebookでスクリーンショットを撮る方法!範囲指定もOK | KEIICHINISHIMURA.COM [2019-01-18]
  5. CloudReadyのインストール後にやっておきたいこと:3点 | Cloud-Work | 生産性向上
  6. CloudReady (クラウドレディ)|Chrome 端末|電算システム
  7. CloudReady Home - 無料ChromeOSのインストールと設定 | E.i.Z
  8. Chromebookで出来ること・魅力を3年間に5台のChromebookを購入したブロガーが徹底解説 - わたしのネット

ブログランキング・にほんブログ村へ
にほんブログ村

2020-06-22

Vala でオブジェクト指向プログラミング

Vala は GObject を利用した C 言語のソースコードを生成する、セルフホスティングコンパイラを持つオブジェクト指向言語です。C# に似た構文を持ち、無名関数シグナルプロパティジェネリクスメモリ管理例外処理型推論、および、for-each など、C 言語にはない言語仕様を持っています。

Wikipedia より引用・編集

Vala は C 言語のソースを生成しますが、オブジェクト指向の言語です。Vala のサンプル紹介でもオブジェクト指向を意識したコーディングを心掛けたいので、まずは Hello, World のサンプルから書き直します。

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora 32 (Workstation Edition) x86_64
  vala-0.48.6-1.fc32.x86_64

Hello World!(オブジェクト指向版)

以前のブログ記事 [1] で紹介した Hello, World! のサンプルと実行結果は同じですが、オブジェクト指向を意識して HelloWorld クラスに直したものを紹介します。

hello_object.vala

$ ./hello_object.vala --pkg gtk+-3.0
hello_object,vala の実行例

今後、Vala を用いた GUI サンプルを充実させていきたいと考えています。

参考サイト

  1. bitWalk's: Vala を試してみた [2020-06-06]
  2. Projects/Vala/Manual/Classes - GNOME Wiki!

ブログランキング・にほんブログ村へ
にほんブログ村

2020-06-21

【備忘録】Vala の実行

Vala は GObject を利用した C 言語のソースコードを生成する、セルフホスティングコンパイラを持つオブジェクト指向言語です。C# に似た構文を持ち、無名関数シグナルプロパティジェネリクスメモリ管理例外処理型推論、および、for-each など、C 言語にはない言語仕様を持っています。

Wikipedia より引用・編集

洋書ですが Vala の入門書を Amazon.jp で見つけました。Vala プログラミングの全体像を手っ取り早く学習しようと Kindle 対応のフォーマットのものを買いました(右図)。

少し読み進めてビックリです。Vala は valac コマンドでコンパイルして実行するものだと思いこんでいましたが、vala コマンドでそのまま実行することもできるのです。

vala コマンドでは一時的領域でコンパイルして実行しているだけなので、やっていることはvalac コマンドと結局のところ同じなのですが、使い方に違いがありますので、備忘録としてまとめました。

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora 32 (Workstation Edition) x86_64
  vala-0.48.6-1.fc32.x86_64

Hello World! を使い回します

参考サイト [1] で紹介した Hello World! のプログラムを今回も使うことにします。

hellogtk.vala
using Gtk;
 
int main (string[] args) {
    Gtk.init (ref args);
    
    var window = new Window ();
    window.title = "Hello, World!";
    window.border_width = 10;
    window.window_position = WindowPosition.CENTER;
    window.set_default_size(350, 70);
    window.destroy.connect (Gtk.main_quit);
    
    var label = new Label ("こんにちは、世界!");
    
    window.add (label);
    window.show_all ();
    
    Gtk.main ();
    return 0;
}

vala コマンドで hellogtk.vala をスクリプトファイルのように実行するには次のようにします。

[bitwalk@fedora-pc hellogtk]$ vala --pkg gtk+-3.0 hellogtk.vala
hellgtk.vala の実行例

hellogtk.vala の先頭に、下記のように追加すれば、実行権限を与えてファイル名で起動することもできます。

hellogtk.vala の最初の一行
#!/usr/bin/env vala
[bitwalk@fedora-pc hellogtk]$ chmod a+rx hellogtk.vala
[bitwalk@fedora-pc hellogtk]$ ./hellogtk.vala --pkg gtk+-3.0

サンプルを作って動作するか、ちょっと試したい時に重宝する機能です。

参考サイト

  1. bitWalk's: Vala を試してみた [2020-06-06]

ブログランキング・にほんブログ村へ
にほんブログ村

2020-06-20

Vala と Meson

Vala は GObject を利用した C 言語のソースコードを生成する、セルフホスティングコンパイラを持つオブジェクト指向言語です。C# に似た構文を持ち、無名関数シグナルプロパティジェネリクスメモリ管理例外処理型推論、および、for-each など、C 言語にはない言語仕様を持っています。

Wikipedia より引用・編集

Vala を試してみて、簡単に GObject の GUI が作れることに興味を持ちました [1]。そこで開発環境を探したところ GNOME Builder が Vala のプロジェクトに対応していることが判りました [2]。しかし使い方がよくわからず、どうもとっつきにくい印象を受けます。GNOME Builder のマニュアルは英語ですが整備されているので、根気良く読めば良いのですが、試しに作ったプロジェクトで生成された meson.build ファイルが気になります。

GNOME Builder で生成された meson.build ファイルの例

この meson.build は Meson (/ˈmɛ.sɒn/) というビルド自動化するツールのためのファイルです。この Mason を知れば、GNOME Builder を見る目が変わるかもしれないと思い、Vala のサンプルを Mason を使ってビルドしてみました。

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora 32 (Workstation Edition) x86_64
  meson-0.54.2-1.fc32.noarch
  ninja-build-1.10.0-1.fc32.x86_64

Hello World!

参考サイト [1] で紹介した Hello World! のプログラムを今回も使うことにします。

hellogtk.vala
using Gtk;
 
int main (string[] args) {
    Gtk.init (ref args);
    
    var window = new Window ();
    window.title = "Hello, World!";
    window.border_width = 10;
    window.window_position = WindowPosition.CENTER;
    window.set_default_size(350, 70);
    window.destroy.connect (Gtk.main_quit);
    
    var label = new Label ("こんにちは、世界!");
    
    window.add (label);
    window.show_all ();
    
    Gtk.main ();
    return 0;
}

はじめての Meson

Wikipedia によると Meson は直接ソフトウェアをビルドするのではなく、Linux では Ninja のような低レベルなビルドシステム用のビルドファイルを生成するということです。Ninja も使ったことがないのですが、とりあえず簡単なサンプルで Meson を使ってみることにします。

Meson のプロジェクトサイト [3] のマニュアルに Vala 用のサンプルもありましたので、それを参考に、前述の hellogtk.vala をビルドできるように meson.buildhellogtk.vala と同じディレクトリ内に作成しました。ソースが hellogtk.vala で、ビルドする実行ファイル名を hello としています。

meson.build
project('vala sample', 'vala', 'c')

dependencies = [
    dependency('glib-2.0'),
    dependency('gobject-2.0'),
    dependency('gtk+-3.0'),
]

sources = files('hellogtk.vala')

executable('hello', sources, dependencies: dependencies)

hellogtk.vala をビルドするディレクトリを builddir として Meson を実行します。

[bitwalk@fedora-pc hellogtk]$ ls
hellogtk.vala  meson.build
[bitwalk@fedora-pc hellogtk]$ meson builddir
The Meson build system
Version: 0.54.2
Source dir: /home/bitwalk/プロジェクト/hellogtk
Build dir: /home/bitwalk/プロジェクト/hellogtk/builddir
Build type: native build
Project name: vala sample
Project version: undefined
C compiler for the host machine: ccache cc (gcc 10.1.1 "cc (GCC) 10.1.1 20200507 (Red Hat 10.1.1-1)")
C linker for the host machine: cc ld.bfd 2.34-3
Vala compiler for the host machine: valac (valac 0.48.6)
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.6.3)
Run-time dependency glib-2.0 found: YES 2.64.3
Run-time dependency gobject-2.0 found: YES 2.64.3
Run-time dependency gtk+-3.0 found: YES 3.24.20
Build targets in project: 1

Found ninja-1.10.0 at /usr/bin/ninja
[bitwalk@fedora-pc hellogtk]$ ls
builddir  hellogtk.vala  meson.build
[bitwalk@fedora-pc hellogtk]$ 

builddir 内にディレクトリを移して ninja コマンドを実行すると hello がビルドされます。

[bitwalk@fedora-pc hellogtk]$ cd builddir
[bitwalk@fedora-pc builddir]$ ls
build.ninja  compile_commands.json  meson-info  meson-logs  meson-private
[bitwalk@fedora-pc builddir]$ ninja
[3/3] Linking target hello
[bitwalk@fedora-pc builddir]$ ls
build.ninja  compile_commands.json  hello  hello@exe  meson-info  meson-logs  meson-private
[bitwalk@fedora-pc builddir]$ ./hello
hello の実行例

とてもシンプルな例をビルドしただけですが、現金なもので、これだけのでも Meson への親近感が増し、ひいては GNOME Builder の meson.build に記載されている内容を理解できる気にもなります。この錯覚が GNOME Builder を使えるようにするためにはきっと必要なのでしょう。🤗

参考サイト

  1. bitWalk's: Vala を試してみた [2020-06-06]
  2. bitWalk's: GNOME Builder は GNOME アプリ開発用の IDE [2020-06-08]
  3. The Meson Build system

ブログランキング・にほんブログ村へ
にほんブログ村