Add docker build
This commit is contained in:
parent
e4dbcdaee7
commit
471523fb31
|
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# exit when any command fails
|
||||
set -e
|
||||
|
||||
ARCH=${ARCH:-$(uname -m)}
|
||||
echo "Building Breezy KWin plugin for $ARCH"
|
||||
|
||||
BUILD_PATH=build
|
||||
mkdir $BUILD_PATH
|
||||
|
||||
pushd $BUILD_PATH
|
||||
cmake ..
|
||||
make
|
||||
cpack -G TGZ
|
||||
popd
|
||||
|
||||
mkdir -p out
|
||||
cp $BUILD_PATH/breezy_desktop_kwin_plugin.tar.gz out/breezyKWin-$ARCH.tar.gz
|
||||
|
||||
# build artifacts are needed for IDE header awareness with generated code
|
||||
# rm -rf $BUILD_PATH
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
# To run the build from the package root:
|
||||
# docker buildx build --platform linux/amd64,linux/arm64 -f ./docker-build/Dockerfile -t "breezy-kwin" .
|
||||
# docker run --rm -t -v ./:/source -v --platform linux/amd64 "breezy-kwin:amd64"
|
||||
# docker run --rm -t -v ./:/source -v --platform linux/arm64 "breezy-kwin:arm64"
|
||||
|
||||
FROM --platform=$TARGETPLATFORM debian:trixie
|
||||
|
||||
ARG TARGETPLATFORM
|
||||
RUN echo "Target platform: $TARGETPLATFORM"
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
build-essential \
|
||||
cmake \
|
||||
pkg-config \
|
||||
git \
|
||||
curl \
|
||||
wget \
|
||||
extra-cmake-modules \
|
||||
qt6-base-dev \
|
||||
qt6-base-dev-tools \
|
||||
qt6-declarative-dev \
|
||||
qt6-tools-dev \
|
||||
qt6-tools-dev-tools \
|
||||
libkf6config-dev \
|
||||
libkf6configwidgets-dev \
|
||||
libkf6coreaddons-dev \
|
||||
libkf6globalaccel-dev \
|
||||
libkf6i18n-dev \
|
||||
libkf6kcmutils-dev \
|
||||
libkf6xmlgui-dev \
|
||||
libkf6windowsystem-dev \
|
||||
kwayland-dev \
|
||||
plasma-wayland-protocols \
|
||||
libwayland-dev \
|
||||
kwin-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /source
|
||||
|
||||
CMD bin/package
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
# might be needed on a fresh docker setup:
|
||||
# install qemu and qemu-user-static packages
|
||||
# sudo docker context rm default
|
||||
# docker run --privileged --rm tonistiigi/binfmt --install all
|
||||
# sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# ls -l /proc/sys/fs/binfmt_misc/ # should contain qemu-<arch> files
|
||||
|
||||
if [[ "$1" == "--init" || ! $(docker buildx inspect breezykwinbuilder &>/dev/null; echo $?) -eq 0 ]]; then
|
||||
# start fresh
|
||||
echo "Creating new docker builder instance"
|
||||
docker buildx rm breezykwinbuilder 2>/dev/null || true
|
||||
docker buildx create --use --name breezykwinbuilder --driver docker-container --driver-opt image=moby/buildkit:latest
|
||||
else
|
||||
echo "Using existing docker builder instance"
|
||||
docker buildx use breezykwinbuilder
|
||||
fi
|
||||
|
||||
echo "Building docker image"
|
||||
docker buildx build --platform linux/amd64 -f ./docker-build/Dockerfile -t "breezy-kwin:amd64" --load .
|
||||
docker buildx build --platform linux/arm64 -f ./docker-build/Dockerfile -t "breezy-kwin:arm64" --load .
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
USER=${SUDO_USER:-$USER}
|
||||
GROUP=$(id -gn $USER)
|
||||
|
||||
# Run containers for each architecture
|
||||
if [[ "$1" == "x86_64" || -z "$1" ]]; then
|
||||
sudo rm -rf build/
|
||||
docker run --rm -t -v ./:/source --platform linux/amd64 "breezy-kwin:amd64"
|
||||
sudo chown -R $USER:$GROUP out/
|
||||
fi
|
||||
|
||||
if [[ "$1" == "aarch64" || -z "$1" ]]; then
|
||||
sudo rm -rf build/
|
||||
docker run --rm -t -v ./:/source --platform linux/arm64 "breezy-kwin:arm64"
|
||||
sudo chown -R $USER:$GROUP out/
|
||||
fi
|
||||
|
||||
# build directory structure is all owned by root because of docker, delete it all now
|
||||
sudo rm -rf build/
|
||||
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
#include <functional>
|
||||
#include <QAction>
|
||||
#include <QBuffer>
|
||||
#include <QFile>
|
||||
#include <QFileSystemWatcher>
|
||||
#include <QLoggingCategory>
|
||||
|
|
@ -20,7 +21,6 @@
|
|||
|
||||
#include <KGlobalAccel>
|
||||
#include <KLocalizedString>
|
||||
#include <qt/QtCore/qbuffer.h>
|
||||
|
||||
Q_LOGGING_CATEGORY(KWIN_XR, "kwin.xr")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue