Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/libffado/, media-libs/libffado/files/
Date: Mon, 28 Nov 2022 08:56:51
Message-Id: 1669625804.c25d9d6e155fb609e375e6a85aeb585fde5a2f67.fordfrog@gentoo
1 commit: c25d9d6e155fb609e375e6a85aeb585fde5a2f67
2 Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
3 AuthorDate: Mon Nov 28 08:55:55 2022 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Mon Nov 28 08:56:44 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c25d9d6e
7
8 media-libs/libffado: bump to 2.4.7 + fix for config load crash
9
10 patch by Adam Wenocur <awenocur <AT> gmail.com>
11
12 Closes: https://bugs.gentoo.org/744364
13 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
14
15 media-libs/libffado/Manifest | 1 +
16 .../libffado-2.4.7-fix-config-load-crash.patch | 13 +++
17 media-libs/libffado/libffado-2.4.7.ebuild | 125 +++++++++++++++++++++
18 3 files changed, 139 insertions(+)
19
20 diff --git a/media-libs/libffado/Manifest b/media-libs/libffado/Manifest
21 index 522d1cda4de7..d09d38ce2d34 100644
22 --- a/media-libs/libffado/Manifest
23 +++ b/media-libs/libffado/Manifest
24 @@ -1 +1,2 @@
25 DIST libffado-2.4.6.tgz 1230455 BLAKE2B 1e86e7f9179e94c00a74514dbd7c0c299de6d1870f22c4d9ba14cb6b105b41c9dda62d19d0d660e84eee7e0f02c0bf7c44fbe58e24634ccf9cc9e41f1d38b5c2 SHA512 dac651233ea94c19834e810c64230bcbd5516de9e694ced1b6497ad927d734c527b3a556281676393674d33da768cb2431e7da1a0fdfc6ceb268e897029aa584
26 +DIST libffado-2.4.7.tgz 1231931 BLAKE2B 3c304011259ddbd35ce8fd725d38a5f50fca962981f9c5af6e377493a14985e4b96c64bcc54ba5a341028ec17dc6f2c42ce527422779f2edc6f9a1a61220cf51 SHA512 424a9ca7ded12e72d77a50d7ddf4e50dc0d55b80d725499df7609ce60d0eac8b24a41d9b8e4e74f78bdefe114b61bd5f1ec09a6d083f4a58475e66d61153f075
27
28 diff --git a/media-libs/libffado/files/libffado-2.4.7-fix-config-load-crash.patch b/media-libs/libffado/files/libffado-2.4.7-fix-config-load-crash.patch
29 new file mode 100644
30 index 000000000000..05ede6ebf653
31 --- /dev/null
32 +++ b/media-libs/libffado/files/libffado-2.4.7-fix-config-load-crash.patch
33 @@ -0,0 +1,13 @@
34 +diff --git a/libffado-2.4.1/support/mixer-qt4/ffado/mixer/globalmixer.py b/libffado-2.4.1-patched/support/mixer-qt4/ffado/mixer/globalmixer.py
35 +index 7078b0e..d184d73 100644
36 +--- libffado-2.4.1-old/support/mixer-qt4/ffado/mixer/globalmixer.py
37 ++++ libffado-2.4.1/support/mixer-qt4/ffado/mixer/globalmixer.py
38 +@@ -96,7 +96,6 @@ class GlobalMixer(QWidget):
39 + @pyqtSlot()
40 + def on_txtNickname_returnPressed( self ):
41 + if self.nickname.canChangeValue():
42 +- asciiData = self.txtNickname.text().toAscii()
43 +- self.nickname.setText( asciiData.data() )
44 ++ self.nickname.setText( self.txtNickname.text().encode('utf-8') )
45 + else:
46 + self.txtNickname.setText( self.nickname.text() )
47
48 diff --git a/media-libs/libffado/libffado-2.4.7.ebuild b/media-libs/libffado/libffado-2.4.7.ebuild
49 new file mode 100644
50 index 000000000000..116efcf9375f
51 --- /dev/null
52 +++ b/media-libs/libffado/libffado-2.4.7.ebuild
53 @@ -0,0 +1,125 @@
54 +# Copyright 1999-2022 Gentoo Authors
55 +# Distributed under the terms of the GNU General Public License v2
56 +
57 +EAPI=8
58 +
59 +PYTHON_COMPAT=( python3_{8..10} )
60 +
61 +inherit desktop python-single-r1 scons-utils toolchain-funcs udev multilib-minimal
62 +
63 +DESCRIPTION="Driver for IEEE1394 (Firewire) audio interfaces"
64 +HOMEPAGE="http://www.ffado.org"
65 +
66 +if [[ "${PV}" = "9999" ]]; then
67 + inherit subversion
68 + ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/${PN}"
69 +else
70 + SRC_URI="http://www.ffado.org/files/${P}.tgz"
71 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
72 +fi
73 +
74 +LICENSE="GPL-2 GPL-3"
75 +SLOT="0"
76 +IUSE="debug qt5 test-programs"
77 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
78 +
79 +BDEPEND="
80 + virtual/pkgconfig
81 +"
82 +CDEPEND="${PYTHON_DEPS}
83 + dev-cpp/libxmlpp:2.6[${MULTILIB_USEDEP}]
84 + dev-libs/dbus-c++
85 + dev-libs/libconfig:=[cxx,${MULTILIB_USEDEP}]
86 + media-libs/alsa-lib
87 + media-libs/libiec61883[${MULTILIB_USEDEP}]
88 + sys-apps/dbus
89 + sys-libs/libavc1394[${MULTILIB_USEDEP}]
90 + sys-libs/libraw1394[${MULTILIB_USEDEP}]
91 + qt5? (
92 + $(python_gen_cond_dep '
93 + dev-python/dbus-python[${PYTHON_USEDEP}]
94 + dev-python/PyQt5[dbus,${PYTHON_USEDEP}]
95 + ')
96 + x11-misc/xdg-utils
97 + )"
98 +DEPEND="${CDEPEND}"
99 +RDEPEND="${CDEPEND}"
100 +
101 +PATCHES=(
102 + "${FILESDIR}/libffado-2.4.7-fix-config-load-crash.patch"
103 +)
104 +
105 +myescons() {
106 + local myesconsargs=(
107 + PREFIX="${EPREFIX}/usr"
108 + LIBDIR="${EPREFIX}/usr/$(get_libdir)"
109 + MANDIR="${EPREFIX}/usr/share/man"
110 + UDEVDIR="$(get_udevdir)/rules.d"
111 + CUSTOM_ENV=true
112 + DETECT_USERSPACE_ENV=false
113 + DEBUG=$(usex debug)
114 + PYPKGDIR="$(python_get_sitedir)"
115 + # ENABLE_OPTIMIZATIONS detects cpu type and sets flags accordingly
116 + # -fomit-frame-pointer is added also which can cripple debugging.
117 + # we set flags from portage instead
118 + ENABLE_OPTIMIZATIONS=false
119 + # This only works for JACK1>=0.122.0 or JACK2>=1.9.9.
120 + ENABLE_SETBUFFERSIZE_API_VER=force
121 + )
122 + if multilib_is_native_abi; then
123 + myesconsargs+=(
124 + BUILD_MIXER=$(usex qt5 true false)
125 + BUILD_TESTS=$(usex test-programs)
126 + )
127 + else
128 + myesconsargs+=(
129 + BUILD_MIXER=false
130 + BUILD_TESTS=false
131 + )
132 + fi
133 + escons "${myesconsargs[@]}" "${@}"
134 +}
135 +
136 +src_prepare() {
137 + default
138 +
139 + # Bug #808853
140 + cp "${BROOT}"/usr/share/gnuconfig/config.guess admin/ || die "Failed to update config.guess"
141 +
142 + # Always use Qt5
143 + sed -i -e 's/try:/if False:/' -e 's/except.*/else:/' support/mixer-qt4/ffado/import_pyqt.py || die
144 +
145 + # Bugs #658052, #659226
146 + sed -i -e 's/^CacheDir/#CacheDir/' SConstruct || die
147 +
148 + multilib_copy_sources
149 +}
150 +
151 +multilib_src_compile() {
152 + tc-export CC CXX
153 + myescons
154 +}
155 +
156 +multilib_src_install() {
157 + myescons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install
158 +}
159 +
160 +multilib_src_install_all() {
161 + einstalldocs
162 +
163 + python_fix_shebang "${D}"
164 + python_optimize "${D}"
165 +
166 + if use qt5; then
167 + newicon "support/xdg/hi64-apps-ffado.png" "ffado.png"
168 + newmenu "support/xdg/ffado.org-ffadomixer.desktop" "ffado-mixer.desktop"
169 + fi
170 +}
171 +
172 +pkg_postinst() {
173 + udev_reload
174 +}
175 +
176 +pkg_postrm() {
177 + udev_reload
178 +}