Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Using xf86-video-nouveau without (e)udev
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
POSIX_ME_HARDER
n00b
n00b


Joined: 30 Aug 2015
Posts: 24

PostPosted: Tue Jul 23, 2019 9:06 am    Post subject: [SOLVED] Using xf86-video-nouveau without (e)udev Reply with quote

Hi,

I've noticed that the 1.0.16 version of x11-drivers/xf86-video-nouveau adds a hard dependency on virtual/libudev.
This prevents its use with device managers others than udev and eudev, and, since I am currently using mdev, this effectively forbids me from updating it (which, in turn, prevents xorg-server from updating).
I have not found mention of such a dependency on Nouveau's website.
Could anyone confirm that Nouveau now forces the use of (e)udev, or is it just an oversight by the package maintainer?

Thanks in advance.


Last edited by POSIX_ME_HARDER on Tue Jul 23, 2019 2:00 pm; edited 1 time in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 44959
Location: 56N 3W

PostPosted: Tue Jul 23, 2019 1:15 pm    Post subject: Reply with quote

POSIX_ME_HARDER,

It builds for me and I don't have libudev.
Code:
# eix xf86-video-nouveau
[I] x11-drivers/xf86-video-nouveau
     Available versions:  1.0.15[1] 1.0.15-r1[1] 1.0.15-r100[1] 1.0.16{tbz2} (~)1.0.16{tbz2}[1] {udev}
     Installed versions:  1.0.16{tbz2}[1](20:08:49 22/06/19)(-udev)


Heh x11-drivers/xf86-video-nouveau-1.0.16::gentoo_static its from my overlay.
I've not used it for about a year as I got a good offer on an AMD card.

Here's a patch for the ebuild to add the udev USE flag and make virtual/libudev depend on USE=udev being set.

Code:
# diff -U3  /usr/portage/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.16.ebuild xf86-video-nouveau-1.0.16.ebuild
--- /usr/portage/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.16.ebuild   2019-04-28 05:39:50.000000000 +0100
+++ xf86-video-nouveau-1.0.16.ebuild   2019-02-05 17:46:21.939882556 +0000
@@ -11,12 +11,13 @@
 fi
 
 DESCRIPTION="Accelerated Open Source driver for nVidia cards"
-HOMEPAGE="https://nouveau.freedesktop.org/wiki/ https://cgit.freedesktop.org/nouveau/xf86-video-nouveau"
+HOMEPAGE="https://nouveau.freedesktop.org/wiki/"
 
-KEYWORDS="amd64 ~arm64 ppc ppc64 x86"
-IUSE=""
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="udev"
 
 RDEPEND=">=x11-libs/libdrm-2.4.60[video_cards_nouveau]
    >=x11-libs/libpciaccess-0.10
-   virtual/libudev:="
+   udev? ( virtual/libudev:= )
+        "
 DEPEND="${RDEPEND}"

_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
POSIX_ME_HARDER
n00b
n00b


Joined: 30 Aug 2015
Posts: 24

PostPosted: Tue Jul 23, 2019 2:01 pm    Post subject: Reply with quote

Great, thank you NeddySeagoon.
I'll definitely use your gentoo_static overlay if you ever make it available. :)
Back to top
View user's profile Send private message
GDH-gentoo
Apprentice
Apprentice


Joined: 20 Jul 2019
Posts: 213
Location: South America

PostPosted: Fri Jul 26, 2019 3:09 pm    Post subject: Re: [SOLVED] Using xf86-video-nouveau without (e)udev Reply with quote

POSIX_ME_HARDER wrote:
Could anyone confirm that Nouveau now forces the use of (e)udev, or is it just an oversight by the package maintainer?

To answer the question, the build system does look for libudev using pkg-config, and will unconditionally link to it if it is found. But if it isn't, the driver will still be built. The code that uses libudev will not be compiled, and the implemented fuctionality will be missing. That may or may not matter to you :)

So I guess it qualifies as an automagic dependency.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 44959
Location: 56N 3W

PostPosted: Fri Jul 26, 2019 8:42 pm    Post subject: Reply with quote

GDH-gentoo,

That's two problems then
The one you describe in the xf86-video-nouveau build system and the
Code:
virtual/libudev:=
in the ebuild that tries to build something to satisfy virtual/libudev.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
GDH-gentoo
Apprentice
Apprentice


Joined: 20 Jul 2019
Posts: 213
Location: South America

PostPosted: Fri Jul 26, 2019 9:54 pm    Post subject: Reply with quote

NeddySeagoon wrote:
GDH-gentoo,

That's two problems then
The one you describe in the xf86-video-nouveau build system and the
Code:
virtual/libudev:=
in the ebuild that tries to build something to satisfy virtual/libudev.

And the second one is likely a consequence of first one.

Gentoo Wiki wrote:
When a package has automagic dependencies there are only two things that can be done: the first is to state the dependency as mandatory, no matter what the users put in their USE variable, but that might mean that some support that people don't want is always enable and its dependencies pulled in; the other is to fix the build system to be able to disable at build time the dependency also if it's present on the system.

In this case, it seems the first route was taken. The second one would require modifying upstream's configure.ac. Then, the ebuild could be changed to look like the one you posted.

Edit to add: That's for an ebuild in the official repository, that would be expected to follow the QA team's guidelines. In this case, removing the dependency in a local repository of a computer that doesn't have libudev anyway should not break anything.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments 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