Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Akkiesoft/3487144311b4c2dcf434a644dbe65bb8 to your computer and use it in GitHub Desktop.
Save Akkiesoft/3487144311b4c2dcf434a644dbe65bb8 to your computer and use it in GitHub Desktop.
How to build mikutter AppImage on Raspbian buster(armhf).

Dockerとかツール類の用意

sudo vi /etc/apt/source.list.d/docker.list

deb https://download.docker.com/linux/debian/ buster nightly
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common cmake libjpeg-dev cimg-dev docker-ce docker-ce-cli containerd.io patchelf
sudo gpasswd -a pi docker
sudo apt remove -y aufs-dkms

一旦ログインし直し

mikutterの用意

git clone git://toshia.dip.jp/mikutter.git
git checkout develop

exec.soの作成

git clone https://github.com/darealshinji/AppImageKit-checkrt
make -j4
cp exec.so ~/mikutter/deployment/appimage/

linuxdeploy-plugin-appimageの作成

git clone https://github.com/linuxdeploy/linuxdeploy-plugin-appimage
cd linuxdeploy-plugin-appimage
cp travis/build-appimage.sh .
vi build-appimage.sh

・cleanupを無力化
・追記
BUILD_DIR=$(pwd)
ARCH=armhf

elif [ "$ARCH" == "armhf" ]; then
    EXTRA_CMAKE_ARGS=()

./build-appimage.sh

linuxdeploy-plugin-appimage-armhf.AppImageができることを確認

linuxdeployの作成

cd ~
git clone https://github.com/linuxdeploy
cd linuxdeploy
cp travis/build.sh .
vi build.sh

・cleanupを無力化
・追記
BUILD_DIR=$(pwd)
ARCH=armhf

elif [ "$ARCH" == "armhf" ]; then
    EXTRA_CMAKE_ARGS=()

・linuxdeploy-plugin-appimage-"$ARCH".AppImageをコピーしてきて使うように書き換える
#wget https://github.com/TheAssassin/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-"$ARCH".AppImage
cp ~/linuxdeploy-plugin-appimage/linuxdeploy-plugin-appimage-"$ARCH".AppImage .

linuxdeploy-armhf.AppImageができることを確認

mikutterの書き換え

cd ~/mikutter/deployment/appimage/

vi Dockerfile

・FROM ubuntu:19.04に変える(Raspbian Busterより新しいlibc6とlibstdc++が必要。18.10でもいいっぽい)
・ubuntu19.04ならlibgdbm3をlibgdbm6に書き換え
・COPY linuxdeploy-armhf.AppImage exec.so AppRun mikutter.desktop gen_appimage.sh /

vi gen_appimage.sh

wgetでexec.soを拾うところをmvに変更
mv exec.so $APPDIR/usr/optional/exec.so

コメントアウトする(ないっぽい)
# echo "--> copy Typelibs for gobject-introspection gem"
# cp -av /usr/lib/girepository-* $APPDIR/usr/lib

linuxdeploy-x86_64.AppImageをlinuxdeploy-armhf.AppImageに書き換え

ビルド

export REVISION=develop
docker build -t mikutter-build-appimage . && docker run --rm -v $PWD/volume:/volume -v $(git rev-parse --show-toplevel):/mikutter-src:ro -it mikutter-build-appimage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment