Merge pull request #20003 from gnidorah/master
bumblebee: backport critical libkmod.patch
This commit is contained in:
commit
1e8384a20b
@ -20,6 +20,7 @@
|
|||||||
, glib, libbsd
|
, glib, libbsd
|
||||||
, libX11, libXext, xorgserver, xkbcomp, kmod, xkeyboard_config, xf86videonouveau
|
, libX11, libXext, xorgserver, xkbcomp, kmod, xkeyboard_config, xf86videonouveau
|
||||||
, nvidia_x11, virtualgl, primusLib
|
, nvidia_x11, virtualgl, primusLib
|
||||||
|
, automake111x, autoconf
|
||||||
# The below should only be non-null in a x86_64 system. On a i686
|
# The below should only be non-null in a x86_64 system. On a i686
|
||||||
# system the above nvidia_x11 and virtualgl will be the i686 packages.
|
# system the above nvidia_x11 and virtualgl will be the i686 packages.
|
||||||
# TODO: Confusing. Perhaps use "SubArch" instead of i686?
|
# TODO: Confusing. Perhaps use "SubArch" instead of i686?
|
||||||
@ -48,6 +49,15 @@ let
|
|||||||
|
|
||||||
xmodules = lib.concatStringsSep "," (map (x: "${x.out or x}/lib/xorg/modules") ([ xorgserver ] ++ lib.optional (!useNvidia) xf86videonouveau));
|
xmodules = lib.concatStringsSep "," (map (x: "${x.out or x}/lib/xorg/modules") ([ xorgserver ] ++ lib.optional (!useNvidia) xf86videonouveau));
|
||||||
|
|
||||||
|
modprobePatch = fetchurl {
|
||||||
|
url = "https://github.com/Bumblebee-Project/Bumblebee/commit/1ada79fe5916961fc4e4917f8c63bb184908d986.patch";
|
||||||
|
sha256 = "0x9qvhw6sn606dqcp3394irj6jjhw3h75k3lpbys6gha1yshgjps";
|
||||||
|
};
|
||||||
|
libkmodPatch = fetchurl {
|
||||||
|
url = "https://github.com/Bumblebee-Project/Bumblebee/commit/deceb14cdf2c90ff64ebd1010a674305464587da.patch";
|
||||||
|
sha256 = "0j2v0lncjfn2nw3324q3n69lw3yz3hah6bscc8xn9a2df2dcawj1";
|
||||||
|
};
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "bumblebee-${version}";
|
name = "bumblebee-${version}";
|
||||||
|
|
||||||
@ -56,7 +66,12 @@ in stdenv.mkDerivation rec {
|
|||||||
sha256 = "03p3gvx99lwlavznrpg9l7jnl1yfg2adcj8jcjj0gxp20wxp060h";
|
sha256 = "03p3gvx99lwlavznrpg9l7jnl1yfg2adcj8jcjj0gxp20wxp060h";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./nixos.patch ];
|
patches = [
|
||||||
|
./nixos.patch
|
||||||
|
|
||||||
|
modprobePatch
|
||||||
|
libkmodPatch
|
||||||
|
];
|
||||||
|
|
||||||
# By default we don't want to use a display device
|
# By default we don't want to use a display device
|
||||||
nvidiaDeviceOptions = lib.optionalString (!useDisplayDevice) ''
|
nvidiaDeviceOptions = lib.optionalString (!useDisplayDevice) ''
|
||||||
@ -75,13 +90,6 @@ in stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
# Substitute the path to the actual modinfo program in module.c.
|
|
||||||
# Note: module.c also calls rmmod and modprobe, but those just have to
|
|
||||||
# be in PATH, and thus no action for them is required.
|
|
||||||
|
|
||||||
substituteInPlace src/module.c \
|
|
||||||
--replace "/sbin/modinfo" "${kmod}/sbin/modinfo"
|
|
||||||
|
|
||||||
# Don't use a special group, just reuse wheel.
|
# Don't use a special group, just reuse wheel.
|
||||||
substituteInPlace configure \
|
substituteInPlace configure \
|
||||||
--replace 'CONF_GID="bumblebee"' 'CONF_GID="wheel"'
|
--replace 'CONF_GID="bumblebee"' 'CONF_GID="wheel"'
|
||||||
@ -96,7 +104,8 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
# Build-time dependencies of bumblebeed and optirun.
|
# Build-time dependencies of bumblebeed and optirun.
|
||||||
# Note that it has several runtime dependencies.
|
# Note that it has several runtime dependencies.
|
||||||
buildInputs = [ libX11 glib libbsd ];
|
buildInputs = [ libX11 glib libbsd ]
|
||||||
|
++ [ kmod automake111x autoconf ];
|
||||||
nativeBuildInputs = [ makeWrapper pkgconfig help2man ];
|
nativeBuildInputs = [ makeWrapper pkgconfig help2man ];
|
||||||
|
|
||||||
# The order of LDPATH is very specific: First X11 then the host
|
# The order of LDPATH is very specific: First X11 then the host
|
||||||
|
Loading…
x
Reference in New Issue
Block a user