karubabuの日記

タイトルに解決と書いているものがあるけれど、別に付いていない物は解決していないというわけではないです。つまるところ記事を書いた後に解決してちょっと嬉しかったので付けました。

gentoo上でfloのandroidカスタムROMをビルドした

特に困ったこともなくgentoo公式レポジトリの範囲でパッケージを追加してrepo syncしてbrunchしておわった
ありがたいー🙏

どうした

よく読む

LineageOS 15.1 のビルド方法 | dev:mordiford
Android ビルドで学ぶ git-repo 入門 | dev:mordiford

追加したパッケージ

☝️の記事を参考にして同じようなパッケージを投入すればいける
頑張ってぐぐって
これらは私がビルドのために追加したパッケージだよ
つまりこれだけ入れれば良い訳ではなく、ましてやこれらが本当に必要かどうかも分からないよ

sudo emerge -av
=dev-libs/expat-2.2.5  
=dev-java/lzma-9.18  
=app-arch/lzma-9.20-r1  
=app-arch/lzop-1.04  
=sys-apps/texinfo-6.5  
=sys-fs/squashfs-tools-4.3-r2  
=sys-process/schedtool-1.3.0-r1  
=media-gfx/pngcrush-1.8.13  
=dev-java/maven-bin-3.3.9  
=dev-libs/libxml2-2.9.8  
=x11-libs/wxGTK-3.0.4-r300  
=media-libs/libsdl-2.0.8-r2  
=app-arch/lzip-1.20  
=media-gfx/imagemagick-7.0.7.35  

ncursesは5が必要かつtinfoのUSE flagを立てる必要があるよ

sudo flaggie --strict '=sys-libs/ncurses-5.9-r101:5' +tinfo
sudo emerge '=sys-libs/ncurses-5.9-r101:5'

その他の環境

$ gcc-config -l  
 [1] x86_64-pc-linux-gnu-5.4.0
 [2] x86_64-pc-linux-gnu-7.3.0 *
$ eselect java-vm list   
Available Java Virtual Machines:
  [1]   icedtea-bin-8  system-vm

repoはpython2系でないと動かないので,dev-python/virtualenvをインストールしてrepo initしたディレクトリでよしなに使う
virtualenvの使い方はarchwikiがえらいよ

. build/envsetup.shの様なコマンドを逐一source build/envsetup.shに読み替えたりするのが面倒なのでzshを使っている人はbashにした方がよさそう
わたしはしました

あとはぱっとbrunch flo 2>&1 | tee lineage_$(date '+%Y%m%d_%H-%M-%S').logして待つ
メモリがめがっさ持っていかれるので10Gくらいは余裕を持っていた方がよさげだった
私はswap無しのRAM12GBの環境でホイヤホクスで音楽を聞きながらデスコーヨでチャットしていたらピーク時にどちらもOOMKillerに殺されました…

おわりに

ほたしがえらい
無限に感謝しています