commit
8b6109815d
@ -223,6 +223,71 @@ build-flatpak-arm64:
|
|||||||
paths: ['build-flatpak/nheko-arm64.flatpak']
|
paths: ['build-flatpak/nheko-arm64.flatpak']
|
||||||
name: flatpak-${CI_COMMIT_REF_NAME}-${VERSION}-arm64
|
name: flatpak-${CI_COMMIT_REF_NAME}-${VERSION}-arm64
|
||||||
|
|
||||||
|
appimage-amd64:
|
||||||
|
stage: build
|
||||||
|
image: ubuntu:22.04
|
||||||
|
tags: [docker]
|
||||||
|
allow_failure: true
|
||||||
|
before_script:
|
||||||
|
# Installing the packages needed to download and install third-party tools
|
||||||
|
- apt-get update && apt-get install -y software-properties-common git wget curl python3 python3-pip python3-setuptools
|
||||||
|
|
||||||
|
# Installing the packages needed to compile nheko and third-party tools
|
||||||
|
- apt-get -y install --no-install-suggests --no-install-recommends ca-certificates build-essential ninja-build cmake gcc make automake ccache liblmdb-dev
|
||||||
|
libssl-dev libqt5multimedia5-plugins libqt5multimediagsttools5 libqt5multimediaquick5 libqt5svg5-dev
|
||||||
|
qtmultimedia5-dev qtquickcontrols2-5-dev qttools5-dev qttools5-dev-tools qtdeclarative5-dev
|
||||||
|
qml-module-qtmultimedia qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qt-labs-platform
|
||||||
|
qt5keychain-dev ccache clazy libcurl4-openssl-dev libevent-dev libspdlog-dev nlohmann-json3-dev libcmark-dev asciidoc libre2-dev libgtest-dev libgl1-mesa-dev qml-module-qtquick-particles2
|
||||||
|
|
||||||
|
# Installing the packages needed to build AppImage
|
||||||
|
- apt-get -yq install breeze-icon-theme desktop-file-utils elfutils fakeroot file gnupg2 gtk-update-icon-cache libgdk-pixbuf2.0-dev libgdk-pixbuf2.0-0 libglib2.0-bin librsvg2-dev libyaml-dev strace zsync squashfs-tools
|
||||||
|
|
||||||
|
- wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool && \
|
||||||
|
- chmod +x /usr/local/bin/appimagetool
|
||||||
|
|
||||||
|
- export HOME_DIR=$(pwd)
|
||||||
|
|
||||||
|
# Workaround for https://github.com/AppImageCrafters/appimage-builder/issues/280
|
||||||
|
- cd /tmp
|
||||||
|
- git clone https://github.com/AppImageCrafters/appimage-builder
|
||||||
|
- cd appimage-builder
|
||||||
|
- git checkout 9733877eed75aea0fa8e9a1cd26c22d77a10aa4a
|
||||||
|
- pip3 install .
|
||||||
|
- pip3 install cffi
|
||||||
|
- cd $HOME_DIR
|
||||||
|
|
||||||
|
- /usr/sbin/update-ccache-symlinks
|
||||||
|
- rm -rf ../.hunter && mv .hunter ../.hunter || true
|
||||||
|
|
||||||
|
script:
|
||||||
|
- export PATH="/usr/local/bin/:/usr/lib/ccache:${PATH}"
|
||||||
|
- cmake -GNinja -H. -Bbuild
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr
|
||||||
|
-DHUNTER_ROOT=".hunter"
|
||||||
|
-DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_OPENSSL=ON -DUSE_BUNDLED_LMDB=OFF -DUSE_BUNDLED_QTKEYCHAIN=OFF -DUSE_BUNDLED_LIBEVENT=OFF
|
||||||
|
-DVOIP=OFF -DMAN=OFF
|
||||||
|
-DCMAKE_BUILD_TYPE=Release -DHUNTER_CONFIGURATION_TYPES=Release
|
||||||
|
-DCI_BUILD=ON -DFETCHCONTENT_QUIET=OFF
|
||||||
|
-DJSON_ImplicitConversions=OFF
|
||||||
|
- DESTDIR=`pwd`/AppDir ninja -C build install/local
|
||||||
|
- DESTDIR=`pwd`/AppDir ninja -C build _deps/cmark-build/src/install
|
||||||
|
- mkdir -p AppDir/usr/lib/x86_64-linux-gnu AppDir/lib/x86_64-linux-gnu
|
||||||
|
- appimage-builder --skip-test
|
||||||
|
after_script:
|
||||||
|
- bash ./.ci/upload-nightly-gitlab.sh nheko-latest-x86_64.AppImage
|
||||||
|
rules:
|
||||||
|
- if : '$CI_PIPELINE_TRIGGERED == null'
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- 'nheko-latest-x86_64.AppImage'
|
||||||
|
expire_in: 1 week
|
||||||
|
expose_as: 'appimage-amd64'
|
||||||
|
cache:
|
||||||
|
key: "$CI_JOB_NAME"
|
||||||
|
paths:
|
||||||
|
- .hunter/
|
||||||
|
- .ccache
|
||||||
|
|
||||||
linting:
|
linting:
|
||||||
stage: build
|
stage: build
|
||||||
image: alpine:latest
|
image: alpine:latest
|
||||||
|
122
AppImageBuilder.yml
Normal file
122
AppImageBuilder.yml
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
# appimage-builder recipe see https://appimage-builder.readthedocs.io for details
|
||||||
|
version: 1
|
||||||
|
AppDir:
|
||||||
|
path: ./AppDir
|
||||||
|
app_info:
|
||||||
|
id: nheko
|
||||||
|
name: nheko
|
||||||
|
icon: nheko
|
||||||
|
version: latest
|
||||||
|
exec: usr/bin/nheko
|
||||||
|
exec_args: $@
|
||||||
|
runtime:
|
||||||
|
env:
|
||||||
|
APPDIR_LIBRARY_PATH: $APPDIR/usr/lib/x86_64-linux-gnu:$APPDIR/usr/lib/x86_64-linux-gnu/gstreamer-1.0:$APPDIR/usr/lib/x86_64-linux-gnu/gconv:$APPDIR/lib/x86_64-linux-gnu:$APPDIR/usr/lib/x86_64-linux-gnu/pulseaudio
|
||||||
|
apt:
|
||||||
|
arch: amd64
|
||||||
|
allow_unauthenticated: true
|
||||||
|
sources:
|
||||||
|
- sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
|
||||||
|
- sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
|
||||||
|
- sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
|
||||||
|
- sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
|
||||||
|
- sourceline: deb http://archive.canonical.com/ubuntu jammy partner
|
||||||
|
key_url: http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c
|
||||||
|
include:
|
||||||
|
# idk, need there ca-certificates, but some systems may not have
|
||||||
|
- ca-certificates
|
||||||
|
- gstreamer1.0-plugins-good
|
||||||
|
- libbs2b0
|
||||||
|
- libbz2-1.0
|
||||||
|
- libcurl4
|
||||||
|
- libelf1
|
||||||
|
- libexpat1
|
||||||
|
- libevent-core-2.1-7
|
||||||
|
- libevent-pthreads-2.1-7
|
||||||
|
- libjpeg-turbo8
|
||||||
|
- libkf5archive5
|
||||||
|
- liblmdb0
|
||||||
|
- liblz4-1
|
||||||
|
- libnorm1
|
||||||
|
- libnss-mdns
|
||||||
|
- libpcre3
|
||||||
|
- qml-module-qt-labs-platform
|
||||||
|
- qml-module-qt-labs-settings
|
||||||
|
- qml-module-qtgraphicaleffects
|
||||||
|
- qml-module-qtquick-particles2
|
||||||
|
- qml-module-qtmultimedia
|
||||||
|
- qml-module-qtquick2
|
||||||
|
- qml-module-qtquick-controls2
|
||||||
|
- qml-module-qtquick-layouts
|
||||||
|
- qml-module-qtquick-window2
|
||||||
|
- libcmark0.30.2
|
||||||
|
- libfmt8
|
||||||
|
- libolm3
|
||||||
|
- libqt5core5a
|
||||||
|
- libqt5dbus5
|
||||||
|
- libqt5gui5
|
||||||
|
- libqt5keychain1
|
||||||
|
- libqt5multimedia5
|
||||||
|
- libqt5multimedia5-plugins
|
||||||
|
- libqt5network5
|
||||||
|
- libqt5quickwidgets5
|
||||||
|
- libqt5svg5
|
||||||
|
- libqt5widgets5
|
||||||
|
- libspdlog1-fmt8
|
||||||
|
- libxcb-ewmh2
|
||||||
|
- libxcb1
|
||||||
|
- librubberband2
|
||||||
|
- libsm6
|
||||||
|
- libsnappy1v5
|
||||||
|
- libxau6
|
||||||
|
- libxcb-render-util0
|
||||||
|
- libxcb-sync1
|
||||||
|
- libxcb-xinerama0
|
||||||
|
- libxcb-xkb1
|
||||||
|
- libxcursor1
|
||||||
|
- libxdmcp6
|
||||||
|
- libxext6
|
||||||
|
- libxfixes3
|
||||||
|
- libxrender1
|
||||||
|
- libxshmfence1
|
||||||
|
- libxv1
|
||||||
|
- libxxf86vm1
|
||||||
|
- libzstd1
|
||||||
|
exclude: []
|
||||||
|
files:
|
||||||
|
exclude:
|
||||||
|
- usr/share/man
|
||||||
|
- usr/share/doc
|
||||||
|
- usr/bin/cmark
|
||||||
|
- usr/bin/dbus*
|
||||||
|
- usr/bin/openssl
|
||||||
|
- usr/bin/c_rehash
|
||||||
|
- usr/bin/session-migration
|
||||||
|
- usr/include
|
||||||
|
- usr/sbin
|
||||||
|
- lib/systemd
|
||||||
|
test:
|
||||||
|
fedora:
|
||||||
|
image: appimagecrafters/tests-env:fedora-30
|
||||||
|
command: ./AppRun
|
||||||
|
use_host_x: true
|
||||||
|
debian:
|
||||||
|
image: appimagecrafters/tests-env:debian-stable
|
||||||
|
command: ./AppRun
|
||||||
|
use_host_x: true
|
||||||
|
arch:
|
||||||
|
image: appimagecrafters/tests-env:archlinux-latest
|
||||||
|
command: ./AppRun
|
||||||
|
use_host_x: true
|
||||||
|
centos:
|
||||||
|
image: appimagecrafters/tests-env:centos-7
|
||||||
|
command: ./AppRun
|
||||||
|
use_host_x: true
|
||||||
|
ubuntu:
|
||||||
|
image: appimagecrafters/tests-env:ubuntu-xenial
|
||||||
|
command: ./AppRun
|
||||||
|
use_host_x: true
|
||||||
|
AppImage:
|
||||||
|
arch: x86_64
|
||||||
|
update-information: None
|
||||||
|
sign-key: None
|
Loading…
Reference in New Issue
Block a user