Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
profile update, libffado, python update
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
imesg
Guru
Guru


Joined: 12 Jul 2002
Posts: 451

PostPosted: Tue Jun 04, 2024 2:58 pm    Post subject: profile update, libffado, python update Reply with quote

I updated my profile which a with a custom profile:

Code:

gentoo:default/linux/amd64/23.0/no-multilib/systemd
gentoo:targets/desktop/gnome


I get to the last step:

Code:

emerge --ask --emptytree @world


Code:

go2 ~ # emerge -a --emptytree @world

 * IMPORTANT: 3 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.


These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 2.83 s (backtrack: 0/20).


!!! The ebuild selected to satisfy "media-libs/libffado[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?]" has unmet requirements.
- media-libs/libffado-2.4.8::gentoo USE="qt5 -debug -test-programs" PYTHON_SINGLE_TARGET="-python3_10 -python3_11"

  The following REQUIRED_USE flag constraints are unsatisfied:
    exactly-one-of ( python_single_target_python3_10 python_single_target_python3_11 )

(dependency required by "media-video/pipewire-1.0.7::gentoo" [ebuild])
(dependency required by "sys-apps/xdg-desktop-portal-1.18.4::gentoo" [ebuild])
(dependency required by "sys-apps/flatpak-1.14.8::gentoo" [ebuild])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])


Next I add this to package.use:

Code:

>=media-libs/libffado-2.4.8 python_single_target_python3_11


reissue:

Code:

go2 ~ # emerge -a --emptytree @world


and get this:


Code:

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by dev-python/PyQt5-5.15.10-r1::gentoo[dbus]
# required by media-libs/libffado-2.4.8::gentoo[qt5,python_single_target_python3_11]
# required by media-video/pipewire-1.0.7::gentoo[ieee1394]
# required by media-video/wireplumber-0.5.3::gentoo
>=dev-python/dbus-python-1.3.2 python_targets_python3_11
# required by media-libs/libffado-2.4.8::gentoo[qt5,python_single_target_python3_11]
# required by media-video/pipewire-1.0.7::gentoo[ieee1394]
# required by media-video/wireplumber-0.5.3::gentoo
>=dev-python/PyQt5-5.15.10-r1 python_targets_python3_11
# required by media-libs/libffado-2.4.8::gentoo[python_single_target_python3_11]
# required by media-video/pipewire-1.0.7::gentoo[ieee1394]
# required by media-video/wireplumber-0.5.3::gentoo
>=dev-build/scons-4.7.0 python_targets_python3_11
# required by dev-python/PyQt5-5.15.10-r1::gentoo
# required by media-libs/libffado-2.4.8::gentoo[qt5,python_single_target_python3_11]
# required by media-video/pipewire-1.0.7::gentoo[ieee1394]
# required by media-video/wireplumber-0.5.3::gentoo
>=dev-python/gpep517-16 python_targets_python3_11
# required by dev-python/PyQt-builder-1.16.2::gentoo
# required by dev-python/PyQt5-5.15.10-r1::gentoo
# required by media-libs/libffado-2.4.8::gentoo[qt5,python_single_target_python3_11]
# required by media-video/pipewire-1.0.7::gentoo[ieee1394]
# required by media-video/wireplumber-0.5.3::gentoo
>=dev-python/setuptools-70.0.0 python_targets_python3_11
# required by dev-python/PyQt5-5.15.10-r1::gentoo
# required by media-libs/libffado-2.4.8::gentoo[qt5,python_single_target_python3_11]
# required by media-video/pipewire-1.0.7::gentoo[ieee1394]
# required by media-video/wireplumber-0.5.3::gentoo
>=dev-python/PyQt5-sip-12.13.0-r1 python_targets_python3_11
# required by dev-python/PyQt5-5.15.10-r1::gentoo
# required by media-libs/libffado-2.4.8::gentoo[qt5,python_single_target_python3_11]
# required by media-video/pipewire-1.0.7::gentoo[ieee1394]
# required by media-video/wireplumber-0.5.3::gentoo
>=dev-python/PyQt-builder-1.16.2 python_targets_python3_11
# required by dev-python/PyQt5-5.15.10-r1::gentoo
# required by media-libs/libffado-2.4.8::gentoo[qt5,python_single_target_python3_11]
# required by media-video/pipewire-1.0.7::gentoo[ieee1394]
# required by media-video/wireplumber-0.5.3::gentoo
>=dev-python/sip-6.8.3 python_targets_python3_11
# required by dev-python/PyQt-builder-1.16.2::gentoo
# required by dev-python/PyQt5-5.15.10-r1::gentoo
# required by media-libs/libffado-2.4.8::gentoo[qt5,python_single_target_python3_11]
# required by media-video/pipewire-1.0.7::gentoo[ieee1394]
# required by media-video/wireplumber-0.5.3::gentoo
>=dev-python/packaging-24.0 python_targets_python3_11
# required by dev-python/PyQt-builder-1.16.2::gentoo
# required by dev-python/PyQt5-5.15.10-r1::gentoo
# required by media-libs/libffado-2.4.8::gentoo[qt5,python_single_target_python3_11]
# required by media-video/pipewire-1.0.7::gentoo[ieee1394]
# required by media-video/wireplumber-0.5.3::gentoo
>=dev-python/setuptools-scm-8.1.0 python_targets_python3_11

Would you like to add these changes to your config files? [Yes/No]


Since default python just changed to version 12 I am leary adding these changes to package.use.

How to proceed?

Thanks
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2436

PostPosted: Tue Jun 04, 2024 4:19 pm    Post subject: Re: profile update, libffado, python update Reply with quote

imesg wrote:


How to proceed?

Thanks


File a bug for libffado. If you're lucky, it'll get resolved quickly and you won't need to deal with all those package.use entries.

If you can't wait, deffer the update or enable python 3.11 explicitly.

And of course you can put those package.use entries into a temporary file which you can easily delete later when you don't need it, if your package.use is a direcotry. If it isn't, rename the file, create the directory and put the file back in, along with the temporary one.

Best Regards,
Georgi
Back to top
View user's profile Send private message
imesg
Guru
Guru


Joined: 12 Jul 2002
Posts: 451

PostPosted: Wed Jun 05, 2024 2:21 am    Post subject: Re: profile update, libffado, python update Reply with quote

Update:

https://bugs.gentoo.org/929640


Thanks Georgi. I was hoping for a neater solution.

logrusx wrote:
imesg wrote:


How to proceed?

Thanks


File a bug for libffado. If you're lucky, it'll get resolved quickly and you won't need to deal with all those package.use entries.

If you can't wait, deffer the update or enable python 3.11 explicitly.

And of course you can put those package.use entries into a temporary file which you can easily delete later when you don't need it, if your package.use is a direcotry. If it isn't, rename the file, create the directory and put the file back in, along with the temporary one.

Best Regards,
Georgi
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2436

PostPosted: Wed Jun 05, 2024 5:32 am    Post subject: Reply with quote

Well then I recommend going the package.use route. Setting python targets to include python 3.11 globally will result in more rebuilds when you remove it. Plus it's easier to remove a bunch of package.use entries altogether by deleting the file that contains them :)

I tried to transfer the fix from the linked GitHub issue in the bug but it's too much python for me to chew at once.

Best Regrads,
Georgi
Back to top
View user's profile Send private message
Goverp
Advocate
Advocate


Joined: 07 Mar 2007
Posts: 2179

PostPosted: Thu Jun 06, 2024 6:59 am    Post subject: Reply with quote

I've hit this one too. For now, I'll disable USE=ieee1394, which is what brung libffado into my system.

