void-packages/srcpkgs/libffado/patches/libffado-2.2.1-mixer.patch

103 lines
3.9 KiB
Diff

# 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 ):