Partially working AppImage build
This commit is contained in:
parent
cfdbc82b40
commit
55e8c786fd
|
|
@ -18,7 +18,7 @@ meson compile
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# mimick the XDG directory structure in our archive file so setup can just copy the directories and not individual files
|
# 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/data
|
PACKAGE_DATA_DIR=$PACKAGE_DIR/share
|
||||||
PACKAGE_BIN_DIR=$PACKAGE_DIR/bin
|
PACKAGE_BIN_DIR=$PACKAGE_DIR/bin
|
||||||
|
|
||||||
# these are all subdirectories of XDG_DATA_HOME
|
# these are all subdirectories of XDG_DATA_HOME
|
||||||
|
|
@ -54,13 +54,20 @@ rsvg-convert data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w
|
||||||
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 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
|
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
|
# pushd $BUILD_PATH
|
||||||
|
|
||||||
tar -zcvf breezyUI-$ARCH.tar.gz breezy_ui
|
mkdir -p $APPDIR/usr
|
||||||
|
cp -r $PACKAGE_DATA_DIR $APPDIR/usr
|
||||||
|
cp -r $PACKAGE_BIN_DIR $APPDIR/usr
|
||||||
|
|
||||||
popd
|
"$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
|
||||||
|
|
||||||
mkdir -p out
|
# tar -zcvf breezyUI-$ARCH.tar.gz breezy_ui
|
||||||
cp $BUILD_PATH/breezyUI-$ARCH.tar.gz out/
|
|
||||||
|
|
||||||
rm -rf $BUILD_PATH
|
# popd
|
||||||
|
|
||||||
|
# mkdir -p out
|
||||||
|
cp Breezy_Desktop-*.AppImage out/
|
||||||
|
|
||||||
|
# rm -rf $BUILD_PATH
|
||||||
|
|
@ -8,18 +8,38 @@ FROM --platform=$TARGETPLATFORM debian:latest
|
||||||
ARG TARGETPLATFORM
|
ARG TARGETPLATFORM
|
||||||
RUN echo "Target platform: $TARGETPLATFORM"
|
RUN echo "Target platform: $TARGETPLATFORM"
|
||||||
|
|
||||||
|
ENV LINUXDEPLOY=/usr/local/bin/linuxdeploy.AppImage
|
||||||
|
ENV LINUXDEPLOY_PLUGIN_GTK=/usr/local/bin/linuxdeploy-plugin-gtk.sh
|
||||||
|
ENV DEPLOY_GTK_VERSION=4
|
||||||
|
ENV APPDIR=/AppDir
|
||||||
|
RUN mkdir $APPDIR
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
meson \
|
meson \
|
||||||
ninja-build \
|
ninja-build \
|
||||||
librsvg2-bin \
|
librsvg2-bin \
|
||||||
|
librsvg2-common \
|
||||||
|
librsvg2-dev \
|
||||||
libglib2.0-dev \
|
libglib2.0-dev \
|
||||||
libgtk-4-common \
|
libgtk-4-dev \
|
||||||
libgtk-4-bin \
|
libadwaita-1-dev \
|
||||||
|
libgirepository1.0-dev \
|
||||||
gtk-update-icon-cache \
|
gtk-update-icon-cache \
|
||||||
desktop-file-utils \
|
desktop-file-utils \
|
||||||
gettext \
|
gettext \
|
||||||
appstream
|
appstream \
|
||||||
|
fuse \
|
||||||
|
file
|
||||||
|
|
||||||
|
RUN case ${TARGETPLATFORM} in \
|
||||||
|
"linux/amd64") curl -L -o $LINUXDEPLOY "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" ;; \
|
||||||
|
"linux/arm64") curl -L -o $LINUXDEPLOY "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-aarch64.AppImage" ;; \
|
||||||
|
*) echo "Unsupported architecture: ${TARGETPLATFORM}" && exit 1 ;; \
|
||||||
|
esac && chmod +x $LINUXDEPLOY
|
||||||
|
|
||||||
|
RUN curl -L -o $LINUXDEPLOY_PLUGIN_GTK "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh" && \
|
||||||
|
chmod +x $LINUXDEPLOY_PLUGIN_GTK
|
||||||
|
|
||||||
WORKDIR /source
|
WORKDIR /source
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,13 +8,13 @@ GROUP=$(id -gn $USER)
|
||||||
# Run containers for each architecture
|
# Run containers for each architecture
|
||||||
if [[ "$1" == "x86_64" || -z "$1" ]]; then
|
if [[ "$1" == "x86_64" || -z "$1" ]]; then
|
||||||
sudo rm -rf build/
|
sudo rm -rf build/
|
||||||
docker run --rm -t -v ./:/source --platform linux/amd64 "breezy-ui:amd64"
|
docker run --rm -t -v ./:/source --platform linux/amd64 --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined "breezy-ui:amd64"
|
||||||
sudo chown -R $USER:$GROUP out/
|
sudo chown -R $USER:$GROUP out/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$1" == "aarch64" || -z "$1" ]]; then
|
if [[ "$1" == "aarch64" || -z "$1" ]]; then
|
||||||
sudo rm -rf build/
|
sudo rm -rf build/
|
||||||
docker run --rm -t -v ./:/source --platform linux/arm64 "breezy-ui:arm64"
|
docker run --rm -t -v ./:/source --platform linux/arm64 --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined "breezy-ui:arm64"
|
||||||
sudo chown -R $USER:$GROUP out/
|
sudo chown -R $USER:$GROUP out/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,14 +26,20 @@ import locale
|
||||||
import gettext
|
import gettext
|
||||||
|
|
||||||
VERSION = '@VERSION@'
|
VERSION = '@VERSION@'
|
||||||
pkgdatadir = '@pkgdatadir@'
|
|
||||||
localedir = '@localedir@'
|
appdir = os.getenv('APPDIR', '/')
|
||||||
|
pkgdatadir = os.path.join(appdir, 'usr', 'share', 'breezydesktop')
|
||||||
|
localedir = os.path.join(appdir, 'usr', 'share', 'locale')
|
||||||
|
|
||||||
sys.path.insert(1, pkgdatadir)
|
sys.path.insert(1, pkgdatadir)
|
||||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||||
locale.bindtextdomain('breezydesktop', localedir)
|
|
||||||
|
locale.setlocale(locale.LC_ALL, locale.getdefaultlocale())
|
||||||
locale.textdomain('breezydesktop')
|
locale.textdomain('breezydesktop')
|
||||||
|
locale.bindtextdomain('breezydesktop', localedir)
|
||||||
gettext.install('breezydesktop', localedir)
|
gettext.install('breezydesktop', localedir)
|
||||||
|
gettext.bindtextdomain('breezydesktop', localedir)
|
||||||
|
gettext.textdomain('breezydesktop')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import gi
|
import gi
|
||||||
|
|
|
||||||
|
|
@ -36,15 +36,6 @@ gi.require_version('Adw', '1')
|
||||||
gi.require_version('Gio', '2.0')
|
gi.require_version('Gio', '2.0')
|
||||||
gi.require_version('GLib', '2.0')
|
gi.require_version('GLib', '2.0')
|
||||||
|
|
||||||
user_home = os.path.expanduser('~')
|
|
||||||
xdg_data_home = os.environ.get('XDG_DATA_HOME') or os.path.join(user_home, '.local', 'share')
|
|
||||||
locale_dir = os.environ.get('LOCALE_DIR', os.path.join(xdg_data_home, 'locale'))
|
|
||||||
|
|
||||||
locale.setlocale(locale.LC_ALL, locale.getdefaultlocale())
|
|
||||||
locale.bindtextdomain('breezydesktop', locale_dir)
|
|
||||||
gettext.bindtextdomain('breezydesktop', locale_dir)
|
|
||||||
gettext.textdomain('breezydesktop')
|
|
||||||
|
|
||||||
from gi.repository import Adw, Gtk, Gio
|
from gi.repository import Adw, Gtk, Gio
|
||||||
from .licensedialog import LicenseDialog
|
from .licensedialog import LicenseDialog
|
||||||
from .statemanager import StateManager
|
from .statemanager import StateManager
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue