diff --git a/buildscripts/ci/backend/build.sh b/buildscripts/ci/backend/build.sh deleted file mode 100644 index b121783aa7..0000000000 --- a/buildscripts/ci/backend/build.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -echo "Build Linux MuseScore" - -#set -x -trap 'echo Build failed; exit 1' ERR - -df -h . - -BUILD_TOOLS=$HOME/build_tools -ARTIFACTS_DIR=build.artifacts -BUILD_MODE="" -BUILD_VIDEOEXPORT="OFF" - -while [[ "$#" -gt 0 ]]; do - case $1 in - -n|--number) BUILD_NUMBER="$2"; shift ;; - --build_mode) BUILD_MODE="$2"; shift ;; - --build_videoexport) BUILD_VIDEOEXPORT="ON";; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac - shift -done - -if [ -z "$BUILD_NUMBER" ]; then echo "error: not set BUILD_NUMBER"; exit 1; fi -if [ -z "$BUILD_MODE" ]; then BUILD_MODE=$(cat $ARTIFACTS_DIR/env/build_mode.env); fi - -MUSE_APP_BUILD_MODE=dev - -case "${BUILD_MODE}" in -"devel") MUSE_APP_BUILD_MODE=dev;; -"testing") MUSE_APP_BUILD_MODE=testing;; -"stable") MUSE_APP_BUILD_MODE=release;; -esac - -echo "MUSE_APP_BUILD_MODE: $MUSE_APP_BUILD_MODE" -echo "BUILD_NUMBER: $BUILD_NUMBER" -echo "BUILD_MODE: $BUILD_MODE" -echo "BUILD_VIDEOEXPORT: $BUILD_VIDEOEXPORT" - -echo "=== ENVIRONMENT === " - -cat $BUILD_TOOLS/environment.sh -source $BUILD_TOOLS/environment.sh - -echo "=== BUILD ===" - -MUSESCORE_REVISION=$(git rev-parse --short=7 HEAD) - -# Build -MUSE_APP_BUILD_MODE=$MUSE_APP_BUILD_MODE \ -MUSESCORE_BUILD_NUMBER=$BUILD_NUMBER \ -MUSESCORE_REVISION=$MUSESCORE_REVISION \ -MUSESCORE_BUILD_IMPEXP_VIDEOEXPORT_MODULE=$BUILD_VIDEOEXPORT \ -bash ./ninja_build.sh -t appimage - - -bash ./buildscripts/ci/tools/make_release_channel_env.sh -c $MUSE_APP_BUILD_MODE -bash ./buildscripts/ci/tools/make_version_env.sh $BUILD_NUMBER -bash ./buildscripts/ci/tools/make_revision_env.sh $MUSESCORE_REVISION -bash ./buildscripts/ci/tools/make_branch_env.sh - -df -h . diff --git a/buildscripts/ci/backend/build_docker.sh b/buildscripts/ci/backend/build_docker.sh deleted file mode 100644 index 53a00c8027..0000000000 --- a/buildscripts/ci/backend/build_docker.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -echo "Build Docker MuseScore" - -HERE="$(dirname ${BASH_SOURCE[0]})" -ORIGIN_DIR=${PWD} -ARTIFACTS_DIR=build.artifacts -DOCKER_WORK_DIR=$ARTIFACTS_DIR/docker -MU_VERSION="" - -while [[ "$#" -gt 0 ]]; do - case $1 in - -v|--version) MU_VERSION="$2"; shift ;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac - shift -done - -if [ -z "$MU_VERSION" ]; then MU_VERSION=$(cat $ARTIFACTS_DIR/env/build_version.env); fi - -if [ -z "$MU_VERSION" ]; then echo "Error: Version not set"; exit 1; fi - -# Make MU docker files -echo "Prepare Docker files" -mkdir -p $DOCKER_WORK_DIR - -cp $HERE/docker/Dockerfile $DOCKER_WORK_DIR/Dockerfile -cp $HERE/docker/setup.sh $DOCKER_WORK_DIR/setup.sh -cp $HERE/docker/install_mu_template.sh $DOCKER_WORK_DIR/install_mu.sh - -sed -i 's|x.x.x.xxxxxx|'${MU_VERSION}'|' $DOCKER_WORK_DIR/install_mu.sh - -cd $DOCKER_WORK_DIR -echo "Build Docker" - -# Enable buildx -docker buildx create --use >/dev/null 2>&1 || true - -docker buildx build \ - --platform linux/amd64\ - -t ghcr.io/musescore/converter_4:${MU_VERSION} \ - --load . - -cd $ORIGIN_DIR - -echo "Done!!" - diff --git a/buildscripts/ci/backend/check_update_config_on_s3.sh b/buildscripts/ci/backend/check_update_config_on_s3.sh deleted file mode 100755 index 275a9e50df..0000000000 --- a/buildscripts/ci/backend/check_update_config_on_s3.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -trap 'echo Check and update config failed; exit 1' ERR - -ACCESS_USER="igorkorsukov" # For test, should be replaced with muse-bot -ACCESS_TOKEN=$GITHUB_TOKEN -S3_KEY="" -S3_SECRET="" -S3_URL="s3://convertor.musescore.org" -ARTIFACTS_DIR=build.artifacts -ARTIFACT_PATH="" -STAGE="devel" -MU_VERSION="" -MU_VERSION_MAJOR_MINOR="" - -while [[ "$#" -gt 0 ]]; do - case $1 in - -t|--token) ACCESS_TOKEN="$2"; shift ;; - -u|--user) ACCESS_USER="$2"; shift ;; - --s3_key) S3_KEY="$2"; shift ;; - --s3_secret) S3_SECRET="$2"; shift ;; - --stage) STAGE="$2"; shift ;; - --mu_version) MU_VERSION="$2"; shift ;; - --mu_version_major_minor) MU_VERSION_MAJOR_MINOR="$2"; shift ;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac - shift -done - -# Check -echo "Login Docker" -echo $ACCESS_TOKEN | docker login ghcr.io -u $ACCESS_USER --password-stdin - -echo "Pull Docker" -docker pull ghcr.io/musescore/converter_4:${MU_VERSION} - -echo "Check version..." -docker run ghcr.io/musescore/converter_4:${MU_VERSION} /musescore/convertor -v > $ARTIFACTS_DIR/conv_output.txt - -APP_VERSION=$(echo "$MU_VERSION" | cut -d '.' -f 1,2,3) -CONV_OUT=$(cat $ARTIFACTS_DIR/conv_output.txt) -if [[ "$CONV_OUT" == *"$APP_VERSION" ]]; then - echo "The test was successful, convertor output: $CONV_OUT, version: $APP_VERSION" -else - echo "The test failed, convertor output: $CONV_OUT, version: $APP_VERSION" - exit 1 -fi - -echo "Update config..." - -bash ./buildscripts/ci/tools/s3_install.sh --s3_key ${S3_KEY} --s3_secret ${S3_SECRET} - -if [ -z "$ARTIFACT_PATH" ]; then - ARTIFACT_NAME=$(cat $ARTIFACTS_DIR/env/artifact_name.env) - ARTIFACT_PATH=$ARTIFACTS_DIR/$ARTIFACT_NAME -fi - -ARTIFACT_NAME=$(basename $ARTIFACT_PATH) - -echo "=== Edit configure file ===" - -CONFIGURE_FILE="configure.json" -CONFIGURE_FILE_PATH="$ARTIFACTS_DIR/${CONFIGURE_FILE}" - -s3cmd get "$S3_URL/$CONFIGURE_FILE" "$CONFIGURE_FILE_PATH" - -NEW_DISTR=$ARTIFACT_NAME -NEW_IMAGE_URL="ghcr.io/musescore/converter_4:${MU_VERSION}" -NEW_STAGE=$STAGE - -if jq -e "has(\"$MU_VERSION_MAJOR_MINOR\")" "$CONFIGURE_FILE_PATH" > /dev/null; then - jq --arg version "$MU_VERSION_MAJOR_MINOR" \ - --arg distr "$NEW_DISTR" \ - --arg image_url "$NEW_IMAGE_URL" \ - --arg stage "$NEW_STAGE" \ - '(.[$version] // {}) |= { - distr: $distr, - image_url: $image_url, - stage: $stage - }' "$CONFIGURE_FILE_PATH" > "$CONFIGURE_FILE_PATH.tmp" && mv "$CONFIGURE_FILE_PATH.tmp" "$CONFIGURE_FILE_PATH" -else - jq --arg version "$MU_VERSION_MAJOR_MINOR" \ - --arg distr "$NEW_DISTR" \ - --arg image_url "$NEW_IMAGE_URL" \ - --arg stage "$NEW_STAGE" \ - '. + {($version): { - distr: $distr, - image_url: $image_url, - stage: $stage - }}' "$CONFIGURE_FILE_PATH" > "$CONFIGURE_FILE_PATH.tmp" && mv "$CONFIGURE_FILE_PATH.tmp" "$CONFIGURE_FILE_PATH" -fi - -s3cmd put --acl-public --guess-mime-type "$CONFIGURE_FILE_PATH" "$S3_URL/$CONFIGURE_FILE" - -echo "=== Configuration updated successfully ===" diff --git a/buildscripts/ci/backend/convertor.in b/buildscripts/ci/backend/convertor.in deleted file mode 100644 index 63ac806544..0000000000 --- a/buildscripts/ci/backend/convertor.in +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -HERE="$(cd "$(dirname "$(readlink -f "$0")")" && pwd)" - -export XDG_RUNTIME_DIR=/tmp/runtime-root -export QT_QPA_PLATFORM=offscreen -export MU_QT_QPA_PLATFORM=offscreen - -exec "$HERE/bin/mscore4portable"* "$@" diff --git a/buildscripts/ci/backend/docker/Dockerfile b/buildscripts/ci/backend/docker/Dockerfile deleted file mode 100644 index 060b146d12..0000000000 --- a/buildscripts/ci/backend/docker/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM library/ubuntu:22.04 -ENV TZ=Etc/UTC DEBIAN_FRONTEND=noninteractive -COPY setup.sh /setup.sh -COPY install_mu.sh /install_mu.sh -RUN bash -ex setup.sh diff --git a/buildscripts/ci/backend/docker/install_mu_template.sh b/buildscripts/ci/backend/docker/install_mu_template.sh deleted file mode 100644 index be821fcd84..0000000000 --- a/buildscripts/ci/backend/docker/install_mu_template.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -S3_URL=https://s3.amazonaws.com/convertor.musescore.org -MU_DIR=/musescore -MU_VERSION=x.x.x.xxxxxx - -mkdir -p $MU_DIR - -echo "=== Install MuseScore ${MU_VERSION} ===" -MU_DISTRO=MuseScore-${MU_VERSION} -wget --show-progress -O $MU_DIR/$MU_DISTRO.7z "$S3_URL/$MU_DISTRO.7z" -7z x -y $MU_DIR/$MU_DISTRO.7z -o"$MU_DIR/" -$MU_DIR/convertor -v - diff --git a/buildscripts/ci/backend/docker/mu2/Dockerfile b/buildscripts/ci/backend/docker/mu2/Dockerfile deleted file mode 100644 index 3d7e5a56e0..0000000000 --- a/buildscripts/ci/backend/docker/mu2/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM library/ubuntu:18.04 -ENV TZ=Etc/UTC DEBIAN_FRONTEND=noninteractive -COPY setup.sh /setup.sh -COPY install_mu.sh /install_mu.sh -RUN bash -ex setup.sh diff --git a/buildscripts/ci/backend/docker/mu2/build_docker.sh b/buildscripts/ci/backend/docker/mu2/build_docker.sh deleted file mode 100644 index a8e7d24ca7..0000000000 --- a/buildscripts/ci/backend/docker/mu2/build_docker.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -echo "Build Docker MuseScore" - -HERE="$(dirname ${BASH_SOURCE[0]})" -ORIGIN_DIR=${PWD} -ARTIFACTS_DIR=build.artifacts -DOCKER_WORK_DIR=$ARTIFACTS_DIR/docker -MU_VERSION="2.3.2.2022051117" - -while [[ "$#" -gt 0 ]]; do - case $1 in - -v|--version) MU_VERSION="$2"; shift ;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac - shift -done - -if [ -z "$MU_VERSION" ]; then MU_VERSION=$(cat $ARTIFACTS_DIR/env/build_version.env); fi - -if [ -z "$MU_VERSION" ]; then echo "Error: Version not set"; exit 1; fi - -# Make MU docker files -echo "Prepare Docker files" -mkdir -p $DOCKER_WORK_DIR - -cp $HERE/Dockerfile $DOCKER_WORK_DIR/Dockerfile -cp $HERE/setup.sh $DOCKER_WORK_DIR/setup.sh -cp $HERE/install_mu_template.sh $DOCKER_WORK_DIR/install_mu.sh - -sed -i 's|x.x.x.xxxxxx|'${MU_VERSION}'|' $DOCKER_WORK_DIR/install_mu.sh - - -cd $DOCKER_WORK_DIR -echo "Build Docker" -docker build -t ghcr.io/musescore/converter_2:${MU_VERSION} . -cd $ORIGIN_DIR - -echo "done!!" - diff --git a/buildscripts/ci/backend/docker/mu2/install_mu_template.sh b/buildscripts/ci/backend/docker/mu2/install_mu_template.sh deleted file mode 100644 index f9994e1852..0000000000 --- a/buildscripts/ci/backend/docker/mu2/install_mu_template.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -S3_URL=https://s3.amazonaws.com/convertor.musescore.org -MU_DIR=/musescore -MU_VERSION=x.x.x.xxxxxx - -mkdir -p $MU_DIR - -echo "=== Install MuseScore ${MU_VERSION} ===" -MU_DISTRO=MuseScore-${MU_VERSION} -wget -q --show-progress -O $MU_DIR/$MU_DISTRO.7z "$S3_URL/$MU_DISTRO.7z" -7z x -y $MU_DIR/$MU_DISTRO.7z -o"$MU_DIR/" -ls $MU_DIR -echo "Check run:" -$MU_DIR/convertor -v -echo "Done!!" - diff --git a/buildscripts/ci/backend/docker/mu2/publish_to_registry.sh b/buildscripts/ci/backend/docker/mu2/publish_to_registry.sh deleted file mode 100644 index cb9430ea24..0000000000 --- a/buildscripts/ci/backend/docker/mu2/publish_to_registry.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -echo "Publish Docker MuseScore" - -HERE="$(dirname ${BASH_SOURCE[0]})" -MU_VERSION="2.3.2.2022051117" -ACCESS_USER="igorkorsukov" # For test, should be replaced with muse-bot -ACCESS_TOKEN=$GITHUB_TOKEN - -while [[ "$#" -gt 0 ]]; do - case $1 in - -v|--version) MU_VERSION="$2"; shift ;; - -t|--token) ACCESS_TOKEN="$2"; shift ;; - -u|--user) ACCESS_USER="$2"; shift ;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac - shift -done - -if [ -z "$MU_VERSION" ]; then MU_VERSION=$(cat $ARTIFACTS_DIR/env/build_version.env); fi - -if [ -z "$MU_VERSION" ]; then echo "Error: Version not set"; exit 1; fi -if [ -z "$ACCESS_TOKEN" ]; then echo "Error: Token not set"; exit 1; fi -if [ -z "$ACCESS_USER" ]; then echo "Error: User not set"; exit 1; fi - -echo "Login Docker" -echo $ACCESS_TOKEN | docker login ghcr.io -u $ACCESS_USER --password-stdin - -echo "Push Docker" -docker push ghcr.io/musescore/converter_2:${MU_VERSION} - -echo "Done!!" - diff --git a/buildscripts/ci/backend/docker/mu2/setup.sh b/buildscripts/ci/backend/docker/mu2/setup.sh deleted file mode 100644 index 7ca0ae3df4..0000000000 --- a/buildscripts/ci/backend/docker/mu2/setup.sh +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# For maximum AppImage compatibility, build on the oldest Linux distribution -# that still receives security updates from its manufacturer. - -# DEPENDENCES -apt_packages_basic=( - file - software-properties-common - p7zip-full - ) - -apt_packages_standard=( - curl - libasound2-dev - libfontconfig1-dev - libfreetype6-dev - libfreetype6 - libgl1-mesa-dev - libjack-dev - libmp3lame-dev - libnss3-dev - libportmidi-dev - libpulse-dev - libsndfile1-dev - portaudio19-dev - wget - ) - -apt_packages_runtime=( - libcups2 - libdbus-1-3 - libegl1-mesa-dev - libodbc1 - libpq-dev - libxcomposite-dev - libxcursor-dev - libxi-dev - libxkbcommon-x11-0 - libxrandr2 - libxtst-dev - libdrm-dev - libxcb-icccm4 - libxcb-image0 - libxcb-keysyms1 - libxcb-randr0 - libxcb-render-util0 - libxcb-xinerama0 - xvfb - ) - -apt_packages_ffmpeg=( - ffmpeg - libavcodec-dev - libavformat-dev - libswscale-dev - ) - -apt-get update -apt-get install -y --no-install-recommends \ - "${apt_packages_basic[@]}" \ - "${apt_packages_standard[@]}" \ - "${apt_packages_runtime[@]}" \ - "${apt_packages_ffmpeg[@]}" - - -# DISTROS -HERE="$(cd "$(dirname "$0")" && pwd)" -bash $HERE/install_mu.sh diff --git a/buildscripts/ci/backend/docker/mu3/Dockerfile b/buildscripts/ci/backend/docker/mu3/Dockerfile deleted file mode 100644 index 3d7e5a56e0..0000000000 --- a/buildscripts/ci/backend/docker/mu3/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM library/ubuntu:18.04 -ENV TZ=Etc/UTC DEBIAN_FRONTEND=noninteractive -COPY setup.sh /setup.sh -COPY install_mu.sh /install_mu.sh -RUN bash -ex setup.sh diff --git a/buildscripts/ci/backend/docker/mu3/build_docker.sh b/buildscripts/ci/backend/docker/mu3/build_docker.sh deleted file mode 100644 index 2a1c746a96..0000000000 --- a/buildscripts/ci/backend/docker/mu3/build_docker.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -echo "Build Docker MuseScore" - -HERE="$(dirname ${BASH_SOURCE[0]})" -ORIGIN_DIR=${PWD} -ARTIFACTS_DIR=build.artifacts -DOCKER_WORK_DIR=$ARTIFACTS_DIR/docker -MU_VERSION="3.6.2.2270279339" - -while [[ "$#" -gt 0 ]]; do - case $1 in - -v|--version) MU_VERSION="$2"; shift ;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac - shift -done - -if [ -z "$MU_VERSION" ]; then MU_VERSION=$(cat $ARTIFACTS_DIR/env/build_version.env); fi - -if [ -z "$MU_VERSION" ]; then echo "Error: Version not set"; exit 1; fi - -# Make MU docker files -echo "Prepare Docker files" -mkdir -p $DOCKER_WORK_DIR - -cp $HERE/Dockerfile $DOCKER_WORK_DIR/Dockerfile -cp $HERE/setup.sh $DOCKER_WORK_DIR/setup.sh -cp $HERE/install_mu_template.sh $DOCKER_WORK_DIR/install_mu.sh - -sed -i 's|x.x.x.xxxxxx|'${MU_VERSION}'|' $DOCKER_WORK_DIR/install_mu.sh - - -cd $DOCKER_WORK_DIR -echo "Build Docker" -docker build -t ghcr.io/musescore/converter_3:${MU_VERSION} . -cd $ORIGIN_DIR - -echo "Done!!" - diff --git a/buildscripts/ci/backend/docker/mu3/install_mu_template.sh b/buildscripts/ci/backend/docker/mu3/install_mu_template.sh deleted file mode 100644 index f9994e1852..0000000000 --- a/buildscripts/ci/backend/docker/mu3/install_mu_template.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -S3_URL=https://s3.amazonaws.com/convertor.musescore.org -MU_DIR=/musescore -MU_VERSION=x.x.x.xxxxxx - -mkdir -p $MU_DIR - -echo "=== Install MuseScore ${MU_VERSION} ===" -MU_DISTRO=MuseScore-${MU_VERSION} -wget -q --show-progress -O $MU_DIR/$MU_DISTRO.7z "$S3_URL/$MU_DISTRO.7z" -7z x -y $MU_DIR/$MU_DISTRO.7z -o"$MU_DIR/" -ls $MU_DIR -echo "Check run:" -$MU_DIR/convertor -v -echo "Done!!" - diff --git a/buildscripts/ci/backend/docker/mu3/publish_to_registry.sh b/buildscripts/ci/backend/docker/mu3/publish_to_registry.sh deleted file mode 100644 index 6a6bfa2e52..0000000000 --- a/buildscripts/ci/backend/docker/mu3/publish_to_registry.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -echo "Publish Docker MuseScore" - -HERE="$(dirname ${BASH_SOURCE[0]})" -MU_VERSION="3.6.2.2270279339" -ACCESS_USER="igorkorsukov" # For test, should be replaced with muse-bot -ACCESS_TOKEN=$GITHUB_TOKEN - -while [[ "$#" -gt 0 ]]; do - case $1 in - -v|--version) MU_VERSION="$2"; shift ;; - -t|--token) ACCESS_TOKEN="$2"; shift ;; - -u|--user) ACCESS_USER="$2"; shift ;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac - shift -done - -if [ -z "$MU_VERSION" ]; then MU_VERSION=$(cat $ARTIFACTS_DIR/env/build_version.env); fi - -if [ -z "$MU_VERSION" ]; then echo "Error: Version not set"; exit 1; fi -if [ -z "$ACCESS_TOKEN" ]; then echo "Error: Token not set"; exit 1; fi -if [ -z "$ACCESS_USER" ]; then echo "Error: User not set"; exit 1; fi - -echo "Login Docker" -echo $ACCESS_TOKEN | docker login ghcr.io -u $ACCESS_USER --password-stdin - -echo "Push Docker" -docker push ghcr.io/musescore/converter_3:${MU_VERSION} - -echo "Done!!" - diff --git a/buildscripts/ci/backend/docker/mu3/setup.sh b/buildscripts/ci/backend/docker/mu3/setup.sh deleted file mode 100644 index 7ca0ae3df4..0000000000 --- a/buildscripts/ci/backend/docker/mu3/setup.sh +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# For maximum AppImage compatibility, build on the oldest Linux distribution -# that still receives security updates from its manufacturer. - -# DEPENDENCES -apt_packages_basic=( - file - software-properties-common - p7zip-full - ) - -apt_packages_standard=( - curl - libasound2-dev - libfontconfig1-dev - libfreetype6-dev - libfreetype6 - libgl1-mesa-dev - libjack-dev - libmp3lame-dev - libnss3-dev - libportmidi-dev - libpulse-dev - libsndfile1-dev - portaudio19-dev - wget - ) - -apt_packages_runtime=( - libcups2 - libdbus-1-3 - libegl1-mesa-dev - libodbc1 - libpq-dev - libxcomposite-dev - libxcursor-dev - libxi-dev - libxkbcommon-x11-0 - libxrandr2 - libxtst-dev - libdrm-dev - libxcb-icccm4 - libxcb-image0 - libxcb-keysyms1 - libxcb-randr0 - libxcb-render-util0 - libxcb-xinerama0 - xvfb - ) - -apt_packages_ffmpeg=( - ffmpeg - libavcodec-dev - libavformat-dev - libswscale-dev - ) - -apt-get update -apt-get install -y --no-install-recommends \ - "${apt_packages_basic[@]}" \ - "${apt_packages_standard[@]}" \ - "${apt_packages_runtime[@]}" \ - "${apt_packages_ffmpeg[@]}" - - -# DISTROS -HERE="$(cd "$(dirname "$0")" && pwd)" -bash $HERE/install_mu.sh diff --git a/buildscripts/ci/backend/docker/setup.sh b/buildscripts/ci/backend/docker/setup.sh deleted file mode 100644 index aa9ad16cd5..0000000000 --- a/buildscripts/ci/backend/docker/setup.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# For maximum AppImage compatibility, build on the oldest Linux distribution -# that still receives security updates from its manufacturer. - -# DEPENDENCES -apt_packages_basic=( - file - software-properties-common - p7zip-full - unzip - ) - -apt_packages_standard=( - curl - libasound2-dev - libfontconfig1-dev - libfreetype6-dev - libfreetype6 - libgl1-mesa-dev - libjack-dev - libmp3lame-dev - libnss3-dev - libportmidi-dev - libpulse-dev - libsndfile1-dev - portaudio19-dev - wget - ) - -apt_packages_runtime=( - libcups2 - libdbus-1-3 - libegl1-mesa-dev - libodbc1 - libpq-dev - libxcomposite-dev - libxcursor-dev - libxi-dev - libxkbcommon-x11-0 - libxrandr2 - libxtst-dev - libdrm-dev - libxcb-icccm4 - libxcb-image0 - libxcb-keysyms1 - libxcb-randr0 - libxcb-render-util0 - libxcb-xinerama0 - xvfb - ) - -apt_packages_ffmpeg=( - ffmpeg - libavcodec-dev - libavformat-dev - libswscale-dev - ) - -apt-get update -apt-get install -y --no-install-recommends \ - "${apt_packages_basic[@]}" \ - "${apt_packages_standard[@]}" \ - "${apt_packages_runtime[@]}" \ - "${apt_packages_ffmpeg[@]}" - -# DISTROS -HERE="$(cd "$(dirname "$0")" && pwd)" -bash $HERE/install_mu.sh - -# Google Fonts installation -TEMP_DIR=$(mktemp -d) -FONTS_DIR="$HOME/.local/share/fonts" - -echo "Downloading Google Fonts..." -ZIP_URL="https://github.com/google/fonts/archive/main.zip" -mkdir -p "$TEMP_DIR" -cd "$TEMP_DIR" -curl -L -o fonts.zip "$ZIP_URL" - -echo "Unpacking Google Fonts..." -unzip -q fonts.zip -cd fonts-main - -echo "Installing Google Fonts..." -mkdir -p "$FONTS_DIR" -find . -type f \( -iname "*.ttf" -o -iname "*.otf" \) -print0 | xargs -0 -r mv -n -t "$FONTS_DIR" - -echo "Installing Fonts Cache..." -fc-cache -f -v - -echo "Cleaning..." -rm -rf "$TEMP_DIR" diff --git a/buildscripts/ci/backend/package.sh b/buildscripts/ci/backend/package.sh deleted file mode 100644 index 55b01f77e8..0000000000 --- a/buildscripts/ci/backend/package.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -echo "Package MuseScore" -trap 'echo Package failed; exit 1' ERR - -df -h . - -BUILD_TOOLS=$HOME/build_tools -ARTIFACTS_DIR=build.artifacts -BUILD_MODE="" -BUILD_DIR=build.release -INSTALL_DIR="$(cat $BUILD_DIR/PREFIX.txt)" # MuseScore was installed here - -while [[ "$#" -gt 0 ]]; do - case $1 in - --build_mode) BUILD_MODE="$2"; shift ;; - -v|--version) BUILD_VERSION="$2"; shift ;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac - shift -done - -source $BUILD_TOOLS/environment.sh - -if [ -z "$BUILD_MODE" ]; then BUILD_MODE=$(cat $ARTIFACTS_DIR/env/build_mode.env); fi -if [ -z "$BUILD_VERSION" ]; then BUILD_VERSION=$(cat $ARTIFACTS_DIR/env/build_version.env); fi - -if [ -z "$BUILD_MODE" ]; then echo "error: not set BUILD_MODE"; exit 1; fi -if [ -z "$BUILD_VERSION" ]; then echo "error: not set BUILD_VERSION"; exit 1; fi - - -MAJOR_VERSION="${BUILD_VERSION%%.*}" - -echo "BUILD_MODE: $BUILD_MODE" -echo "BUILD_VERSION: $BUILD_VERSION" -echo "MAJOR_VERSION: $MAJOR_VERSION" -echo "INSTALL_DIR: $INSTALL_DIR" - -# Constants -HERE="$(cd "$(dirname "$0")" && pwd)" -ORIGIN_DIR=${PWD} -ROOT_DIR=${HERE}/../../.. - -APP_IMAGE_NAME=MuseScoreTemporary -ARTIFACT_NAME=MuseScore-${BUILD_VERSION} - -# Make AppImage -bash ./buildscripts/ci/linux/tools/make_appimage.sh "${INSTALL_DIR}" "${APP_IMAGE_NAME}.AppImage" -mv "${INSTALL_DIR}/../${APP_IMAGE_NAME}.AppImage" "${ARTIFACTS_DIR}/" - -cd $ARTIFACTS_DIR - -# Unpack AppImage -APP_DIR="./$ARTIFACT_NAME" -rm -rf "$APP_DIR" -rm -rf squashfs-root -chmod +x "${APP_IMAGE_NAME}.AppImage" -"./${APP_IMAGE_NAME}.AppImage" --appimage-extract - -mv squashfs-root "$APP_DIR" - -# Add run file -cp $HERE/convertor.in $APP_DIR/convertor -chmod 775 $APP_DIR/convertor - -# Pack to 7z -7z a "$ARTIFACT_NAME.7z" "$APP_DIR/*" -chmod a+rw "$ARTIFACT_NAME.7z" - -# Clean up -rm -f "${APP_IMAGE_NAME}.AppImage" -rm -rf $APP_DIR - -cd $ORIGIN_DIR - -bash ./buildscripts/ci/tools/make_artifact_name_env.sh "$ARTIFACT_NAME.7z" - -df -h . - -echo "Package has finished!" diff --git a/buildscripts/ci/backend/publish_to_registry.sh b/buildscripts/ci/backend/publish_to_registry.sh deleted file mode 100644 index 24a952cc65..0000000000 --- a/buildscripts/ci/backend/publish_to_registry.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -echo "Publish Docker MuseScore" - -ARTIFACTS_DIR=build.artifacts -MU_VERSION="" -ACCESS_USER="igorkorsukov" # For test, should be replaced with muse-bot -ACCESS_TOKEN=$GITHUB_TOKEN - -while [[ "$#" -gt 0 ]]; do - case $1 in - -v|--version) MU_VERSION="$2"; shift ;; - -t|--token) ACCESS_TOKEN="$2"; shift ;; - -u|--user) ACCESS_USER="$2"; shift ;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac - shift -done - -if [ -z "$MU_VERSION" ]; then MU_VERSION=$(cat $ARTIFACTS_DIR/env/build_version.env); fi - -if [ -z "$MU_VERSION" ]; then echo "Error: Version not set"; exit 1; fi -if [ -z "$ACCESS_TOKEN" ]; then echo "Error: Token not set"; exit 1; fi -if [ -z "$ACCESS_USER" ]; then echo "Error: User not set"; exit 1; fi - -echo "Login Docker" -echo $ACCESS_TOKEN | docker login ghcr.io -u $ACCESS_USER --password-stdin - -echo "Push Docker" -docker push ghcr.io/musescore/converter_4:${MU_VERSION} - -echo "Done!!" - diff --git a/buildscripts/ci/backend/publish_to_s3.sh b/buildscripts/ci/backend/publish_to_s3.sh deleted file mode 100755 index 69adb9c370..0000000000 --- a/buildscripts/ci/backend/publish_to_s3.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -S3_KEY="" -S3_SECRET="" -S3_URL="s3://convertor.musescore.org" -ARTIFACTS_DIR=build.artifacts -ARTIFACT_PATH="" - -while [[ "$#" -gt 0 ]]; do - case $1 in - --s3_key) S3_KEY="$2"; shift ;; - --s3_secret) S3_SECRET="$2"; shift ;; - --artifact) ARTIFACT_PATH="$2"; shift ;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac - shift -done - -bash ./buildscripts/ci/tools/s3_install.sh --s3_key ${S3_KEY} --s3_secret ${S3_SECRET} - -if [ -z "$ARTIFACT_PATH" ]; then - ARTIFACT_NAME=$(cat $ARTIFACTS_DIR/env/artifact_name.env) - ARTIFACT_PATH=$ARTIFACTS_DIR/$ARTIFACT_NAME -fi - -ARTIFACT_NAME=$(basename $ARTIFACT_PATH) - -echo "=== Publish to S3 ===" - -s3cmd put --acl-public --guess-mime-type "$ARTIFACT_PATH" "$S3_URL/$ARTIFACT_NAME" - -echo "=== Published successfully ===" diff --git a/buildscripts/ci/backend/setup.sh b/buildscripts/ci/backend/setup.sh deleted file mode 100644 index 60bccde9b0..0000000000 --- a/buildscripts/ci/backend/setup.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -HERE="$(cd "$(dirname "$0")" && pwd)" -bash $HERE/../linux/setup.sh diff --git a/buildscripts/ci/crashdumps/ci_files.cmake b/buildscripts/ci/crashdumps/ci_files.cmake index 477fa3d39a..a144d38888 100644 --- a/buildscripts/ci/crashdumps/ci_files.cmake +++ b/buildscripts/ci/crashdumps/ci_files.cmake @@ -13,7 +13,6 @@ set(CI_FILES win/dump_syms.7z linux/aarch64/dump_syms.7z - linux/armv7l/dump_syms.7z linux/x86-64/dump_syms.7z macos/dump_syms.7z ) diff --git a/buildscripts/ci/crashdumps/linux/armv7l/dump_syms.7z b/buildscripts/ci/crashdumps/linux/armv7l/dump_syms.7z deleted file mode 100644 index 773d7901fe..0000000000 Binary files a/buildscripts/ci/crashdumps/linux/armv7l/dump_syms.7z and /dev/null differ diff --git a/buildscripts/ci/linux/arm32/install_qt.sh b/buildscripts/ci/linux/arm32/install_qt.sh deleted file mode 100644 index 68af0000a8..0000000000 --- a/buildscripts/ci/linux/arm32/install_qt.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2025 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -echo "Install Qt" -trap 'echo Qt installation failed; exit 1' ERR - -BUILD_TOOLS=$HOME/build_tools -ENV_FILE=$BUILD_TOOLS/environment.sh - -# TODO: Update to Qt 6.10 -apt_packages_qt6=( - libqt6core5compat6-dev - libqt6networkauth6-dev - libqt6opengl6-dev - libqt6printsupport6 - libqt6qml6 - libqt6quick6 - libqt6quickcontrols2-6 - libqt6quicktemplates2-6 - libqt6quickwidgets6 - libqt6shadertools6-dev - libqt6svg6-dev - libqt6websockets6-dev - libqt6xml6 - qml6-module-* # installs all qml modules - qt6-base-dev - qt6-base-private-dev - qt6-declarative-dev - qt6-gtk-platformtheme - qt6-l10n-tools - qt6-scxml-dev - qt6-tools-dev - qt6-tools-dev-tools - qt6-wayland -) - -apt-get install -y --no-install-recommends \ - "${apt_packages_qt6[@]}" - -qt_dir="/usr/lib/arm-linux-gnueabihf/qt6" - -if [[ ! -d "${qt_dir}" ]]; then - echo "Qt directory not found: ${qt_dir}" - exit 1 -fi - -export QT_SELECT=qt6 -echo export QT_SELECT=qt6 >>${ENV_FILE} -echo export QT_ROOT_DIR="${qt_dir}" >>${ENV_FILE} -echo export QT_PLUGIN_PATH="${qt_dir}/plugins" >>${ENV_FILE} -echo export QML2_IMPORT_PATH="${qt_dir}/qml" >>${ENV_FILE} -# explicitly set QMAKE path for linuxdeploy-plugin-qt -echo export QMAKE="/usr/bin/qmake6" >>${ENV_FILE} - -echo export CFLAGS="-Wno-psabi" >>${ENV_FILE} -echo export CXXFLAGS="-Wno-psabi" >>${ENV_FILE} - -# https://askubuntu.com/questions/1460242/ubuntu-22-04-with-qt6-qmake-could-not-find-a-qt-installation-of -qtchooser -install qt6 $(which qmake6) diff --git a/buildscripts/ci/linux/arm32/run_lupdate.sh b/buildscripts/ci/linux/arm32/run_lupdate.sh deleted file mode 100644 index 3b91cea84c..0000000000 --- a/buildscripts/ci/linux/arm32/run_lupdate.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -BUILD_TOOLS=$HOME/build_tools -ENV_FILE=$BUILD_TOOLS/environment.sh - -source $ENV_FILE - -bash ./tools/translations/run_lupdate.sh $@ diff --git a/buildscripts/ci/linux/build.sh b/buildscripts/ci/linux/build.sh index a036bbddaa..df305b590a 100755 --- a/buildscripts/ci/linux/build.sh +++ b/buildscripts/ci/linux/build.sh @@ -69,7 +69,7 @@ cat $BUILD_TOOLS/environment.sh source $BUILD_TOOLS/environment.sh # disable update module due to current broken functionality -if [ "$PACKARCH" == "aarch64" ] || [ "$PACKARCH" == "armv7l" ]; then +if [ "$PACKARCH" == "aarch64" ]; then MUSESCORE_BUILD_UPDATE_MODULE="OFF" fi diff --git a/buildscripts/ci/linux/setup.sh b/buildscripts/ci/linux/setup.sh index c3cbd7f1c9..6cbf4e45fd 100644 --- a/buildscripts/ci/linux/setup.sh +++ b/buildscripts/ci/linux/setup.sh @@ -26,7 +26,7 @@ df -h . BUILD_TOOLS=$HOME/build_tools ENV_FILE=$BUILD_TOOLS/environment.sh -PACKARCH="x86_64" # x86_64, armv7l, aarch64, wasm +PACKARCH="x86_64" # x86_64, aarch64, wasm COMPILER="gcc" # gcc, clang EMSDK_VERSION="4.0.7" # for Qt 6.10 BUILD_PIPEWIRE=false @@ -48,7 +48,7 @@ rm -f $ENV_FILE echo "echo 'Setup build environment'" >> $ENV_FILE -if [[ "$PACKARCH" == "armv7l" ]]; then +if false; then # Use this when running in a Docker container SUDO="" export DEBIAN_FRONTEND="noninteractive" TZ="Europe/London" else @@ -144,14 +144,14 @@ else fi # CMake -if [[ "$PACKARCH" == "armv7l" ]]; then +if ! command -v cmake &>/dev/null; then $SUDO apt-get install -y --no-install-recommends cmake fi echo "cmake version" cmake --version # Ninja -if [[ "$PACKARCH" == "armv7l" ]]; then +if ! command -v ninja &>/dev/null; then $SUDO apt-get install -y --no-install-recommends ninja-build fi echo "ninja version" @@ -175,7 +175,7 @@ if [[ "$PACKARCH" == "wasm" ]]; then fi # Python3-pip -if [[ "$PACKARCH" == "armv7l" ]]; then +if ! command -v pip3 &>/dev/null; then $SUDO apt-get install -y --no-install-recommends python3-pip fi diff --git a/buildscripts/ci/linux/tools/make_appimage.sh b/buildscripts/ci/linux/tools/make_appimage.sh index 090ba29e29..3039da0faf 100644 --- a/buildscripts/ci/linux/tools/make_appimage.sh +++ b/buildscripts/ci/linux/tools/make_appimage.sh @@ -4,7 +4,7 @@ trap 'code=$?; echo "error: make_appimage.sh: command \`$BASH_COMMAND\` exited w INSTALL_DIR="$1" # MuseScore was installed here APPIMAGE_NAME="$2" # name for AppImage file (created outside $INSTALL_DIR) -PACKARCH="$3" # architecture (x86_64, aarch64, armv7l) +PACKARCH="$3" # architecture (x86_64, aarch64) if [ "$4" == "--build-pipewire" ]; then BUILD_PIPEWIRE=true @@ -16,8 +16,6 @@ if [ -z "$INSTALL_DIR" ]; then echo "error: not set INSTALL_DIR"; exit 1; fi if [ -z "$APPIMAGE_NAME" ]; then echo "error: not set APPIMAGE_NAME"; exit 1; fi if [ -z "$PACKARCH" ]; then PACKARCH="x86_64" -elif [ "$PACKARCH" == "armv7l" ]; then - PACKARCH="armhf" fi HERE="$(cd "$(dirname "$0")" && pwd)" @@ -30,11 +28,6 @@ mkdir -p $BUILD_TOOLS # INSTALL APPIMAGETOOL AND LINUXDEPLOY ########################################################################## -if [ "$PACKARCH" == "armhf" ]; then - # In a Docker container, AppImages cannot run normally because of problems with FUSE. - export APPIMAGE_EXTRACT_AND_RUN=1 -fi - function download_github_release() { local -r repo_slug="$1" release_tag="$2" file="$3" @@ -45,8 +38,6 @@ function download_github_release() fi echo "try download: ${url}" - - # use curl instead of wget which fails on armhf curl "${url}" -O -L chmod +x "${file}" echo "downloaded: ${file}" diff --git a/buildscripts/ci/release/correct_release_info.py b/buildscripts/ci/release/correct_release_info.py index a076580b4d..a48e865124 100644 --- a/buildscripts/ci/release/correct_release_info.py +++ b/buildscripts/ci/release/correct_release_info.py @@ -84,7 +84,7 @@ def eprint(*args, **kwargs): while i < len(release_assets): asset = release_assets[i] name = asset.get("name") - if ".AppImage" in name and ("aarch64" in name or "armv7l" in name): + if ".AppImage" in name and "aarch64" in name: release_new_assets.append(asset) del release_assets[i] else: diff --git a/buildscripts/ci/tools/osuosl/index.html b/buildscripts/ci/tools/osuosl/index.html deleted file mode 100644 index 805707ddcd..0000000000 --- a/buildscripts/ci/tools/osuosl/index.html +++ /dev/null @@ -1,71 +0,0 @@ - - - -Development builds for MuseScore - - - - - -
-

