8 Commits

Author SHA1 Message Date
f4fd1b1b07 re-enable amd64 builds
Some checks failed
continuous-integration/drone/push Build was killed
continuous-integration/drone/tag Build is passing
2026-02-01 16:15:22 +11:00
a150958960 try
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-01 13:44:16 +11:00
819d349bae try arm again
Some checks failed
continuous-integration/drone/push Build is failing
2026-02-01 07:30:53 +11:00
0ae6c3f593 fix drone
Some checks failed
continuous-integration/drone/push Build is failing
2026-01-31 21:21:09 +11:00
945e3212cf fix qmake
Some checks failed
continuous-integration/drone/push Build encountered an error
2026-01-31 21:20:43 +11:00
3547207eca retry arm build
Some checks failed
continuous-integration/drone/push Build is failing
2026-01-31 21:18:24 +11:00
6669e6722a change ubuntu mirror
Some checks failed
continuous-integration/drone/push Build is failing
2026-01-31 21:09:42 +11:00
7524745b18 try arm builds
Some checks failed
continuous-integration/drone/push Build is failing
2026-01-31 17:12:49 +11:00
9 changed files with 188 additions and 8 deletions

View File

@@ -3,20 +3,87 @@ type: docker
name: build name: build
steps: steps:
- name: build-deb - name: build-deb-amd64
image: cache.coadcorp.com/library/ubuntu:22.04 image: cache.coadcorp.com/library/buildpack-deps:jammy
environment: environment:
DEBIAN_FRONTEND: noninteractive DEBIAN_FRONTEND: noninteractive
commands: commands:
- apt-get update - apt-get update
- apt-get install -y --no-install-recommends build-essential qt5-qmake qtbase5-dev qtbase5-dev-tools libexif-dev qt5-image-formats-plugins libmosquitto-dev dpkg-dev fakeroot ca-certificates - apt-get install -y --no-install-recommends build-essential qt5-qmake qtbase5-dev qtbase5-dev-tools libexif-dev qt5-image-formats-plugins libmosquitto-dev dpkg-dev fakeroot ca-certificates
- bash sbin/build_deb.sh "${DRONE_TAG:-${DRONE_COMMIT_SHA:0:8}}" - ARCH=amd64 BUILD_DIR=build-amd64 bash sbin/build_deb.sh "${DRONE_TAG:-${DRONE_COMMIT_SHA:0:8}}"
- ls -la dist - ls -la dist
- name: build-deb-armhf
image: cache.coadcorp.com/library/buildpack-deps:jammy
environment:
DEBIAN_FRONTEND: noninteractive
ARM_CFLAGS: -march=armv6 -mfpu=vfp -mfloat-abi=hard -marm
commands:
- dpkg --add-architecture armhf
- |
cat > /etc/apt/sources.list <<'EOF'
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse
deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports jammy main restricted universe multiverse
deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted universe multiverse
deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiverse
deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports jammy-security main restricted universe multiverse
EOF
- apt-get update
- apt-get install -y --no-install-recommends build-essential qt5-qmake qtbase5-dev qtbase5-dev-tools libexif-dev qt5-image-formats-plugins libmosquitto-dev dpkg-dev fakeroot ca-certificates gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf qtbase5-dev:armhf libqt5core5a:armhf libqt5gui5:armhf libqt5widgets5:armhf libqt5network5:armhf libexif-dev:armhf libmosquitto-dev:armhf qt5-image-formats-plugins:armhf
- ARCH=armhf BUILD_DIR=build-armhf QMAKESPEC=$PWD/mkspecs/linux-armhf-g++ QMAKE_QTCONF=$PWD/mkspecs/qt-armhf.conf QMAKE_CFLAGS="$ARM_CFLAGS" QMAKE_CXXFLAGS="$ARM_CFLAGS" bash sbin/build_deb.sh "${DRONE_TAG:-${DRONE_COMMIT_SHA:0:8}}"
- ls -la dist
- name: build-deb-arm64
image: cache.coadcorp.com/library/buildpack-deps:jammy
environment:
DEBIAN_FRONTEND: noninteractive
ARM64_CFLAGS: -march=armv8-a
commands:
- dpkg --add-architecture arm64
- |
cat > /etc/apt/sources.list <<'EOF'
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy main restricted universe multiverse
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted universe multiverse
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiverse
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security main restricted universe multiverse
EOF
- apt-get update
- apt-get install -y --no-install-recommends build-essential qt5-qmake qtbase5-dev qtbase5-dev-tools libexif-dev qt5-image-formats-plugins libmosquitto-dev dpkg-dev fakeroot ca-certificates gcc-aarch64-linux-gnu g++-aarch64-linux-gnu qtbase5-dev:arm64 libqt5core5a:arm64 libqt5gui5:arm64 libqt5widgets5:arm64 libqt5network5:arm64 libexif-dev:arm64 libmosquitto-dev:arm64 qt5-image-formats-plugins:arm64
- ARCH=arm64 BUILD_DIR=build-arm64 QMAKESPEC=$PWD/mkspecs/linux-arm64-g++ QMAKE_QTCONF=$PWD/mkspecs/qt-arm64.conf QMAKE_CFLAGS="$ARM64_CFLAGS" QMAKE_CXXFLAGS="$ARM64_CFLAGS" bash sbin/build_deb.sh "${DRONE_TAG:-${DRONE_COMMIT_SHA:0:8}}"
- ls -la dist
- name: build-deps-image
image: cache.coadcorp.com/plugins/docker
settings:
registry: registry.coadcorp.com
repo: slide/build-deps
dockerfile: Dockerfile.builddeps
username:
from_secret: REGISTRY_USER
password:
from_secret: REGISTRY_PASS
tags:
- latest
- ${DRONE_COMMIT_SHA}
when:
event:
- promote
target:
- build-deps
- name: gitea-release - name: gitea-release
image: cache.coadcorp.com/plugins/gitea-release image: cache.coadcorp.com/plugins/gitea-release
depends_on: depends_on:
- build-deb - build-deb-amd64
- build-deb-armhf
- build-deb-arm64
settings: settings:
api_key: api_key:
from_secret: GITEA_TOKEN from_secret: GITEA_TOKEN

