AppImages in gitlab

This commit is contained in:
Nicolas Werner 2020-12-25 19:14:32 +01:00
parent 525b319a94
commit f0a355c9cb
2 changed files with 435 additions and 0 deletions

View File

@ -143,3 +143,53 @@ linting:
- apk update && apk add clang make git
script:
- make lint
appimage-amd64:
stage: build
image: appimagecrafters/appimage-builder
tags: [docker]
before_script:
# app build requirements
- echo 'deb http://archive.neon.kde.org/user/ bionic main' > /etc/apt/sources.list.d/neon.list
- wget -qO - https://archive.neon.kde.org/public.key | apt-key add -
- apt-get update
- apt-get install -y git wget
# update appimage-builder (optional)
- pip3 install --upgrade git+https://www.opencode.net/azubieta/appimagecraft.git
- apt-get install -y qt5-default qtdeclarative5-dev qttools5-dev qtscript5-dev qtquickcontrols2-5-dev qtmultimedia5-dev libqt5svg5-dev liblmdb-dev libssl-dev git ninja-build qt5keychain-dev libgtest-dev ccache
- wget https://github.com/Kitware/CMake/releases/download/v3.19.0/cmake-3.19.0-Linux-x86_64.sh && sh cmake-3.19.0-Linux-x86_64.sh --skip-license --prefix=/usr/local
- /usr/sbin/update-ccache-symlinks
script:
- export PATH="/usr/local/bin/:/usr/lib/ccache:${PATH}"
- export CMAKE_BUILD_PARALLEL_LEVEL=$(cat /proc/cpuinfo | awk '/^processor/{print $3}' | wc -l)
- cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -GNinja
-DHUNTER_ROOT=".hunter"
-DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF
-DHUNTER_CONFIGURATION_TYPES=Release
-DUSE_BUNDLED_BOOST=ON
-DUSE_BUNDLED_SPDLOG=ON
-DUSE_BUNDLED_OLM=ON
-DUSE_BUNDLED_GTEST=OFF
-DUSE_BUNDLED_CMARK=ON
-DUSE_BUNDLED_JSON=ON
-DUSE_BUNDLED_OPENSSL=OFF
-DUSE_BUNDLED_MTXCLIENT=ON
-DUSE_BUNDLED_LMDB=OFF
-DUSE_BUNDLED_LMDBXX=ON
-DUSE_BUNDLED_TWEENY=ON
-DUSE_BUNDLED_QTKEYCHAIN=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
artifacts:
paths:
- '*.AppImage*'
expire_in: 1 week
cache:
key: "$CI_JOB_NAME"
paths:
- .hunter/
- .ccache

385
AppImageBuilder.yml Normal file
View File

