diff options
Diffstat (limited to 'multimedia/MuseScore/MuseScore.SlackBuild')
-rw-r--r-- | multimedia/MuseScore/MuseScore.SlackBuild | 120 |
1 files changed, 87 insertions, 33 deletions
diff --git a/multimedia/MuseScore/MuseScore.SlackBuild b/multimedia/MuseScore/MuseScore.SlackBuild index 051026c944..7ab0fb1ebc 100644 --- a/multimedia/MuseScore/MuseScore.SlackBuild +++ b/multimedia/MuseScore/MuseScore.SlackBuild @@ -1,11 +1,36 @@ -#!/bin/sh +#!/bin/bash + # Slackware build script for MuseScore -# Maintained by Klaatu at member.fsf dot org + +# Copyright 2024 Antonio Leal, Porto Salvo, Oeiras, Portugal +# Copyright 2022-2023 Klaatu <klaatu@member.fsf.org> | Lawrence NZ +# Thanks to Tim Dickson +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) PRGNAM=MuseScore -VERSION=${VERSION:-3.2} -BUILD=${BUILD:-1} +VERSION=${VERSION:-4.2.1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -15,7 +40,11 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} @@ -35,51 +64,76 @@ else fi set -e - rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz + +tar xvfz $CWD/$PRGNAM-$VERSION.tar.gz + cd $PRGNAM-$VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ + -o -perm 511 \) -exec chmod 755 {} \+ -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -# Copy over sound files for installation. -cp $CWD/MuseScore_General_License.md share/sound -cp $CWD/MuseScore_General.sf3 share/sound - -# Turn off Qt crash reporter. Option isn't available in Makefile, -# so turn it off in CMakeLists.txt -sed -i '/(BUILD_CRASH_REPORTER/s|ON)|OFF)|' CMakeLists.txt -sed -i 's|share/man|man|' CMakeLists.txt -#musescore doesn't like to build with webengine with qt4 installed -#because the qmake finder finds the qt4 version. lets patch this -sed -i 's/qmake)/qmake-qt5)/g' build/FindQt5.cmake -make release \ - PREFIX=/usr \ - CFLAGS="$SLKCFLAGS" \ - CXXFLAGS="$SLKCFLAGS" \ - LDFLAGS="-pthread" \ - DOWNLOAD_SOUNDFONT=OFF \ - USE_SYSTEM_FREETYPE=ON \ - BUILD_WEBENGINE=ON \ - VERBOSE=1 + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ + +mkdir b +cd b +cmake .. \ + -DCMAKE_INSTALL_PREFIX=/opt/MuseScore \ + -DCMAKE_C_FLAGS_RELEASE="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS_RELEASE="$SLKCFLAGS" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_MODULE_LINKER_FLAGS_RELEASE="-pthread" \ + -DQMAKE=/usr/lib"${LIBDIRSUFFIX}"/qt5/bin/qmake \ + -DQT_QMAKE_EXECUTABLE=/usr/lib"${LIBDIRSUFFIX}"/qt5/bin/qmake + make install \ - -C build.release \ DESTDIR=$PKG \ UPDATE_CACHE=FALSE + +cd .. + +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true +find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true + +mkdir -p $PKG/usr/share/icons +mv $PKG/opt/MuseScore/share/icons/hicolor $PKG/usr/share/icons/ +rm -rf $PKG/opt/MuseScore/share/icons + +mkdir -p $PKG/usr/share/applications +cp $CWD/MuseScore.desktop $PKG/usr/share/applications/ +rm -rf $PKG/opt/MuseScore/share/applications + +mkdir -p $PKG/usr/man/man1 +mv $PKG/opt/MuseScore/share/man/man1/mscore.1.gz $PKG/usr/man/man1/ find $PKG/usr/man -type f -exec gzip -9 {} \; +rm -rf $PKG/opt/MuseScore/share/man + +mv $PKG/opt/MuseScore/share/metainfo $PKG/usr/share/ + +mv $PKG/opt/MuseScore/share/mime $PKG/usr/share/ + +mkdir -p $PKG/opt/MuseScore/share/demos +cp -avxu demos/*.msc? $PKG/opt/MuseScore/share/demos + +mkdir -p $PKG/usr/bin +( cd $PKG/usr/bin ; rm -rf mscore ) +( cd $PKG/usr/bin ; ln -sf ../../opt/MuseScore/bin/mscore mscore ) +( cd $PKG/usr/bin ; rm -rf MuseScore ) +( cd $PKG/usr/bin ; ln -sf ../../opt/MuseScore/bin/mscore MuseScore ) mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a LICENSE.* README.md $PKG/usr/doc/$PRGNAM-$VERSION +cp doc/* $PKG/usr/doc/$PRGNAM-$VERSION +cp LICENSE.txt $PKG/usr/doc/$PRGNAM-$VERSION +cp README.md $PKG/usr/doc/$PRGNAM-$VERSION +cp CONTRIBUTING.md $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install @@ -87,4 +141,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE |