diff options
author | Eric Hameleers <alien@slackware.com> | 2019-03-15 13:50:31 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2019-03-15 13:50:31 +0000 |
commit | 118b5cefb549f010f1e0d019dde57c49b7ffa049 (patch) | |
tree | e65a4216d758b193c6fe2195df5385d1be2ac047 | |
parent | 31e1e5e98ed32113e750c55e87d2fe80682f09f1 (diff) | |
download | asb-118b5cefb549f010f1e0d019dde57c49b7ffa049.tar.gz asb-118b5cefb549f010f1e0d019dde57c49b7ffa049.tar.xz |
Initial revision
-rw-r--r-- | drumstick/build/patches/drumstick_mandir.patch | 10 | ||||
-rwxr-xr-x | lsp-plugins/build/lsp-plugins.SlackBuild | 199 | ||||
-rw-r--r-- | lsp-plugins/build/slack-desc | 19 | ||||
-rw-r--r-- | lsp-plugins/build/slack-required | 3 | ||||
-rwxr-xr-x | musescore/build/musescore.SlackBuild | 250 | ||||
-rw-r--r-- | musescore/build/slack-desc | 19 | ||||
-rw-r--r-- | musescore/build/slack-required | 4 | ||||
-rw-r--r-- | portmidi/build/patches/portmidi-217_buildfix.patch | 29 | ||||
-rw-r--r-- | portmidi/build/patches/portmidi-217_installfix.patch | 56 | ||||
-rw-r--r-- | portmidi/build/slack-desc | 19 | ||||
-rw-r--r-- | portmidi/build/slack-required | 1 | ||||
-rwxr-xr-x | qsynth/build/qsynth.SlackBuild | 229 | ||||
-rw-r--r-- | qsynth/build/slack-desc | 19 | ||||
-rw-r--r-- | qsynth/build/slack-required | 2 |
14 files changed, 859 insertions, 0 deletions
diff --git a/drumstick/build/patches/drumstick_mandir.patch b/drumstick/build/patches/drumstick_mandir.patch new file mode 100644 index 00000000..9856137f --- /dev/null +++ b/drumstick/build/patches/drumstick_mandir.patch @@ -0,0 +1,10 @@ +diff -uar drumstick-1.1.2.orig/cmake_admin/CreateManpages.cmake drumstick-1.1.2/cmake_admin/CreateManpages.cmake +--- drumstick-1.1.2.orig/cmake_admin/CreateManpages.cmake 2018-11-25 17:14:18.000000000 +0100 ++++ drumstick-1.1.2/cmake_admin/CreateManpages.cmake 2019-01-16 12:17:28.689757125 +0100 +@@ -31,5 +31,5 @@ + ENDFOREACH (it) + ADD_CUSTOM_TARGET(manpages ALL DEPENDS ${outfiles}) + INSTALL ( FILES ${outfiles} +- DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/man/man1" ) ++ DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" ) + ENDMACRO(CREATE_MANPAGES) diff --git a/lsp-plugins/build/lsp-plugins.SlackBuild b/lsp-plugins/build/lsp-plugins.SlackBuild new file mode 100755 index 00000000..6d44326a --- /dev/null +++ b/lsp-plugins/build/lsp-plugins.SlackBuild @@ -0,0 +1,199 @@ +#!/bin/sh +# $Id$ +# Copyright 2019 Eric Hameleers, EIndhoven, NL +# All rights reserved. +# +# Permission to use, copy, modify, and distribute this software for +# any purpose with or without fee is hereby granted, provided that +# the above copyright notice and this permission notice appear in all +# copies. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR +# CONTRIBUTORS 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. +# ----------------------------------------------------------------------------- +# +# Slackware SlackBuild script +# =========================== +# By: Eric Hameleers <alien@slackware.com> +# For: lsp-plugins +# Descr: Linux Studio Plugins +# URL: https://lsp-plug.in/ +# Build needs: +# Needs: jack2, ladspa, lv2 +# Changelog: +# 1.1.5-1: 11/Mar/2019 by Eric Hameleers <alien@slackware.com> +# * Initial build. +# +# Run 'sh lsp-plugins.SlackBuild' to build a Slackware package. +# The package (.t?z) and .txt file as well as build logs are created in /tmp . +# Install the package using 'installpkg' or 'upgradepkg --install-new'. +# +# ----------------------------------------------------------------------------- + +PRGNAM=lsp-plugins +VERSION=${VERSION:-1.1.5} +BUILD=${BUILD:-1} +NUMJOBS=${NUMJOBS:-" -j$(nproc) "} +TAG=${TAG:-alien} + +DOCS="*.txt" + +# Where do we look for sources? +SRCDIR=$(cd $(dirname $0); pwd) + +# Place to build (TMP) package (PKG) and output (OUTPUT) the program: +TMP=${TMP:-/tmp/build} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.tar.gz" +SRCURL="https://github.com/sadko4u/${PRGNAM}/archive/${PRGNAM}-${VERSION}.tar.gz" + +## +## --- with a little luck, you won't have to edit below this point --- ## +## + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi +# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX: +case "$ARCH" in + i?86) SLKCFLAGS="-O2 -march=${ARCH} -mtune=i686" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + x86_64) SLKCFLAGS="-O2 -fPIC" + SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" + ;; + armv7hl) SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + *) SLKCFLAGS=${SLKCFLAGS:-"-O2"} + SLKLDFLAGS=${SLKLDFLAGS:-""}; LIBDIRSUFFIX=${LIBDIRSUFFIX:-""} + ;; +esac + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +# Exit the script on errors: +set -e +trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR +# Catch unitialized variables: +set -u +P1=${1:-1} + +# Save old umask and set to 0022: +_UMASK_=$(umask) +umask 0022 + +# Create working directories: +mkdir -p $OUTPUT # place for the package to be saved +mkdir -p $TMP/tmp-$PRGNAM # location to build the source +mkdir -p $PKG # place for the package to be built +rm -rf $PKG/* # always erase old package's contents +rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build +rm -rf $OUTPUT/{checkout,configure,make,install,error,makepkg,patch}-$PRGNAM.log + # remove old log files + +# Source file availability: +if ! [ -f ${SOURCE} ]; then + echo "Source '$(basename ${SOURCE})' not available yet..." + # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT + [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)" + if [ -f ${SOURCE} ]; then echo "Ah, found it!"; continue; fi + if ! [ "x${SRCURL}" == "x" ]; then + echo "Will download file to $(dirname $SOURCE)" + wget --no-check-certificate -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true + if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then + echo "Downloading '$(basename ${SOURCE})' failed... aborting the build." + mv -f "${SOURCE}" "${SOURCE}".FAIL + exit 1 + fi + else + echo "File '$(basename ${SOURCE})' not available... aborting the build." + exit 1 + fi +fi + +if [ "$P1" == "--download" ]; then + echo "Download complete." + exit 0 +fi + +# --- PACKAGE BUILDING --- + +echo "++" +echo "|| $PRGNAM-$VERSION" +echo "++" + +cd $TMP/tmp-$PRGNAM +echo "Extracting the source archive(s) for $PRGNAM..." +tar -xvf ${SOURCE} +cd ${PRGNAM}*-${VERSION} + +# Remove /usr/local/lib from library path: +sed -i scripts/make/configure.mk \ + -e '/LD_PATH/ s,:/usr/local/lib,,g' + +chown -R root:root . +chmod -R u+w,go+r-w,a+rX-st . + +echo Building ... +export LDFLAGS="$SLKLDFLAGS" +export CXXFLAGS="$SLKCFLAGS" +export CFLAGS="$SLKCFLAGS" +make $NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}.log +make install \ + BIN_PATH=/usr/bin \ + LIB_PATH=/usr/lib${LIBDIRSUFFIX} \ + DOC_PATH=/usr/doc/$PRGNAM-$VERSION \ + DESTDIR=$PKG \ + 2>&1 | tee $OUTPUT/install-${PRGNAM}.log + +# Add documentation: +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true +cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION +find $PKG/usr/doc -type f -exec chmod 644 {} \; + +# Strip binaries (if any): +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Add a package description: +mkdir -p $PKG/install +cat $SRCDIR/slack-desc > $PKG/install/slack-desc +cat $SRCDIR/slack-required > $PKG/install/slack-required + +# Build the package: +cd $PKG +makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log +cd $OUTPUT +md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}.md5 +cd - +cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt +cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep + +# Restore the original umask: +umask ${_UMASK_} + diff --git a/lsp-plugins/build/slack-desc b/lsp-plugins/build/slack-desc new file mode 100644 index 00000000..254e428f --- /dev/null +++ b/lsp-plugins/build/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +lsp-plugins: lsp-plugins (Linux Studio Plugins) +lsp-plugins: +lsp-plugins: LSP (Linux Studio Plugins) is a collection of open-source plugins +lsp-plugins: currently compatible with LADSPA, LV2, LinuxVST and also acts as +lsp-plugins: a standalone JACK host with GUI. +lsp-plugins: The basic idea is to fill the lack of good and useful plugins under +lsp-plugins: the GNU/Linux platform. +lsp-plugins: +lsp-plugins: +lsp-plugins: See also: https://lsp-plug.in/ +lsp-plugins: diff --git a/lsp-plugins/build/slack-required b/lsp-plugins/build/slack-required new file mode 100644 index 00000000..43e979fe --- /dev/null +++ b/lsp-plugins/build/slack-required @@ -0,0 +1,3 @@ +jack2 +ladspa +lv2 diff --git a/musescore/build/musescore.SlackBuild b/musescore/build/musescore.SlackBuild new file mode 100755 index 00000000..6a5adb4c --- /dev/null +++ b/musescore/build/musescore.SlackBuild @@ -0,0 +1,250 @@ +#!/bin/sh +# $Id$ +# Copyright 2019 Eric Hameleers, Eindhoven, NL +# All rights reserved. +# +# Permission to use, copy, modify, and distribute this software for +# any purpose with or without fee is hereby granted, provided that +# the above copyright notice and this permission notice appear in all +# copies. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR +# CONTRIBUTORS 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. +# ----------------------------------------------------------------------------- +# +# Slackware SlackBuild script +# =========================== +# By: Eric Hameleers <alien@slackware.com> +# For: musescore +# Descr: music notation software +# URL: https://musescore.org/ +# Build needs: +# Needs: portaudio, portmidi, qt5 +# Changelog: +# 3.0.5-1: 12/Mar/2019 by Eric Hameleers <alien@slackware.com> +# * Initial build. +# +# Run 'sh musescore.SlackBuild' to build a Slackware package. +# The package (.t?z) and .txt file as well as build logs are created in /tmp . +# Install the package using 'installpkg' or 'upgradepkg --install-new'. +# +# ----------------------------------------------------------------------------- + +PRGNAM=musescore +VERSION=${VERSION:-3.0.5} +BUILD=${BUILD:-1} +NUMJOBS=${NUMJOBS:-" -j$(nproc) "} +TAG=${TAG:-alien} + +DOCS="Compatibility LICENSE* README.md" + +# Where do we look for sources? +SRCDIR=$(cd $(dirname $0); pwd) + +# Place to build (TMP) package (PKG) and output (OUTPUT) the program: +TMP=${TMP:-/tmp/build} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.zip" +SRCURL="https://github.com/${PRGNAM}/MuseScore/releases/download/v${VERSION}/MuseScore-${VERSION}.zip" + +## +## --- with a little luck, you won't have to edit below this point --- ## +## + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi +# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX: +case "$ARCH" in + i?86) SLKCFLAGS="-O2 -march=${ARCH} -mtune=i686" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + x86_64) SLKCFLAGS="-O2 -fPIC" + SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" + ;; + armv7hl) SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + *) SLKCFLAGS=${SLKCFLAGS:-"-O2"} + SLKLDFLAGS=${SLKLDFLAGS:-""}; LIBDIRSUFFIX=${LIBDIRSUFFIX:-""} + ;; +esac + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +# Exit the script on errors: +set -e +trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR +# Catch unitialized variables: +set -u +P1=${1:-1} + +# Save old umask and set to 0022: +_UMASK_=$(umask) +umask 0022 + +# Create working directories: +mkdir -p $OUTPUT # place for the package to be saved +mkdir -p $TMP/tmp-$PRGNAM # location to build the source +mkdir -p $PKG # place for the package to be built +rm -rf $PKG/* # always erase old package's contents +rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build +rm -rf $OUTPUT/{checkout,configure,make,install,error,makepkg,patch}-$PRGNAM.log + # remove old log files + +# Source file availability: +if ! [ -f ${SOURCE} ]; then + echo "Source '$(basename ${SOURCE})' not available yet..." + # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT + [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)" + if [ -f ${SOURCE} ]; then echo "Ah, found it!"; continue; fi + if ! [ "x${SRCURL}" == "x" ]; then + echo "Will download file to $(dirname $SOURCE)" + wget --no-check-certificate -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true + if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then + echo "Downloading '$(basename ${SOURCE})' failed... aborting the build." + mv -f "${SOURCE}" "${SOURCE}".FAIL + exit 1 + fi + else + echo "File '$(basename ${SOURCE})' not available... aborting the build." + exit 1 + fi +fi + +if [ "$P1" == "--download" ]; then + echo "Download complete." + exit 0 +fi + +# --- PACKAGE BUILDING --- + +echo "++" +echo "|| $PRGNAM-$VERSION" +echo "++" + +cd $TMP/tmp-$PRGNAM +echo "Extracting the source archive(s) for $PRGNAM..." +mkdir -p ${PRGNAM}-${VERSION} +cd ${PRGNAM}-${VERSION} +unzip -q ${SOURCE} + +chown -R root:root . +chmod -R u+w,go+r-w,a+rX-st . + +echo Building ... +export LDFLAGS="$SLKLDFLAGS" +export CXXFLAGS="$SLKCFLAGS" +export CFLAGS="$SLKCFLAGS" + +# Prevent error "cannot find //QtWebEngineProcess" +# by masking the existence of qmake (the Qt4 version): +unset QT4DIR +mkdir -p $TMP/tmp-$PRGNAM/privatebin +ln -sf /usr/bin/qmake-qt5 $TMP/tmp-$PRGNAM/privatebin/qmake +export PATH="$TMP/tmp-$PRGNAM/privatebin:$PATH" + +mkdir -p build-musescore +cd build-musescore + cmake .. \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SKIP_RPATH="FALSE" \ + -DBUILD_CRASH_REPORTER="OFF" \ + -DBUILD_LAME="ON" \ + -DBUILD_JACK="ON" \ + -DBUILD_PORTAUDIO="ON" \ + -DBUILD_PORTMIDI="ON" \ + -DBUILD_WEBENGINE="ON" \ + -DUSE_SYSTEM_FREETYPE="ON" \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log + make \ + 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log + make install DESTDIR=$PKG \ + 2>&1 | tee $OUTPUT/install-${PRGNAM}.log +cd - + +# Remove files that are merely copies of the Qt5 package content, +# but installed into a weird system location (WHY??): +rm -rf $PKG/usr/lib/qt5 +rmdir $PKG/usr/lib 2>/dev/null || true + +# Add this to the doinst.sh: +mkdir -p $PKG/install +cat <<EOINS >> $PKG/install/doinst.sh +# Update the desktop database: +if [ -x usr/bin/update-desktop-database ]; then + chroot . /usr/bin/update-desktop-database usr/share/applications > /dev/null 2>&1 +fi + +# Update hicolor theme cache: +if [ -d usr/share/icons/hicolor ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + chroot . /usr/bin/gtk-update-icon-cache -f -t usr/share/icons/hicolor 1> /dev/null 2> /dev/null + fi +fi + +# Update the mime database: +if [ -x usr/bin/update-mime-database ]; then + chroot . /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1 +fi + +EOINS + +# Add documentation: +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true +cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION +find $PKG/usr/doc -type f -exec chmod 644 {} \; + +# Fix man page location: +mv $PKG/usr/share/man $PKG/usr/ || true + +# Strip binaries (if any): +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Add a package description: +mkdir -p $PKG/install +cat $SRCDIR/slack-desc > $PKG/install/slack-desc +cat $SRCDIR/slack-required > $PKG/install/slack-required + +# Build the package: +cd $PKG +makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log +cd $OUTPUT +md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}.md5 +cd - +cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt +cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep + +# Restore the original umask: +umask ${_UMASK_} + diff --git a/musescore/build/slack-desc b/musescore/build/slack-desc new file mode 100644 index 00000000..6abc01fd --- /dev/null +++ b/musescore/build/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +musescore: musescore (music notation software) +musescore: +musescore: MuseScore is free, powerful, and easy-to-use music notation software +musescore: to create high-quality sheet music, with audio score playback for +musescore: results that look and sound beautiful. +musescore: +musescore: +musescore: +musescore: +musescore: musescore home: https://musescore.org/ +musescore: diff --git a/musescore/build/slack-required b/musescore/build/slack-required new file mode 100644 index 00000000..fb9d613e --- /dev/null +++ b/musescore/build/slack-required @@ -0,0 +1,4 @@ +jack2 +portaudio +portmidi +qt5 diff --git a/portmidi/build/patches/portmidi-217_buildfix.patch b/portmidi/build/patches/portmidi-217_buildfix.patch new file mode 100644 index 00000000..3e2dfef2 --- /dev/null +++ b/portmidi/build/patches/portmidi-217_buildfix.patch @@ -0,0 +1,29 @@ +diff -rup portmidi.orig/pm_java/CMakeLists.txt portmidi/pm_java/CMakeLists.txt +--- portmidi.orig/pm_java/CMakeLists.txt 2009-11-04 16:20:44.000000000 +0100 ++++ portmidi/pm_java/CMakeLists.txt 2012-01-24 21:13:08.513182169 +0100 +@@ -15,13 +15,11 @@ if(UNIX) + add_custom_command(OUTPUT pmdefaults/PmDefaultsFrame.class + COMMAND javac -classpath . pmdefaults/PmDefaultsFrame.java + MAIN_DEPENDENCY pmdefaults/PmDefaultsFrame.java +- DEPENDS pmdefaults/PmDefaults.java +- WORKING_DIRECTORY pm_java) ++ DEPENDS pmdefaults/PmDefaults.java) + add_custom_command(OUTPUT pmdefaults/PmDefaults.class + COMMAND javac -classpath . pmdefaults/PmDefaults.java + MAIN_DEPENDENCY pmdefaults/PmDefaults.java +- DEPENDS pmdefaults/PmDefaultsFrame.java +- WORKING_DIRECTORY pm_java) ++ DEPENDS pmdefaults/PmDefaultsFrame.java) + add_custom_command(OUTPUT ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar + COMMAND cp pmdefaults/portmusic_logo.png . + COMMAND jar cmf pmdefaults/manifest.txt pmdefaults.jar +@@ -31,8 +29,7 @@ if(UNIX) + COMMAND mv pmdefaults.jar ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + COMMAND rm portmusic_logo.png + MAIN_DEPENDENCY pmdefaults/PmDefaults.class +- DEPENDS ${PMDEFAULTS_ALL_CLASSES} +- WORKING_DIRECTORY pm_java) ++ DEPENDS ${PMDEFAULTS_ALL_CLASSES}) + add_custom_target(pmdefaults_target ALL + DEPENDS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar) + # message(STATUS "add_custom_target: pmdefaults.jar") diff --git a/portmidi/build/patches/portmidi-217_installfix.patch b/portmidi/build/patches/portmidi-217_installfix.patch new file mode 100644 index 00000000..e184fcac --- /dev/null +++ b/portmidi/build/patches/portmidi-217_installfix.patch @@ -0,0 +1,56 @@ +diff -U 3 -H -d -r -N -- portmidi-old/pm_common/CMakeLists.txt portmidi/pm_common/CMakeLists.txt +--- portmidi-old/pm_common/CMakeLists.txt 2009-11-20 07:18:06.000000000 +0100 ++++ portmidi/pm_common/CMakeLists.txt 2010-10-17 20:02:53.278000042 +0200 +@@ -125,9 +125,9 @@ + # install the libraries (Linux and Mac OS X command line) + if(UNIX) + INSTALL(TARGETS portmidi-static pmjni +- LIBRARY DESTINATION /usr/local/lib +- ARCHIVE DESTINATION /usr/local/lib) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) + # .h files installed by pm_dylib/CMakeLists.txt, so don't need them here + # INSTALL(FILES portmidi.h ../porttime/porttime.h +-# DESTINATION /usr/local/include) ++# DESTINATION ${CMAKE_INSTALL_PREFIX}/include) + endif(UNIX) +diff -U 3 -H -d -r -N -- portmidi-old/pm_dylib/CMakeLists.txt portmidi/pm_dylib/CMakeLists.txt +--- portmidi-old/pm_dylib/CMakeLists.txt 2009-11-20 06:41:09.000000000 +0100 ++++ portmidi/pm_dylib/CMakeLists.txt 2010-10-17 20:02:53.279000042 +0200 +@@ -59,7 +59,7 @@ + + set(JAVAVM_LIB "${FRAMEWORK_PATH}/JavaVM.framework") + set(JAVA_INCLUDE_PATHS ${JAVAVM_LIB}/Headers) +- set(INSTALL_NAME_DIR "/usr/local/lib") ++ set(INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") + message(STATUS "SYSROOT: " ${CMAKE_OSX_SYSROOT}) + else(APPLE) + # LINUX settings... +@@ -120,8 +120,8 @@ + # install the libraries (Linux and Mac OS X command line) + if(UNIX) + INSTALL(TARGETS portmidi-dynamic +- LIBRARY DESTINATION /usr/local/lib +- ARCHIVE DESTINATION /usr/local/lib) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) + INSTALL(FILES ../pm_common/portmidi.h ../porttime/porttime.h +- DESTINATION /usr/local/include) ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/include) + endif(UNIX) +diff -U 3 -H -d -r -N -- portmidi-old/pm_java/CMakeLists.txt portmidi/pm_java/CMakeLists.txt +--- portmidi-old/pm_java/CMakeLists.txt 2009-11-04 16:20:44.000000000 +0100 ++++ portmidi/pm_java/CMakeLists.txt 2010-10-17 20:10:46.411000043 +0200 +@@ -39,9 +39,9 @@ + + # install the libraries (Linux only) + INSTALL(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar +- DESTINATION /usr/share/java) ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/java) + INSTALL(PROGRAMS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults +- DESTINATION /usr/local/bin) ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) + endif(APPLE) + endif(UNIX) + # In windows, use pm_java/make.bat + diff --git a/portmidi/build/slack-desc b/portmidi/build/slack-desc new file mode 100644 index 00000000..0f5ec3d8 --- /dev/null +++ b/portmidi/build/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +portmidi: portmidi (cross-platform library for realtime MIDI I/O) +portmidi: +portmidi: Portmidi is a platfor- independent library for real-time +portmidi: MIDI input/output +portmidi: +portmidi: +portmidi: +portmidi: +portmidi: +portmidi: portmidi home: http://portmedia.sourceforge.net/ +portmidi: diff --git a/portmidi/build/slack-required b/portmidi/build/slack-required new file mode 100644 index 00000000..0b54e430 --- /dev/null +++ b/portmidi/build/slack-required @@ -0,0 +1 @@ +openjre diff --git a/qsynth/build/qsynth.SlackBuild b/qsynth/build/qsynth.SlackBuild new file mode 100755 index 00000000..f7153bc2 --- /dev/null +++ b/qsynth/build/qsynth.SlackBuild @@ -0,0 +1,229 @@ +#!/bin/sh +# $Id$ +# Copyright 2019 Eric Hameleers, Eindhoven, NL +# All rights reserved. +# +# Permission to use, copy, modify, and distribute this software for +# any purpose with or without fee is hereby granted, provided that +# the above copyright notice and this permission notice appear in all +# copies. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR +# CONTRIBUTORS 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. +# ----------------------------------------------------------------------------- +# +# Slackware SlackBuild script +# =========================== +# By: Eric Hameleers <alien@slackware.com> +# For: qsynth +# Descr: Qt GUI Interface for FluidSynth +# URL: https://qsynth.sourceforge.io/ +# Build needs: +# Needs: fluidsynth, qt5 +# Changelog: +# 0.5.5-1: 11/Mar/2019 by Eric Hameleers <alien@slackware.com> +# * Initial build. +# +# Run 'sh qsynth.SlackBuild' to build a Slackware package. +# The package (.t?z) and .txt file as well as build logs are created in /tmp . +# Install the package using 'installpkg' or 'upgradepkg --install-new'. +# +# ----------------------------------------------------------------------------- + +PRGNAM=qsynth +VERSION=${VERSION:-0.5.5} +BUILD=${BUILD:-1} +NUMJOBS=${NUMJOBS:-" -j$(nproc) "} +TAG=${TAG:-alien} + +DOCS="AUTHORS ChangeLog README TODO TRANSLATORS" + +# Where do we look for sources? +SRCDIR=$(cd $(dirname $0); pwd) + +# Place to build (TMP) package (PKG) and output (OUTPUT) the program: +TMP=${TMP:-/tmp/build} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.tar.gz" +SRCURL="https://downloads.sourceforge.net/${PRGNAM}/${PRGNAM}-${VERSION}.tar.gz" + +## +## --- with a little luck, you won't have to edit below this point --- ## +## + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi +# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX: +case "$ARCH" in + i?86) SLKCFLAGS="-O2 -march=${ARCH} -mtune=i686" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + x86_64) SLKCFLAGS="-O2 -fPIC" + SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" + ;; + armv7hl) SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + *) SLKCFLAGS=${SLKCFLAGS:-"-O2"} + SLKLDFLAGS=${SLKLDFLAGS:-""}; LIBDIRSUFFIX=${LIBDIRSUFFIX:-""} + ;; +esac + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +# Exit the script on errors: +set -e +trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR +# Catch unitialized variables: +set -u +P1=${1:-1} + +# Save old umask and set to 0022: +_UMASK_=$(umask) +umask 0022 + +# Create working directories: +mkdir -p $OUTPUT # place for the package to be saved +mkdir -p $TMP/tmp-$PRGNAM # location to build the source +mkdir -p $PKG # place for the package to be built +rm -rf $PKG/* # always erase old package's contents +rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build +rm -rf $OUTPUT/{checkout,configure,make,install,error,makepkg,patch}-$PRGNAM.log + # remove old log files + +# Source file availability: +if ! [ -f ${SOURCE} ]; then + echo "Source '$(basename ${SOURCE})' not available yet..." + # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT + [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)" + if [ -f ${SOURCE} ]; then echo "Ah, found it!"; continue; fi + if ! [ "x${SRCURL}" == "x" ]; then + echo "Will download file to $(dirname $SOURCE)" + wget --no-check-certificate -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true + if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then + echo "Downloading '$(basename ${SOURCE})' failed... aborting the build." + mv -f "${SOURCE}" "${SOURCE}".FAIL + exit 1 + fi + else + echo "File '$(basename ${SOURCE})' not available... aborting the build." + exit 1 + fi +fi + +if [ "$P1" == "--download" ]; then + echo "Download complete." + exit 0 +fi + +# --- PACKAGE BUILDING --- + +echo "++" +echo "|| $PRGNAM-$VERSION" +echo "++" + +cd $TMP/tmp-$PRGNAM +echo "Extracting the source archive(s) for $PRGNAM..." +tar -xvf ${SOURCE} +cd ${PRGNAM}-${VERSION} +chown -R root:root . +chmod -R u+w,go+r-w,a+rX-st . + +echo Building ... +LDFLAGS="$SLKLDFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --program-prefix= \ + --program-suffix= \ + --build=$TARGET \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log + +make $NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}.log +make DESTDIR=$PKG install 2>&1 | tee $OUTPUT/install-${PRGNAM}.log + +# Add this to the doinst.sh: +mkdir -p $PKG/install +cat <<EOINS >> $PKG/install/doinst.sh +# Update the desktop database: +if [ -x usr/bin/update-desktop-database ]; then + chroot . /usr/bin/update-desktop-database usr/share/applications > /dev/null 2>&1 +fi + +# Update hicolor theme cache: +if [ -d usr/share/icons/hicolor ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + chroot . /usr/bin/gtk-update-icon-cache -f -t usr/share/icons/hicolor 1> /dev/null 2> /dev/null + fi +fi + +# Update the mime database: +if [ -x usr/bin/update-mime-database ]; then + chroot . /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1 +fi + +EOINS + +# Add documentation: +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true +cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION +find $PKG/usr/doc -type f -exec chmod 644 {} \; + +# Compress the man page(s): +if [ -d $PKG/usr/man ]; then + find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \; + for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +fi + +# Strip binaries (if any): +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Add a package description: +mkdir -p $PKG/install +cat $SRCDIR/slack-desc > $PKG/install/slack-desc +cat $SRCDIR/slack-required > $PKG/install/slack-required + +# Build the package: +cd $PKG +makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log +cd $OUTPUT +md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}.md5 +cd - +cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt +cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep + +# Restore the original umask: +umask ${_UMASK_} + diff --git a/qsynth/build/slack-desc b/qsynth/build/slack-desc new file mode 100644 index 00000000..d9d87234 --- /dev/null +++ b/qsynth/build/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +qsynth: qsynth (Qt GUI Interface for FluidSynth) +qsynth: +qsynth: Qsynth is a fluidsynth GUI front-end application written +qsynth: in C++ around the Qt framework using Qt Designer. +qsynth: FluidSynth is a command line software synthesiser based +qsynth: on the Soundfont specification. +qsynth: +qsynth: +qsynth: +qsynth: More info: https://qsynth.sourceforge.io/ +qsynth: diff --git a/qsynth/build/slack-required b/qsynth/build/slack-required new file mode 100644 index 00000000..a58fd2e9 --- /dev/null +++ b/qsynth/build/slack-required @@ -0,0 +1,2 @@ +fluidsynth +qt5 |