commit:     5400bbb794231bb0b77f070229af2f3d95632323
Author:     Hector Martin <marcan <AT> marcan <DOT> st>
AuthorDate: Tue Jun 26 11:12:15 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jun 26 12:24:36 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5400bbb7

media-libs/libffado: 2.4.1 version bump and work around SCons bug

Closes: https://bugs.gentoo.org/658052
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Closes: https://github.com/gentoo/gentoo/pull/8975

 media-libs/libffado/Manifest                       |   1 +
 .../files/libffado-2.4.1-python3-scons-fix.patch   |  24 +++++
 media-libs/libffado/libffado-2.4.1.ebuild          | 113 +++++++++++++++++++++
 3 files changed, 138 insertions(+)

diff --git a/media-libs/libffado/Manifest b/media-libs/libffado/Manifest
index d61f0431273..f0bb141ce4c 100644
--- a/media-libs/libffado/Manifest
+++ b/media-libs/libffado/Manifest
@@ -1 +1,2 @@
 DIST libffado-2.4.0.tgz 1228916 BLAKE2B 
21a3a2a96377f698e7c1a43912c761624aabe5401f0e147fee4fa203c4534166494de8867320b4b6bc3ff200b65c77bb62ab2c4e98948ed0ee74e6171d162deb
 SHA512 
7df37584925cc908cc284dba344609928d39e006f71ae4ede62e4531b2628271ebd0db00407418e943fb569b5b8b919a76c90aaeed03005cefbd3c1c16ee1627
+DIST libffado-2.4.1.tgz 1229295 BLAKE2B 
3b42493b68fc8648e116784e04baee2278c21e01fa92b22d990340ef329f67c898e247891e76d494410a758009fcf186ba556e900598eaca539a9879664cc704
 SHA512 
0859f17b87c68108bbde726d1cf8ab0b99f6f7f02cbe36acd8b451e112688a4d1edc21134eb4a2edc8c92dcf5f5da52efeabb2ad0dc07804ed1aa664a3b38d74

diff --git a/media-libs/libffado/files/libffado-2.4.1-python3-scons-fix.patch 
b/media-libs/libffado/files/libffado-2.4.1-python3-scons-fix.patch
new file mode 100644
index 00000000000..e9cb0fb94f4
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.4.1-python3-scons-fix.patch
@@ -0,0 +1,24 @@
+--- libffado-2.4.1-old/support/mixer-qt4/SConscript    2015-04-12 
20:18:15.000000000 +0900
++++ libffado-2.4.1/support/mixer-qt4/SConscript        2018-06-26 
19:59:19.015719710 +0900
+@@ -29,16 +29,12 @@
+ if env['BUILD_MIXER'] == 'true':
+     e = env.Clone()
+ 
+-    def findfiles( arg, dirname, names ):
+-        for name in names:
+-            if name.startswith("."):
+-                names.remove(name)
+-        for name in names:
+-            if '.pyc' not in name and '.in' not in name:
+-                arg.append( os.path.join( dirname, name ) )
+-
+     pythonfiles = [ 'ffado/config.py' ]
+-    os.path.walk( "ffado", findfiles, pythonfiles )
++    for root, dirs, files in os.walk( "ffado" ):
++        for name in files:
++            if name.endswith( '.pyc' ) or '.in' in name or 
name.startswith("."):
++                continue
++            pythonfiles.append( os.path.join( root, name ) )
+ 
+     e.ScanReplace( "ffado/config.py.in" )
+     e.Depends( "ffado/config.py", "#/SConstruct" )

diff --git a/media-libs/libffado/libffado-2.4.1.ebuild 
b/media-libs/libffado/libffado-2.4.1.ebuild
new file mode 100644
index 00000000000..a9c3d2c6e17
--- /dev/null
+++ b/media-libs/libffado/libffado-2.4.1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+inherit desktop python-single-r1 scons-utils toolchain-funcs udev 
multilib-minimal
+
+DESCRIPTION="Driver for IEEE1394 (Firewire) audio interfaces"
+HOMEPAGE="http://www.ffado.org";
+
+if [[ "${PV}" = "9999" ]]; then
+       inherit subversion
+       ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/${PN}";
+else
+       SRC_URI="http://www.ffado.org/files/${P}.tgz";
+       KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+IUSE="debug qt5 test-programs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+       dev-cpp/libxmlpp:2.6[${MULTILIB_USEDEP}]
+       dev-libs/dbus-c++
+       dev-libs/libconfig[cxx,${MULTILIB_USEDEP}]
+       media-libs/alsa-lib
+       media-libs/libiec61883[${MULTILIB_USEDEP}]
+       sys-apps/dbus
+       sys-libs/libavc1394[${MULTILIB_USEDEP}]
+       sys-libs/libraw1394[${MULTILIB_USEDEP}]
+       qt5? (
+               dev-python/dbus-python[${PYTHON_USEDEP}]
+               dev-python/PyQt5[dbus,${PYTHON_USEDEP}]
+               x11-misc/xdg-utils
+       )"
+DEPEND="${COMMON_DEPEND}
+       virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+       !<media-sound/jack-audio-connection-kit-0.122.0:0
+       !<media-sound/jack-audio-connection-kit-1.9.9:2"
+
+PATCHES=(
+       "${FILESDIR}/${P}-python3-scons-fix.patch"
+)
+
+myescons() {
+       local myesconsargs=(
+               PREFIX="${EPREFIX}/usr"
+               LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+               MANDIR="${EPREFIX}/usr/share/man"
+               UDEVDIR="$(get_udevdir)/rules.d"
+               CUSTOM_ENV=true
+               DETECT_USERSPACE_ENV=false
+               DEBUG=$(usex debug)
+               PYPKGDIR="$(python_get_sitedir)"
+               # ENABLE_OPTIMIZATIONS detects cpu type and sets flags 
accordingly
+               # -fomit-frame-pointer is added also which can cripple 
debugging.
+               # we set flags from portage instead
+               ENABLE_OPTIMIZATIONS=false
+               # This only works for JACK1>=0.122.0 or JACK2>=1.9.9, so we 
block
+               # lower versions.
+               ENABLE_SETBUFFERSIZE_API_VER=force
+       )
+       if multilib_is_native_abi; then
+               myesconsargs+=(
+                       BUILD_MIXER=$(usex qt5 true false)
+                       BUILD_TESTS=$(usex test-programs)
+               )
+       else
+               myesconsargs+=(
+                       BUILD_MIXER=false
+                       BUILD_TESTS=false
+               )
+       fi
+       escons "${myesconsargs[@]}" "${@}"
+}
+
+src_prepare() {
+       default
+
+       # Always use Qt5
+       sed -i -e 's/try:/if False:/' -e 's/except.*/else:/' 
support/mixer-qt4/ffado/import_pyqt.py || die
+
+       # Bugs #658052, #659226
+       sed -i -e 's/^CacheDir/#CacheDir/' SConstruct || die
+
+       multilib_copy_sources
+}
+
+multilib_src_compile() {
+       tc-export CC CXX
+       myescons
+}
+
+multilib_src_install() {
+       myescons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install
+}
+
+multilib_src_install_all() {
+       einstalldocs
+
+       python_fix_shebang "${D}"
+       python_optimize "${D}"
+
+       if use qt5; then
+               newicon "support/xdg/hi64-apps-ffado.png" "ffado.png"
+               newmenu "support/xdg/ffado.org-ffadomixer.desktop" 
"ffado-mixer.desktop"
+       fi
+}

Reply via email to