From 7e7a85175e6069004f398ceaf7ebb90e0579360a Mon Sep 17 00:00:00 2001 From: Juergen Buchmueller Date: Mon, 3 Oct 2016 18:18:13 +0200 Subject: [PATCH] libffado: update to 2.3.0 and fix gcc6 build --- .../libffado/patches/fix-gcc6-cplusplus.patch | 13 +++ .../libffado-2.2.1-detect-userspace-env.patch | 62 ----------- .../patches/libffado-2.2.1-flags.patch | 83 -------------- .../patches/libffado-2.2.1-jack-detect.patch | 44 -------- .../patches/libffado-2.2.1-mixer.patch | 102 ------------------ srcpkgs/libffado/template | 6 +- 6 files changed, 16 insertions(+), 294 deletions(-) create mode 100644 srcpkgs/libffado/patches/fix-gcc6-cplusplus.patch delete mode 100644 srcpkgs/libffado/patches/libffado-2.2.1-detect-userspace-env.patch delete mode 100644 srcpkgs/libffado/patches/libffado-2.2.1-flags.patch delete mode 100644 srcpkgs/libffado/patches/libffado-2.2.1-jack-detect.patch delete mode 100644 srcpkgs/libffado/patches/libffado-2.2.1-mixer.patch diff --git a/srcpkgs/libffado/patches/fix-gcc6-cplusplus.patch b/srcpkgs/libffado/patches/fix-gcc6-cplusplus.patch new file mode 100644 index 00000000000..7fc1667eabb --- /dev/null +++ b/srcpkgs/libffado/patches/fix-gcc6-cplusplus.patch @@ -0,0 +1,13 @@ +Fix FTBFS with gcc6 + +--- src/ffadotypes.h 2010-01-01 23:04:37.000000000 +0100 ++++ src/ffadotypes.h 2016-10-03 18:14:14.161886793 +0200 +@@ -51,6 +51,8 @@ + }; + + ++#include ++#include + #include + #include + diff --git a/srcpkgs/libffado/patches/libffado-2.2.1-detect-userspace-env.patch b/srcpkgs/libffado/patches/libffado-2.2.1-detect-userspace-env.patch deleted file mode 100644 index 863106ebf55..00000000000 --- a/srcpkgs/libffado/patches/libffado-2.2.1-detect-userspace-env.patch +++ /dev/null @@ -1,62 +0,0 @@ -# AUTHOR: Karl Linden -# DESCRIPTION: Patch to make the build system not detect user space on request -# STATUS: Applied upstream. - -Index: SConstruct -=================================================================== ---- SConstruct (revision 2584) -+++ SConstruct (revision 2585) -@@ -76,6 +76,7 @@ - BoolVariable( "BUILD_STATIC_TOOLS", "Build a statically linked version of the FFADO tools.", False ), - EnumVariable('DIST_TARGET', 'Build target for cross compiling packagers', 'auto', allowed_values=('auto', 'i386', 'i686', 'x86_64', 'powerpc', 'powerpc64', 'none' ), ignorecase=2), - BoolVariable( "ENABLE_OPTIMIZATIONS", "Enable optimizations and the use of processor specific extentions (MMX/SSE/...).", False ), -+ BoolVariable( "DETECT_USERSPACE_ENV", "Try to detect the user space environment and add necessary 32/64 bit machine flags.", True ), - BoolVariable( "PEDANTIC", "Enable -Werror and more pedantic options during compile.", False ), - BoolVariable( "CUSTOM_ENV", "Respect CC, CXX, CFLAGS, CXXFLAGS and LDFLAGS.\nOnly meant for distributors and gentoo-users who want to over-optimize their build.\n Using this is not supported by the ffado-devs!", False ), - ( "COMPILE_FLAGS", "Deprecated (use CFLAGS and CXXFLAGS with CUSTOM_ENV=True instead). Add additional flags to the environment.\nOnly meant for distributors and gentoo-users who want to over-optimize their build.\n Using this is not supported by the ffado-devs!" ), -@@ -783,25 +784,26 @@ - if '-msse2' in opt_flags: - env['USE_SSE2'] = 1 - --m32 = is_userspace_32bit(cpuinfo) --print 'User space is %s' % (m32 and '32-bit' or '64-bit') --if cpuinfo.is_powerpc: -- if m32: -- print "Doing a 32-bit PowerPC build for %s CPU" % cpuinfo.ppc_type -- machineflags = { 'CXXFLAGS' : ['-m32'] } -- else: -- print "Doing a 64-bit PowerPC build for %s CPU" % cpuinfo.ppc_type -- machineflags = { 'CXXFLAGS' : ['-m64'] } -- env.MergeFlags( machineflags ) --elif cpuinfo.is_x86: -- if m32: -- print "Doing a 32-bit %s build for %s" % (cpuinfo.machine, cpuinfo.model_name) -- machineflags = { 'CXXFLAGS' : ['-m32'] } -- else: -- print "Doing a 64-bit %s build for %s" % (cpuinfo.machine, cpuinfo.model_name) -- machineflags = { 'CXXFLAGS' : ['-m64'] } -- needs_fPIC = True -- env.MergeFlags( machineflags ) -+if env['DETECT_USERSPACE_ENV']: -+ m32 = is_userspace_32bit(cpuinfo) -+ print 'User space is %s' % (m32 and '32-bit' or '64-bit') -+ if cpuinfo.is_powerpc: -+ if m32: -+ print "Doing a 32-bit PowerPC build for %s CPU" % cpuinfo.ppc_type -+ machineflags = { 'CXXFLAGS' : ['-m32'] } -+ else: -+ print "Doing a 64-bit PowerPC build for %s CPU" % cpuinfo.ppc_type -+ machineflags = { 'CXXFLAGS' : ['-m64'] } -+ env.MergeFlags( machineflags ) -+ elif cpuinfo.is_x86: -+ if m32: -+ print "Doing a 32-bit %s build for %s" % (cpuinfo.machine, cpuinfo.model_name) -+ machineflags = { 'CXXFLAGS' : ['-m32'] } -+ else: -+ print "Doing a 64-bit %s build for %s" % (cpuinfo.machine, cpuinfo.model_name) -+ machineflags = { 'CXXFLAGS' : ['-m64'] } -+ needs_fPIC = True -+ env.MergeFlags( machineflags ) - #=== End Revised CXXFLAGS ========================================= - - diff --git a/srcpkgs/libffado/patches/libffado-2.2.1-flags.patch b/srcpkgs/libffado/patches/libffado-2.2.1-flags.patch deleted file mode 100644 index 28a80fac9b3..00000000000 --- a/srcpkgs/libffado/patches/libffado-2.2.1-flags.patch +++ /dev/null @@ -1,83 +0,0 @@ -# Patch to make the build system honour CC, CXX, CFLAGS, CXXFLAGS and LDFLAGS. -# See http://subversion.ffado.org/ticket/382 for more information. -# Applied upstream. - -Index: SConstruct -=================================================================== ---- SConstruct (revision 2575) -+++ SConstruct (revision 2577) -@@ -77,7 +77,8 @@ - EnumVariable('DIST_TARGET', 'Build target for cross compiling packagers', 'auto', allowed_values=('auto', 'i386', 'i686', 'x86_64', 'powerpc', 'powerpc64', 'none' ), ignorecase=2), - BoolVariable( "ENABLE_OPTIMIZATIONS", "Enable optimizations and the use of processor specific extentions (MMX/SSE/...).", False ), - BoolVariable( "PEDANTIC", "Enable -Werror and more pedantic options during compile.", False ), -- ( "COMPILE_FLAGS", "Add additional flags to the environment.\nOnly meant for distributors and gentoo-users who want to over-optimize their built.\n Using this is not supported by the ffado-devs!" ), -+ BoolVariable( "CUSTOM_ENV", "Respect CC, CXX, CFLAGS, CXXFLAGS and LDFLAGS.\nOnly meant for distributors and gentoo-users who want to over-optimize their build.\n Using this is not supported by the ffado-devs!", False ), -+ ( "COMPILE_FLAGS", "Deprecated (use CFLAGS and CXXFLAGS with CUSTOM_ENV=True instead). Add additional flags to the environment.\nOnly meant for distributors and gentoo-users who want to over-optimize their build.\n Using this is not supported by the ffado-devs!" ), - EnumVariable( "ENABLE_SETBUFFERSIZE_API_VER", "Report API version at runtime which includes support for dynamic buffer resizing (requires recent jack).", 'auto', allowed_values=('auto', 'true', 'false', 'force'), ignorecase=2), - - ) -@@ -87,14 +88,42 @@ - - env = Environment( tools=['default','scanreplace','pyuic','pyuic4','dbus','doxygen','pkgconfig'], toolpath=['admin'], ENV = buildenv, options=opts ) - -+custom_flags = False -+ - if env.has_key('COMPILE_FLAGS') and len(env['COMPILE_FLAGS']) > 0: -+ print "The COMPILE_FLAGS option is deprecated. Use CFLAGS and CXXFLAGS with CUSTOM_ENV=True instead" -+ custom_flags = True -+ env.MergeFlags(env['COMPILE_FLAGS']) -+ -+if env['CUSTOM_ENV']: -+ custom_flags = True -+ -+ # Honour the user choice of compiler (if any). -+ if os.environ.has_key('CC') and len(os.environ['CC']) > 0: -+ env['CC'] = os.environ['CC'] -+ if os.environ.has_key('CXX') and len(os.environ['CXX']) > 0: -+ env['CXX'] = os.environ['CXX'] -+ -+ # Honour the user supplied flags (if any), but notify the user that this is not supported. -+ if os.environ.has_key('CFLAGS') and len(os.environ['CFLAGS']) > 0: -+ env.Append(CFLAGS = str(os.environ['CFLAGS'].replace('\"', ''))) -+ if os.environ.has_key('CXXFLAGS') and len(os.environ['CXXFLAGS']) > 0: -+ env.Append(CXXFLAGS = str(os.environ['CXXFLAGS'].replace('\"', ''))) -+ if os.environ.has_key('LDFLAGS') and len(os.environ['LDFLAGS']) > 0: -+ env.Append(LINKFLAGS = str(os.environ['LDFLAGS'].replace('\"', ''))) -+ -+if custom_flags: - print ''' - * Usage of additional flags is not supported by the ffado-devs. - * Use at own risk! - * -- * Currentl value is '%s' -- ''' % env['COMPILE_FLAGS'] -- env.MergeFlags(env['COMPILE_FLAGS']) -+ * Flags in use: -+ * CC = %s -+ * CXX = %s -+ * CFLAGS = %s -+ * CXXFLAGS = %s -+ * LDFLAGS = %s -+''' % (env['CC'], env['CXX'], env['CFLAGS'], env['CXXFLAGS'], env['LINKFLAGS']) - - Help( """ - For building ffado you can set different options as listed below. You have to -@@ -331,7 +360,7 @@ - oldcf = env['CFLAGS'] - else: - oldcf = "" -- oldcf = env.Append(CFLAGS = '-std=c99') -+ env.Append(CFLAGS = '-std=c99') - if conf.CheckLibWithHeader( "m", "math.h", "c", "lrint(3.2);" ): - HAVE_LRINT = 1 - else: -@@ -415,7 +444,8 @@ - print "Doing a debug build" - env.MergeFlags( "-Wall -g -DDEBUG" ) - env['DEBUG_MESSAGES'] = True --else: -+elif not custom_flags: -+ # Only merge -O2 to flags if the user has not specified custom flags. - env.MergeFlags( "-O2" ) - - if env['DEBUG_MESSAGES']: diff --git a/srcpkgs/libffado/patches/libffado-2.2.1-jack-detect.patch b/srcpkgs/libffado/patches/libffado-2.2.1-jack-detect.patch deleted file mode 100644 index 74e41a8b0b1..00000000000 --- a/srcpkgs/libffado/patches/libffado-2.2.1-jack-detect.patch +++ /dev/null @@ -1,44 +0,0 @@ -# Patch to change the order of the checks for jack version. See -# http://subversion.ffado.org/ticket/381 for more information. -# Applied upstream. - -Index: SConstruct -=================================================================== ---- SConstruct (revision 2574) -+++ SConstruct (revision 2575) -@@ -250,21 +250,21 @@ - # Provide a way for users to compile newer libffado which will work - # against older jack installations which will not accept the new API - # version reported at runtime. -- jackd_ver = CheckJackdVer() -- if (jackd_ver != -1): -- # If jackd is available, use the version number reported by it. This -- # means users don't have to have jack development files present on -- # their system for this to work. -- have_jack = (jackd_ver >= VersionInt('0.0.0')) -- good_jack1 = (jackd_ver < VersionInt('1.9.0')) and (jackd_ver >= VersionInt('0.121.4')) -- good_jack2 = (jackd_ver >= VersionInt('1.9.9')) -+ have_jack = conf.CheckPKG('jack') -+ if have_jack: -+ good_jack1 = conf.CheckPKG('jack < 1.9.0') and conf.CheckPKG('jack >= 0.121.4') -+ good_jack2 = conf.CheckPKG('jack >= 1.9.9') - else: -- # Jackd is not runnable. Attempt to identify a version from -- # pkgconfig on the off-chance jack details are available from there. -- print "Will retry jack detection using pkg-config" -- have_jack = conf.CheckPKG('jack >= 0.0.0') -- good_jack1 = conf.CheckPKG('jack < 1.9.0') and conf.CheckPKG('jack >= 0.122.0') -- good_jack2 = conf.CheckPKG('jack >= 1.9.9') -+ jackd_ver = CheckJackdVer() -+ if (jackd_ver != -1): -+ # If jackd is unknown to pkg-config but is never-the-less -+ # runnable, use the version number reported by it. This means -+ # users don't have to have jack development files present on -+ # their system for this to work. -+ have_jack = (jackd_ver >= VersionInt('0.0.0')) -+ good_jack1 = (jackd_ver < VersionInt('1.9.0')) and (jackd_ver >= VersionInt('0.121.4')) -+ good_jack2 = (jackd_ver >= VersionInt('1.9.9')) -+ - if env['ENABLE_SETBUFFERSIZE_API_VER'] == 'auto': - if not(have_jack): - print """ diff --git a/srcpkgs/libffado/patches/libffado-2.2.1-mixer.patch b/srcpkgs/libffado/patches/libffado-2.2.1-mixer.patch deleted file mode 100644 index 52458315e5b..00000000000 --- a/srcpkgs/libffado/patches/libffado-2.2.1-mixer.patch +++ /dev/null @@ -1,102 +0,0 @@ -# AUTHOR: Karl Linden (lilrc) -# DESCRIPTION: Patch to remove the automagic dependency on PyQt and friends. -# STATUS: Sent upstream as of 26 March 2015. -# SEE: http://subversion.ffado.org/ticket/391 - -Index: SConstruct -=================================================================== ---- SConstruct (revision 2587) -+++ SConstruct (working copy) -@@ -68,6 +68,7 @@ - this code.""", False ), - BoolVariable( "ENABLE_ALL", "Enable/Disable support for all devices.", False ), - BoolVariable( "SERIALIZE_USE_EXPAT", "Use libexpat for XML serialization.", False ), -+ EnumVariable( "BUILD_MIXER", "Build the ffado-mixer", 'auto', allowed_values=('auto', 'true', 'false'), ignorecase=2), - BoolVariable( "BUILD_TESTS", """\ - Build the tests in their directory. As some contain quite some functionality, - this is on by default. -@@ -379,28 +380,33 @@ - # - - # PyQT checks --build_mixer = False --if conf.CheckForApp( 'which pyuic4' ) and conf.CheckForPyModule( 'dbus' ) and conf.CheckForPyModule( 'PyQt4' ) and conf.CheckForPyModule( 'dbus.mainloop.qt' ): -- env['PYUIC4'] = True -- build_mixer = True -+if env['BUILD_MIXER'] != 'false': -+ if conf.CheckForApp( 'which pyuic4' ) and conf.CheckForPyModule( 'dbus' ) and conf.CheckForPyModule( 'PyQt4' ) and conf.CheckForPyModule( 'dbus.mainloop.qt' ): -+ env['BUILD_MIXER'] = 'true' -+ elif not env.GetOption('clean'): -+ if env['BUILD_MIXER'] == 'auto': -+ env['BUILD_MIXER'] = 'false' -+ print """ -+The prerequisites ('pyuic4' and the python-modules 'dbus' and 'PyQt4', the -+packages could be named like dbus-python and PyQt) to build the mixer were not -+found. Therefore the qt4 mixer will not be installed.""" -+ else: # env['BUILD_MIXER'] == 'true' -+ print """ -+The prerequisites ('pyuic4' and the python-modules 'dbus' and 'PyQt4', the -+packages could be named like dbus-python and PyQt) to build the mixer were not -+found, but BUILD_MIXER was requested.""" -+ Exit( 1 ) - --if conf.CheckForApp( 'xdg-desktop-menu --help' ): -- env['XDG_TOOLS'] = True --else: -- print """ --I couldn't find the program 'xdg-desktop-menu'. Together with xdg-icon-resource --this is needed to add the fancy entry to your menu. But if the mixer will be --installed, you can start it by executing "ffado-mixer". --""" -+env['XDG_TOOLS'] = False -+if env['BUILD_MIXER'] == 'true': -+ if conf.CheckForApp( 'xdg-desktop-menu --help' ) and conf.CheckForApp( 'xdg-icon-resource --help' ): -+ env['XDG_TOOLS'] = True -+ else: -+ print """ -+I couldn't find the 'xdg-desktop-menu' and 'xdg-icon-resource' programs. These -+are needed to add the fancy entry for the mixer to your menu, but you can still -+start it by executing "ffado-mixer".""" - --if not build_mixer and not env.GetOption('clean'): -- print """ --I couldn't find all the prerequisites ('pyuic4' and the python-modules 'dbus' --and 'PyQt4', the packages could be named like dbus-python and PyQt) to build the --mixer. --Therefor the qt4 mixer will not get installed. --""" -- - # - # Optional pkg-config - # -@@ -510,7 +516,7 @@ - env.Alias( "install", env['sharedir'] ) - env.Alias( "install", env['bindir'] ) - env.Alias( "install", env['mandir'] ) --if build_mixer: -+if env['BUILD_MIXER'] == 'true': - env.Alias( "install", env['pypkgdir'] ) - - # -@@ -909,7 +915,7 @@ - if env.GetOption( "clean" ): - env.Execute( action ) - -- if env.has_key( 'XDG_TOOLS' ) and env.has_key( 'PYUIC4' ): -+ if env['BUILD_MIXER'] == 'true' and env['XDG_TOOLS']: - if not env.GetOption("clean"): - action = "install" - else: -Index: support/mixer-qt4/SConscript -=================================================================== ---- support/mixer-qt4/SConscript (revision 2587) -+++ support/mixer-qt4/SConscript (working copy) -@@ -26,7 +26,7 @@ - - Import( 'env' ) - --if env.has_key('PYUIC4'): -+if env['BUILD_MIXER'] == 'true': - e = env.Clone() - - def findfiles( arg, dirname, names ): diff --git a/srcpkgs/libffado/template b/srcpkgs/libffado/template index 7acae52db41..81556b76080 100644 --- a/srcpkgs/libffado/template +++ b/srcpkgs/libffado/template @@ -1,7 +1,7 @@ # Template file for 'ffado' pkgname=libffado -version=2.2.1 -revision=2 +version=2.3.0 +revision=1 build_style=scons make_build_args="PREFIX=/usr MANDIR=/usr/share/man UDEVDIR=/usr/lib/udev/rules.d CUSTOM_ENV=1 BUILD_TESTS=0 ENABLE_OPTIMIZATIONS=0 WILL_DEAL_WITH_XDG_MYSELF=1" make_install_args="${make_build_args}" @@ -13,7 +13,7 @@ maintainer="Duncaen " license="GPL-3" homepage="http://www.ffado.org" distfiles="http://www.ffado.org/files/libffado-${version}.tgz" -checksum=9f299b8ecd9885338aeae8c7f2fc10af9afb85ca4384256d485b010a128b35f6 +checksum=18e3c7e610b7cee58b837c921ebb985e324cb2171f8d130f79de02a3fc435f88 subpackages="libffado-devel"