17
Dockerfile.builddeps Normal file
View File

@@ -0,0 +1,17 @@
FROM cache.coadcorp.com/library/ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
qt5-qmake \
qtbase5-dev \
qtbase5-dev-tools \
libexif-dev \
qt5-image-formats-plugins \
libmosquitto-dev \
dpkg-dev \
fakeroot \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*

View File

@@ -0,0 +1,21 @@
exists(/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf) {
include(/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf)
} else: exists(/usr/share/qt5/mkspecs/linux-g++/qmake.conf) {
include(/usr/share/qt5/mkspecs/linux-g++/qmake.conf)
} else: exists($$[QT_HOST_DATA]/mkspecs/linux-g++/qmake.conf) {
include($$[QT_HOST_DATA]/mkspecs/linux-g++/qmake.conf)
} else {
include($$[QT_INSTALL_DATA]/mkspecs/linux-g++/qmake.conf)
}
QMAKE_CC = aarch64-linux-gnu-gcc
QMAKE_CXX = aarch64-linux-gnu-g++
QMAKE_LINK = aarch64-linux-gnu-g++
QMAKE_AR = aarch64-linux-gnu-ar cqs
QMAKE_STRIP = aarch64-linux-gnu-strip
QMAKE_INCDIR_QT = /usr/include/aarch64-linux-gnu/qt5
QMAKE_LIBDIR_QT = /usr/lib/aarch64-linux-gnu
QMAKE_INCDIR += /usr/include/aarch64-linux-gnu/qt5
QMAKE_LIBDIR += /usr/lib/aarch64-linux-gnu
QMAKE_LFLAGS += -Wl,-rpath-link,/usr/lib/aarch64-linux-gnu

View File

@@ -0,0 +1 @@
#include "/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qplatformdefs.h"

View File

@@ -0,0 +1,21 @@
exists(/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf) {
include(/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf)
} else: exists(/usr/share/qt5/mkspecs/linux-g++/qmake.conf) {
include(/usr/share/qt5/mkspecs/linux-g++/qmake.conf)
} else: exists($$[QT_HOST_DATA]/mkspecs/linux-g++/qmake.conf) {
include($$[QT_HOST_DATA]/mkspecs/linux-g++/qmake.conf)
} else {
include($$[QT_INSTALL_DATA]/mkspecs/linux-g++/qmake.conf)
}
QMAKE_CC = arm-linux-gnueabihf-gcc
QMAKE_CXX = arm-linux-gnueabihf-g++
QMAKE_LINK = arm-linux-gnueabihf-g++
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_STRIP = arm-linux-gnueabihf-strip
QMAKE_INCDIR_QT = /usr/include/arm-linux-gnueabihf/qt5
QMAKE_LIBDIR_QT = /usr/lib/arm-linux-gnueabihf
QMAKE_INCDIR += /usr/include/arm-linux-gnueabihf/qt5
QMAKE_LIBDIR += /usr/lib/arm-linux-gnueabihf
QMAKE_LFLAGS += -Wl,-rpath-link,/usr/lib/arm-linux-gnueabihf

