Batocera.linux 36(っぽいの)をビルドしてみた
Batocera.linux ってなんじゃらほい?
…って人には無用な記事なのですが、
とりあえずどんなものかはGitHubでまとめてあるのでそっちで。
興味なかったらお帰りよろしう。
ビルド環境構築
これについてもひとまずGitHubでまとめてあるのでそっちで。
現在では変更点あるのですが、それは順をおって説明していく。
Batocera 36(っぽいの)
毎度のことなんだけど、Batocera.linuxってリリース時のソースに
タグ打ってくんないんすよ。
まーあるにはあるんですけどね…
この記事書いてる4/22時点ではbatocera-35までしか。
で、どーでもよくなった頃にいつの間にか入れてくるスタイル。
というわけで、本家ソースのブランチ眺めながらそれっぽいところに
あたりつけて、こちらではMaybeBatocera36ってブランチ名つけてます。
最初の関門
Batocera 33では前述のビルド環境ですんなりいけた。
Batocera 34では諸問題ありつつも、なんとかなっていた。
Batocera 35では対処不能な状態で移行を諦めた。
:
Batocera 36は…前途多難ですね…
:
(数時間後)
:
案の定。
gtkとかこういった低水準の部分でエラー出されても無闇に
手を入れられないので困ったもんだ。
Batocera 34の頃にも斯様な相性問題っぽいのありまして、
バージョン調整とかも試してみたんだけどね。
それで無理矢理ビルド通した結果、正常動作してくんないと。
根拠不明な修正はロクなことにならない、これ鉄則。
で、相性自体を解決する趣旨でいろいろ試した結果、
Ubuntu 22.10でビルド環境組むのが正解だったという。
(それでいて公式ドキュメントがUbuntu 18~20のままなんだいぢわる)
まだまだ関門
Ubuntu 22.10でビルドを開始して一晩が経った頃、ビルドエラー発生。
Batocera.linuxのプロジェクトは外部のパッケージ類を取り込まずに
その外部から直接拾ってくるワイルドな構成でして、それ故に
リンク切れで404 Not Foundとか度々出てくるのでありました。
まず libretro-scummvm
参照先側でcommitが削除された御様子。
ひとまず、去年11月ぐらいに参照してたcommitが生きてたので戻し。
次に kodi19-resource-language-tr_tr
これは参照先が直近3バージョンしか保持しない方針のようで
古くなった参照が度々くたばるやつ。
9.0.37を参照してますが、ビルド時点では9.0.38~40しかない。
これは単純に最新版にでもしとけばいいだろう、たぶん。
もひとつ rtl8821cu
これも参照先側でcommit削除…というかリポジトリごとなくなってる。
ひとまず後継リポジトリっぽい 8821cu-20210916 でも拾っとく。
でけた(たぶん)
といった具合ではありますが、なんとかビルドは完了。
一応それなりに動いてはいる。
今回の成果
Batocera 36 をソースからビルドできることが判明し、
拙作カスタム品 NullPopPoCustom の移行も可能となった。
今後の予定
NullPopPoCustom の移行も見据えつつ、ついでに
公共性の高いハックは本家Batoceraへの提供も可能な形に
整えておきたい。
そのためには、本家Batoceraの最新版ソースを
アクティヴに追跡しつつ、それに対応したブランチを
用意しておく必要あるわけで。
この点については、極力安定確認したソースにとどめておく
NullPopPoCustom の方針と相反するところなので、
専用のブランチを別途用意して本家の更新を追跡し続ける
運用になるだろうと。