summary refs log tree commit diff
path: root/pkgs/os-specific/linux/nvidiabl
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2018-03-15 15:50:34 +0300
committerNikolay Amiantov <ab@fmap.me>2018-03-15 17:15:57 +0300
commit7cf6df89038ac3b271ca7101030830c5d91551f0 (patch)
treeb22ef9005cc99699ff6e127aba0e0350b4459dd4 /pkgs/os-specific/linux/nvidiabl
parent893b69a54cb6841f4944dd3bf0791e0361184ef7 (diff)
downloadnixpkgs-7cf6df89038ac3b271ca7101030830c5d91551f0.tar
nixpkgs-7cf6df89038ac3b271ca7101030830c5d91551f0.tar.gz
nixpkgs-7cf6df89038ac3b271ca7101030830c5d91551f0.tar.bz2
nixpkgs-7cf6df89038ac3b271ca7101030830c5d91551f0.tar.lz
nixpkgs-7cf6df89038ac3b271ca7101030830c5d91551f0.tar.xz
nixpkgs-7cf6df89038ac3b271ca7101030830c5d91551f0.tar.zst
nixpkgs-7cf6df89038ac3b271ca7101030830c5d91551f0.zip
nvidiabl: 0.87 -> 2017-09-26
Fix build on newer kernels. Fixes #36356.

Thanks to yorickvP for suggestions and maintainership.
Diffstat (limited to 'pkgs/os-specific/linux/nvidiabl')
-rw-r--r--pkgs/os-specific/linux/nvidiabl/default.nix19
-rw-r--r--pkgs/os-specific/linux/nvidiabl/linux4compat.patch22
2 files changed, 10 insertions, 31 deletions
diff --git a/pkgs/os-specific/linux/nvidiabl/default.nix b/pkgs/os-specific/linux/nvidiabl/default.nix
index 6f9af040b8a..02161f7133c 100644
--- a/pkgs/os-specific/linux/nvidiabl/default.nix
+++ b/pkgs/os-specific/linux/nvidiabl/default.nix
@@ -2,18 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "nvidiabl-${version}-${kernel.version}";
-  version = "0.87";
+  version = "2017-09-26";
 
+  # We use a fork which adds support for newer kernels -- upstream has been abandoned.
   src = fetchFromGitHub {
-    owner = "guillaumezin";
+    owner = "yorickvP";
     repo = "nvidiabl";
-    rev = "v${version}";
-    sha256 = "1hs61dxn84vsyvrd2s899dhgg342mhfkbdn1nkhcvly45hdp2nca";
+    rev = "2d909f4dfceb24ce98479fd571411c6ec3b71bea";
+    sha256 = "0dsar8fsaxwywjh6rbrxkhdp142vqjnsyxfz6bgpbqml6slpiqs1";
   };
 
   hardeningDisable = [ "pic" ];
 
-  patches = [ ./linux4compat.patch ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
 
   preConfigure = ''
     sed -i 's|/sbin/depmod|#/sbin/depmod|' Makefile
@@ -25,11 +26,11 @@ stdenv.mkDerivation rec {
     "KVER=${kernel.modDirVersion}"
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Linux driver for setting the backlight brightness on laptops using NVIDIA GPU";
     homepage = https://github.com/guillaumezin/nvidiabl;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    broken = !stdenv.lib.versionOlder kernel.version "4.9";
+    license = licenses.gpl2;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = with maintainers; [ yorickvp ];
   };
 }
diff --git a/pkgs/os-specific/linux/nvidiabl/linux4compat.patch b/pkgs/os-specific/linux/nvidiabl/linux4compat.patch
deleted file mode 100644
index ad8236a2b63..00000000000
--- a/pkgs/os-specific/linux/nvidiabl/linux4compat.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 2bf6f08b2492cc04a2c39fdcb22a2d0c18963d1c Mon Sep 17 00:00:00 2001
-From: sonic414 <sonic414@gmail.com>
-Date: Tue, 28 Apr 2015 19:30:15 +0530
-Subject: [PATCH] strnicmp to strncasecmp in Linux 4.0.0
-
----
- nvidiabl-module.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/nvidiabl-module.c b/nvidiabl-module.c
-index b789ea4..b306579 100644
---- a/nvidiabl-module.c
-+++ b/nvidiabl-module.c
-@@ -214,7 +214,7 @@ static int __init nvidiabl_init(void)
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39)
- 	
- 	for (iii = 0 ; iii < sizeof(backlight_type_ids) ; iii++) {
--		if (strnicmp(bl_type, backlight_type_ids[iii].id, sizeof(bl_type)) == 0) {
-+		if (strncasecmp(bl_type, backlight_type_ids[iii].id, sizeof(bl_type)) == 0) {
- 			props.type = backlight_type_ids[iii].type;
- 			printk(KERN_INFO "nvidiabl: backlight type is %s\n", backlight_type_ids[iii].id);
- 		}