New package: libffado-2.2.1
This commit is contained in:
parent
6ae1ccf88d
commit
a06e219ff1
7 changed files with 341 additions and 0 deletions
|
@ -2028,3 +2028,4 @@ libnghttp2.so.5 nghttp2-0.7.4_1
|
|||
librom1394.so.0 libavc1394-0.5.4_1
|
||||
libavc1394.so.0 libavc1394-0.5.4_1
|
||||
libiec61883.so.0 libiec61883-1.2.0_1
|
||||
libffado.so.2 libffado-2.2.1_1
|
||||
|
|
1
srcpkgs/libffado-devel
Symbolic link
1
srcpkgs/libffado-devel
Symbolic link
|
@ -0,0 +1 @@
|
|||
libffado
|
|
@ -0,0 +1,62 @@
|
|||
# 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 =========================================
|
||||
|
||||
|
83
srcpkgs/libffado/patches/libffado-2.2.1-flags.patch
Normal file
83
srcpkgs/libffado/patches/libffado-2.2.1-flags.patch
Normal file
|
@ -0,0 +1,83 @@
|
|||
# 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']:
|
44
srcpkgs/libffado/patches/libffado-2.2.1-jack-detect.patch
Normal file
44
srcpkgs/libffado/patches/libffado-2.2.1-jack-detect.patch
Normal file
|
@ -0,0 +1,44 @@
|
|||
# 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 """
|
102
srcpkgs/libffado/patches/libffado-2.2.1-mixer.patch
Normal file
102
srcpkgs/libffado/patches/libffado-2.2.1-mixer.patch
Normal file
|
@ -0,0 +1,102 @@
|
|||
# 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 ):
|
48
srcpkgs/libffado/template
Normal file
48
srcpkgs/libffado/template
Normal file
|
@ -0,0 +1,48 @@
|
|||
# Template file for 'ffado'
|
||||
pkgname=libffado
|
||||
version=2.2.1
|
||||
revision=1
|
||||
hostmakedepends="scons pkg-config"
|
||||
makedepends="libxml++-devel libdbus-c++-devel libsigc++-devel libconfig++-devel
|
||||
jack-devel libavc1394-devel libiec61883-devel libraw1394-devel alsa-lib-devel
|
||||
python-PyQt4-devel python-PyQt4-dbus python-dbus-devel"
|
||||
pycompile_versions="2.7"
|
||||
pycompile_module="ffado"
|
||||
pycompile_dirs="usr/share/libffado/python"
|
||||
short_desc="Library for accessing BeBoB IEEE1394 devices"
|
||||
maintainer="Duncaen <mail@duncano.de>"
|
||||
license="GPL-3"
|
||||
homepage="http://www.ffado.org"
|
||||
distfiles="http://www.ffado.org/files/libffado-${version}.tgz"
|
||||
checksum=9f299b8ecd9885338aeae8c7f2fc10af9afb85ca4384256d485b010a128b35f6
|
||||
|
||||
do_build() {
|
||||
scons ${makejobs} \
|
||||
CUSTOM_ENV=True \
|
||||
CC="$CC" \
|
||||
CXX="$CXX" \
|
||||
CFLAGS="$CFLAGS" \
|
||||
CXXFLAGS="$CXXFLAGS" \
|
||||
LDFLAGS="$LDFLAGS" \
|
||||
PREFIX=/usr \
|
||||
MANDIR="/usr/share/man" \
|
||||
UDEVDIR="/usr/lib/udev/rules.d" \
|
||||
BUILD_TESTS=False \
|
||||
ENABLE_OPTIMIZATIONS=False
|
||||
}
|
||||
|
||||
do_install() {
|
||||
scons PREFIX=${DESTDIR}/usr WILL_DEAL_WITH_XDG_MYSELF="True" install
|
||||
vinstall support/xdg/ffado.org-ffadomixer.desktop 644 usr/share/applications/ffadomixer.desktop
|
||||
vinstall support/xdg/hi64-apps-ffado.png 644 usr/share/pixmaps/ffado.png
|
||||
}
|
||||
|
||||
libffado-devel_package() {
|
||||
depends="${sourcepkg}>=${version}_${revision}"
|
||||
short_desc+=" - development files"
|
||||
pkg_install() {
|
||||
vmove usr/include
|
||||
vmove usr/lib/pkgconfig
|
||||
vmove "usr/lib/*.so"
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue