├── .github ├── dependabot.yml └── workflows │ ├── build-linux.yml │ ├── main.yml │ ├── nightly.yml │ ├── update-repo.yml │ ├── verify-debian.yml │ └── verify-ubuntu.yml ├── LICENSE ├── README.MD └── version.txt /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "github-actions" 4 | directory: "/" 5 | schedule: 6 | interval: "weekly" 7 | -------------------------------------------------------------------------------- /.github/workflows/build-linux.yml: -------------------------------------------------------------------------------- 1 | name: Build linux packages 2 | 3 | on: 4 | workflow_call: 5 | inputs: 6 | channel: 7 | type: string 8 | default: nightly 9 | version: 10 | type: string 11 | default: "0.8.2" 12 | changelog: 13 | type: string 14 | default: "" 15 | versionsdbremote: 16 | type: string 17 | default: master 18 | shas: 19 | type: string 20 | default: "{}" 21 | env: 22 | ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true 23 | jobs: 24 | build-linux: 25 | runs-on: ${{ matrix.platform.label || 'ubuntu-latest' }} 26 | continue-on-error: ${{ matrix.platform.ignore-failure || false }} 27 | strategy: 28 | fail-fast: false 29 | matrix: 30 | repo: 31 | - mcpelauncher-manifest 32 | - mcpelauncher-ui-manifest 33 | - msa-manifest 34 | platform: 35 | - name: focal 36 | container: buildpack-deps:focal 37 | deps: apt-get update && apt-get install -y --no-install-recommends g++ clang cmake make git ca-certificates libssl-dev libsecret-1-dev libpng-dev libx11-dev libxcursor-dev libxinerama-dev libxi-dev libxrandr-dev libcurl4-openssl-dev libudev-dev libevdev-dev libegl1-mesa-dev libssl-dev libsecret-1-dev libasound2 qtbase5-dev qtwebengine5-dev qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick2 qml-module-qtquick-layouts qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-window2 qml-module-qtquick-dialogs qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel qml-module-qtwebengine libssl-dev libsecret-1-dev libcurl4-openssl-dev libuv1-dev libzip-dev libprotobuf-dev protobuf-compiler qtbase5-dev qtwebengine5-dev qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick2 qml-module-qtquick-layouts qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-window2 qml-module-qtquick-dialogs qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel libasound2-dev libpulse-dev libaudio-dev libsndio-dev 38 | generator: DEB 39 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml-module-qtquick2, qml-module-qtquick-layouts, qml-module-qtquick-controls, qml-module-qtquick-controls2, qml-module-qtquick-window2, qml-module-qtquick-dialogs, qml-module-qt-labs-settings, qml-module-qt-labs-folderlistmodel, qml-module-qtwebengine, libqt5svg5, libqt5concurrent5, libqt5webenginewidgets5, libzip5, qml-module-qtquick-templates2, libprotobuf17, libsecret-1-0 40 | - name: focal 41 | container: ubuntu:focal 42 | deps: | 43 | echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ focal main universe multiverse restricted" > /etc/apt/sources.list 44 | echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ focal-updates main universe multiverse restricted" >> /etc/apt/sources.list 45 | echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ focal main universe multiverse restricted" >> /etc/apt/sources.list 46 | echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ focal-updates main universe multiverse restricted" >> /etc/apt/sources.list 47 | dpkg --add-architecture arm64 && dpkg --add-architecture armhf && apt update && DEBIAN_FRONTEND=noninteractive apt install -y docker.io libfuse-dev:arm64 wget texinfo apt-transport-https vim-common qemu-user clang chrpath libstdc++-9-dev:arm64 libatomic1:arm64 wget cmake g++-arm-linux-gnueabihf g++-aarch64-linux-gnu patchelf git cmake pkg-config qtbase5-dev:arm64 qtwebengine5-dev:arm64 libssl-dev:arm64 libcurl4-openssl-dev:arm64 libpng-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxinerama-dev:arm64 libxi-dev:arm64 libxrandr-dev:arm64 libssl-dev:arm64 libudev-dev:arm64 libevdev-dev:arm64 libegl1-mesa-dev:arm64 libgl1-mesa-dev:arm64 libssl-dev:arm64 libuv1-dev:arm64 libzip-dev:arm64 libprotobuf-dev:arm64 protobuf-compiler qtdeclarative5-dev:arm64 libqt5svg5-dev:arm64 qml-module-qtwebengine:arm64 qml-module-qtquick2:arm64 qml-module-qtquick-layouts:arm64 qml-module-qtquick-controls:arm64 qml-module-qtquick-controls2:arm64 qml-module-qtquick-window2:arm64 qml-module-qtquick-dialogs:arm64 qml-module-qt-labs-settings:arm64 qml-module-qt-labs-folderlistmodel:arm64 jq curl binutils desktop-file-utils squashfs-tools qtdeclarative5-dev-tools:arm64 libssl-dev:arm64 libpulse-dev:arm64 libsecret-1-dev:arm64 libasound2-dev:arm64 libpulse-dev:arm64 libaudio-dev:arm64 libsndio-dev:arm64 48 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 49 | echo "PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig/:/usr/share/pkgconfig" >> $GITHUB_ENV 50 | echo "/usr/lib/aarch64-linux-gnu/qt5/bin/" >> $GITHUB_PATH 51 | curl -L -O https://raw.githubusercontent.com/ChristopherHX/linux-packaging-scripts/main/arm64toolchain.txt 52 | generator: DEB 53 | cmakeflags: 54 | mcpelauncher-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 55 | mcpelauncher-ui-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 56 | msa-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 57 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml-module-qtquick2, qml-module-qtquick-layouts, qml-module-qtquick-controls, qml-module-qtquick-controls2, qml-module-qtquick-window2, qml-module-qtquick-dialogs, qml-module-qt-labs-settings, qml-module-qt-labs-folderlistmodel, qml-module-qtwebengine, libqt5svg5, libqt5concurrent5, libqt5webenginewidgets5, libzip5, qml-module-qtquick-templates2, libprotobuf17, libpulse0, libatomic1, libsecret-1-0 58 | - name: jammy 59 | container: buildpack-deps:jammy 60 | deps: apt-get update && apt-get install -y --no-install-recommends g++ clang cmake make git ca-certificates libssl-dev libsecret-1-dev libpng-dev libx11-dev libxcursor-dev libxinerama-dev libxi-dev libxrandr-dev libcurl4-openssl-dev libudev-dev libevdev-dev libegl1-mesa-dev libssl-dev libsecret-1-dev libasound2 qtbase5-dev qtwebengine5-dev qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick2 qml-module-qtquick-layouts qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-window2 qml-module-qtquick-dialogs qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel qml-module-qtwebengine libssl-dev libsecret-1-dev libcurl4-openssl-dev libuv1-dev libzip-dev libprotobuf-dev protobuf-compiler qtbase5-dev qtwebengine5-dev qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick2 qml-module-qtquick-layouts qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-window2 qml-module-qtquick-dialogs qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel libasound2-dev libpulse-dev libaudio-dev libsndio-dev libpipewire-0.3-dev 61 | generator: DEB 62 | - name: jammy 63 | container: buildpack-deps:jammy 64 | deps: apt-get update && apt-get install -y --no-install-recommends g++ clang cmake make git ca-certificates libssl-dev libsecret-1-dev libpng-dev libx11-dev libxcursor-dev libxinerama-dev libxi-dev libxrandr-dev libcurl4-openssl-dev libudev-dev libevdev-dev libegl1-mesa-dev libssl-dev libsecret-1-dev libasound2 qt6-base-dev libqt6opengl6-dev qt6-webengine-dev qt6-webengine-dev-tools qt6-declarative-dev qml6-module-qtquick qml6-module-qtquick-layouts qml6-module-qtquick-controls qml6-module-qtquick-window qml6-module-qtquick-dialogs qml6-module-qt-labs-settings qml6-module-qt-labs-folderlistmodel qml6-module-qtwebengine libssl-dev libsecret-1-dev libcurl4-openssl-dev libuv1-dev libzip-dev libprotobuf-dev protobuf-compiler qt6-base-dev libqt6opengl6-dev qt6-webengine-dev qt6-declarative-dev libqt6svg6-dev qml6-module-qtquick-layouts qml6-module-qtquick-controls qml6-module-qtquick-controls qml6-module-qtquick-dialogs qml6-module-qt-labs-settings qml6-module-qt-labs-folderlistmodel libasound2-dev libpulse-dev libaudio-dev libsndio-dev libpipewire-0.3-dev 65 | generator: DEB 66 | branch: 67 | mcpelauncher-manifest: qt6 68 | mcpelauncher-ui-manifest: qt6 69 | cmakeflags: 70 | msa-manifest: -DQT_VERSION=6 71 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml6-module-qtquick, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, qml6-module-qtwebengine, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-controls, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, libqt6svg6, libqt6concurrent6, libqt6webenginewidgets6, libzip4, qml6-module-qtqml-workerscript, qml6-module-qt-labs-platform, qml6-module-qtquick-templates, libprotobuf23, libsecret-1-0 72 | suffix: qt6 73 | - name: jammy 74 | container: ubuntu:jammy 75 | deps: | 76 | echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ jammy main universe multiverse restricted" > /etc/apt/sources.list 77 | echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ jammy-updates main universe multiverse restricted" >> /etc/apt/sources.list 78 | echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ jammy main universe multiverse restricted" >> /etc/apt/sources.list 79 | echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main universe multiverse restricted" >> /etc/apt/sources.list 80 | dpkg --add-architecture arm64 && dpkg --add-architecture armhf && apt update && DEBIAN_FRONTEND=noninteractive apt install -y docker.io libfuse-dev:arm64 wget texinfo apt-transport-https vim-common qemu-user clang chrpath libstdc++-10-dev:arm64 libatomic1:arm64 wget cmake g++-arm-linux-gnueabihf g++-aarch64-linux-gnu patchelf git cmake pkg-config qtbase5-dev:arm64 qtwebengine5-dev:arm64 libssl-dev:arm64 libcurl4-openssl-dev:arm64 libpng-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxinerama-dev:arm64 libxi-dev:arm64 libxrandr-dev:arm64 libssl-dev:arm64 libudev-dev:arm64 libevdev-dev:arm64 libegl1-mesa-dev:arm64 libgl1-mesa-dev:arm64 libssl-dev:arm64 libuv1-dev:arm64 libzip-dev:arm64 libprotobuf-dev:arm64 protobuf-compiler qtdeclarative5-dev:arm64 libqt5svg5-dev:arm64 qml-module-qtwebengine:arm64 qml-module-qtquick2:arm64 qml-module-qtquick-layouts:arm64 qml-module-qtquick-controls:arm64 qml-module-qtquick-controls2:arm64 qml-module-qtquick-window2:arm64 qml-module-qtquick-dialogs:arm64 qml-module-qt-labs-settings:arm64 qml-module-qt-labs-folderlistmodel:arm64 jq curl binutils desktop-file-utils squashfs-tools qtdeclarative5-dev-tools:arm64 libssl-dev:arm64 libpulse-dev:arm64 libsecret-1-dev:arm64 libasound2-dev:arm64 libpulse-dev:arm64 libaudio-dev:arm64 libsndio-dev:arm64 libpipewire-0.3-dev:arm64 81 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 82 | echo "PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig/:/usr/share/pkgconfig" >> $GITHUB_ENV 83 | echo "/usr/lib/aarch64-linux-gnu/qt5/bin/" >> $GITHUB_PATH 84 | curl -L -O https://raw.githubusercontent.com/ChristopherHX/linux-packaging-scripts/main/arm64toolchain.txt 85 | generator: DEB 86 | cmakeflags: 87 | mcpelauncher-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 88 | mcpelauncher-ui-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 89 | msa-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 90 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml-module-qtquick2, qml-module-qtquick-layouts, qml-module-qtquick-controls, qml-module-qtquick-controls2, qml-module-qtquick-window2, qml-module-qtquick-dialogs, qml-module-qt-labs-settings, qml-module-qt-labs-folderlistmodel, qml-module-qtwebengine, libqt5svg5, libqt5concurrent5, libqt5webenginewidgets5, libzip4, qml-module-qtquick-templates2, libprotobuf23, libpulse0, libatomic1, libsecret-1-0 91 | - name: noble 92 | container: buildpack-deps:noble 93 | ignore-failure: true 94 | deps: apt-get update && apt-get install -y --no-install-recommends g++ clang cmake make git ca-certificates libssl-dev libsecret-1-dev libpng-dev libx11-dev libxcursor-dev libxinerama-dev libxi-dev libxrandr-dev libcurl4-openssl-dev libudev-dev libevdev-dev libegl1-mesa-dev libssl-dev libsecret-1-dev qt6-base-dev libqt6opengl6-dev qt6-webengine-dev qt6-webengine-dev-tools qt6-declarative-dev qml6-module-qtquick qml6-module-qtquick-layouts qml6-module-qtquick-controls qml6-module-qtquick-window qml6-module-qtquick-dialogs qml6-module-qt-labs-settings qml6-module-qt-labs-folderlistmodel qml6-module-qtwebengine libssl-dev libsecret-1-dev libcurl4-openssl-dev libuv1-dev libzip-dev libprotobuf-dev protobuf-compiler qt6-base-dev libqt6opengl6-dev qt6-webengine-dev qt6-declarative-dev libqt6svg6-dev qml6-module-qtquick-layouts qml6-module-qtquick-controls qml6-module-qtquick-controls qml6-module-qtquick-dialogs qml6-module-qt-labs-settings qml6-module-qt-labs-folderlistmodel libasound2-dev libpulse-dev libaudio-dev libsndio-dev libpipewire-0.3-dev 95 | generator: DEB 96 | branch: 97 | mcpelauncher-manifest: qt6 98 | mcpelauncher-ui-manifest: qt6 99 | cmakeflags: 100 | msa-manifest: -DQT_VERSION=6 101 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml6-module-qtquick, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, qml6-module-qtwebengine, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-controls, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, libqt6svg6, libqt6concurrent6, libqt6webenginewidgets6, libzip4, qml6-module-qtqml-workerscript, qml6-module-qt-labs-platform, qml6-module-qtquick-templates, libprotobuf32t64, libsecret-1-0 102 | - name: noble 103 | container: ubuntu:noble 104 | ignore-failure: true 105 | deps: | 106 | rm /etc/apt/sources.list.d/ubuntu.sources 107 | echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ noble main universe multiverse restricted" > /etc/apt/sources.list 108 | echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ noble-updates main universe multiverse restricted" >> /etc/apt/sources.list 109 | echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ noble main universe multiverse restricted" >> /etc/apt/sources.list 110 | echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ noble-updates main universe multiverse restricted" >> /etc/apt/sources.list 111 | dpkg --add-architecture arm64 && dpkg --add-architecture armhf && apt update && apt-mark hold linux-libc-dev:amd64 && DEBIAN_FRONTEND=noninteractive apt install -y docker.io libfuse-dev:arm64 wget texinfo apt-transport-https vim-common qemu-user chrpath libstdc++-10-dev:arm64 libatomic1:arm64 wget cmake g++-arm-linux-gnueabihf g++-aarch64-linux-gnu patchelf git cmake pkg-config libssl-dev:arm64 libcurl4-openssl-dev:arm64 libpng-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxinerama-dev:arm64 libxi-dev:arm64 libxrandr-dev:arm64 libssl-dev:arm64 libudev-dev:arm64 libevdev-dev:arm64 libegl1-mesa-dev:arm64 libgl1-mesa-dev:arm64 libssl-dev:arm64 libuv1-dev:arm64 libzip-dev:arm64 libprotobuf-dev:arm64 protobuf-compiler jq curl binutils desktop-file-utils squashfs-tools libssl-dev:arm64 libpulse-dev:arm64 libsecret-1-dev:arm64 qt6-base-dev:arm64 libqt6opengl6-dev:arm64 qt6-webengine-dev:arm64 qt6-webengine-dev-tools:arm64 qt6-declarative-dev:arm64 qml6-module-qtquick:arm64 qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-window:arm64 qml6-module-qtquick-dialogs:arm64 qml6-module-qt-labs-settings:arm64 qml6-module-qt-labs-folderlistmodel:arm64 qml6-module-qtwebengine:arm64 qt6-base-dev:arm64 libqt6opengl6-dev:arm64 qt6-webengine-dev:arm64 qt6-declarative-dev:arm64 libqt6svg6-dev:arm64 qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-dialogs:arm64 qml6-module-qt-labs-settings:arm64 qml6-module-qt-labs-folderlistmodel:arm64 libasound2-dev:arm64 libpulse-dev:arm64 libaudio-dev:arm64 libsndio-dev:arm64 libpipewire-0.3-dev:arm64 112 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 113 | echo "PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig/:/usr/share/pkgconfig" >> $GITHUB_ENV 114 | echo PATH=/usr/lib/aarch64-linux-gnu/qt6/bin/:$PATH >> $GITHUB_PATH 115 | curl -L -O https://raw.githubusercontent.com/ChristopherHX/linux-packaging-scripts/main/arm64toolchain.txt 116 | curl -L https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz --output llvm.tar.xz 117 | tar --no-same-owner -xf llvm.tar.xz 118 | echo "$PWD/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04/bin" >> $GITHUB_PATH 119 | generator: DEB 120 | branch: 121 | mcpelauncher-manifest: qt6 122 | mcpelauncher-ui-manifest: qt6 123 | cmakeflags: 124 | mcpelauncher-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 125 | mcpelauncher-ui-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 126 | msa-manifest: -DQT_VERSION=6 -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 127 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml6-module-qtquick, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, qml6-module-qtwebengine, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-controls, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, libqt6svg6, libqt6concurrent6, libqt6webenginewidgets6, libzip4, qml6-module-qtqml-workerscript, qml6-module-qt-labs-platform, qml6-module-qtquick-templates, libprotobuf32t64, libpulse0, libatomic1, libsecret-1-0 128 | - name: oracular 129 | container: buildpack-deps:oracular 130 | ignore-failure: true 131 | deps: apt-get update && apt-get install -y --no-install-recommends g++ clang cmake make git ca-certificates libssl-dev libsecret-1-dev libpng-dev libx11-dev libxcursor-dev libxinerama-dev libxi-dev libxrandr-dev libcurl4-openssl-dev libudev-dev libevdev-dev libegl1-mesa-dev libssl-dev libsecret-1-dev qt6-base-dev libqt6opengl6-dev qt6-webengine-dev qt6-webengine-dev-tools qt6-declarative-dev qml6-module-qtquick qml6-module-qtquick-layouts qml6-module-qtquick-controls qml6-module-qtquick-window qml6-module-qtquick-dialogs qml6-module-qt-labs-settings qml6-module-qt-labs-folderlistmodel qml6-module-qtwebengine libssl-dev libsecret-1-dev libcurl4-openssl-dev libuv1-dev libzip-dev libprotobuf-dev protobuf-compiler qt6-base-dev libqt6opengl6-dev qt6-webengine-dev qt6-declarative-dev libqt6svg6-dev qml6-module-qtquick-layouts qml6-module-qtquick-controls qml6-module-qtquick-controls qml6-module-qtquick-dialogs qml6-module-qt-labs-settings qml6-module-qt-labs-folderlistmodel libasound2-dev libpulse-dev libaudio-dev libsndio-dev libpipewire-0.3-dev 132 | generator: DEB 133 | branch: 134 | mcpelauncher-manifest: qt6 135 | mcpelauncher-ui-manifest: qt6 136 | cmakeflags: 137 | msa-manifest: -DQT_VERSION=6 138 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml6-module-qtquick, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, qml6-module-qtwebengine, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-controls, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, libqt6svg6, libqt6concurrent6, libqt6webenginewidgets6, libzip4, qml6-module-qtqml-workerscript, qml6-module-qt-labs-platform, qml6-module-qtquick-templates, libprotobuf32t64, libsecret-1-0 139 | - name: oracular 140 | container: ubuntu:oracular 141 | ignore-failure: true 142 | deps: | 143 | rm /etc/apt/sources.list.d/ubuntu.sources 144 | echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ oracular main universe multiverse restricted" > /etc/apt/sources.list 145 | echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ oracular-updates main universe multiverse restricted" >> /etc/apt/sources.list 146 | echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ oracular main universe multiverse restricted" >> /etc/apt/sources.list 147 | echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ oracular-updates main universe multiverse restricted" >> /etc/apt/sources.list 148 | dpkg --add-architecture arm64 && dpkg --add-architecture armhf && apt update && apt-mark hold linux-libc-dev:amd64 && DEBIAN_FRONTEND=noninteractive apt install -y docker.io libfuse-dev:arm64 wget texinfo apt-transport-https vim-common qemu-user chrpath libstdc++-11-dev:arm64 libatomic1:arm64 wget cmake g++-arm-linux-gnueabihf g++-aarch64-linux-gnu patchelf git cmake pkg-config libssl-dev:arm64 libcurl4-openssl-dev:arm64 libpng-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxinerama-dev:arm64 libxi-dev:arm64 libxrandr-dev:arm64 libssl-dev:arm64 libudev-dev:arm64 libevdev-dev:arm64 libegl1-mesa-dev:arm64 libgl1-mesa-dev:arm64 libssl-dev:arm64 libuv1-dev:arm64 libzip-dev:arm64 libprotobuf-dev:arm64 protobuf-compiler jq curl binutils desktop-file-utils squashfs-tools libssl-dev:arm64 libpulse-dev:arm64 libsecret-1-dev:arm64 qt6-base-dev:arm64 libqt6opengl6-dev:arm64 qt6-webengine-dev:arm64 qt6-webengine-dev-tools:arm64 qt6-declarative-dev:arm64 qml6-module-qtquick:arm64 qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-window:arm64 qml6-module-qtquick-dialogs:arm64 qml6-module-qt-labs-settings:arm64 qml6-module-qt-labs-folderlistmodel:arm64 qml6-module-qtwebengine:arm64 qt6-base-dev:arm64 libqt6opengl6-dev:arm64 qt6-webengine-dev:arm64 qt6-declarative-dev:arm64 libqt6svg6-dev:arm64 qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-dialogs:arm64 qml6-module-qt-labs-settings:arm64 qml6-module-qt-labs-folderlistmodel:arm64 libasound2-dev:arm64 libpulse-dev:arm64 libaudio-dev:arm64 libsndio-dev:arm64 libpipewire-0.3-dev:arm64 149 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 150 | echo "PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig/:/usr/share/pkgconfig" >> $GITHUB_ENV 151 | echo PATH=/usr/lib/aarch64-linux-gnu/qt6/bin/:$PATH >> $GITHUB_PATH 152 | curl -L -O https://raw.githubusercontent.com/ChristopherHX/linux-packaging-scripts/main/arm64toolchain.txt 153 | curl -L https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz --output llvm.tar.xz 154 | tar --no-same-owner -xf llvm.tar.xz 155 | echo "$PWD/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04/bin" >> $GITHUB_PATH 156 | generator: DEB 157 | branch: 158 | mcpelauncher-manifest: qt6 159 | mcpelauncher-ui-manifest: qt6 160 | cmakeflags: 161 | mcpelauncher-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 162 | mcpelauncher-ui-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 163 | msa-manifest: -DQT_VERSION=6 -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 164 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml6-module-qtquick, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, qml6-module-qtwebengine, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-controls, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, libqt6svg6, libqt6concurrent6, libqt6webenginewidgets6, libzip4, qml6-module-qtqml-workerscript, qml6-module-qt-labs-platform, qml6-module-qtquick-templates, libprotobuf32t64, libpulse0, libatomic1, libsecret-1-0 165 | - name: plucky 166 | container: buildpack-deps:oracular 167 | ignore-failure: true 168 | deps: apt-get update && apt-get install -y --no-install-recommends g++ clang cmake make git ca-certificates libssl-dev libsecret-1-dev libpng-dev libx11-dev libxcursor-dev libxinerama-dev libxi-dev libxrandr-dev libcurl4-openssl-dev libudev-dev libevdev-dev libegl1-mesa-dev libssl-dev libsecret-1-dev qt6-base-dev libqt6opengl6-dev qt6-webengine-dev qt6-webengine-dev-tools qt6-declarative-dev qml6-module-qtquick qml6-module-qtquick-layouts qml6-module-qtquick-controls qml6-module-qtquick-window qml6-module-qtquick-dialogs qml6-module-qt-labs-settings qml6-module-qt-labs-folderlistmodel qml6-module-qtwebengine libssl-dev libsecret-1-dev libcurl4-openssl-dev libuv1-dev libzip-dev libprotobuf-dev protobuf-compiler qt6-base-dev libqt6opengl6-dev qt6-webengine-dev qt6-declarative-dev libqt6svg6-dev qml6-module-qtquick-layouts qml6-module-qtquick-controls qml6-module-qtquick-controls qml6-module-qtquick-dialogs qml6-module-qt-labs-settings qml6-module-qt-labs-folderlistmodel libasound2-dev libpulse-dev libaudio-dev libsndio-dev libpipewire-0.3-dev 169 | generator: DEB 170 | branch: 171 | mcpelauncher-manifest: qt6 172 | mcpelauncher-ui-manifest: qt6 173 | cmakeflags: 174 | msa-manifest: -DQT_VERSION=6 175 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml6-module-qtquick, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, qml6-module-qtwebengine, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-controls, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, libqt6svg6, libqt6concurrent6, libqt6webenginewidgets6, libzip4, qml6-module-qtqml-workerscript, qml6-module-qt-labs-platform, qml6-module-qtquick-templates, libprotobuf32t64, libsecret-1-0 176 | - name: plucky 177 | container: ubuntu:plucky 178 | ignore-failure: true 179 | deps: | 180 | rm /etc/apt/sources.list.d/ubuntu.sources 181 | echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ plucky main universe multiverse restricted" > /etc/apt/sources.list 182 | echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ plucky-updates main universe multiverse restricted" >> /etc/apt/sources.list 183 | echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ plucky main universe multiverse restricted" >> /etc/apt/sources.list 184 | echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ plucky-updates main universe multiverse restricted" >> /etc/apt/sources.list 185 | dpkg --add-architecture arm64 && dpkg --add-architecture armhf && apt update && apt-mark hold linux-libc-dev:amd64 && DEBIAN_FRONTEND=noninteractive apt install -y docker.io libfuse-dev:arm64 wget texinfo apt-transport-https vim-common qemu-user chrpath libstdc++-11-dev:arm64 libatomic1:arm64 wget cmake g++-arm-linux-gnueabihf g++-aarch64-linux-gnu patchelf git cmake pkg-config libssl-dev:arm64 libcurl4-openssl-dev:arm64 libpng-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxinerama-dev:arm64 libxi-dev:arm64 libxrandr-dev:arm64 libssl-dev:arm64 libudev-dev:arm64 libevdev-dev:arm64 libegl1-mesa-dev:arm64 libgl1-mesa-dev:arm64 libssl-dev:arm64 libuv1-dev:arm64 libzip-dev:arm64 libprotobuf-dev:arm64 protobuf-compiler jq curl binutils desktop-file-utils squashfs-tools libssl-dev:arm64 libpulse-dev:arm64 libsecret-1-dev:arm64 qt6-base-dev:arm64 libqt6opengl6-dev:arm64 qt6-webengine-dev:arm64 qt6-webengine-dev-tools:arm64 qt6-declarative-dev:arm64 qml6-module-qtquick:arm64 qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-window:arm64 qml6-module-qtquick-dialogs:arm64 qml6-module-qt-labs-settings:arm64 qml6-module-qt-labs-folderlistmodel:arm64 qml6-module-qtwebengine:arm64 qt6-base-dev:arm64 libqt6opengl6-dev:arm64 qt6-webengine-dev:arm64 qt6-declarative-dev:arm64 libqt6svg6-dev:arm64 qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-dialogs:arm64 qml6-module-qt-labs-settings:arm64 qml6-module-qt-labs-folderlistmodel:arm64 libasound2-dev:arm64 libpulse-dev:arm64 libaudio-dev:arm64 libsndio-dev:arm64 libpipewire-0.3-dev:arm64 186 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 187 | echo "PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig/:/usr/share/pkgconfig" >> $GITHUB_ENV 188 | echo PATH=/usr/lib/aarch64-linux-gnu/qt6/bin/:$PATH >> $GITHUB_PATH 189 | curl -L -O https://raw.githubusercontent.com/ChristopherHX/linux-packaging-scripts/main/arm64toolchain.txt 190 | curl -L https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz --output llvm.tar.xz 191 | tar --no-same-owner -xf llvm.tar.xz 192 | echo "$PWD/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04/bin" >> $GITHUB_PATH 193 | generator: DEB 194 | branch: 195 | mcpelauncher-manifest: qt6 196 | mcpelauncher-ui-manifest: qt6 197 | cmakeflags: 198 | mcpelauncher-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 199 | mcpelauncher-ui-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 200 | msa-manifest: -DQT_VERSION=6 -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 201 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml6-module-qtquick, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, qml6-module-qtwebengine, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-controls, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, libqt6svg6, libqt6concurrent6, libqt6webenginewidgets6, libzip4, qml6-module-qtqml-workerscript, qml6-module-qt-labs-platform, qml6-module-qtquick-templates, libprotobuf32t64, libpulse0, libatomic1, libsecret-1-0 202 | - name: bullseye 203 | container: buildpack-deps:bullseye 204 | deps: apt-get update && apt-get install -y --no-install-recommends g++ clang cmake make git ca-certificates libssl-dev libsecret-1-dev libpng-dev libx11-dev libxcursor-dev libxinerama-dev libxi-dev libxrandr-dev libcurl4-openssl-dev libudev-dev libevdev-dev libegl1-mesa-dev libssl-dev libsecret-1-dev libasound2 qtbase5-dev qtwebengine5-dev qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick2 qml-module-qtquick-layouts qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-window2 qml-module-qtquick-dialogs qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel qml-module-qtwebengine libssl-dev libsecret-1-dev libcurl4-openssl-dev libuv1-dev libzip-dev libprotobuf-dev protobuf-compiler qtbase5-dev qtwebengine5-dev qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick2 qml-module-qtquick-layouts qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-window2 qml-module-qtquick-dialogs qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel libasound2-dev libpulse-dev libaudio-dev libsndio-dev libpipewire-0.3-dev 205 | generator: DEB 206 | - name: bullseye 207 | container: debian:bullseye 208 | deps: | 209 | dpkg --add-architecture arm64 && dpkg --add-architecture armhf && apt update && DEBIAN_FRONTEND=noninteractive apt install -y docker.io libfuse-dev:arm64 wget texinfo apt-transport-https vim-common qemu-user clang chrpath libstdc++-10-dev:arm64 libatomic1:arm64 wget cmake g++-arm-linux-gnueabihf g++-aarch64-linux-gnu patchelf git cmake pkg-config qtbase5-dev:arm64 qtwebengine5-dev:arm64 libssl-dev:arm64 libcurl4-openssl-dev:arm64 libpng-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxinerama-dev:arm64 libxi-dev:arm64 libxrandr-dev:arm64 libssl-dev:arm64 libudev-dev:arm64 libevdev-dev:arm64 libegl1-mesa-dev:arm64 libgl1-mesa-dev:arm64 libssl-dev:arm64 libuv1-dev:arm64 libzip-dev:arm64 libprotobuf-dev:arm64 protobuf-compiler qtdeclarative5-dev:arm64 libqt5svg5-dev:arm64 qml-module-qtwebengine:arm64 qml-module-qtquick2:arm64 qml-module-qtquick-layouts:arm64 qml-module-qtquick-controls:arm64 qml-module-qtquick-controls2:arm64 qml-module-qtquick-window2:arm64 qml-module-qtquick-dialogs:arm64 qml-module-qt-labs-settings:arm64 qml-module-qt-labs-folderlistmodel:arm64 jq curl binutils desktop-file-utils squashfs-tools qtdeclarative5-dev-tools:arm64 libssl-dev:arm64 libpulse-dev:arm64 libsecret-1-dev:arm64 libasound2-dev:arm64 libpulse-dev:arm64 libaudio-dev:arm64 libsndio-dev:arm64 libpipewire-0.3-dev:arm64 210 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 211 | echo "PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig/:/usr/share/pkgconfig" >> $GITHUB_ENV 212 | echo "/usr/lib/aarch64-linux-gnu/qt5/bin/" >> $GITHUB_PATH 213 | curl -L -O https://raw.githubusercontent.com/ChristopherHX/linux-packaging-scripts/main/arm64toolchain.txt 214 | generator: DEB 215 | cmakeflags: 216 | mcpelauncher-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 217 | mcpelauncher-ui-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 218 | msa-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 219 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml-module-qtquick2, qml-module-qtquick-layouts, qml-module-qtquick-controls, qml-module-qtquick-controls2, qml-module-qtquick-window2, qml-module-qtquick-dialogs, qml-module-qt-labs-settings, qml-module-qt-labs-folderlistmodel, qml-module-qtwebengine, libqt5svg5, libqt5concurrent5, libqt5webenginewidgets5, libzip4, qml-module-qtquick-templates2, libprotobuf23, libpulse0, libatomic1, libsecret-1-0 220 | - name: bullseye 221 | container: debian:bullseye 222 | deps: | 223 | dpkg --add-architecture armhf && dpkg --add-architecture armhf && apt update && DEBIAN_FRONTEND=noninteractive apt install -y docker.io libfuse-dev:armhf wget texinfo apt-transport-https vim-common qemu-user clang chrpath libstdc++-10-dev:armhf libatomic1:armhf wget cmake g++-arm-linux-gnueabihf g++-arm-linux-gnueabihf patchelf git cmake pkg-config qtbase5-dev:armhf qtwebengine5-dev:armhf libssl-dev:armhf libcurl4-openssl-dev:armhf libpng-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxinerama-dev:armhf libxi-dev:armhf libxrandr-dev:armhf libssl-dev:armhf libudev-dev:armhf libevdev-dev:armhf libegl1-mesa-dev:armhf libgl1-mesa-dev:armhf libssl-dev:armhf libuv1-dev:armhf libzip-dev:armhf libprotobuf-dev:armhf protobuf-compiler qtdeclarative5-dev:armhf libqt5svg5-dev:armhf qml-module-qtwebengine:armhf qml-module-qtquick2:armhf qml-module-qtquick-layouts:armhf qml-module-qtquick-controls:armhf qml-module-qtquick-controls2:armhf qml-module-qtquick-window2:armhf qml-module-qtquick-dialogs:armhf qml-module-qt-labs-settings:armhf qml-module-qt-labs-folderlistmodel:armhf jq curl binutils desktop-file-utils squashfs-tools qtdeclarative5-dev-tools:armhf libssl-dev:armhf libasound2-dev:armhf libpulse-dev:armhf libaudio-dev:armhf libsndio-dev:armhf libpipewire-0.3-dev:armhf 224 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 225 | echo "PKG_CONFIG_LIBDIR=/usr/lib/arm-linux-gnueabihf/pkgconfig/:/usr/share/pkgconfig" >> $GITHUB_ENV 226 | echo "/usr/lib/arm-linux-gnueabihf/qt5/bin/" >> $GITHUB_PATH 227 | curl -L -O https://raw.githubusercontent.com/ChristopherHX/linux-packaging-scripts/main/armhftoolchain.txt 228 | generator: DEB 229 | cmakeflags: 230 | mcpelauncher-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_C_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_CXX_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_TOOLCHAIN_FILE=$PWD/armhftoolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=armhf 231 | mcpelauncher-ui-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_C_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_CXX_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_TOOLCHAIN_FILE=$PWD/armhftoolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=armhf 232 | msa-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_C_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_CXX_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_TOOLCHAIN_FILE=$PWD/armhftoolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=armhf 233 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml-module-qtquick2, qml-module-qtquick-layouts, qml-module-qtquick-controls, qml-module-qtquick-controls2, qml-module-qtquick-window2, qml-module-qtquick-dialogs, qml-module-qt-labs-settings, qml-module-qt-labs-folderlistmodel, qml-module-qtwebengine, libqt5svg5, libqt5concurrent5, libqt5webenginewidgets5, libzip4, qml-module-qtquick-templates2, libprotobuf23, libpulse0, libatomic1, libsecret-1-0 234 | - name: bookworm 235 | container: buildpack-deps:bookworm 236 | deps: apt-get update && apt-get install -y --no-install-recommends g++ clang cmake make git ca-certificates libssl-dev libsecret-1-dev libpng-dev libx11-dev libxcursor-dev libxinerama-dev libxi-dev libxrandr-dev libcurl4-openssl-dev libudev-dev libevdev-dev libegl1-mesa-dev libssl-dev libsecret-1-dev libasound2 qt6-base-dev libqt6opengl6-dev qt6-webengine-dev qt6-declarative-dev qml6-module-qtquick qml6-module-qtquick-layouts qml6-module-qtquick-controls qml6-module-qtquick-window qml6-module-qtquick-dialogs qml6-module-qt-labs-settings qml6-module-qt-labs-folderlistmodel qml6-module-qtwebengine libssl-dev libsecret-1-dev libcurl4-openssl-dev libuv1-dev libzip-dev libprotobuf-dev protobuf-compiler qt6-base-dev libqt6opengl6-dev qt6-webengine-dev qt6-declarative-dev libqt6svg6-dev qml6-module-qtquick-layouts qml6-module-qtquick-controls qml6-module-qtquick-controls qml6-module-qtquick-dialogs qml6-module-qt-labs-settings qml6-module-qt-labs-folderlistmodel libasound2-dev libpulse-dev libaudio-dev libsndio-dev libpipewire-0.3-dev 237 | generator: DEB 238 | branch: 239 | mcpelauncher-manifest: qt6 240 | mcpelauncher-ui-manifest: qt6 241 | cmakeflags: 242 | msa-manifest: -DQT_VERSION=6 243 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml6-module-qtquick, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, qml6-module-qtwebengine, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-controls, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, libqt6svg6, libqt6concurrent6, libqt6webenginewidgets6, libzip4, qml6-module-qtqml-workerscript, qml6-module-qt-labs-platform, qml6-module-qtquick-templates, libprotobuf32, libsecret-1-0 244 | - name: bookworm 245 | container: debian:bookworm 246 | deps: | 247 | dpkg --add-architecture arm64 && dpkg --add-architecture armhf && apt update && apt-mark hold linux-libc-dev:amd64 && DEBIAN_FRONTEND=noninteractive apt install -y docker.io libfuse-dev:arm64 wget texinfo apt-transport-https vim-common qemu-user chrpath libstdc++-11-dev:arm64 libatomic1:arm64 wget cmake g++-arm-linux-gnueabihf g++-aarch64-linux-gnu patchelf git cmake pkg-config libssl-dev:arm64 libcurl4-openssl-dev:arm64 libpng-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxinerama-dev:arm64 libxi-dev:arm64 libxrandr-dev:arm64 libssl-dev:arm64 libudev-dev:arm64 libevdev-dev:arm64 libegl1-mesa-dev:arm64 libgl1-mesa-dev:arm64 libssl-dev:arm64 libuv1-dev:arm64 libzip-dev:arm64 libprotobuf-dev:arm64 protobuf-compiler jq curl binutils desktop-file-utils squashfs-tools libssl-dev:arm64 libpulse-dev:arm64 libsecret-1-dev:arm64 qt6-base-dev:arm64 libqt6opengl6-dev:arm64 qt6-webengine-dev:arm64 qt6-webengine-dev-tools:arm64 qt6-declarative-dev:arm64 qml6-module-qtquick:arm64 qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-window:arm64 qml6-module-qtquick-dialogs:arm64 qml6-module-qt-labs-settings:arm64 qml6-module-qt-labs-folderlistmodel:arm64 qml6-module-qtwebengine:arm64 qt6-base-dev:arm64 libqt6opengl6-dev:arm64 qt6-webengine-dev:arm64 qt6-declarative-dev:arm64 libqt6svg6-dev:arm64 qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-dialogs:arm64 qml6-module-qt-labs-settings:arm64 qml6-module-qt-labs-folderlistmodel:arm64 libasound2-dev:arm64 libpulse-dev:arm64 libaudio-dev:arm64 libsndio-dev:arm64 libpipewire-0.3-dev:arm64 248 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 249 | echo "PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig/:/usr/share/pkgconfig" >> $GITHUB_ENV 250 | echo PATH=/usr/lib/aarch64-linux-gnu/qt6/bin/:$PATH >> $GITHUB_PATH 251 | curl -L -O https://raw.githubusercontent.com/ChristopherHX/linux-packaging-scripts/main/arm64toolchain.txt 252 | curl -L https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz --output llvm.tar.xz 253 | tar --no-same-owner -xf llvm.tar.xz 254 | echo "$PWD/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04/bin" >> $GITHUB_PATH 255 | generator: DEB 256 | branch: 257 | mcpelauncher-manifest: qt6 258 | mcpelauncher-ui-manifest: qt6 259 | cmakeflags: 260 | mcpelauncher-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 261 | mcpelauncher-ui-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 262 | msa-manifest: -DQT_VERSION=6 -DCMAKE_ASM_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_C_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_CXX_FLAGS="-latomic --target=aarch64-linux-gnu" -DCMAKE_TOOLCHAIN_FILE=$PWD/arm64toolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=arm64 263 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml6-module-qtquick, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, qml6-module-qtwebengine, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-controls, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, libqt6svg6, libqt6concurrent6, libqt6webenginewidgets6, libzip4, qml6-module-qtqml-workerscript, qml6-module-qt-labs-platform, qml6-module-qtquick-templates, libprotobuf32, libpulse0, libatomic1, libsecret-1-0 264 | - name: bookworm 265 | container: debian:bookworm 266 | deps: | 267 | dpkg --add-architecture armhf && dpkg --add-architecture armhf && apt update && apt-mark hold linux-libc-dev:amd64 && DEBIAN_FRONTEND=noninteractive apt install -y docker.io libfuse-dev:armhf wget texinfo apt-transport-https vim-common qemu-user chrpath libstdc++-11-dev:armhf libatomic1:armhf wget cmake g++-arm-linux-gnueabihf g++-arm-linux-gnueabihf patchelf git cmake pkg-config libssl-dev:armhf libcurl4-openssl-dev:armhf libpng-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxinerama-dev:armhf libxi-dev:armhf libxrandr-dev:armhf libssl-dev:armhf libudev-dev:armhf libevdev-dev:armhf libegl1-mesa-dev:armhf libgl1-mesa-dev:armhf libssl-dev:armhf libuv1-dev:armhf libzip-dev:armhf libprotobuf-dev:armhf protobuf-compiler jq curl binutils desktop-file-utils squashfs-tools libssl-dev:armhf libpulse-dev:armhf qt6-base-dev:armhf libqt6opengl6-dev:armhf qt6-webengine-dev:armhf qt6-webengine-dev-tools:armhf qt6-declarative-dev:armhf qml6-module-qtquick:armhf qml6-module-qtquick-layouts:armhf qml6-module-qtquick-controls:armhf qml6-module-qtquick-window:armhf qml6-module-qtquick-dialogs:armhf qml6-module-qt-labs-settings:armhf qml6-module-qt-labs-folderlistmodel:armhf qml6-module-qtwebengine:armhf qt6-base-dev:armhf libqt6opengl6-dev:armhf qt6-webengine-dev:armhf qt6-declarative-dev:armhf libqt6svg6-dev:armhf qml6-module-qtquick-layouts:armhf qml6-module-qtquick-controls:armhf qml6-module-qtquick-controls:armhf qml6-module-qtquick-dialogs:armhf qml6-module-qt-labs-settings:armhf qml6-module-qt-labs-folderlistmodel:armhf libasound2-dev:armhf libpulse-dev:armhf libaudio-dev:armhf libsndio-dev:armhf libpipewire-0.3-dev:armhf 268 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 269 | echo "PKG_CONFIG_LIBDIR=/usr/lib/arm-linux-gnueabihf/pkgconfig/:/usr/share/pkgconfig" >> $GITHUB_ENV 270 | echo PATH=/usr/lib/arm-linux-gnueabihf/qt6/bin/:$PATH >> $GITHUB_PATH 271 | curl -L -O https://raw.githubusercontent.com/ChristopherHX/linux-packaging-scripts/main/armhftoolchain.txt 272 | curl -L https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz --output llvm.tar.xz 273 | tar --no-same-owner -xf llvm.tar.xz 274 | echo "$PWD/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04/bin" >> $GITHUB_PATH 275 | generator: DEB 276 | branch: 277 | mcpelauncher-manifest: qt6 278 | mcpelauncher-ui-manifest: qt6 279 | cmakeflags: 280 | mcpelauncher-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_C_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_CXX_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_TOOLCHAIN_FILE=$PWD/armhftoolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=armhf 281 | mcpelauncher-ui-manifest: -DCMAKE_ASM_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_C_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_CXX_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_TOOLCHAIN_FILE=$PWD/armhftoolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=armhf 282 | msa-manifest: -DQT_VERSION=6 -DCMAKE_ASM_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_C_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_CXX_FLAGS="-latomic --target=arm-linux-gnueabihf -march=armv7 -mfpu=neon" -DCMAKE_TOOLCHAIN_FILE=$PWD/armhftoolchain.txt -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE=armhf 283 | pkg-deps: libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml6-module-qtquick, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, qml6-module-qtwebengine, qml6-module-qtquick-layouts, qml6-module-qtquick-controls, qml6-module-qtquick-controls, qml6-module-qtquick-dialogs, qml6-module-qt-labs-settings, qml6-module-qt-labs-folderlistmodel, libqt6svg6, libqt6concurrent6, libqt6webenginewidgets6, libzip4, qml6-module-qtqml-workerscript, qml6-module-qt-labs-platform, qml6-module-qtquick-templates, libprotobuf32, libpulse0, libatomic1, libsecret-1-0 284 | - name: fedora-38 285 | container: fedora:38 286 | ignore-failure: true # Deprecated 287 | deps: dnf install -y gcc-c++ clang cmake make git ca-certificates libstdc++ glibc-devel libpng-devel zlib-devel libX11-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel libcurl-devel systemd-devel libevdev-devel mesa-libEGL-devel alsa-lib pulseaudio-libs mesa-dri-drivers systemd-devel libXtst-devel openssl-devel qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel libuv-devel libzip-devel protobuf-devel protobuf-compiler qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel fedora-packager rpmdevtools alsa-lib-devel pulseaudio-libs-devel nas-devel pipewire-devel libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel libXi-devel libXScrnSaver-devel dbus-devel ibus-devel fcitx-devel systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel libdrm-devel mesa-libgbm-devel libdecor-devel pipewire-jack-audio-connection-kit-devel wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules libsecret-devel 288 | generator: RPM 289 | branch: 290 | mcpelauncher-manifest: qt6 291 | mcpelauncher-ui-manifest: qt6 292 | cmakeflags: 293 | msa-manifest: -DQT_VERSION=6 294 | mcpelauncher-manifest: -DCURL_EXT_EXTRA_OPTIONS="-DCMAKE_INSTALL_LIBDIR=lib" 295 | - name: fedora-38 296 | label: ubuntu-24.04-arm 297 | container: fedora:38 298 | ignore-failure: true # Deprecated 299 | deps: dnf install -y gcc-c++ clang cmake make git ca-certificates libstdc++ glibc-devel libpng-devel zlib-devel libX11-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel libcurl-devel systemd-devel libevdev-devel mesa-libEGL-devel alsa-lib pulseaudio-libs mesa-dri-drivers systemd-devel libXtst-devel openssl-devel qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel libuv-devel libzip-devel protobuf-devel protobuf-compiler qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel fedora-packager rpmdevtools alsa-lib-devel pulseaudio-libs-devel nas-devel pipewire-devel libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel libXi-devel libXScrnSaver-devel dbus-devel ibus-devel fcitx-devel systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel libdrm-devel mesa-libgbm-devel libdecor-devel pipewire-jack-audio-connection-kit-devel wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules libsecret-devel 300 | generator: RPM 301 | branch: 302 | mcpelauncher-manifest: qt6 303 | mcpelauncher-ui-manifest: qt6 304 | cmakeflags: 305 | msa-manifest: -DQT_VERSION=6 306 | mcpelauncher-manifest: -DCURL_EXT_EXTRA_OPTIONS="-DCMAKE_INSTALL_LIBDIR=lib" 307 | - name: fedora-39 308 | container: fedora:39 309 | deps: dnf install -y gcc-c++ clang cmake make git ca-certificates libstdc++ glibc-devel libpng-devel zlib-devel libX11-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel libcurl-devel systemd-devel libevdev-devel mesa-libEGL-devel alsa-lib pulseaudio-libs mesa-dri-drivers systemd-devel libXtst-devel openssl-devel qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel libuv-devel libzip-devel protobuf-devel protobuf-compiler qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel fedora-packager rpmdevtools alsa-lib-devel pulseaudio-libs-devel nas-devel pipewire-devel libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel libXi-devel libXScrnSaver-devel dbus-devel ibus-devel fcitx-devel systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel libdrm-devel mesa-libgbm-devel libdecor-devel pipewire-jack-audio-connection-kit-devel wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules libsecret-devel 310 | generator: RPM 311 | branch: 312 | mcpelauncher-manifest: qt6 313 | mcpelauncher-ui-manifest: qt6 314 | cmakeflags: 315 | msa-manifest: -DQT_VERSION=6 316 | mcpelauncher-manifest: -DCURL_EXT_EXTRA_OPTIONS="-DCMAKE_INSTALL_LIBDIR=lib" 317 | - name: fedora-39 318 | label: ubuntu-24.04-arm 319 | container: fedora:39 320 | deps: dnf install -y gcc-c++ clang cmake make git ca-certificates libstdc++ glibc-devel libpng-devel zlib-devel libX11-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel libcurl-devel systemd-devel libevdev-devel mesa-libEGL-devel alsa-lib pulseaudio-libs mesa-dri-drivers systemd-devel libXtst-devel openssl-devel qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel libuv-devel libzip-devel protobuf-devel protobuf-compiler qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel fedora-packager rpmdevtools alsa-lib-devel pulseaudio-libs-devel nas-devel pipewire-devel libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel libXi-devel libXScrnSaver-devel dbus-devel ibus-devel fcitx-devel systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel libdrm-devel mesa-libgbm-devel libdecor-devel pipewire-jack-audio-connection-kit-devel wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules libsecret-devel 321 | generator: RPM 322 | branch: 323 | mcpelauncher-manifest: qt6 324 | mcpelauncher-ui-manifest: qt6 325 | cmakeflags: 326 | msa-manifest: -DQT_VERSION=6 327 | mcpelauncher-manifest: -DCURL_EXT_EXTRA_OPTIONS="-DCMAKE_INSTALL_LIBDIR=lib" 328 | - name: fedora-40 329 | ignore-failure: true 330 | container: fedora:40 331 | deps: dnf install -y gcc-c++ clang cmake make git ca-certificates libstdc++ glibc-devel libpng-devel zlib-devel libX11-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel libcurl-devel systemd-devel libevdev-devel mesa-libEGL-devel alsa-lib pulseaudio-libs mesa-dri-drivers systemd-devel libXtst-devel openssl-devel qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel libuv-devel libzip-devel protobuf-devel protobuf-compiler qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel fedora-packager rpmdevtools alsa-lib-devel pulseaudio-libs-devel nas-devel pipewire-devel libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel libXi-devel libXScrnSaver-devel dbus-devel ibus-devel fcitx-devel systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel libdrm-devel mesa-libgbm-devel libdecor-devel pipewire-jack-audio-connection-kit-devel wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules libsecret-devel 332 | generator: RPM 333 | branch: 334 | mcpelauncher-manifest: qt6 335 | mcpelauncher-ui-manifest: qt6 336 | cmakeflags: 337 | msa-manifest: -DQT_VERSION=6 338 | mcpelauncher-manifest: -DCURL_EXT_EXTRA_OPTIONS="-DCMAKE_INSTALL_LIBDIR=lib" 339 | - name: fedora-40 340 | ignore-failure: true 341 | container: 342 | image: fedora:39 343 | options: --privileged --cap-add=SYS_ADMIN 344 | deps: | 345 | dnf install -y dnf-plugins-core 346 | dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo 347 | dnf install -y docker-ce-cli clang cmake make git ca-certificates fedora-packager rpmdevtools which lld 348 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 349 | CONTAINER="$(docker run --platform linux/arm64 --rm -d fedora:40 tail -f /dev/null)" 350 | mkdir fedora-sysroot 351 | docker cp -a "$CONTAINER:/" - | tar -x -C "$PWD/fedora-sysroot/" 352 | docker stop "$CONTAINER" 353 | dnf --installroot="$PWD/fedora-sysroot/" --forcearch=aarch64 --releasever=40 -y install gcc-c++ clang cmake make git ca-certificates libstdc++ glibc-devel libpng-devel zlib-devel libX11-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel libcurl-devel systemd-devel libevdev-devel mesa-libEGL-devel alsa-lib pulseaudio-libs mesa-dri-drivers systemd-devel libXtst-devel openssl-devel qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel libuv-devel libzip-devel protobuf-devel protobuf-compiler qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel fedora-packager rpmdevtools pulseaudio-libs-devel alsa-lib-devel pulseaudio-libs-devel nas-devel pipewire-devel libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel libXi-devel libXScrnSaver-devel dbus-devel ibus-devel fcitx-devel systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel libdrm-devel mesa-libgbm-devel libdecor-devel pipewire-jack-audio-connection-kit-devel wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules libsecret-devel 354 | ln -s "$PWD/fedora-sysroot/lib/ld-linux-aarch64.so.1" /lib/ld-linux-aarch64.so.1 355 | mkdir -p /usr/lib/rpm/ 356 | mount --bind "$PWD/fedora-sysroot/usr/lib/rpm/" /usr/lib/rpm/ 357 | mkdir -p /var/lib/rpm/ 358 | mount --bind "$PWD/fedora-sysroot/var/lib/rpm/" /var/lib/rpm/ 359 | mkdir -p /usr/lib/sysimage/rpm/ 360 | mount --bind "$PWD/fedora-sysroot/usr/lib/sysimage/rpm/" /usr/lib/sysimage/rpm/ 361 | echo "PATH=$PATH:$PWD/fedora-sysroot/bin:$PWD/fedora-sysroot/usr/bin" >> $GITHUB_ENV 362 | echo "LD_LIBRARY_PATH=$PWD/fedora-sysroot/lib64:$PWD/fedora-sysroot/lib64/libproxy" >> $GITHUB_ENV 363 | echo "PKG_CONFIG_LIBDIR=$PWD/fedora-sysroot/usr/lib64/pkgconfig:$PWD/fedora-sysroot/usr/share/pkgconfig" >> $GITHUB_ENV 364 | echo "PKG_CONFIG_SYSROOT_DIR=$PWD/fedora-sysroot" >> $GITHUB_ENV 365 | cat > toolchain.txt << EOF 366 | set(CMAKE_SYSTEM_NAME Linux) 367 | set(CMAKE_SYSROOT $PWD/fedora-sysroot) 368 | set(CMAKE_SYSTEM_PROCESSOR aarch64) 369 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH) 370 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 371 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 372 | set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) 373 | EOF 374 | generator: RPM 375 | branch: 376 | mcpelauncher-manifest: qt6 377 | mcpelauncher-ui-manifest: qt6 378 | cmakeflags: 379 | msa-manifest: -DQT_VERSION=6 -DCMAKE_C_FLAGS="--target=aarch64-linux-gnu -fuse-ld=lld" -DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu -fuse-ld=lld --std=c++17" -DCMAKE_TOOLCHAIN_FILE="$PWD/toolchain.txt" -DCMAKE_MAKE_PROGRAM="$(which make)" -DCPACK_RPM_PACKAGE_ARCHITECTURE=aarch64 380 | mcpelauncher-manifest: -DCURL_EXT_EXTRA_OPTIONS="-DCMAKE_INSTALL_LIBDIR=lib" -DCMAKE_C_FLAGS="--target=aarch64-linux-gnu -fuse-ld=lld" -DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu -fuse-ld=lld --std=c++17" -DCMAKE_TOOLCHAIN_FILE="$PWD/toolchain.txt" -DCMAKE_MAKE_PROGRAM="$(which make)" -DCPACK_RPM_PACKAGE_ARCHITECTURE=aarch64 381 | mcpelauncher-ui-manifest: -DCMAKE_C_FLAGS="--target=aarch64-linux-gnu -fuse-ld=lld" -DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu -fuse-ld=lld --std=c++17" -DCMAKE_TOOLCHAIN_FILE="$PWD/toolchain.txt" -DCMAKE_MAKE_PROGRAM="$(which make)" -DCPACK_RPM_PACKAGE_ARCHITECTURE=aarch64 382 | - name: fedora-41 383 | ignore-failure: true 384 | container: fedora:41 385 | deps: dnf install -y gcc-c++ clang cmake make git ca-certificates libstdc++ glibc-devel libpng-devel zlib-devel libX11-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel libcurl-devel systemd-devel libevdev-devel mesa-libEGL-devel alsa-lib pulseaudio-libs mesa-dri-drivers systemd-devel libXtst-devel openssl-devel qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel libuv-devel libzip-devel protobuf-devel protobuf-compiler qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel fedora-packager rpmdevtools alsa-lib-devel pulseaudio-libs-devel nas-devel pipewire-devel libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel libXi-devel libXScrnSaver-devel dbus-devel ibus-devel fcitx-devel systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel libdrm-devel mesa-libgbm-devel libdecor-devel pipewire-jack-audio-connection-kit-devel wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules libsecret-devel 386 | generator: RPM 387 | branch: 388 | mcpelauncher-manifest: qt6 389 | mcpelauncher-ui-manifest: qt6 390 | cmakeflags: 391 | msa-manifest: -DQT_VERSION=6 392 | mcpelauncher-manifest: -DCURL_EXT_EXTRA_OPTIONS="-DCMAKE_INSTALL_LIBDIR=lib" 393 | - name: fedora-41 394 | ignore-failure: true 395 | container: 396 | image: fedora:41 397 | options: --privileged --cap-add=SYS_ADMIN 398 | deps: | 399 | dnf install -y dnf-plugins-core 400 | dnf config-manager addrepo --from-repofile=https://download.docker.com/linux/fedora/docker-ce.repo 401 | dnf install -y docker-ce-cli clang cmake make git ca-certificates fedora-packager rpmdevtools which lld 402 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 403 | CONTAINER="$(docker run --platform linux/arm64 --rm -d fedora:41 tail -f /dev/null)" 404 | mkdir fedora-sysroot 405 | docker cp -a "$CONTAINER:/" - | tar -x -C "$PWD/fedora-sysroot/" 406 | docker stop "$CONTAINER" 407 | dnf --installroot="$PWD/fedora-sysroot/" --forcearch=aarch64 --releasever=41 -y install gcc-c++ clang cmake make git ca-certificates libstdc++ glibc-devel libpng-devel zlib-devel libX11-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel libcurl-devel systemd-devel libevdev-devel mesa-libEGL-devel alsa-lib pulseaudio-libs mesa-dri-drivers systemd-devel libXtst-devel openssl-devel qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel libuv-devel libzip-devel protobuf-devel protobuf-compiler qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel fedora-packager rpmdevtools pulseaudio-libs-devel alsa-lib-devel pulseaudio-libs-devel nas-devel pipewire-devel libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel libXi-devel libXScrnSaver-devel dbus-devel ibus-devel fcitx-devel systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel libdrm-devel mesa-libgbm-devel libdecor-devel pipewire-jack-audio-connection-kit-devel wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules libsecret-devel 408 | ln -s "$PWD/fedora-sysroot/lib/ld-linux-aarch64.so.1" /lib/ld-linux-aarch64.so.1 409 | mkdir -p /usr/lib/rpm/ 410 | mount --bind "$PWD/fedora-sysroot/usr/lib/rpm/" /usr/lib/rpm/ 411 | mkdir -p /var/lib/rpm/ 412 | mount --bind "$PWD/fedora-sysroot/var/lib/rpm/" /var/lib/rpm/ 413 | mkdir -p /usr/lib/sysimage/rpm/ 414 | mount --bind "$PWD/fedora-sysroot/usr/lib/sysimage/rpm/" /usr/lib/sysimage/rpm/ 415 | echo "PATH=$PATH:$PWD/fedora-sysroot/bin:$PWD/fedora-sysroot/usr/bin" >> $GITHUB_ENV 416 | echo "LD_LIBRARY_PATH=$PWD/fedora-sysroot/lib64:$PWD/fedora-sysroot/lib64/libproxy" >> $GITHUB_ENV 417 | echo "PKG_CONFIG_LIBDIR=$PWD/fedora-sysroot/usr/lib64/pkgconfig:$PWD/fedora-sysroot/usr/share/pkgconfig" >> $GITHUB_ENV 418 | echo "PKG_CONFIG_SYSROOT_DIR=$PWD/fedora-sysroot" >> $GITHUB_ENV 419 | cat > toolchain.txt << EOF 420 | set(CMAKE_SYSTEM_NAME Linux) 421 | set(CMAKE_SYSROOT $PWD/fedora-sysroot) 422 | set(CMAKE_SYSTEM_PROCESSOR aarch64) 423 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH) 424 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 425 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 426 | set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) 427 | EOF 428 | generator: RPM 429 | branch: 430 | mcpelauncher-manifest: qt6 431 | mcpelauncher-ui-manifest: qt6 432 | cmakeflags: 433 | msa-manifest: -DQT_VERSION=6 -DCMAKE_C_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld" -DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld --std=c++17" -DCMAKE_TOOLCHAIN_FILE="$PWD/toolchain.txt" -DCMAKE_MAKE_PROGRAM="$(which make)" -DCPACK_RPM_PACKAGE_ARCHITECTURE=aarch64 434 | mcpelauncher-manifest: -DCURL_EXT_EXTRA_OPTIONS="-DCMAKE_INSTALL_LIBDIR=lib" -DCMAKE_C_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld" -DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld --std=c++17" -DCMAKE_TOOLCHAIN_FILE="$PWD/toolchain.txt" -DCMAKE_MAKE_PROGRAM="$(which make)" -DCPACK_RPM_PACKAGE_ARCHITECTURE=aarch64 435 | mcpelauncher-ui-manifest: -DCMAKE_C_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld" -DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld --std=c++17" -DCMAKE_TOOLCHAIN_FILE="$PWD/toolchain.txt" -DCMAKE_MAKE_PROGRAM="$(which make)" -DCPACK_RPM_PACKAGE_ARCHITECTURE=aarch64 436 | - name: fedora-42 437 | ignore-failure: true 438 | container: fedora:42 439 | deps: dnf install -y gcc-c++ clang cmake make git ca-certificates libstdc++ glibc-devel libpng-devel zlib-devel libX11-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel libcurl-devel systemd-devel libevdev-devel mesa-libEGL-devel alsa-lib pulseaudio-libs mesa-dri-drivers systemd-devel libXtst-devel openssl-devel qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel libuv-devel libzip-devel protobuf-devel protobuf-compiler qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel fedora-packager rpmdevtools alsa-lib-devel pulseaudio-libs-devel nas-devel pipewire-devel libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel libXi-devel libXScrnSaver-devel dbus-devel ibus-devel fcitx-devel systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel libdrm-devel mesa-libgbm-devel libdecor-devel pipewire-jack-audio-connection-kit-devel wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules libsecret-devel 440 | generator: RPM 441 | branch: 442 | mcpelauncher-manifest: qt6 443 | mcpelauncher-ui-manifest: qt6 444 | cmakeflags: 445 | msa-manifest: -DQT_VERSION=6 446 | mcpelauncher-manifest: -DCURL_EXT_EXTRA_OPTIONS="-DCMAKE_INSTALL_LIBDIR=lib" 447 | - name: fedora-42 448 | ignore-failure: true 449 | container: 450 | image: fedora:42 451 | options: --privileged --cap-add=SYS_ADMIN 452 | deps: | 453 | dnf install -y dnf-plugins-core 454 | dnf config-manager addrepo --from-repofile=https://download.docker.com/linux/fedora/docker-ce.repo 455 | dnf install -y docker-ce-cli clang cmake make git ca-certificates fedora-packager rpmdevtools which lld 456 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 457 | CONTAINER="$(docker run --platform linux/arm64 --rm -d fedora:42 tail -f /dev/null)" 458 | mkdir fedora-sysroot 459 | docker cp -a "$CONTAINER:/" - | tar -x -C "$PWD/fedora-sysroot/" 460 | docker stop "$CONTAINER" 461 | dnf --installroot="$PWD/fedora-sysroot/" --forcearch=aarch64 --releasever=42 -y install gcc-c++ clang cmake make git ca-certificates libstdc++ glibc-devel libpng-devel zlib-devel libX11-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel libcurl-devel systemd-devel libevdev-devel mesa-libEGL-devel alsa-lib pulseaudio-libs mesa-dri-drivers systemd-devel libXtst-devel openssl-devel qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel libuv-devel libzip-devel protobuf-devel protobuf-compiler qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtdeclarative-devel qt6-qtsvg-devel fedora-packager rpmdevtools pulseaudio-libs-devel alsa-lib-devel pulseaudio-libs-devel nas-devel pipewire-devel libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel libXi-devel libXScrnSaver-devel dbus-devel ibus-devel fcitx-devel systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel libdrm-devel mesa-libgbm-devel libdecor-devel pipewire-jack-audio-connection-kit-devel wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules libsecret-devel 462 | ln -s "$PWD/fedora-sysroot/lib/ld-linux-aarch64.so.1" /lib/ld-linux-aarch64.so.1 463 | mkdir -p /usr/lib/rpm/ 464 | mount --bind "$PWD/fedora-sysroot/usr/lib/rpm/" /usr/lib/rpm/ 465 | mkdir -p /var/lib/rpm/ 466 | mount --bind "$PWD/fedora-sysroot/var/lib/rpm/" /var/lib/rpm/ 467 | mkdir -p /usr/lib/sysimage/rpm/ 468 | mount --bind "$PWD/fedora-sysroot/usr/lib/sysimage/rpm/" /usr/lib/sysimage/rpm/ 469 | echo "PATH=$PATH:$PWD/fedora-sysroot/bin:$PWD/fedora-sysroot/usr/bin" >> $GITHUB_ENV 470 | echo "LD_LIBRARY_PATH=$PWD/fedora-sysroot/lib64:$PWD/fedora-sysroot/lib64/libproxy" >> $GITHUB_ENV 471 | echo "PKG_CONFIG_LIBDIR=$PWD/fedora-sysroot/usr/lib64/pkgconfig:$PWD/fedora-sysroot/usr/share/pkgconfig" >> $GITHUB_ENV 472 | echo "PKG_CONFIG_SYSROOT_DIR=$PWD/fedora-sysroot" >> $GITHUB_ENV 473 | cat > toolchain.txt << EOF 474 | set(CMAKE_SYSTEM_NAME Linux) 475 | set(CMAKE_SYSROOT $PWD/fedora-sysroot) 476 | set(CMAKE_SYSTEM_PROCESSOR aarch64) 477 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH) 478 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 479 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 480 | set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) 481 | EOF 482 | generator: RPM 483 | branch: 484 | mcpelauncher-manifest: qt6 485 | mcpelauncher-ui-manifest: qt6 486 | cmakeflags: 487 | msa-manifest: -DQT_VERSION=6 -DCMAKE_C_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld" -DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld --std=c++17" -DCMAKE_TOOLCHAIN_FILE="$PWD/toolchain.txt" -DCMAKE_MAKE_PROGRAM="$(which make)" -DCPACK_RPM_PACKAGE_ARCHITECTURE=aarch64 488 | mcpelauncher-manifest: -DCURL_EXT_EXTRA_OPTIONS="-DCMAKE_INSTALL_LIBDIR=lib" -DCMAKE_C_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld" -DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld --std=c++17" -DCMAKE_TOOLCHAIN_FILE="$PWD/toolchain.txt" -DCMAKE_MAKE_PROGRAM="$(which make)" -DCPACK_RPM_PACKAGE_ARCHITECTURE=aarch64 489 | mcpelauncher-ui-manifest: -DCMAKE_C_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld" -DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu -fclang-abi-compat=17 -fuse-ld=lld --std=c++17" -DCMAKE_TOOLCHAIN_FILE="$PWD/toolchain.txt" -DCMAKE_MAKE_PROGRAM="$(which make)" -DCPACK_RPM_PACKAGE_ARCHITECTURE=aarch64 490 | glfw: 491 | - true 492 | - false 493 | # We are cross compiling so we have to set the ca bundle path or stop building curl 494 | curlflags: 495 | - DEB: -DCURL_EXT_EXTRA_OPTIONS="-DCURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt" 496 | RPM: -DCURL_EXT_EXTRA_OPTIONS="-DCURL_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt" 497 | include: 498 | - cmakeflags: 499 | mcpelauncher-manifest: -DENABLE_DEV_PATHS=OFF 500 | mcpelauncher-ui-manifest: -DLAUNCHER_VERSION_NAME="${{ inputs.version }}.${{ github.run_id }}.${{ github.run_attempt }}" -DLAUNCHER_VERSION_CODE="${{ github.run_id }}" -DLAUNCHER_CHANGE_LOG="Launcher ${{ inputs.version }}
${{ inputs.changelog }}" -DLAUNCHER_VERSIONDB_URL=https://raw.githubusercontent.com/minecraft-linux/mcpelauncher-versiondb/${{ inputs.versionsdbremote }} -DLAUNCHER_DISABLE_DEV_MODE=ON 501 | msa-manifest: -DENABLE_MSA_QT_UI=ON -DMSA_UI_PATH_DEV=OFF 502 | exclude: 503 | - glfw: true 504 | repo: mcpelauncher-ui-manifest 505 | - glfw: true 506 | repo: msa-manifest 507 | 508 | container: ${{ matrix.platform.container}} 509 | env: 510 | CC: clang 511 | CXX: clang++ 512 | steps: 513 | - name: Install Deps 514 | run: ${{ matrix.platform.deps }} 515 | shell: bash 516 | - name: Get Sources 517 | run: | 518 | if [[ "$SHA" = "" ]] 519 | then 520 | git clone --recursive https://github.com/minecraft-linux/${{ matrix.repo }} mcpelauncher ${{ matrix.platform.branch[matrix.repo] && format('-b {0}', matrix.platform.branch[matrix.repo]) }} 521 | else 522 | mkdir mcpelauncher 523 | git -C mcpelauncher init 524 | git -C mcpelauncher remote add origin https://github.com/minecraft-linux/${{ matrix.repo }} 525 | git -C mcpelauncher fetch origin "$SHA" 526 | git -C mcpelauncher reset --hard FETCH_HEAD 527 | git -C mcpelauncher submodule update --init --recursive 528 | fi 529 | mv mcpelauncher/CMakeLists.txt mcpelauncher/CMakeLists.org.txt 530 | if [[ "$GLFW" = "true" ]] 531 | then 532 | git clone https://github.com/glfw/glfw glfw 533 | fi 534 | env: 535 | SHA: ${{ fromjson(inputs.shas)[matrix.repo][matrix.platform.branch[matrix.repo]] }} 536 | GLFW: ${{ matrix.glfw }} 537 | shell: bash 538 | - name: Create CMakeLists.txt 539 | run: | 540 | cmake_minimum_required(VERSION 3.0) 541 | project(${{ matrix.repo }}${{ matrix.platform.suffix && format('-{0}', matrix.platform.suffix) }}${{ matrix.glfw && '-glfw' || ''}}) 542 | include(./CMakeLists.org.txt) 543 | 544 | set(CPACK_GENERATOR "TGZ;${{ matrix.platform.generator }}") 545 | set(CPACK_PACKAGE_CONTACT "https://github.com/minecraft-linux/${{ matrix.repo }}/issues") 546 | set(CPACK_PACKAGE_FILE_NAME "${{ matrix.repo }}${{ matrix.platform.suffix && format('-{0}', matrix.platform.suffix) }}${{ matrix.glfw && '-glfw' || ''}}-${{ inputs.version }}.${{ github.run_id }}.${{ github.run_attempt }}.${{ matrix.platform.name }}") 547 | set(CPACK_DEBIAN_PACKAGE_DEPENDS "${{ matrix.platform.pkg-deps || 'libc6, ca-certificates, libxcursor1, libxinerama1, libxi6, libxrandr2, qml-module-qtquick2, qml-module-qtquick-layouts, qml-module-qtquick-controls, qml-module-qtquick-controls2, qml-module-qtquick-window2, qml-module-qtquick-dialogs, qml-module-qt-labs-settings, qml-module-qt-labs-folderlistmodel, qml-module-qtwebengine, libqt5svg5, libqt5concurrent5, libqt5webenginewidgets5, libzip4, qml-module-qtquick-templates2, libprotobuf23, libsecret-1-0' }}") 548 | set(CPACK_DEBIAN_PACKAGE_VERSION "${{ inputs.version }}.${{ github.run_id }}.${{ github.run_attempt }}~${{ matrix.platform.name }}") 549 | set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) 550 | set(CPACK_RPM_PACKAGE_VERSION "${{ inputs.version }}.${{ github.run_id }}.${{ github.run_attempt }}~${{ matrix.platform.name }}") 551 | set(CPACK_RPM_SPEC_MORE_DEFINE "%define __spec_install_post /bin/true") 552 | set(CPACK_RPM_REQUIRES_EXCLUDE_FROM "share/mcpelauncher/.*") 553 | ${{ matrix.platform.pkg-deps && format('set(CPACK_RPM_PACKAGE_REQUIRES "{0}")', matrix.platform.pkg-deps) || '' }} 554 | set(CPACK_RPM_FILE_NAME RPM-DEFAULT) 555 | 556 | include(CPack) 557 | shell: cp {0} mcpelauncher/CMakeLists.txt 558 | - name: Configure 559 | run: cmake -S mcpelauncher -B mcpelauncher-build -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmakeflags[matrix.repo] }} ${{ matrix.platform.cmakeflags[matrix.repo] }} ${{ matrix.glfw && '-DGAMEWINDOW_SYSTEM=GLFW -DFETCHCONTENT_SOURCE_DIR_GLFW3_EXT=$PWD/glfw' || '' }} ${{ matrix.glfw && matrix.platform.generator != 'RPM' && '-DGLFW_BUILD_WAYLAND=OFF' || '' }} ${{ matrix.curlflags[matrix.platform.generator] }} 560 | - name: Package Source 561 | if: "false" 562 | run: cmake --build mcpelauncher-build --target package_source --parallel 563 | - name: Build 564 | run: cmake --build mcpelauncher-build --target package --parallel 565 | - name: Upload artifacts 566 | if: always() 567 | uses: actions/upload-artifact@v4 568 | with: 569 | name: ${{ matrix.platform.name }}${{inputs.channel && inputs.channel != 'release' && format('-{0}', inputs.channel) || '' }}-${{ strategy.job-index }} 570 | path: | 571 | mcpelauncher-build/*.tar.* 572 | mcpelauncher-build/*.deb 573 | mcpelauncher-build/*.rpm 574 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Deploy Manually 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | redeploy: 7 | type: boolean 8 | default: false 9 | channel: 10 | type: string 11 | default: release 12 | findBy: 13 | type: string 14 | default: "" 15 | version: 16 | type: string 17 | default: "1.2.0" 18 | changelog: 19 | type: string 20 | default: "" 21 | versionsdbremote: 22 | type: string 23 | default: master 24 | mcpelauncher-manifest: 25 | type: string 26 | default: "" 27 | mcpelauncher-manifest-qt6: 28 | type: string 29 | default: "" 30 | mcpelauncher-ui-manifest: 31 | type: string 32 | default: "" 33 | mcpelauncher-ui-manifest-qt6: 34 | type: string 35 | default: "" 36 | 37 | jobs: 38 | build: 39 | if: "!inputs.redeploy" 40 | uses: ./.github/workflows/build-linux.yml 41 | with: 42 | channel: ${{ inputs.channel }} 43 | version: ${{ inputs.version }} 44 | changelog: ${{ inputs.changelog }} 45 | versionsdbremote: ${{ inputs.versionsdbremote }} 46 | shas: |- 47 | { 48 | "mcpelauncher-manifest": { 49 | "": ${{ tojson(inputs.mcpelauncher-manifest || '') }}, 50 | "qt6": ${{ tojson(inputs.mcpelauncher-manifest-qt6 || '') }} 51 | }, 52 | "mcpelauncher-ui-manifest": { 53 | "": ${{ tojson(inputs.mcpelauncher-ui-manifest || '') }}, 54 | "qt6": ${{ tojson(inputs.mcpelauncher-ui-manifest-qt6 || '') }} 55 | } 56 | } 57 | 58 | deploy: 59 | if: "!failure() && !cancelled()" 60 | permissions: 61 | contents: read 62 | pages: write 63 | id-token: write 64 | actions: read 65 | needs: build 66 | uses: ./.github/workflows/update-repo.yml 67 | secrets: inherit 68 | with: 69 | channel: ${{ inputs.channel }} 70 | findBy: ${{ inputs.findBy }} 71 | 72 | update-version: 73 | if: "!failure() && !cancelled() && !inputs.redeploy && inputs.channel == 'release'" 74 | runs-on: ubuntu-latest 75 | needs: deploy 76 | steps: 77 | - uses: actions/checkout@v3 78 | - run: echo "${{ inputs.version }}" > version.txt 79 | - name: Commit changes 80 | run: | 81 | # from https://github.com/orgs/community/discussions/26560 82 | git config user.email "41898282+github-actions[bot]@users.noreply.github.com" 83 | git config user.name "github-actions[bot]" 84 | git add . 85 | git commit -m "Released ${{ inputs.version }}" 86 | git push -------------------------------------------------------------------------------- /.github/workflows/nightly.yml: -------------------------------------------------------------------------------- 1 | name: Deploy Nightly 2 | 3 | on: 4 | push: 5 | schedule: 6 | - cron: '30 7 * * *' 7 | workflow_dispatch: 8 | 9 | jobs: 10 | pre-build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v3 14 | - run: npm install -g semver 15 | - run: echo "version=$(semver "$(cat version.txt)" -i patch)" > $GITHUB_OUTPUT 16 | id: out 17 | outputs: 18 | version: ${{ steps.out.outputs.version }} 19 | 20 | build: 21 | needs: pre-build 22 | uses: ./.github/workflows/build-linux.yml 23 | with: 24 | channel: nightly 25 | version: ${{ needs.pre-build.outputs.version }} 26 | changelog: "New Nightly Snapshot" 27 | versionsdbremote: master 28 | 29 | deploy: 30 | if: ${{ github.event_name != 'push' || github.ref_type == 'branch' && github.ref_name == github.event.repository.default_branch }} 31 | permissions: 32 | contents: read 33 | pages: write 34 | id-token: write 35 | actions: read 36 | needs: build 37 | uses: ./.github/workflows/update-repo.yml 38 | secrets: inherit 39 | with: 40 | channel: nightly 41 | -------------------------------------------------------------------------------- /.github/workflows/update-repo.yml: -------------------------------------------------------------------------------- 1 | 2 | name: Deploy repo to Pages 3 | 4 | on: 5 | workflow_call: 6 | inputs: 7 | channel: 8 | type: string 9 | default: nightly 10 | config: 11 | type: string 12 | default: |- 13 | [ 14 | { 15 | "artifact": "bionic", 16 | "distro": "bionic", 17 | "component": "main", 18 | "type": "apt", 19 | "channel": "release" 20 | }, 21 | { 22 | "artifact": "focal", 23 | "distro": "focal", 24 | "component": "main", 25 | "type": "apt", 26 | "channel": "release" 27 | }, 28 | { 29 | "artifact": "jammy", 30 | "distro": "jammy", 31 | "component": "main", 32 | "type": "apt", 33 | "channel": "release" 34 | }, 35 | { 36 | "artifact": "kinetic", 37 | "distro": "kinetic", 38 | "component": "main", 39 | "type": "apt", 40 | "channel": "release" 41 | }, 42 | { 43 | "artifact": "lunar", 44 | "distro": "lunar", 45 | "component": "main", 46 | "type": "apt", 47 | "channel": "release" 48 | }, 49 | { 50 | "artifact": "mantic", 51 | "distro": "mantic", 52 | "component": "main", 53 | "type": "apt", 54 | "channel": "release" 55 | }, 56 | { 57 | "artifact": "noble", 58 | "distro": "noble", 59 | "component": "main", 60 | "type": "apt", 61 | "channel": "release" 62 | }, 63 | { 64 | "artifact": "oracular", 65 | "distro": "oracular", 66 | "component": "main", 67 | "type": "apt", 68 | "channel": "release" 69 | }, 70 | { 71 | "artifact": "plucky", 72 | "distro": "plucky", 73 | "component": "main", 74 | "type": "apt", 75 | "channel": "release" 76 | }, 77 | { 78 | "artifact": "bullseye", 79 | "distro": "bullseye", 80 | "component": "main", 81 | "type": "apt", 82 | "channel": "release" 83 | }, 84 | { 85 | "artifact": "bookworm", 86 | "distro": "bookworm", 87 | "component": "main", 88 | "type": "apt", 89 | "channel": "release" 90 | }, 91 | { 92 | "artifact": "fedora-36", 93 | "path": "fedora-36", 94 | "type": "rpm", 95 | "channel": "release" 96 | }, 97 | { 98 | "artifact": "fedora-37", 99 | "path": "fedora-37", 100 | "type": "rpm", 101 | "channel": "release" 102 | }, 103 | { 104 | "artifact": "fedora-38", 105 | "path": "fedora-38", 106 | "type": "rpm", 107 | "channel": "release" 108 | }, 109 | { 110 | "artifact": "fedora-39", 111 | "path": "fedora-39", 112 | "type": "rpm", 113 | "channel": "release" 114 | }, 115 | { 116 | "artifact": "fedora-40", 117 | "path": "fedora-40", 118 | "type": "rpm", 119 | "channel": "release" 120 | }, 121 | { 122 | "artifact": "fedora-41", 123 | "path": "fedora-41", 124 | "type": "rpm", 125 | "channel": "release" 126 | }, 127 | { 128 | "artifact": "fedora-42", 129 | "path": "fedora-42", 130 | "type": "rpm", 131 | "channel": "release" 132 | }, 133 | { 134 | "artifact": "bionic-nightly", 135 | "distro": "bionic-nightly", 136 | "component": "main", 137 | "type": "apt", 138 | "channel": "nightly" 139 | }, 140 | { 141 | "artifact": "focal-nightly", 142 | "distro": "focal-nightly", 143 | "component": "main", 144 | "type": "apt", 145 | "channel": "nightly" 146 | }, 147 | { 148 | "artifact": "jammy-nightly", 149 | "distro": "jammy-nightly", 150 | "component": "main", 151 | "type": "apt", 152 | "channel": "nightly" 153 | }, 154 | { 155 | "artifact": "kinetic-nightly", 156 | "distro": "kinetic-nightly", 157 | "component": "main", 158 | "type": "apt", 159 | "channel": "nightly" 160 | }, 161 | { 162 | "artifact": "lunar-nightly", 163 | "distro": "lunar-nightly", 164 | "component": "main", 165 | "type": "apt", 166 | "channel": "nightly" 167 | }, 168 | { 169 | "artifact": "mantic-nightly", 170 | "distro": "mantic-nightly", 171 | "component": "main", 172 | "type": "apt", 173 | "channel": "nightly" 174 | }, 175 | { 176 | "artifact": "noble-nightly", 177 | "distro": "noble-nightly", 178 | "component": "main", 179 | "type": "apt", 180 | "channel": "nightly" 181 | }, 182 | { 183 | "artifact": "oracular-nightly", 184 | "distro": "oracular-nightly", 185 | "component": "main", 186 | "type": "apt", 187 | "channel": "nightly" 188 | }, 189 | { 190 | "artifact": "plucky-nightly", 191 | "distro": "plucky-nightly", 192 | "component": "main", 193 | "type": "apt", 194 | "channel": "nightly" 195 | }, 196 | { 197 | "artifact": "bullseye-nightly", 198 | "distro": "bullseye-nightly", 199 | "component": "main", 200 | "type": "apt", 201 | "channel": "nightly" 202 | }, 203 | { 204 | "artifact": "bookworm-nightly", 205 | "distro": "bookworm-nightly", 206 | "component": "main", 207 | "type": "apt", 208 | "channel": "nightly" 209 | }, 210 | { 211 | "artifact": "fedora-36-nightly", 212 | "path": "fedora-36-nightly", 213 | "type": "rpm", 214 | "channel": "nightly" 215 | }, 216 | { 217 | "artifact": "fedora-37-nightly", 218 | "path": "fedora-37-nightly", 219 | "type": "rpm", 220 | "channel": "nightly" 221 | }, 222 | { 223 | "artifact": "fedora-38-nightly", 224 | "path": "fedora-38-nightly", 225 | "type": "rpm", 226 | "channel": "nightly" 227 | }, 228 | { 229 | "artifact": "fedora-39-nightly", 230 | "path": "fedora-39-nightly", 231 | "type": "rpm", 232 | "channel": "nightly" 233 | }, 234 | { 235 | "artifact": "fedora-40-nightly", 236 | "path": "fedora-40-nightly", 237 | "type": "rpm", 238 | "channel": "nightly" 239 | }, 240 | { 241 | "artifact": "fedora-41-nightly", 242 | "path": "fedora-41-nightly", 243 | "type": "rpm", 244 | "channel": "nightly" 245 | }, 246 | { 247 | "artifact": "fedora-42-nightly", 248 | "path": "fedora-42-nightly", 249 | "type": "rpm", 250 | "channel": "nightly" 251 | } 252 | ] 253 | channelconfig: 254 | type: string 255 | default: |- 256 | { 257 | "nightly": 2, 258 | "release": 5 259 | } 260 | findBy: 261 | # findBy of artifacts action as json 262 | type: string 263 | default: "" 264 | secrets: 265 | GPG_PRIVATE_KEY: {} 266 | jobs: 267 | deploy: 268 | # Allow one concurrent deployment 269 | concurrency: 270 | group: "pages" 271 | cancel-in-progress: true 272 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 273 | permissions: 274 | contents: read 275 | pages: write 276 | id-token: write 277 | actions: read 278 | environment: 279 | name: github-pages 280 | url: ${{ steps.deployment.outputs.page_url }} 281 | # gpg breaks for rpm somehow in 24.04 / latest 282 | runs-on: ubuntu-22.04 283 | env: 284 | BASE_URL: https://${{ github.repository_owner }}.github.io${{ github.repository_owner != github.event.repository.name && format('/{0}', github.event.repository.name) || '' }} 285 | REPO_NAME: ${{ github.repository_owner != github.event.repository.name && format('{0}-{1}', github.repository_owner, github.event.repository.name) || github.repository_owner }} 286 | steps: 287 | - name: Import gpg private key 288 | run: | 289 | echo "$GPG_PRIVATE_KEY" | gpg --import 290 | env: 291 | GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} 292 | 293 | - name: install actions/artifact 294 | run: npm install @actions/artifact 295 | 296 | - name: create release index and sync packages 297 | uses: actions/github-script@v7 298 | with: 299 | github-token: _ 300 | script: | 301 | var artifact = require("@actions/artifact"); 302 | var config = JSON.parse(${{ tojson(inputs.config) }}); 303 | var rootUrl = "${{ env.BASE_URL }}"; 304 | var channelconfig = JSON.parse(${{ tojson(inputs.channelconfig) }}); 305 | var path = require("path"); 306 | var fs = require("fs"); 307 | var index = {}; 308 | try { 309 | const response = await fetch(`${rootUrl}/index.json`); 310 | index = await response.json(); 311 | } catch { 312 | console.log("Previous index is unavailable"); 313 | } 314 | const artifactClient = new artifact.DefaultArtifactClient() 315 | var findByData = JSON.parse(${{ tojson(inputs.findBy || 'null') }}); 316 | if(findByData && !findByData.token) { 317 | findByData.token = ${{ tojson(github.token) }}; 318 | } 319 | const listArtifactResponse = await artifactClient.listArtifacts({ 320 | latest: true, 321 | findBy: findByData 322 | }) 323 | let artifacts = listArtifactResponse.artifacts; 324 | 325 | console.log(JSON.stringify(artifacts)) 326 | for(var repo of config) { 327 | try { 328 | const path = `packages/${repo.artifact}` 329 | const options = { 330 | createArtifactFolder: false, 331 | path, 332 | findBy: findByData 333 | } 334 | console.log("downloading " + repo.artifact + " to " + path) 335 | 336 | for(var art of artifacts.filter(a => a.name === repo.artifact || a.name && a.name.startsWith(repo.artifact + "-"))) { 337 | try { 338 | console.log(JSON.stringify({name: art.name, id: art.id, path, options})); 339 | const downloadResponse = await artifactClient.downloadArtifact(art.id, options); 340 | } catch(err) { 341 | console.log(err) 342 | } 343 | } 344 | } catch(err) { 345 | console.log(err) 346 | } 347 | } 348 | const globber = await glob.create("packages/**", { matchDirectories: false }); 349 | var packages = []; 350 | for await (const file of globber.globGenerator()) { 351 | var rfile = path.relative(path.join(process.cwd(), "packages"), file); 352 | packages.push(rfile); 353 | } 354 | downloadedfiles = {}; 355 | var currentChannel = ${{ tojson(inputs.channel) }}; 356 | var fixupTable = {}; 357 | if(index.allfiles) { 358 | for(var file of index.allfiles) { 359 | fixupTable[path.basename(file)] = file; 360 | } 361 | } 362 | if(index.versions) { 363 | for(var channel in index.versions) { 364 | var builds = index.versions[channel]; 365 | if(builds) { 366 | var buildstokeep = channelconfig[channel] || 0; 367 | if(packages.length > 0 && currentChannel === channel) { 368 | buildstokeep--; 369 | } 370 | while(builds.length > buildstokeep) { 371 | builds.shift(); 372 | } 373 | for(var build of builds) { 374 | if(build.buildfiles) { 375 | for(var f of build.buildfiles) { 376 | console.log(JSON.stringify(f)); 377 | var fullpath = path.join("packages", f.pkgpath); 378 | if(fullpath in downloadedfiles) { 379 | console.log("skipping build artifact due to duplicated entry") 380 | continue; 381 | } else { 382 | downloadedfiles[fullpath] = f; 383 | } 384 | var urlPath = fixupTable[path.basename(f.path)] || f.path; 385 | fs.mkdirSync(path.dirname(fullpath), {recursive: true}); 386 | try { 387 | await exec.exec("curl", ["-f", "-L", `${rootUrl}/${urlPath}`, "--output", fullpath]); 388 | } catch { 389 | } 390 | } 391 | } 392 | } 393 | } 394 | } 395 | } 396 | fs.writeFileSync("release-index.json", JSON.stringify({ packages: packages, index })); 397 | 398 | - name: add cppfw repo to install myci scripts from 399 | uses: myci-actions/add-deb-repo@HEAD 400 | with: 401 | repo: deb http://gagis.hopto.org/repo/cppfw/$(lsb_release --id --short | tr '[:upper:]' '[:lower:]') $(lsb_release --codename --short) main 402 | repo-name: cppfw 403 | keys-asc: http://gagis.hopto.org/repo/cppfw/pubkey.gpg 404 | - name: add cppfw repo to install myci scripts from 405 | uses: myci-actions/add-deb-repo@HEAD 406 | with: 407 | repo: deb http://gagis.hopto.org/repo/igagis/$(lsb_release --id --short | tr '[:upper:]' '[:lower:]') $(lsb_release --codename --short) main 408 | repo-name: igagis 409 | keys-asc: http://gagis.hopto.org/repo/igagis/pubkey.gpg 410 | - name: install debian package tools 411 | run: | 412 | sudo apt --quiet update 413 | sudo apt --quiet install --assume-yes dpkg-dev debhelper devscripts myci rpm aptian 414 | 415 | - name: rpm setup signing macro 416 | run: | 417 | first_key_email=$(gpg --list-keys | sed -E -n -e 's/.*<([^ >]*)>.*/\1/p' | head -1) 418 | echo "%_signature gpg" > ~/.rpmmacros 419 | echo "%_gpg_name \"$first_key_email\"" >> ~/.rpmmacros 420 | 421 | - name: Add package 422 | uses: actions/github-script@v7 423 | with: 424 | github-token: _ 425 | script: | 426 | var config = JSON.parse(${{ tojson(inputs.config) }}); 427 | var path = require("path"); 428 | var fs = require("fs"); 429 | var rpmrepos = []; 430 | for(var repo of config) { 431 | if(repo.type === "apt") { 432 | const globber = await glob.create(`packages/${repo.artifact}/**/*.deb`, { matchDirectories: false }); 433 | var packages = []; 434 | for await (const file of globber.globGenerator()) { 435 | await exec.exec("myci-aptian-add.sh", ["--base-dir", process.cwd(), "--repo", "webpage/deb", "--distro", repo.distro, "--component", repo.component, file]); 436 | } 437 | } else if(repo.type === "rpm") { 438 | const globber = await glob.create(`packages/${repo.artifact}/**/*.rpm`, { matchDirectories: false }); 439 | var packages = []; 440 | fs.mkdirSync(path.join("webpage", repo.path), {recursive: true}); 441 | for await (const file of globber.globGenerator()) { 442 | var destPath = path.join("webpage", repo.path, path.basename(file)); 443 | console.log(`copy ${file} to ${destPath}`); 444 | fs.copyFileSync(file, destPath); 445 | await exec.exec("rpm", ["--addsign", destPath]); 446 | } 447 | rpmrepos.push(`createrepo ${path.join("/webpage", repo.path)}`); 448 | } 449 | } 450 | if(rpmrepos.length > 0) { 451 | await exec.exec("docker", ["run", "--rm", "-v", `${path.join(process.cwd(), "webpage")}:/webpage`, "fedora:latest", "bash", "-c", `dnf install -y createrepo && ${rpmrepos.join(" && ")}`]); 452 | } 453 | 454 | - name: Fix webpage permissions 455 | run: | 456 | sudo chown -R "$UID:$UID" webpage 457 | 458 | - name: Add default html 459 | run: | 460 | 461 | 462 |

Debian and Ubuntu apt repos

463 |

deb ${{ env.BASE_URL }}/deb focal main

464 |

deb ${{ env.BASE_URL }}/deb jammy main

465 |

deb ${{ env.BASE_URL }}/deb kinetic main

466 |

deb ${{ env.BASE_URL }}/deb bullseye main

467 |

deb ${{ env.BASE_URL }}/deb bookworm main

468 |

curl -sS ${{ env.BASE_URL }}/deb/pubkey.gpg | sudo tee -a /etc/apt/trusted.gpg.d/${{ env.REPO_NAME }}.asc

469 |

Fedora

470 |

36

471 |

472 | [${{ env.REPO_NAME }}]
473 | name=${{ env.REPO_NAME }}
474 | baseurl=${{ env.BASE_URL }}/fedora-36
475 | enabled=1
476 | countme=1
477 | repo_gpgcheck=0
478 | type=rpm
479 | gpgcheck=1
480 | skip_if_unavailable=False
481 | gpgkey=${{ env.BASE_URL }}/deb/pubkey.gpg
482 |

483 |

37

484 |

485 | [${{ env.REPO_NAME }}]
486 | name=${{ env.REPO_NAME }}
487 | baseurl=${{ env.BASE_URL }}/fedora-37
488 | enabled=1
489 | countme=1
490 | repo_gpgcheck=0
491 | type=rpm
492 | gpgcheck=1
493 | skip_if_unavailable=False
494 | gpgkey=${{ env.BASE_URL }}/deb/pubkey.gpg
495 |

496 | 497 | 498 | shell: cp {0} webpage/index.html 499 | 500 | - name: create archive index 501 | uses: actions/github-script@v7 502 | with: 503 | github-token: _ 504 | script: | 505 | var path = require("path"); 506 | var fs = require("fs"); 507 | var releaseIndex = JSON.parse(fs.readFileSync("release-index.json", { encoding: "utf8" })); 508 | var index = releaseIndex.index || {}; 509 | const globber = await glob.create("webpage/**", { matchDirectories: false }); 510 | var allfiles = []; 511 | var buildmap = {}; 512 | var buildfiles = []; 513 | for(pkg of releaseIndex.packages) { 514 | buildmap[path.basename(pkg)] = pkg; 515 | } 516 | for await (const file of globber.globGenerator()) { 517 | var rfile = path.relative(path.join(process.cwd(), "webpage"), file); 518 | allfiles.push(rfile); 519 | var filebasename = path.basename(file); 520 | var pkgpath = buildmap[filebasename]; 521 | if(pkgpath) { 522 | delete buildmap[filebasename]; 523 | buildfiles.push({ pkgpath, path: rfile }); 524 | } 525 | } 526 | index.allfiles = allfiles; 527 | index.packages = releaseIndex.packages; 528 | var channel = ${{ tojson(inputs.channel) }}; 529 | if(!index.versions) { 530 | index.versions = {}; 531 | } 532 | var builds = index.versions[channel]; 533 | if(!builds) { 534 | builds = index.versions[channel] = []; 535 | } 536 | builds.push({ buildfiles }); 537 | fs.writeFileSync("webpage/index.json", JSON.stringify(index)); 538 | 539 | - name: Setup Pages 540 | uses: actions/configure-pages@v5 541 | - name: Upload artifact 542 | uses: actions/upload-pages-artifact@v3 543 | with: 544 | path: 'webpage' 545 | - name: Deploy to GitHub Pages 546 | id: deployment 547 | uses: actions/deploy-pages@v4 548 | -------------------------------------------------------------------------------- /.github/workflows/verify-debian.yml: -------------------------------------------------------------------------------- 1 | on: 2 | workflow_dispatch: 3 | jobs: 4 | verify: 5 | strategy: 6 | matrix: 7 | distro: 8 | - bullseye 9 | - bookworm 10 | arch: 11 | - amd64 12 | - arm64 13 | steps: 14 | - run: | 15 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 16 | docker run --rm ubuntu:${{ matrix.distro }} --platform linux/${{ matrix.arch }} -- apt update && apt install sudo curl && curl -sS https://minecraft-linux.github.io/pkg/deb/pubkey.gpg | sudo tee -a /etc/apt/trusted.gpg.d/minecraft-linux-pkg.asc && echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb bookworm-nightly main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list && apt update && apt install mcpelauncher-manifest mcpelauncher-ui-manifest msa-manifest && ldd \$(which mcpelauncher-ui-qt) && ldd \$(which mcpelauncher-client) && ldd \$(which mcpelauncher-webview) -------------------------------------------------------------------------------- /.github/workflows/verify-ubuntu.yml: -------------------------------------------------------------------------------- 1 | on: 2 | workflow_dispatch: 3 | jobs: 4 | verify: 5 | strategy: 6 | matrix: 7 | distro: 8 | - focal 9 | - jammy 10 | - kinetic 11 | arch: 12 | - amd64 13 | - arm64 14 | steps: 15 | - run: | 16 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 17 | docker run --rm ubuntu:${{ matrix.distro }} --platform linux/${{ matrix.arch }} -- apt update && apt install sudo curl && curl -sS https://minecraft-linux.github.io/pkg/deb/pubkey.gpg | sudo tee -a /etc/apt/trusted.gpg.d/minecraft-linux-pkg.asc && echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb bookworm-nightly main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list && apt update && apt install mcpelauncher-manifest mcpelauncher-ui-manifest msa-manifest && ldd \$(which mcpelauncher-ui-qt) && ldd \$(which mcpelauncher-client) && ldd \$(which mcpelauncher-webview) -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 minecraft-linux 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.MD: -------------------------------------------------------------------------------- 1 | # mcpelauncher package repository 2 | 3 | Please read https://minecraft-linux.github.io for available packages. 4 | 5 | # Debian and Ubuntu apt repos 6 | 7 | ## trust the apt repo to install packages 8 | 9 | First of all your system have to trust the gpg key used to sign the repository, then you can add the distribution specfic apt repo. 10 | 11 | ``` 12 | curl -sS https://minecraft-linux.github.io/pkg/deb/pubkey.gpg | sudo tee /etc/apt/trusted.gpg.d/minecraft-linux-pkg.asc 13 | ``` 14 | 15 | (EDIT removed -a from tee, to override per #13. Using an entire new gpg key would be better) 16 | 17 | ## Releases 18 | 19 | Releases before including v0.9.0 don't provide arm64 for debian, you may need to add the nightly repo to install the arm64 version. 20 | Releases before including v0.11.4 don't provide armhf for debian, you may need to add the nightly repo to install the armhf version. 21 | Releases before including v0.11.4 don't provide fedora 39 packages, you may need to add the nightly repo to install the fedora 39 version. 22 | 23 | ### focal (x86_64 / arm64) 24 | ``` 25 | echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb focal main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 26 | ``` 27 | 28 | ### jammy (x86_64 / arm64) 29 | ``` 30 | echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb jammy main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 31 | ``` 32 | 33 | ### kinetic (x86_64 / arm64) 34 | ``` 35 | echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb kinetic main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 36 | ``` 37 | 38 | ### noble (x86_64 / arm64) 39 | ``` 40 | echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb noble main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 41 | ``` 42 | 43 | ### oracular (x86_64 / arm64) 44 | ``` 45 | echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb oracular main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 46 | ``` 47 | 48 | ### plucky (x86_64 / arm64) 49 | ``` 50 | echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb plucky main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 51 | ``` 52 | 53 | ### bullseye (x86_64 / arm64 / armhf) 54 | ``` 55 | echo "deb [arch=amd64,arm64,armhf] https://minecraft-linux.github.io/pkg/deb bullseye main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 56 | ``` 57 | 58 | ### bookworm (x86_64 / arm64 / armhf) 59 | ``` 60 | echo "deb [arch=amd64,arm64,armhf] https://minecraft-linux.github.io/pkg/deb bookworm main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 61 | ``` 62 | 63 | ## Nightly 64 | 65 | ### focal (x86_64 / arm64) 66 | ``` 67 | echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb focal-nightly main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 68 | ``` 69 | 70 | ### jammy (x86_64 / arm64) 71 | ``` 72 | echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb jammy-nightly main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 73 | ``` 74 | 75 | ### kinetic (x86_64 / arm64) 76 | ``` 77 | echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb kinetic-nightly main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 78 | ``` 79 | 80 | ### noble (x86_64 / arm64) 81 | ``` 82 | echo "deb [arch=amd64,arm64] https://minecraft-linux.github.io/pkg/deb noble-nightly main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 83 | ``` 84 | 85 | ### bullseye (x86_64 / arm64 / armhf) 86 | ``` 87 | echo "deb [arch=amd64,arm64,armhf] https://minecraft-linux.github.io/pkg/deb bullseye-nightly main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 88 | ``` 89 | 90 | ### bookworm (x86_64 / arm64 / armhf) 91 | ``` 92 | echo "deb [arch=amd64,arm64,armhf] https://minecraft-linux.github.io/pkg/deb bookworm-nightly main" | sudo tee /etc/apt/sources.list.d/minecraft-linux-pkg.list 93 | ``` 94 | 95 | # Fedora rpm repos 96 | 97 | ## Releases 98 | 99 | Releases before including v0.9.0 don't provide arm64, you may need to add the nightly repo to install the arm64 version. 100 | Releases before including v0.11.4 don't provide fedora 39 packages, you may need to add the nightly repo to install the fedora 39 version. 101 | 102 | ### 36 (x86_64 / arm64) (**Deprecated** v0.11.4 is the last version) 103 | ``` 104 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 105 | [minecraft-linux-pkg] 106 | name=minecraft-linux-pkg 107 | baseurl=https://minecraft-linux.github.io/pkg/fedora-36 108 | enabled=1 109 | countme=1 110 | repo_gpgcheck=0 111 | type=rpm 112 | gpgcheck=1 113 | skip_if_unavailable=False 114 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 115 | EOF 116 | ``` 117 | 118 | ### 37 (x86_64 / arm64) (**Deprecated** v0.11.4 is the last version) 119 | ``` 120 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 121 | [minecraft-linux-pkg] 122 | name=minecraft-linux-pkg 123 | baseurl=https://minecraft-linux.github.io/pkg/fedora-37 124 | enabled=1 125 | countme=1 126 | repo_gpgcheck=0 127 | type=rpm 128 | gpgcheck=1 129 | skip_if_unavailable=False 130 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 131 | EOF 132 | ``` 133 | 134 | ### 38 (x86_64 / arm64) 135 | ``` 136 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 137 | [minecraft-linux-pkg] 138 | name=minecraft-linux-pkg 139 | baseurl=https://minecraft-linux.github.io/pkg/fedora-38 140 | enabled=1 141 | countme=1 142 | repo_gpgcheck=0 143 | type=rpm 144 | gpgcheck=1 145 | skip_if_unavailable=False 146 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 147 | EOF 148 | ``` 149 | 150 | ### 39 (x86_64 / arm64) 151 | ``` 152 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 153 | [minecraft-linux-pkg] 154 | name=minecraft-linux-pkg 155 | baseurl=https://minecraft-linux.github.io/pkg/fedora-39 156 | enabled=1 157 | countme=1 158 | repo_gpgcheck=0 159 | type=rpm 160 | gpgcheck=1 161 | skip_if_unavailable=False 162 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 163 | EOF 164 | ``` 165 | 166 | ### 40 (x86_64 ~~/ arm64~~) 167 | ``` 168 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 169 | [minecraft-linux-pkg] 170 | name=minecraft-linux-pkg 171 | baseurl=https://minecraft-linux.github.io/pkg/fedora-40 172 | enabled=1 173 | countme=1 174 | repo_gpgcheck=0 175 | type=rpm 176 | gpgcheck=1 177 | skip_if_unavailable=False 178 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 179 | EOF 180 | ``` 181 | 182 | ### 41 (x86_64 ~~/ arm64~~) 183 | ``` 184 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 185 | [minecraft-linux-pkg] 186 | name=minecraft-linux-pkg 187 | baseurl=https://minecraft-linux.github.io/pkg/fedora-41 188 | enabled=1 189 | countme=1 190 | repo_gpgcheck=0 191 | type=rpm 192 | gpgcheck=1 193 | skip_if_unavailable=False 194 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 195 | EOF 196 | ``` 197 | 198 | ### 42 (x86_64 / arm64) 199 | ``` 200 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 201 | [minecraft-linux-pkg] 202 | name=minecraft-linux-pkg 203 | baseurl=https://minecraft-linux.github.io/pkg/fedora-42 204 | enabled=1 205 | countme=1 206 | repo_gpgcheck=0 207 | type=rpm 208 | gpgcheck=1 209 | skip_if_unavailable=False 210 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 211 | EOF 212 | ``` 213 | 214 | ## Nightly 215 | 216 | ### 38 (x86_64 / arm64) 217 | ``` 218 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 219 | [minecraft-linux-pkg] 220 | name=minecraft-linux-pkg 221 | baseurl=https://minecraft-linux.github.io/pkg/fedora-38-nightly 222 | enabled=1 223 | countme=1 224 | repo_gpgcheck=0 225 | type=rpm 226 | gpgcheck=1 227 | skip_if_unavailable=False 228 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 229 | EOF 230 | ``` 231 | 232 | ### 39 (x86_64 / arm64) 233 | ``` 234 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 235 | [minecraft-linux-pkg] 236 | name=minecraft-linux-pkg 237 | baseurl=https://minecraft-linux.github.io/pkg/fedora-39-nightly 238 | enabled=1 239 | countme=1 240 | repo_gpgcheck=0 241 | type=rpm 242 | gpgcheck=1 243 | skip_if_unavailable=False 244 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 245 | EOF 246 | ``` 247 | 248 | ### 40 (x86_64 / arm64) 249 | ``` 250 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 251 | [minecraft-linux-pkg] 252 | name=minecraft-linux-pkg 253 | baseurl=https://minecraft-linux.github.io/pkg/fedora-40-nightly 254 | enabled=1 255 | countme=1 256 | repo_gpgcheck=0 257 | type=rpm 258 | gpgcheck=1 259 | skip_if_unavailable=False 260 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 261 | EOF 262 | ``` 263 | 264 | ### 41 (x86_64 / arm64) 265 | ``` 266 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 267 | [minecraft-linux-pkg] 268 | name=minecraft-linux-pkg 269 | baseurl=https://minecraft-linux.github.io/pkg/fedora-41-nightly 270 | enabled=1 271 | countme=1 272 | repo_gpgcheck=0 273 | type=rpm 274 | gpgcheck=1 275 | skip_if_unavailable=False 276 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 277 | EOF 278 | ``` 279 | 280 | ### 42 (x86_64 / arm64) 281 | ``` 282 | cat | sudo tee /etc/yum.repos.d/minecraft-linux-pkg.repo << 'EOF' 283 | [minecraft-linux-pkg] 284 | name=minecraft-linux-pkg 285 | baseurl=https://minecraft-linux.github.io/pkg/fedora-42-nightly 286 | enabled=1 287 | countme=1 288 | repo_gpgcheck=0 289 | type=rpm 290 | gpgcheck=1 291 | skip_if_unavailable=False 292 | gpgkey=https://minecraft-linux.github.io/pkg/deb/pubkey.gpg 293 | EOF 294 | ``` 295 | -------------------------------------------------------------------------------- /version.txt: -------------------------------------------------------------------------------- 1 | 1.3.0 2 | --------------------------------------------------------------------------------