@ -0,0 +1,385 @@
# 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:$APPDIR/usr/lib/x86_64-linux-gnu:$APPDIR/lib/x86_64-linux-gnu
files:
include:
- /etc/fonts/conf.avail/09-texlive.conf
- /etc/fonts/conf.avail/10-autohint.conf
- /etc/fonts/conf.avail/10-hinting-full.conf
- /etc/fonts/conf.avail/10-hinting-medium.conf
- /etc/fonts/conf.avail/10-hinting-none.conf
- /etc/fonts/conf.avail/10-hinting-slight.conf
- /etc/fonts/conf.avail/10-no-sub-pixel.conf
- /etc/fonts/conf.avail/10-scale-bitmap-fonts.conf
- /etc/fonts/conf.avail/10-sub-pixel-bgr.conf
- /etc/fonts/conf.avail/10-sub-pixel-rgb.conf
- /etc/fonts/conf.avail/10-sub-pixel-vbgr.conf
- /etc/fonts/conf.avail/10-sub-pixel-vrgb.conf
- /etc/fonts/conf.avail/10-unhinted.conf
- /etc/fonts/conf.avail/11-lcdfilter-default.conf
- /etc/fonts/conf.avail/11-lcdfilter-legacy.conf
- /etc/fonts/conf.avail/11-lcdfilter-light.conf
- /etc/fonts/conf.avail/20-unhint-small-dejavu-sans-mono.conf
- /etc/fonts/conf.avail/20-unhint-small-dejavu-sans.conf
- /etc/fonts/conf.avail/20-unhint-small-dejavu-serif.conf
- /etc/fonts/conf.avail/20-unhint-small-vera.conf
- /etc/fonts/conf.avail/25-unhint-nonlatin.conf
- /etc/fonts/conf.avail/30-metric-aliases.conf
- /etc/fonts/conf.avail/40-nonlatin.conf
- /etc/fonts/conf.avail/42-luxi-mono.conf
- /etc/fonts/conf.avail/45-generic.conf
- /etc/fonts/conf.avail/45-latin.conf
- /etc/fonts/conf.avail/49-sansserif.conf
- /etc/fonts/conf.avail/50-user.conf
- /etc/fonts/conf.avail/51-local.conf
- /etc/fonts/conf.avail/57-dejavu-sans-mono.conf
- /etc/fonts/conf.avail/57-dejavu-sans.conf
- /etc/fonts/conf.avail/57-dejavu-serif.conf
- /etc/fonts/conf.avail/60-generic.conf
- /etc/fonts/conf.avail/60-latin.conf
- /etc/fonts/conf.avail/60-liberation.conf
- /etc/fonts/conf.avail/65-fonts-persian.conf
- /etc/fonts/conf.avail/65-khmer.conf
- /etc/fonts/conf.avail/65-nonlatin.conf
- /etc/fonts/conf.avail/66-noto-mono.conf
- /etc/fonts/conf.avail/66-noto-sans.conf
- /etc/fonts/conf.avail/66-noto-serif.conf
- /etc/fonts/conf.avail/69-unifont.conf
- /etc/fonts/conf.avail/70-no-bitmaps.conf
- /etc/fonts/conf.avail/70-yes-bitmaps.conf
- /etc/fonts/conf.avail/75-yes-terminus.conf
- /etc/fonts/conf.avail/80-delicious.conf
- /etc/fonts/conf.avail/90-synthetic.conf
- /etc/fonts/fonts.conf
- /etc/gai.conf
- /etc/host.conf
- /etc/hosts
- /etc/localtime
- /etc/machine-id
- /etc/os-release
- /etc/resolv.conf
- /lib64/ld-linux-x86-64.so.2
- /lib64/libacl.so.1
- /lib64/libblkid.so.1
- /lib64/libbz2.so.1
- /lib64/libc.so.6
- /lib64/libdl.so.2
- /lib64/liblzma.so.5
- /lib64/libm.so.6
- /lib64/libmount.so.1
- /lib64/libnss_db.so.2
- /lib64/libnss_dns.so.2
- /lib64/libnss_files.so.2
- /lib64/libpcre.so.1
- /lib64/libpthread.so.0
- /lib64/libresolv.so.2
- /lib64/librt.so.1
- /lib64/libtinfo.so.6
- /lib64/libudev.so.1
- /lib64/libuuid.so.1
- /lib64/libwrap.so.0
- /lib64/libz.so.1
- /lib/x86_64-linux-gnu/libc.so.6
- /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/libgcc_s.so.1
- /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/libstdc++.so.6
- /usr/lib/locale/locale-archive
- /usr/lib64/gconv/gconv-modules.cache
- /usr/lib64/gstreamer-1.0/*.so
- /usr/lib64/libEGL.so.1
- /usr/lib64/libFLAC.so.8
- /usr/lib64/libGL.so.1
- /usr/lib64/libGLX.so.0
- /usr/lib64/libGLX_mesa.so.0
- /usr/lib64/libGLdispatch.so.0
- /usr/lib64/libICE.so.6
- /usr/lib64/libQt5Concurrent.so.5
- /usr/lib64/libQt5Core.so.5
- /usr/lib64/libQt5DBus.so.5
- /usr/lib64/libQt5Gui.so.5
- /usr/lib64/libQt5Multimedia.so.5
- /usr/lib64/libQt5MultimediaGstTools.so.5
- /usr/lib64/libQt5MultimediaQuick.so.5
- /usr/lib64/libQt5MultimediaWidgets.so.5
- /usr/lib64/libQt5Network.so.5
- /usr/lib64/libQt5PrintSupport.so.5
- /usr/lib64/libQt5Qml.so.5
- /usr/lib64/libQt5QmlModels.so.5
- /usr/lib64/libQt5QmlWorkerScript.so.5
- /usr/lib64/libQt5Quick.so.5
- /usr/lib64/libQt5QuickControls2.so.5
- /usr/lib64/libQt5QuickTemplates2.so.5
- /usr/lib64/libQt5QuickWidgets.so.5
- /usr/lib64/libQt5Sql.so.5
- /usr/lib64/libQt5Svg.so.5
- /usr/lib64/libQt5WaylandClient.so.5
- /usr/lib64/libQt5Widgets.so.5
- /usr/lib64/libQt5X11Extras.so.5
- /usr/lib64/libQt5XcbQpa.so.5
- /usr/lib64/libQt5Xml.so.5
- /usr/lib64/libSM.so.6
- /usr/lib64/libX11-xcb.so.1
- /usr/lib64/libX11.so.6
- /usr/lib64/libXau.so.6
- /usr/lib64/libXcursor.so.1
- /usr/lib64/libXdamage.so.1
- /usr/lib64/libXdmcp.so.6
- /usr/lib64/libXext.so.6
- /usr/lib64/libXfixes.so.3
- /usr/lib64/libXrender.so.1
- /usr/lib64/libXtst.so.6
- /usr/lib64/libXv.so.1
- /usr/lib64/libXxf86vm.so.1
- /usr/lib64/libasound.so.2
- /usr/lib64/libasyncns.so.0
- /usr/lib64/libavcodec.so.58
- /usr/lib64/libavfilter.so.7
- /usr/lib64/libavformat.so.58
- /usr/lib64/libavresample.so.4
- /usr/lib64/libavutil.so.56
- /usr/lib64/libbluray.so.2
- /usr/lib64/libbreezecommon5.so.5
- /usr/lib64/libbsd.so.0
- /usr/lib64/libcairo-gobject.so.2
- /usr/lib64/libcairo.so.2
- /usr/lib64/libcrypto.so.1.1
- /usr/lib64/libdav1d.so.5
- /usr/lib64/libdbus-1.so.3
- /usr/lib64/libdbusmenu-qt5.so.2
- /usr/lib64/libdouble-conversion.so.3
- /usr/lib64/libdrm.so.2
- /usr/lib64/libdrm_amdgpu.so.1
- /usr/lib64/libdrm_radeon.so.1
- /usr/lib64/libelf.so.1
- /usr/lib64/libexpat.so.1
- /usr/lib64/libffi.so.7
- /usr/lib64/libfontconfig.so.1
- /usr/lib64/libfreetype.so.6
- /usr/lib64/libfribidi.so.0
- /usr/lib64/libgbm.so.1
- /usr/lib64/libgdk_pixbuf-2.0.so.0
- /usr/lib64/libgio-2.0.so.0
- /usr/lib64/libglapi.so.0
- /usr/lib64/libglib-2.0.so.0
- /usr/lib64/libgmodule-2.0.so.0
- /usr/lib64/libgobject-2.0.so.0
- /usr/lib64/libgraphite2.so.3
- /usr/lib64/libgst*-1.0.so.0
- /usr/lib64/libgudev-1.0.so.0
- /usr/lib64/libharfbuzz.so.0
- /usr/lib64/libicudata.so.68
- /usr/lib64/libicui18n.so.68
- /usr/lib64/libicuuc.so.68
- /usr/lib64/libjpeg.so.62
- /usr/lib64/liblcms2.so.2
- /usr/lib64/libmng.so.2
- /usr/lib64/libmp3lame.so.0
- /usr/lib64/libnss_mdns_minimal.so.2
- /usr/lib64/libogg.so.0
- /usr/lib64/libopus.so.0
- /usr/lib64/liborc-0.4.so.0
- /usr/lib64/libpango-1.0.so.0
- /usr/lib64/libpangocairo-1.0.so.0
- /usr/lib64/libpangoft2-1.0.so.0
- /usr/lib64/libpcre2-16.so.0
- /usr/lib64/libphonon4qt5.so.4
- /usr/lib64/libpixman-1.so.0
- /usr/lib64/libpng16.so.16
- /usr/lib64/libpostproc.so.55
- /usr/lib64/libpulse-mainloop-glib.so.0
- /usr/lib64/libpulse.so.0
- /usr/lib64/librsvg-2.so.2
- /usr/lib64/libsndfile.so.1
- /usr/lib64/libssl.so.1.1
- /usr/lib64/libswresample.so.3
- /usr/lib64/libswscale.so.5
- /usr/lib64/libtheoradec.so.1
- /usr/lib64/libtheoraenc.so.1
- /usr/lib64/libtiff.so.5
- /usr/lib64/libvdpau.so.1
- /usr/lib64/libvorbis.so.0
- /usr/lib64/libvorbisenc.so.2
- /usr/lib64/libvpx.so.6
- /usr/lib64/libvulkan.so.1
- /usr/lib64/libwayland-client.so.0
- /usr/lib64/libwayland-cursor.so.0
- /usr/lib64/libwayland-egl.so.1
- /usr/lib64/libwayland-server.so.0
- /usr/lib64/libwebp.so.7
- /usr/lib64/libwebpdemux.so.2
- /usr/lib64/libwebpmux.so.3
- /usr/lib64/libx264.so.157
- /usr/lib64/libx265.so.192
- /usr/lib64/libxcb-composite.so.0
- /usr/lib64/libxcb-damage.so.0
- /usr/lib64/libxcb-dri2.so.0
- /usr/lib64/libxcb-dri3.so.0
- /usr/lib64/libxcb-glx.so.0
- /usr/lib64/libxcb-icccm.so.4
- /usr/lib64/libxcb-image.so.0
- /usr/lib64/libxcb-keysyms.so.1
- /usr/lib64/libxcb-present.so.0
- /usr/lib64/libxcb-randr.so.0
- /usr/lib64/libxcb-render-util.so.0
- /usr/lib64/libxcb-render.so.0
- /usr/lib64/libxcb-res.so.0
- /usr/lib64/libxcb-shape.so.0
- /usr/lib64/libxcb-shm.so.0
- /usr/lib64/libxcb-sync.so.1
- /usr/lib64/libxcb-util.so.1
- /usr/lib64/libxcb-xfixes.so.0
- /usr/lib64/libxcb-xinerama.so.0
- /usr/lib64/libxcb-xinput.so.0
- /usr/lib64/libxcb-xkb.so.1
- /usr/lib64/libxcb.so.1
- /usr/lib64/libxkbcommon-x11.so.0
- /usr/lib64/libxkbcommon.so.0
- /usr/lib64/libxml2.so.2
- /usr/lib64/libxshmfence.so.1
- /usr/lib64/libxvidcore.so.4
- /usr/lib64/libzstd.so.1
- /usr/lib64/pulseaudio/libpulsecommon-13.0.so
- /usr/lib64/qt5/plugins/iconengines/libqsvgicon.so
- /usr/lib64/qt5/plugins/imageformats/kimg_hdr.so
- /usr/lib64/qt5/plugins/imageformats/kimg_kra.so
- /usr/lib64/qt5/plugins/imageformats/kimg_ora.so
- /usr/lib64/qt5/plugins/imageformats/kimg_pcx.so
- /usr/lib64/qt5/plugins/imageformats/kimg_pic.so
- /usr/lib64/qt5/plugins/imageformats/kimg_psd.so
- /usr/lib64/qt5/plugins/imageformats/kimg_ras.so
- /usr/lib64/qt5/plugins/imageformats/kimg_rgb.so
- /usr/lib64/qt5/plugins/imageformats/kimg_tga.so
- /usr/lib64/qt5/plugins/imageformats/kimg_xcf.so
- /usr/lib64/qt5/plugins/imageformats/libqgif.so
- /usr/lib64/qt5/plugins/imageformats/libqicns.so
- /usr/lib64/qt5/plugins/imageformats/libqico.so
- /usr/lib64/qt5/plugins/imageformats/libqjpeg.so
- /usr/lib64/qt5/plugins/imageformats/libqmng.so
- /usr/lib64/qt5/plugins/imageformats/libqsvg.so
- /usr/lib64/qt5/plugins/imageformats/libqtga.so
- /usr/lib64/qt5/plugins/imageformats/libqtiff.so
- /usr/lib64/qt5/plugins/imageformats/libqwbmp.so
- /usr/lib64/qt5/plugins/imageformats/libqwebp.so
- /usr/lib64/qt5/plugins/mediaservice/libgstaudiodecoder.so
- /usr/lib64/qt5/plugins/mediaservice/libgstcamerabin.so
- /usr/lib64/qt5/plugins/mediaservice/libgstmediacapture.so
- /usr/lib64/qt5/plugins/mediaservice/libgstmediaplayer.so
- /usr/lib64/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so
- /usr/lib64/qt5/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so
- /usr/lib64/qt5/plugins/platforms/libqminimal.so
- /usr/lib64/qt5/plugins/platforms/libqoffscreen.so
- /usr/lib64/qt5/plugins/platforms/libqwayland-egl.so
- /usr/lib64/qt5/plugins/platforms/libqwayland-generic.so
- /usr/lib64/qt5/plugins/platforms/libqwayland-xcomposite-egl.so
- /usr/lib64/qt5/plugins/platforms/libqwayland-xcomposite-glx.so
- /usr/lib64/qt5/plugins/platforms/libqxcb.so
- /usr/lib64/qt5/plugins/platformthemes/KDEPlasmaPlatformTheme.so
- /usr/lib64/qt5/plugins/platformthemes/libqgtk3.so
- /usr/lib64/qt5/plugins/styles/breeze.so
- /usr/lib64/qt5/plugins/styles/oxygen.so
- /usr/lib64/qt5/plugins/xcbglintegrations/libqxcb-egl-integration.so
- /usr/lib64/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
- /usr/lib64/qt5/qml/QtGraphicalEffects/libqtgraphicaleffectsplugin.so
- /usr/lib64/qt5/qml/QtGraphicalEffects/private/DropShadowBase.qmlc
- /usr/lib64/qt5/qml/QtGraphicalEffects/private/libqtgraphicaleffectsprivate.so
- /usr/lib64/qt5/qml/QtGraphicalEffects/private/qmldir
- /usr/lib64/qt5/qml/QtGraphicalEffects/qmldir
- /usr/lib64/qt5/qml/QtMultimedia/libdeclarative_multimedia.so
- /usr/lib64/qt5/qml/QtMultimedia/qmldir
- /usr/lib64/qt5/qml/QtQuick.2/libqtquick2plugin.so
- /usr/lib64/qt5/qml/QtQuick.2/qmldir
- /usr/lib64/qt5/qml/QtQuick/Controls.2/Fusion/libqtquickcontrols2fusionstyleplugin.so
- /usr/lib64/qt5/qml/QtQuick/Controls.2/Fusion/qmldir
- /usr/lib64/qt5/qml/QtQuick/Controls.2/libqtquickcontrols2plugin.so
- /usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/private/qmldir
- /usr/lib64/qt5/qml/QtQuick/Controls.2/qmldir
- /usr/lib64/qt5/qml/QtQuick/Controls/Private/CalendarUtils.jsc
- /usr/lib64/qt5/qml/QtQuick/Controls/Private/StackView.jsc
- /usr/lib64/qt5/qml/QtQuick/Controls/Private/SystemPaletteSingleton.qmlc
- /usr/lib64/qt5/qml/QtQuick/Controls/Private/TextSingleton.qmlc
- /usr/lib64/qt5/qml/QtQuick/Controls/Private/qmldir
- /usr/lib64/qt5/qml/QtQuick/Controls/Private/style.jsc
- /usr/lib64/qt5/qml/QtQuick/Controls/libqtquickcontrolsplugin.so
- /usr/lib64/qt5/qml/QtQuick/Controls/qmldir
- /usr/lib64/qt5/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
- /usr/lib64/qt5/qml/QtQuick/Layouts/qmldir
- /usr/lib64/qt5/qml/QtQuick/Templates.2/libqtquicktemplates2plugin.so
- /usr/lib64/qt5/qml/QtQuick/Templates.2/qmldir
- /usr/lib64/qt5/qml/QtQuick/Window.2/libwindowplugin.so
- /usr/lib64/qt5/qml/QtQuick/Window.2/qmldir
- /usr/share/X11/locale/compose.dir
- /usr/share/X11/locale/en_US.UTF-8/Compose
- /usr/share/X11/locale/en_US.UTF-8/XLC_LOCALE
- /usr/share/X11/locale/locale.dir
- /usr/share/drirc.d/00-mesa-defaults.conf
- /usr/share/icons/breeze/actions/32/view-refresh.svg
- /usr/share/icons/breeze/index.theme
- /usr/share/icons/breeze_cursors/cursors/left_ptr
- /usr/share/icons/breeze_cursors/cursors/pointing_hand
- /usr/share/icons/breeze_cursors/cursors/split_h
- /usr/share/icons/hicolor/128x128/apps/nheko.png
- /usr/share/icons/hicolor/16x16/apps/nheko.png
- /usr/share/icons/hicolor/32x32/apps/nheko.png
- /usr/share/icons/hicolor/48x48/apps/nheko.png
- /usr/share/icons/hicolor/64x64/apps/nheko.png
- /usr/share/libdrm/amdgpu.ids
- /usr/share/locale/de/LC_MESSAGES/glib20.mo
- /usr/share/locale/de/LC_MESSAGES/gstreamer-1.0.mo
- /usr/share/locale/de/LC_MESSAGES/libc.mo
- /usr/share/locale/de/LC_MESSAGES/libkirigami2plugin_qt.qm
- /usr/share/locale/de/LC_MESSAGES/libphonon_qt.qm
- /usr/share/locale/de/LC_MESSAGES/pulseaudio.mo
- /usr/share/mime/audio/aac.xml
- /usr/share/mime/generic-icons
- /usr/share/mime/mime.cache
- /usr/share/mime/types
- /usr/share/mime/video/x-matroska.xml
- /usr/share/qt5/translations/qt_de.qm
- /usr/share/qt5/translations/qt_en.qm
- /usr/share/qt5/translations/qtbase_de.qm
- /usr/share/qt5/translations/qtmultimedia_de.qm
- /usr/share/qt5/translations/qtquickcontrols_de.qm
- /usr/share/qt5/translations/qtscript_de.qm
- /usr/share/qt5/translations/qtxmlpatterns_de.qm
- /usr/share/zoneinfo/Europe/Berlin
exclude:
- usr/share/man
- usr/share/doc/*/README.*
- usr/share/doc/*/changelog.*
- usr/share/doc/*/NEWS.*
- usr/share/doc/*/TODO.*
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: guess
sign-key: None