From 2676d3d37b24990a0b60fa0572f476878ae911b5 Mon Sep 17 00:00:00 2001 From: "M.Dinslage" Date: Sat, 27 May 2017 23:42:35 +0100 Subject: misc/projectM: Patched for gcc 6/7. Signed-off-by: David Spencer --- misc/projectM/README | 4 +-- misc/projectM/doinst.sh | 3 ++ misc/projectM/projectM-2.1.0_gcc.patch | 63 ++++++++++++++++++++++++++++++++++ misc/projectM/projectM.SlackBuild | 32 +++++++++++++---- 4 files changed, 94 insertions(+), 8 deletions(-) create mode 100644 misc/projectM/doinst.sh create mode 100644 misc/projectM/projectM-2.1.0_gcc.patch (limited to 'misc/projectM') diff --git a/misc/projectM/README b/misc/projectM/README index 664ca76c0c89..c71302579cef 100644 --- a/misc/projectM/README +++ b/misc/projectM/README @@ -1,5 +1,5 @@ projectM (Music visualization program) -projectM is an OpenGL based advanced music visualization program for Linux, -Mac OSX, and Windows. It is backward compatible with all the features of +projectM is an OpenGL based advanced music visualization program for Linux, +Mac OSX, and Windows. It is backward compatible with all the features of Milkdrop 1.x (and now 2.x), but has many new toys and enhancements. diff --git a/misc/projectM/doinst.sh b/misc/projectM/doinst.sh new file mode 100644 index 000000000000..5fb28930db0b --- /dev/null +++ b/misc/projectM/doinst.sh @@ -0,0 +1,3 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi diff --git a/misc/projectM/projectM-2.1.0_gcc.patch b/misc/projectM/projectM-2.1.0_gcc.patch new file mode 100644 index 000000000000..c55d1d6f1d11 --- /dev/null +++ b/misc/projectM/projectM-2.1.0_gcc.patch @@ -0,0 +1,63 @@ +diff -x '*orig' -rup projectM-complete-2.1.0-Source/src/libprojectM/Common.hpp projectM-complete-2.1.0-Source.new/src/libprojectM/Common.hpp +--- projectM-complete-2.1.0-Source/src/libprojectM/Common.hpp 2012-05-20 04:43:26.000000000 +0100 ++++ projectM-complete-2.1.0-Source.new/src/libprojectM/Common.hpp 2016-03-17 05:00:14.176905540 +0000 +@@ -63,7 +63,8 @@ extern FILE *fmemopen(void *buf, size_t + + #ifdef LINUX + #include +-#define projectM_isnan isnan ++#include ++#define projectM_isnan std::isnan + + #endif + +diff -x '*orig' -rup projectM-complete-2.1.0-Source/src/libprojectM/MilkdropPresetFactory/Parser.cpp +projectM-complete-2.1.0-Source.new/src/libprojectM/MilkdropPresetFactory/Parser.cpp +--- projectM-complete-2.1.0-Source/src/libprojectM/MilkdropPresetFactory/Parser.cpp 2012-05-20 04:43:26.000000000 +0100 ++++ projectM-complete-2.1.0-Source.new/src/libprojectM/MilkdropPresetFactory/Parser.cpp 2016-03-17 05:00:14.177905556 +0000 +@@ -1406,7 +1406,7 @@ PerFrameEqn * Parser::parse_implicit_per + PerFrameEqn * per_frame_eqn; + GenExpr * gen_expr; + +- if (fs == NULL) ++ if (!fs) + return NULL; + if (param_string == NULL) + return NULL; +@@ -1561,7 +1561,7 @@ InitCond * Parser::parse_per_frame_init_ + + if (preset == NULL) + return NULL; +- if (fs == NULL) ++ if (!fs) + return NULL; + + if ((token = parseToken(fs, name)) != tEq) +@@ -1875,7 +1875,7 @@ int Parser::parse_shapecode(char * token + /* Null argument checks */ + if (preset == NULL) + return PROJECTM_FAILURE; +- if (fs == NULL) ++ if (!fs) + return PROJECTM_FAILURE; + if (token == NULL) + return PROJECTM_FAILURE; +@@ -2166,7 +2166,7 @@ int Parser::parse_wave(char * token, std + + if (token == NULL) + return PROJECTM_FAILURE; +- if (fs == NULL) ++ if (!fs) + return PROJECTM_FAILURE; + if (preset == NULL) + return PROJECTM_FAILURE; +@@ -2348,7 +2348,7 @@ int Parser::parse_shape(char * token, st + if (token == NULL) + + return PROJECTM_FAILURE; +- if (fs == NULL) ++ if (!fs) + return PROJECTM_FAILURE; + if (preset == NULL) + return PROJECTM_FAILURE; + diff --git a/misc/projectM/projectM.SlackBuild b/misc/projectM/projectM.SlackBuild index 398692bff0c2..994a7cbd7d1c 100644 --- a/misc/projectM/projectM.SlackBuild +++ b/misc/projectM/projectM.SlackBuild @@ -1,8 +1,26 @@ #!/bin/sh -# Slackware build script for ProjectM +# Slackware build script for projectM -# Written by (M.Dinslage) (daedra1980@gmail.com) +# Copyright 2017 Matt Dinslage, Springfield, MO +# 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. PRGNAM=projectM VERSION=${VERSION:-2.1.0} @@ -11,7 +29,7 @@ TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -22,8 +40,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -36,7 +54,7 @@ else LIBDIRSUFFIX="" fi -set -e +set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT @@ -47,6 +65,7 @@ cd $PRGNAM-complete-$VERSION-Source patch -p0 < $CWD/patch_use_LIB_SUFFIX.diff patch -p0 < $CWD/patch_use_both_fonts.diff +patch -p1 < $CWD/projectM-2.1.0_gcc.patch chown -R root:root . find -L . \ @@ -78,6 +97,7 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install 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} -- cgit v1.2.3