Development builds of MuseScore

-

-The development builds allow you to test the very latest developments, including new features and bug fixes. -The goal is to catch new bugs, crashes, and regressions before they reach the prerelease or stable versions. -For more information, see Comparison of stable, beta, and nightly versions. -You can report any regressions or bugs you find via Issues Tracker. -

-

-A development build can run side-by-side with other versions of MuseScore on the same computer. -If you change preferences in the nightly build, it does not affect your preferences in the prerelease or stable versions of MuseScore. -You can use the latest stable version of MuseScore from musescore.org. -

- -

MuseScore 3.x

- - - - - - - - - - - - - - - - - - - - -
WindowsLinuxmacOS
nightlynightlynightly
betabetabeta
-

MuseScore 4.x (master)

- - - - - - - - - - - - - - - - - - - - -
WindowsLinuxmacOS
nightlynightlynightly
betabetabeta
-
- - - diff --git a/buildscripts/ci/tools/osuosl/osuosl_nighlies_rsa.enc b/buildscripts/ci/tools/osuosl/osuosl_nighlies_rsa.enc deleted file mode 100644 index e47e991496..0000000000 Binary files a/buildscripts/ci/tools/osuosl/osuosl_nighlies_rsa.enc and /dev/null differ diff --git a/buildscripts/ci/tools/osuosl/publish.sh b/buildscripts/ci/tools/osuosl/publish.sh deleted file mode 100644 index ec162c6ed9..0000000000 --- a/buildscripts/ci/tools/osuosl/publish.sh +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -echo "Publish MuseScore" - -ARTIFACTS_DIR=build.artifacts - -while [[ "$#" -gt 0 ]]; do - case $1 in - -a|--artifact) ARTIFACT_NAME="$2"; shift ;; - -s|--secret) OSUOSL_SSH_ENCRYPT_SECRET="$2"; shift ;; - --os) OS="$2"; shift ;; - --arch) PACKARCH="$2"; shift ;; - -m|--mode) BUILD_MODE="$2"; shift ;; - -v|--version) BUILD_VERSION="$2"; shift ;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac - shift -done - -if [ -z "$ARTIFACT_NAME" ]; then ARTIFACT_NAME="$(cat $ARTIFACTS_DIR/env/artifact_name.env)"; fi -if [ -z "$BUILD_MODE" ]; then BUILD_MODE=$(cat $ARTIFACTS_DIR/env/build_mode.env); fi -if [ -z "$BUILD_VERSION" ]; then BUILD_VERSION=$(cat $ARTIFACTS_DIR/env/build_version.env); fi - -MAJOR_VERSION="${BUILD_VERSION%%.*}" - -if [ -z "$PACKARCH" ]; then PACKARCH="x86_64"; fi - -echo "ARTIFACT_NAME: $ARTIFACT_NAME" -echo "SECRET: $OSUOSL_SSH_ENCRYPT_SECRET" -echo "OS: $OS" -echo "PACKARCH: $PACKARCH" -echo "BUILD_MODE: $BUILD_MODE" -echo "BUILD_VERSION: $BUILD_VERSION" -echo "MAJOR_VERSION: $MAJOR_VERSION" - -OS_IS_VALID=0 -if [[ "$OS" == "linux" || "$OS" == "windows" || "$OS" == "macos" ]]; then OS_IS_VALID=1; fi -if [ "$OS_IS_VALID" == "0" ]; then echo "error: Not valid OS: $OS, allowed: 'linux', 'windows', 'macos'"; exit 1; fi - -BUILD_DIR="" -if [ "$BUILD_MODE" == "nightly" ]; then BUILD_DIR="nightly"; else -if [ "$BUILD_MODE" == "testing" ]; then BUILD_DIR="testing"; else -if [ "$BUILD_MODE" == "stable" ]; then BUILD_DIR="stable"; else -echo "error: Not valid BUILD_MODE: $BUILD_MODE, allowed: 'nightly', 'testing', 'stable'"; exit 1; -fi fi fi - -if [ -z "$ARTIFACT_NAME" ]; then echo "error: not set ARTIFACT_NAME"; exit 1; fi -if [ -z "$OSUOSL_SSH_ENCRYPT_SECRET" ]; then echo "error: not set OSUOSL_SSH_ENCRYPT_SECRET"; exit 1; fi - -7z x -y ./buildscripts/ci/tools/osuosl/osuosl_nighlies_rsa.enc -o./buildscripts/ci/tools/osuosl/ -p$OSUOSL_SSH_ENCRYPT_SECRET - -SSH_KEY=./buildscripts/ci/tools/osuosl/osuosl_nighlies_rsa - -#if [ "$OS" == "windows" ]; then -#Icacls $SSH_KEY -#Icacls $SSH_KEY /Inheritance:r -#Icacls $SSH_KEY /Grant:r "$(whoami)":'(R,W)' -#Icacls $SSH_KEY -#else -chmod 600 $SSH_KEY -#fi - -FTP_PATH=${OS}/${MAJOR_VERSION}x/${BUILD_DIR} - -if [ "$BUILD_MODE" == "nightly" ]; then - file_extension=$([[ "$ARTIFACT_NAME" == *.paf.exe ]] && echo "paf.exe" || echo "${ARTIFACT_NAME##*.}") - BUILD_BRANCH=$(cat $ARTIFACTS_DIR/env/build_branch.env) - LATEST_NAME="MuseScore-Studio-Nightly-latest-${BUILD_BRANCH}-${PACKARCH}.${file_extension}" -fi - -echo "Copy ${ARTIFACTS_DIR}/${ARTIFACT_NAME} to $FTP_PATH" -scp -oStrictHostKeyChecking=no -C -i $SSH_KEY $ARTIFACTS_DIR/$ARTIFACT_NAME musescore-nightlies@ftp-osl.osuosl.org:~/ftp/$FTP_PATH - -# For Linux, we also need to send a .zsync file, if exists -if [ "$OS" == "linux" ]; then - if [ -f "$ARTIFACTS_DIR/${ARTIFACT_NAME}.zsync" ]; then - echo "Copy ${ARTIFACTS_DIR}/${ARTIFACT_NAME}.zsync to $FTP_PATH" - scp -oStrictHostKeyChecking=no -C -i $SSH_KEY $ARTIFACTS_DIR/${ARTIFACT_NAME}.zsync musescore-nightlies@ftp-osl.osuosl.org:~/ftp/$FTP_PATH - if [ "$BUILD_MODE" == "stable" ]; then - : # Do nothing. zsync file is in the right place on OSUOSL, but don't forget to upload it to GitHub Releases with the AppImage. - elif [ "$BUILD_MODE" == "nightly" ]; then - # zsync file must be available at stable URL. We don't need historic versions of this file so overwrite previous 'latest' zsync. - ssh -i $SSH_KEY musescore-nightlies@ftp-osl.osuosl.org "cd ~/ftp/$FTP_PATH; mv -f ${ARTIFACT_NAME}.zsync ${LATEST_NAME}.zsync" - fi - fi -fi - -PUBLISH_URL=https://ftp.osuosl.org/pub/musescore-nightlies/$FTP_PATH -echo $PUBLISH_URL > $ARTIFACTS_DIR/env/publish_url.env -cat $ARTIFACTS_DIR/env/publish_url.env - -# Create link to latest -if [ "$BUILD_MODE" == "nightly" ]; then - echo "Create/update link to latest" - ssh -i $SSH_KEY musescore-nightlies@ftp-osl.osuosl.org "cd ~/ftp/$FTP_PATH; ln -sf $ARTIFACT_NAME $LATEST_NAME" -fi - -# Delete old files -if [ "$BUILD_MODE" == "nightly" ]; then - echo "Delete old MuseScore-Studio-Nightly files" - num_days=40 # keep old nightlies for this long - num_today=2 # today's build and latest symlink - num_branches=2 # master and release branch - num_variants=1 - if [ "$OS" == "windows" ]; then - num_variants=2 # portable and normal - elif [ "$OS" == "linux" ]; then - num_variants=3 # x86_64, aarch64, armv7l - ((num_today += 1)) # zsync file - fi - num_to_keep=$(((num_days + num_today) * num_branches * num_variants)) - start_line_num=$((num_to_keep + 1)) - ssh -i $SSH_KEY musescore-nightlies@ftp-osl.osuosl.org "cd ~/ftp/$FTP_PATH && ls -t MuseScore{-Studio-,}Nightly* | tail -n +${start_line_num} | xargs rm -f" -fi - -# Sending index.html -scp -oStrictHostKeyChecking=no -C -i $SSH_KEY ./buildscripts/ci/tools/osuosl/index.html musescore-nightlies@ftp-osl.osuosl.org:~/ftp/ - -# Trigger -ssh -o StrictHostKeyChecking=no -i $SSH_KEY musescore-nightlies@ftp-osl.osuosl.org "~/trigger-musescore-nightlies" diff --git a/buildscripts/ci/vtests/build_and_pack.sh b/buildscripts/ci/vtests/build_and_pack.sh deleted file mode 100644 index f7b25713e9..0000000000 --- a/buildscripts/ci/vtests/build_and_pack.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -trap 'echo Build failed; exit 1' ERR - -BUILD_TOOLS=$HOME/build_tools -ARTIFACTS_DIR=build.artifacts -BUILD_DIR=build.debug -INSTALL_DIR=build.install - -cat $BUILD_TOOLS/environment.sh -source $BUILD_TOOLS/environment.sh - -# =========== Build ======================= - -bash ./buildscripts/ci/tools/make_build_mode_env.sh -m devel -bash ./buildscripts/ci/tools/make_build_number.sh -BUILD_MODE=$(cat ./$ARTIFACTS_DIR/env/build_mode.env) -BUILD_NUMBER=$(cat ./$ARTIFACTS_DIR/env/build_number.env) -MUSESCORE_REVISION=$(git rev-parse --short=7 HEAD) - -bash ninja_build.sh -t clean - -MUSESCORE_BUILD_CONFIGURATION="vtest" \ -MUSESCORE_REVISION=$MUSESCORE_REVISION \ -bash ninja_build.sh -t appimagedebug - -bash ./buildscripts/ci/tools/make_release_channel_env.sh -c $BUILD_MODE -bash ./buildscripts/ci/tools/make_version_env.sh $BUILD_NUMBER -bash ./buildscripts/ci/tools/make_revision_env.sh $MUSESCORE_REVISION -bash ./buildscripts/ci/tools/make_branch_env.sh - -# =========== Pack ========================== - -INSTALL_DIR="$(cat $BUILD_DIR/PREFIX.txt)" # MuseScore was installed here -APP_IMAGE_NAME=MuseScore-Studio-vtest - -# Make AppImage -bash ./buildscripts/ci/linux/tools/make_appimage.sh "${INSTALL_DIR}" "${APP_IMAGE_NAME}.AppImage" -mv "${INSTALL_DIR}/../${APP_IMAGE_NAME}.AppImage" "${ARTIFACTS_DIR}/" diff --git a/buildscripts/ci/vtests/generate_pngs.sh b/buildscripts/ci/vtests/generate_pngs.sh deleted file mode 100755 index d063b6ca9f..0000000000 --- a/buildscripts/ci/vtests/generate_pngs.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-only -# MuseScore-Studio-CLA-applies -# -# MuseScore Studio -# Music Composition & Notation -# -# Copyright (C) 2021 MuseScore Limited and others -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -trap 'echo Generate PNGs failed; exit 1' ERR - -sudo apt-get install libegl1 libfuse2 -y -export QT_QPA_PLATFORM=offscreen -export MU_QT_QPA_PLATFORM=offscreen - -REF_BIN=./musescore_reference/MuseScore-Studio-vtest.AppImage -chmod +x $REF_BIN - -echo reference version: -$REF_BIN --long-version - -CUR_BIN=./musescore_current/MuseScore-Studio-vtest.AppImage -chmod +x $CUR_BIN - -echo current version: -$CUR_BIN --long-version - -echo ======================= -echo ==== Generate PNGs ==== -echo ======================= - -echo Generate reference pngs: -./vtest/vtest-generate-pngs.sh -o ./reference_pngs -m $REF_BIN -./vtest/vtest-generate-pngs.sh -o ./reference_pngs_small -m $REF_BIN -s ./vtest/scores_small -d 460 -S ./vtest/small.mss -./vtest/vtest-generate-pngs.sh -o ./reference_pngs_gp_small -m $REF_BIN -s ./vtest/gp_small -d 460 -S ./vtest/small.mss --gp-linked - -echo Generate current pngs: -./vtest/vtest-generate-pngs.sh -o ./current_pngs -m $CUR_BIN -./vtest/vtest-generate-pngs.sh -o ./current_pngs_small -m $CUR_BIN -s ./vtest/scores_small -d 460 -S ./vtest/small.mss -./vtest/vtest-generate-pngs.sh -o ./current_pngs_gp_small -m $CUR_BIN -s ./vtest/gp_small -d 460 -S ./vtest/small.mss --gp-linked diff --git a/buildscripts/ci/vtests/run.in b/buildscripts/ci/vtests/run.in deleted file mode 100644 index 63ac806544..0000000000 --- a/buildscripts/ci/vtests/run.in +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -HERE="$(cd "$(dirname "$(readlink -f "$0")")" && pwd)" - -export XDG_RUNTIME_DIR=/tmp/runtime-root -export QT_QPA_PLATFORM=offscreen -export MU_QT_QPA_PLATFORM=offscreen - -exec "$HERE/bin/mscore4portable"* "$@" diff --git a/buildscripts/cmake/FindFFmpeg.cmake b/buildscripts/cmake/FindFFmpeg.cmake deleted file mode 100644 index 73f882862f..0000000000 --- a/buildscripts/cmake/FindFFmpeg.cmake +++ /dev/null @@ -1,151 +0,0 @@ -# vim: ts=2 sw=2 -# - Try to find the required ffmpeg components(default: AVFORMAT, AVUTIL, AVCODEC) -# -# Once done this will define -# FFMPEG_FOUND - System has the all required components. -# FFMPEG_INCLUDE_DIRS - Include directory necessary for using the required components headers. -# FFMPEG_LIBRARIES - Link these to use the required ffmpeg components. -# FFMPEG_DEFINITIONS - Compiler switches required for using the required ffmpeg components. -# -# For each of the components it will additionally set. -# - AVCODEC -# - AVDEVICE -# - AVFORMAT -# - AVFILTER -# - AVUTIL -# - POSTPROC -# - SWSCALE -# the following variables will be defined -# _FOUND - System has -# _INCLUDE_DIRS - Include directory necessary for using the headers -# _LIBRARIES - Link these to use -# _DEFINITIONS - Compiler switches required for using -# _VERSION - The components version -# -# Copyright (c) 2006, Matthias Kretz, -# Copyright (c) 2008, Alexander Neundorf, -# Copyright (c) 2011, Michael Jansen, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -include(FindPackageHandleStandardArgs) - -# The default components were taken from a survey over other FindFFMPEG.cmake files -if (NOT FFmpeg_FIND_COMPONENTS) - set(FFmpeg_FIND_COMPONENTS AVCODEC AVFORMAT AVUTIL SWSCALE) -endif () - -# -### Macro: set_component_found -# -# Marks the given component as found if both *_LIBRARIES AND *_INCLUDE_DIRS is present. -# -macro(set_component_found _component ) - if (${_component}_LIBRARIES AND ${_component}_INCLUDE_DIRS) - # message(STATUS " - ${_component} found.") - set(${_component}_FOUND TRUE) - else () - # message(STATUS " - ${_component} not found.") - endif () -endmacro() - -# -### Macro: find_component -# -# Checks for the given component by invoking pkgconfig and then looking up the libraries and -# include directories. -# -macro(find_component _component _pkgconfig _library _header) - - if (NOT WIN32) - # use pkg-config to get the directories and then use these values - # in the FIND_PATH() and FIND_LIBRARY() calls - find_package(PkgConfig) - if (PKG_CONFIG_FOUND) - pkg_check_modules(PC_${_component} ${_pkgconfig}) - endif () - endif (NOT WIN32) - - find_path(${_component}_INCLUDE_DIRS ${_header} - HINTS - ${PC_${_component}_INCLUDEDIR} - ${PC_${_component}_INCLUDE_DIRS} - PATH_SUFFIXES - ffmpeg - ) - - find_library(${_component}_LIBRARIES NAMES ${_library} - HINTS - ${PC_${_component}_LIBDIR} - ${PC_${_component}_LIBRARY_DIRS} - ) - - set(${_component}_DEFINITIONS ${PC_${_component}_CFLAGS_OTHER} CACHE STRING "The ${_component} CFLAGS.") - set(${_component}_VERSION ${PC_${_component}_VERSION} CACHE STRING "The ${_component} version number.") - - set_component_found(${_component}) - - mark_as_advanced( - ${_component}_INCLUDE_DIRS - ${_component}_LIBRARIES - ${_component}_DEFINITIONS - ${_component}_VERSION) - -endmacro() - - -# Check for cached results. If there are skip the costly part. -if (NOT FFMPEG_LIBRARIES) - - # Check for all possible component. - find_component(AVCODEC libavcodec avcodec libavcodec/avcodec.h) - find_component(AVFORMAT libavformat avformat libavformat/avformat.h) - find_component(AVDEVICE libavdevice avdevice libavdevice/avdevice.h) - find_component(AVUTIL libavutil avutil libavutil/avutil.h) - find_component(AVFILTER libavfilter avfilter libavfilter/avfilter.h) - find_component(SWSCALE libswscale swscale libswscale/swscale.h) - find_component(POSTPROC libpostproc postproc libpostproc/postprocess.h) - find_component(SWRESAMPLE libswresample swresample libswresample/swresample.h) - - # Check if the required components were found and add their stuff to the FFMPEG_* vars. - foreach (_component ${FFmpeg_FIND_COMPONENTS}) - if (${_component}_FOUND) - # message(STATUS "Required component ${_component} present.") - set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} ${${_component}_LIBRARIES}) - set(FFMPEG_DEFINITIONS ${FFMPEG_DEFINITIONS} ${${_component}_DEFINITIONS}) - list(APPEND FFMPEG_INCLUDE_DIRS ${${_component}_INCLUDE_DIRS}) - else () - # message(STATUS "Required component ${_component} missing.") - endif () - endforeach () - - # Build the include path with duplicates removed. - if (FFMPEG_INCLUDE_DIRS) - list(REMOVE_DUPLICATES FFMPEG_INCLUDE_DIRS) - endif () - - # cache the vars. - set(FFMPEG_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIRS} CACHE STRING "The FFmpeg include directories." FORCE) - set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} CACHE STRING "The FFmpeg libraries." FORCE) - set(FFMPEG_DEFINITIONS ${FFMPEG_DEFINITIONS} CACHE STRING "The FFmpeg cflags." FORCE) - - mark_as_advanced(FFMPEG_INCLUDE_DIRS - FFMPEG_LIBRARIES - FFMPEG_DEFINITIONS) - -endif () - -# Now set the noncached _FOUND vars for the components. -foreach (_component AVCODEC AVDEVICE AVFORMAT AVUTIL SWSCALE POSTPROCESS) - set_component_found(${_component}) -endforeach () - -# Compile the list of required vars -set(_FFmpeg_REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIRS) -foreach (_component ${FFmpeg_FIND_COMPONENTS}) - list(APPEND _FFmpeg_REQUIRED_VARS ${_component}_LIBRARIES ${_component}_INCLUDE_DIRS) -endforeach () - -# Give a nice error message if some of the required vars are missing. -find_package_handle_standard_args(FFmpeg DEFAULT_MSG ${_FFmpeg_REQUIRED_VARS}) diff --git a/buildscripts/cmake/SetupSndFile.cmake b/buildscripts/cmake/SetupSndFile.cmake deleted file mode 100644 index a0e58e10a3..0000000000 --- a/buildscripts/cmake/SetupSndFile.cmake +++ /dev/null @@ -1,107 +0,0 @@ -include(GetPlatformInfo) - -if (OS_IS_WIN AND (NOT MINGW)) - find_path(SNDFILE_INCDIR sndfile.h PATHS ${DEPENDENCIES_INC};) - set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib") - find_library(SNDFILE_LIB NAMES sndfile libsndfile-1 PATHS ${DEPENDENCIES_LIB_DIR} NO_DEFAULT_PATH) - set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll") - find_library(SNDFILE_DLL NAMES sndfile libsndfile-1 PATHS ${DEPENDENCIES_LIB_DIR} NO_DEFAULT_PATH) - message(STATUS "Found sndfile DLL: ${SNDFILE_DLL}") - -elseif (OS_IS_WASM) - set(LIBSND_PATH "" CACHE PATH "Path to libsnd sources") - set(LIBOGG_PATH "" CACHE PATH "Path to libogg sources") - set(LIBVORBIS_PATH "" CACHE PATH "Path to libogg sources") - set(SNDFILE_INCDIR LIBSND_PATH) - - muse_create_thirdparty_module(sndfile) - - target_sources(sndfile PRIVATE - ${LIBSND_PATH}/sndfile.c - ${LIBSND_PATH}/sndfile.hh - ${LIBSND_PATH}/command.c - ${LIBSND_PATH}/common.c - ${LIBSND_PATH}/common.h - ${LIBSND_PATH}/au.c - ${LIBSND_PATH}/caf.c - ${LIBSND_PATH}/file_io.c - ${LIBSND_PATH}/ogg.c - ${LIBSND_PATH}/ogg_vorbis.c - - #ogg - ${LIBOGG_PATH}/include/ogg/ogg.h - ${LIBOGG_PATH}/include/ogg/os_types.h - ${LIBOGG_PATH}/src/bitwise.c - ${LIBOGG_PATH}/src/framing.c - - #vorbis - ${LIBVORBIS_PATH}/lib/vorbisenc.c - ${LIBVORBIS_PATH}/lib/info.c - ${LIBVORBIS_PATH}/lib/analysis.c - ${LIBVORBIS_PATH}/lib/bitrate.c - ${LIBVORBIS_PATH}/lib/block.c - ${LIBVORBIS_PATH}/lib/codebook.c - ${LIBVORBIS_PATH}/lib/envelope.c - ${LIBVORBIS_PATH}/lib/floor0.c - ${LIBVORBIS_PATH}/lib/floor1.c - ${LIBVORBIS_PATH}/lib/lookup.c - ${LIBVORBIS_PATH}/lib/lpc.c - ${LIBVORBIS_PATH}/lib/lsp.c - ${LIBVORBIS_PATH}/lib/mapping0.c - ${LIBVORBIS_PATH}/lib/mdct.c - ${LIBVORBIS_PATH}/lib/psy.c - ${LIBVORBIS_PATH}/lib/registry.c - ${LIBVORBIS_PATH}/lib/res0.c - ${LIBVORBIS_PATH}/lib/sharedbook.c - ${LIBVORBIS_PATH}/lib/smallft.c - ${LIBVORBIS_PATH}/lib/vorbisfile.c - ${LIBVORBIS_PATH}/lib/window.c - ${LIBVORBIS_PATH}/lib/synthesis.c - ) - - target_include_directories(sndfile PRIVATE - ${LIBSND_PATH} - ${LIBOGG_PATH}/include - ${LIBVORBIS_PATH}/include - ${LIBVORBIS_PATH}/lib - ) - -else() - find_package(SndFile) - - if (SNDFILE_FOUND) - set(SNDFILE_LIB ${SNDFILE_LIBRARY}) - set(SNDFILE_INCDIR ${SNDFILE_INCLUDE_DIR}) - else() - # Use pkg-config to get hints about paths - find_package(PkgConfig) - if(PKG_CONFIG_FOUND) - pkg_check_modules(LIBSNDFILE_PKGCONF sndfile>=1.0.25 QUIET) - endif() - - # Include dir - find_path(LIBSNDFILE_INCLUDE_DIR - NAMES sndfile.h - PATHS ${LIBSNDFILE_PKGCONF_INCLUDEDIR} - NO_DEFAULT_PATH - ) - - # Library - find_library(LIBSNDFILE_LIBRARY - NAMES sndfile libsndfile-1 - PATHS ${LIBSNDFILE_PKGCONF_LIBDIR} - NO_DEFAULT_PATH - ) - - if (LIBSNDFILE_LIBRARY) - set(SNDFILE_LIB ${LIBSNDFILE_LIBRARY}) - set(SNDFILE_INCDIR ${LIBSNDFILE_INCLUDE_DIR}) - endif() - endif() -endif() - -if (SNDFILE_INCDIR) - message(STATUS "Found sndfile: ${SNDFILE_LIB} ${SNDFILE_INCDIR}") -else () - message(FATAL_ERROR "Could not find: sndfile") -endif () diff --git a/framework/diagnostics/CMakeLists.txt b/framework/diagnostics/CMakeLists.txt index 4226af1ce5..d69fe8f4b4 100644 --- a/framework/diagnostics/CMakeLists.txt +++ b/framework/diagnostics/CMakeLists.txt @@ -80,9 +80,7 @@ if (MUSE_MODULE_DIAGNOSTICS_CRASHPAD_CLIENT) set(CPAD_ROOT_PATH ${CMAKE_CURRENT_LIST_DIR}/crashpad_handler) if (OS_IS_LIN) if (NOT MUSE_MODULE_DIAGNOSTICS_CRASHPAD_HANDLER_PATH) - if (ARCH_IS_ARMV7L) - set(MUSE_MODULE_DIAGNOSTICS_CRASHPAD_HANDLER_PATH ${CPAD_ROOT_PATH}/linux/armv7l/crashpad_handler) - elseif (ARCH_IS_AARCH64) + if (ARCH_IS_AARCH64) set(MUSE_MODULE_DIAGNOSTICS_CRASHPAD_HANDLER_PATH ${CPAD_ROOT_PATH}/linux/aarch64/crashpad_handler) elseif (ARCH_IS_X86_64) set(MUSE_MODULE_DIAGNOSTICS_CRASHPAD_HANDLER_PATH ${CPAD_ROOT_PATH}/linux/x86-64/crashpad_handler)