View File

@@ -0,0 +1 @@
#include "/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qplatformdefs.h"

11
mkspecs/qt-arm64.conf Normal file
View File

@@ -0,0 +1,11 @@
[Paths]
Prefix=/usr
Headers=/usr/include/aarch64-linux-gnu/qt5
Libraries=/usr/lib/aarch64-linux-gnu
ArchData=/usr/lib/aarch64-linux-gnu/qt5
Data=/usr/lib/aarch64-linux-gnu/qt5
Plugins=/usr/lib/aarch64-linux-gnu/qt5/plugins
HostPrefix=/usr
HostData=/usr/lib/x86_64-linux-gnu/qt5
HostBinaries=/usr/lib/qt5/bin
HostLibraries=/usr/lib/x86_64-linux-gnu

11
mkspecs/qt-armhf.conf Normal file
View File

@@ -0,0 +1,11 @@
[Paths]
Prefix=/usr
Headers=/usr/include/arm-linux-gnueabihf/qt5
Libraries=/usr/lib/arm-linux-gnueabihf
ArchData=/usr/lib/arm-linux-gnueabihf/qt5
Data=/usr/lib/arm-linux-gnueabihf/qt5
Plugins=/usr/lib/arm-linux-gnueabihf/qt5/plugins
HostPrefix=/usr
HostData=/usr/lib/x86_64-linux-gnu/qt5
HostBinaries=/usr/lib/qt5/bin
HostLibraries=/usr/lib/x86_64-linux-gnu

View File

@@ -10,14 +10,44 @@ if [[ ! "$VERSION" =~ ^[0-9] ]]; then
VERSION="0.0.0+${VERSION}" VERSION="0.0.0+${VERSION}"
fi fi
ARCH="${ARCH:-$(dpkg --print-architecture)}" ARCH="${ARCH:-$(dpkg --print-architecture)}"
BUILD_DIR="${BUILD_DIR:-$ROOT_DIR/build-$ARCH}"
PACKAGE_NAME="slide"
BUILD_DIR="$ROOT_DIR/build"
DIST_DIR="$ROOT_DIR/dist" DIST_DIR="$ROOT_DIR/dist"
STAGE_DIR="$BUILD_DIR/deb" STAGE_DIR="$BUILD_DIR/deb"
QMAKE_BIN="${QMAKE_BIN:-qmake}"
MAKE_JOBS="${MAKE_JOBS:-2}"
QMAKE_ARGS=()
if [[ -n "${QMAKESPEC:-}" ]]; then
QMAKE_ARGS+=("-spec" "$QMAKESPEC")
fi
if [[ -n "${QMAKE_QTCONF:-}" ]]; then
QMAKE_ARGS+=("-qtconf" "$QMAKE_QTCONF")
fi
if [[ -n "${QMAKE_CC:-}" ]]; then
QMAKE_ARGS+=("QMAKE_CC=$QMAKE_CC")
fi
if [[ -n "${QMAKE_CXX:-}" ]]; then
QMAKE_ARGS+=("QMAKE_CXX=$QMAKE_CXX")
fi
if [[ -n "${QMAKE_LINK:-}" ]]; then
QMAKE_ARGS+=("QMAKE_LINK=$QMAKE_LINK")
fi
if [[ -n "${QMAKE_CFLAGS:-}" ]]; then
QMAKE_ARGS+=("QMAKE_CFLAGS=$QMAKE_CFLAGS")
fi
if [[ -n "${QMAKE_CXXFLAGS:-}" ]]; then
QMAKE_ARGS+=("QMAKE_CXXFLAGS=$QMAKE_CXXFLAGS")
fi
if [[ -n "${QMAKE_LFLAGS:-}" ]]; then
QMAKE_ARGS+=("QMAKE_LFLAGS=$QMAKE_LFLAGS")
fi
PACKAGE_NAME="slide"
cd "$ROOT_DIR" cd "$ROOT_DIR"
make build mkdir -p "$BUILD_DIR"
"$QMAKE_BIN" "${QMAKE_ARGS[@]}" "$ROOT_DIR/src/slide.pro" -o "$BUILD_DIR/Makefile"
make -C "$BUILD_DIR" -j"$MAKE_JOBS"
rm -rf "$STAGE_DIR" rm -rf "$STAGE_DIR"
mkdir -p "$STAGE_DIR/DEBIAN" "$STAGE_DIR/usr/local/bin" "$DIST_DIR" mkdir -p "$STAGE_DIR/DEBIAN" "$STAGE_DIR/usr/local/bin" "$DIST_DIR"