ft: AppImage
This commit is contained in:
parent
c38d7e2af6
commit
5710ad8079
|
@ -10,4 +10,5 @@ noBackup/
|
||||||
.vscode
|
.vscode
|
||||||
bin/
|
bin/
|
||||||
vendor/.nimble
|
vendor/.nimble
|
||||||
*.AppImage
|
*.AppImage
|
||||||
|
tmp
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
APPDIR="$(dirname "$(readlink -f "${0}")")"
|
||||||
|
export LD_LIBRARY_PATH=${APPDIR}/usr/lib/:$LD_LIBRARY_PATH
|
||||||
|
|
||||||
|
exec "${APPDIR}/usr/bin/nim_status_client" "$@"
|
40
Makefile
40
Makefile
|
@ -59,13 +59,13 @@ deps: | deps-common
|
||||||
|
|
||||||
update: | update-common
|
update: | update-common
|
||||||
|
|
||||||
DEPLOYQT := linuxdeployqt-continuous-x86_64.AppImage
|
DOTHERSIDE := vendor/DOtherSide/build/lib/libDOtherSide.so
|
||||||
|
|
||||||
$(DEPLOYQT):
|
APPIMAGETOOL := appimagetool-x86_64.AppImage
|
||||||
wget https://github.com/probonopd/linuxdeployqt/releases/download/continuous/$(DEPLOYQT)
|
|
||||||
chmod +x $(DEPLOYQT)
|
|
||||||
|
|
||||||
DOTHERSIDE := vendor/DOtherSide/build/lib/libDOtherSideStatic.a
|
$(APPIMAGETOOL):
|
||||||
|
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/$(APPIMAGETOOL)
|
||||||
|
chmod +x $(APPIMAGETOOL)
|
||||||
|
|
||||||
$(DOTHERSIDE): | deps
|
$(DOTHERSIDE): | deps
|
||||||
echo -e $(BUILD_MSG) "DOtherSide"
|
echo -e $(BUILD_MSG) "DOtherSide"
|
||||||
|
@ -85,23 +85,45 @@ $(STATUSGO): | deps
|
||||||
|
|
||||||
build-linux: $(DOTHERSIDE) $(STATUSGO) src/nim_status_client.nim | deps
|
build-linux: $(DOTHERSIDE) $(STATUSGO) src/nim_status_client.nim | deps
|
||||||
echo -e $(BUILD_MSG) "$@" && \
|
echo -e $(BUILD_MSG) "$@" && \
|
||||||
$(ENV_SCRIPT) nim c -L:$(STATUSGO) -d:ssl -L:-lm -L:-Lvendor/DOtherSide/build/lib/ $(NIM_PARAMS) --outdir:./bin src/nim_status_client.nim
|
$(ENV_SCRIPT) nim c -d:nimDebugDlOpen -L:$(STATUSGO) -d:ssl -L:-lm $(NIM_PARAMS) -L:-LlibDOtherSide.so --outdir:./bin src/nim_status_client.nim
|
||||||
|
|
||||||
build-macos: $(DOTHERSIDE) $(STATUSGO) src/nim_status_client.nim | deps
|
build-macos: $(DOTHERSIDE) $(STATUSGO) src/nim_status_client.nim | deps
|
||||||
echo -e $(BUILD_MSG) "$@" && \
|
echo -e $(BUILD_MSG) "$@" && \
|
||||||
$(ENV_SCRIPT) nim c -L:$(STATUSGO) -d:ssl -L:-lm -L:"-framework Foundation -framework Security -framework IOKit -framework CoreServices" -L:-Lvendor/DOtherSide/build/lib/ $(NIM_PARAMS) --outdir:./bin src/nim_status_client.nim
|
$(ENV_SCRIPT) nim c -d:nimDebugDlOpen -L:$(STATUSGO) -d:ssl -L:-lm -L:"-framework Foundation -framework Security -framework IOKit -framework CoreServices" $(NIM_PARAMS) -L:-LlibDOtherSide.so --outdir:./bin src/nim_status_client.nim
|
||||||
|
|
||||||
APPIMAGE := NimStatusClient-x86_64.AppImage
|
APPIMAGE := NimStatusClient-x86_64.AppImage
|
||||||
|
|
||||||
$(APPIMAGE): $(DEFAULT_TARGET) $(DEPLOYQT) nim-status.desktop
|
$(APPIMAGE): $(DEFAULT_TARGET) $(APPIMAGETOOL) nim-status.desktop
|
||||||
rm -rf tmp/dist
|
rm -rf tmp/dist
|
||||||
mkdir -p tmp/dist/usr/bin
|
mkdir -p tmp/dist/usr/bin
|
||||||
|
mkdir -p tmp/dist/usr/lib
|
||||||
|
mkdir -p tmp/dist/usr/qml
|
||||||
|
|
||||||
|
# General Files
|
||||||
cp bin/nim_status_client tmp/dist/usr/bin
|
cp bin/nim_status_client tmp/dist/usr/bin
|
||||||
cp nim-status.desktop tmp/dist/.
|
cp nim-status.desktop tmp/dist/.
|
||||||
cp status.svg tmp/dist/status.svg
|
cp status.svg tmp/dist/status.svg
|
||||||
cp -R ui tmp/dist/usr/.
|
cp -R ui tmp/dist/usr/.
|
||||||
|
|
||||||
|
# Libraries
|
||||||
|
cp vendor/DOtherSide/build/lib/libDOtherSide* tmp/dist/usr/lib/.
|
||||||
|
|
||||||
|
# QML Plugins due to bug with linuxdeployqt finding qmlimportscanner
|
||||||
|
# This list is obtained with qmlimportscanner -rootPath ui/ -importPath /opt/qt/5.12.6/gcc_64/qml/
|
||||||
|
mkdir -p tmp/dist/usr/qml/Qt/labs/
|
||||||
|
mkdir -p tmp/dist/usr/qml/QtQuick
|
||||||
|
cp -R /opt/qt/5.12.6/gcc_64/qml/Qt/labs/platform tmp/dist/usr/qml/Qt/labs/.
|
||||||
|
cp -R /opt/qt/5.12.6/gcc_64/qml/QtQuick.2 tmp/dist/usr/qml/.
|
||||||
|
cp -R /opt/qt/5.12.6/gcc_64/qml/QtGraphicalEffects tmp/dist/usr/qml/.
|
||||||
|
cp -R /opt/qt/5.12.6/gcc_64/qml/QtQuick/{Controls,Controls.2,Extras,Layouts,Templates.2,Window.2} tmp/dist/usr/qml/QtQuick/.
|
||||||
|
|
||||||
echo -e $(BUILD_MSG) "AppImage"
|
echo -e $(BUILD_MSG) "AppImage"
|
||||||
./$(DEPLOYQT) tmp/dist/nim-status.desktop -no-translations -no-copy-copyright-files -appimage
|
linuxdeployqt tmp/dist/nim-status.desktop -no-translations -no-copy-copyright-files -qmldir=tmp/dist/usr/ui -bundle-non-qt-libs
|
||||||
|
|
||||||
|
rm tmp/dist/AppRun
|
||||||
|
cp AppRun tmp/dist/.
|
||||||
|
|
||||||
|
./$(APPIMAGETOOL) tmp/dist
|
||||||
|
|
||||||
appimage: $(APPIMAGE)
|
appimage: $(APPIMAGE)
|
||||||
|
|
||||||
|
|
|
@ -5,4 +5,4 @@ docker run -it --rm --device /dev/fuse \
|
||||||
--cap-add SYS_ADMIN \
|
--cap-add SYS_ADMIN \
|
||||||
--privileged \
|
--privileged \
|
||||||
a12e/docker-qt:5.12-gcc_64 \
|
a12e/docker-qt:5.12-gcc_64 \
|
||||||
sh build-in-docker.sh
|
sh docker-linux-app-image.sh
|
|
@ -8,7 +8,7 @@ sudo apt update
|
||||||
sudo apt install -y --fix-missing cmake build-essential git libpcre3-dev libssl-dev git
|
sudo apt install -y --fix-missing cmake build-essential git libpcre3-dev libssl-dev git
|
||||||
|
|
||||||
rm -Rf tmp
|
rm -Rf tmp
|
||||||
make -j2 clean
|
make clean
|
||||||
|
|
||||||
# Installing GO
|
# Installing GO
|
||||||
# Probably should be part of a dockerfile
|
# Probably should be part of a dockerfile
|
||||||
|
@ -24,6 +24,4 @@ export LD_LIBRARY_PATH="$(echo /opt/qt/*/gcc_64/lib/)"
|
||||||
|
|
||||||
make appimage
|
make appimage
|
||||||
|
|
||||||
rm -f linuxdeployqt-continuous-x86_64.AppImage
|
|
||||||
|
|
||||||
rm -Rf tmp
|
rm -Rf tmp
|
Loading…
Reference in New Issue