73 lines
2.7 KiB
Bash
Executable File
73 lines
2.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# exit when any command fails
|
|
set -e
|
|
|
|
ARCH=${ARCH:-$(uname -m)}
|
|
echo "Building Breezy UI for $ARCH"
|
|
|
|
BUILD_PATH=build
|
|
UI_BUILD_PATH=$BUILD_PATH/ui
|
|
PACKAGE_DIR=$BUILD_PATH/breezy_ui
|
|
mkdir -p $UI_BUILD_PATH
|
|
mkdir -p $PACKAGE_DIR
|
|
|
|
meson setup $UI_BUILD_PATH
|
|
pushd $UI_BUILD_PATH
|
|
meson compile
|
|
popd
|
|
|
|
# mimick the XDG directory structure in our archive file so setup can just copy the directories and not individual files
|
|
PACKAGE_DATA_DIR=$PACKAGE_DIR/share
|
|
PACKAGE_BIN_DIR=$PACKAGE_DIR/bin
|
|
|
|
# these are all subdirectories of XDG_DATA_HOME
|
|
PACKAGE_BREEZY_DIR=$PACKAGE_DATA_DIR/breezydesktop
|
|
PACKAGE_BREEZY_SRC_DIR=$PACKAGE_BREEZY_DIR/breezydesktop
|
|
PACKAGE_ICONS_DIR=$PACKAGE_DATA_DIR/icons/hicolor
|
|
PACKAGE_LOCALE_DIR=$PACKAGE_DATA_DIR/locale
|
|
PACKAGE_APPS_DIR=$PACKAGE_DATA_DIR/applications
|
|
PACKAGE_SCHEMAS_DIR=$PACKAGE_DATA_DIR/glib-2.0/schemas
|
|
|
|
mkdir -p $PACKAGE_BIN_DIR
|
|
mkdir -p $PACKAGE_BREEZY_SRC_DIR
|
|
mkdir -p $PACKAGE_ICONS_DIR
|
|
mkdir -p $PACKAGE_LOCALE_DIR
|
|
mkdir -p $PACKAGE_APPS_DIR
|
|
mkdir -p $PACKAGE_SCHEMAS_DIR
|
|
|
|
cp src/*.py $PACKAGE_BREEZY_SRC_DIR
|
|
cp -r lib $PACKAGE_BREEZY_SRC_DIR
|
|
cp -L modules/PyXRLinuxDriverIPC/xrdriveripc.py $PACKAGE_BREEZY_SRC_DIR
|
|
cp $UI_BUILD_PATH/src/breezydesktop.gresource $PACKAGE_BREEZY_DIR
|
|
cp -r po/mo/* $PACKAGE_LOCALE_DIR
|
|
cp data/com.xronlinux.BreezyDesktop.gschema.xml $PACKAGE_SCHEMAS_DIR
|
|
cp $UI_BUILD_PATH/src/breezydesktop $PACKAGE_BIN_DIR
|
|
cp $UI_BUILD_PATH/data/com.xronlinux.BreezyDesktop.desktop $PACKAGE_APPS_DIR
|
|
|
|
mkdir -p $PACKAGE_ICONS_DIR/64x64/apps
|
|
mkdir -p $PACKAGE_ICONS_DIR/128x128/apps
|
|
mkdir -p $PACKAGE_ICONS_DIR/256x256/apps
|
|
mkdir -p $PACKAGE_ICONS_DIR/1024x1024/apps
|
|
rsvg-convert data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 64 -h 64 -o $PACKAGE_ICONS_DIR/64x64/apps/com.xronlinux.BreezyDesktop.png
|
|
rsvg-convert data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 128 -h 128 -o $PACKAGE_ICONS_DIR/128x128/apps/com.xronlinux.BreezyDesktop.png
|
|
rsvg-convert data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 256 -h 256 -o $PACKAGE_ICONS_DIR/256x256/apps/com.xronlinux.BreezyDesktop.png
|
|
rsvg-convert data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 1024 -h 1024 -o $PACKAGE_ICONS_DIR/1024x1024/apps/com.xronlinux.BreezyDesktop.png
|
|
|
|
# pushd $BUILD_PATH
|
|
|
|
mkdir -p $APPDIR/usr
|
|
cp -r $PACKAGE_DATA_DIR $APPDIR/usr
|
|
cp -r $PACKAGE_BIN_DIR $APPDIR/usr
|
|
|
|
"$LINUXDEPLOY_PLUGIN_GTK" --appdir $APPDIR
|
|
"$LINUXDEPLOY" --appdir $APPDIR --output appimage --icon-file $APPDIR/usr/share/icons/hicolor/256x256/apps/com.xronlinux.BreezyDesktop.png --desktop-file $APPDIR/usr/share/applications/com.xronlinux.BreezyDesktop.desktop
|
|
|
|
# tar -zcvf breezyUI-$ARCH.tar.gz breezy_ui
|
|
|
|
# popd
|
|
|
|
# mkdir -p out
|
|
cp Breezy_Desktop-*.AppImage out/
|
|
|
|
# rm -rf $BUILD_PATH |