diff --git a/community/supercollider/PKGBUILD b/community/supercollider/PKGBUILD index 5799b808c..1b1e080bb 100644 --- a/community/supercollider/PKGBUILD +++ b/community/supercollider/PKGBUILD @@ -8,7 +8,7 @@ _name=SuperCollider pkgname=supercollider pkgver=3.6.6 -pkgrel=1 +pkgrel=2 pkgdesc="An environment and programming language for real time audio synthesis and algorithmic composition" arch=('i686' 'x86_64') url="http://supercollider.sourceforge.net/" @@ -20,8 +20,15 @@ optdepends=('emacs: emacs interface' 'vim: vim interface' 'ruby: vim support') install="$pkgname.install" -source=("http://download.sourceforge.net/project/$pkgname/Source/${pkgver%.*}/$_name-$pkgver-Source-linux.tar.bz2") -md5sums=('14d6063933230c74e42f5923a811e7c6') +source=("http://download.sourceforge.net/project/$pkgname/Source/${pkgver%.*}/$_name-$pkgver-Source-linux.tar.bz2" + "ftbfs-gcc-4.9.patch") +md5sums=('14d6063933230c74e42f5923a811e7c6' + '257a9198e650638a9a43bad2812760f7') + +prepare() { + cd "$srcdir/$_name-Source" + patch -Np1 -i ../ftbfs-gcc-4.9.patch +} build() { cd "$srcdir/$_name-Source" diff --git a/community/supercollider/ftbfs-gcc-4.9.patch b/community/supercollider/ftbfs-gcc-4.9.patch new file mode 100644 index 000000000..6e1ce5909 --- /dev/null +++ b/community/supercollider/ftbfs-gcc-4.9.patch @@ -0,0 +1,20 @@ +From: Felipe Sateler +Date: Fri, 6 Jun 2014 13:15:18 -0400 +Subject: Fix implementation of aligned_allocator::construct. + +Fixes a build failure with gcc >= 4.9, because it defines __cplusplus >= 201103L. + +A typo, apparently. This patch can be dropped in the next upstream release. +Index: supercollider/server/supernova/utilities/malloc_aligned.hpp +=================================================================== +--- supercollider.orig/server/supernova/utilities/malloc_aligned.hpp 2014-09-11 09:15:20.399357542 +0100 ++++ supercollider/server/supernova/utilities/malloc_aligned.hpp 2014-09-11 09:15:20.399357542 +0100 +@@ -243,7 +243,7 @@ + template< class U, class... Args > + void construct(U * p, Args&& ... args) + { +- ::new(p) T(std::forward(args)...); ++ ::new(p) U(std::forward(args)...); + } + #endif +