(ieee1394 is Firewire support, needed for my old Sony camcorder, but as I'm not doing anything with it at the moment I can wait for a fix.)
_________________
Greybeard
Back to top
View user's profile Send private message
toofastforyahuh
Apprentice
Apprentice


Joined: 18 May 2004
Posts: 172

PostPosted: Tue Jun 11, 2024 6:22 pm    Post subject: Reply with quote

In my case, ieee1394 DV capture is one of the primary functions I require, so removing it is not an option.
However, it seems like only alsa-utils depends on libffado. (Why?)
It seems that adding -ieee1394 to alsa-utils in package.use is a simpler alternative in the meantime.

Has anyone contacted the libffado team about this?
Back to top
View user's profile Send private message
MaxBuzz
n00b
n00b


Joined: 19 Jun 2024
Posts: 2

PostPosted: Wed Jun 19, 2024 12:14 pm    Post subject: Reply with quote

With this patch applied, at least it compiles with Python 3.12. I have not yet tested whether it works, but based on what changes are, the driver part should not stop working.
Basically, we get rid of the imp module (and use importlib), and use proper escape sequences.

Code:

diff --git a/libffado-2.4.8/SConstruct b/libffado-2.4.8-patched/SConstruct
index 2ea3c94..af5236b 100644
--- libffado-2.4.8/SConstruct
+++ libffado-2.4.8-patched/SConstruct
@@ -977,7 +977,7 @@ else:
 # Create a tags-file for easier emacs/vim-source-browsing
 #  I don't know if the dependency is right...
 #
-findcommand = "find . \( -path \"*.h\" -o -path \"*.cpp\" -o -path \"*.c\" \) \! -path \"*.svn*\" \! -path \"./doc*\" \! -path \"./cache*\""
+findcommand = "find . \\( -path \"*.h\" -o -path \"*.cpp\" -o -path \"*.c\" \\) \\! -path \"*.svn*\" \\! -path \"./doc*\" \\! -path \"./cache*\""
 env.Command( "tags", "", findcommand + " |xargs ctags" )
 env.Command( "TAGS", "", findcommand + " |xargs etags" )
 env.AlwaysBuild( "tags", "TAGS" )
diff --git a/libffado-2.4.8/admin/pyuic.py b/libffado-2.4.8-patched/admin/pyuic.py
index e0980b0..9723b95 100644
--- libffado-2.4.8/admin/pyuic.py
+++ libffado-2.4.8-patched/admin/pyuic.py
@@ -21,7 +22,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import imp
+import importlib
 
 def pyuic_action( target, source, env ):
    env.Execute( "pyuic " + str( source[0] ) + " > " + str( target[0] ) )
@@ -32,11 +33,7 @@ def pyuic_string( target, source, env ):
 
 def PyQtCheck( context ):
    context.Message( "Checking for pyuic (by checking for the python module pyqtconfig) " )
-   ret = True
-   try:
-      imp.find_module( "pyqtconfig" )
-   except ImportError:
-      ret = False
+   ret = importlib.util.find_spec( "pyqtconfig" ) is not None
    context.Result( ret )
    return ret
 
diff --git a/libffado-2.4.8/admin/pyuic4.py b/libffado-2.4.8-patched/admin/pyuic4.py
index 470ade5..e2d7504 100644
--- libffado-2.4.8/admin/pyuic4.py
+++ libffado-2.4.8-patched/admin/pyuic4.py
@@ -21,7 +22,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import imp
+import importlib
 
 def pyuic4_action( target, source, env ):
    env.Execute( "pyuic4 " + str( source[0] ) + " > " + str( target[0] ) )
@@ -32,11 +33,7 @@ def pyuic4_string( target, source, env ):
 
 def PyQt4Check( context ):
    context.Message( "Checking for pyuic4 (by checking for the python module pyqtconfig) " )
-   ret = True
-   try:
-      imp.find_module( "pyqtconfig" )
-   except ImportError:
-      ret = False
+   ret = importlib.util.find_spec( "pyqtconfig" ) is not None
    context.Result( ret )
    return ret
 
diff --git a/libffado-2.4.8/admin/pyuic5.py b/libffado-2.4.8-patched/admin/pyuic5.py
index 20fed59..e28d3b4 100644
--- libffado-2.4.8/admin/pyuic5.py
+++ libffado-2.4.8-patched/admin/pyuic5.py
@@ -22,7 +23,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import imp
+import importlib
 
 def pyuic5_action( target, source, env ):
    env.Execute( "pyuic5 " + str( source[0] ) + " > " + str( target[0] ) )
@@ -33,11 +34,7 @@ def pyuic5_string( target, source, env ):
 
 def PyQt5Check( context ):
    context.Message( "Checking for pyuic5 (by checking for the python module pyqtconfig) " )
-   ret = True
-   try:
-      imp.find_module( "pyqtconfig" )
-   except ImportError:
-      ret = False
+   ret = importlib.util.find_spec( "pyqtconfig" ) is not None
    context.Result( ret )
    return ret
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2436

PostPosted: Wed Jun 19, 2024 1:41 pm    Post subject: Reply with quote

MaxBuzz wrote:
With this patch applied, at least it compiles with Python 3.12. I have not yet tested whether it works, but based on what changes are, the driver part should not stop working.
Basically, we get rid of the imp module (and use importlib), and use proper escape sequences.

Code:
...


Hello and welcome to the forums!

Have you considered filing a bug or attaching this patch to an existing bug about libffado?

Best Regards,
Georgi
Back to top
View user's profile Send private message
MaxBuzz
n00b
n00b


Joined: 19 Jun 2024
Posts: 2

PostPosted: Wed Jun 19, 2024 8:07 pm    Post subject: Reply with quote

logrusx wrote:

Have you considered filing a bug or attaching this patch to an existing bug about libffado?


Yes, I attached the patch to that bug just a few minutes later.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum