summary refs log tree commit diff
path: root/pkgs/os-specific/linux/psmouse-alps/default.nix
blob: 9dd78f5885ada605083dc7c73d67aad535a9c1b2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{ stdenv, fetchurl, kernel, zlib }:

/* Only useful for kernels 3.2 to 3.5.
   Fails to build in 3.8.
   3.9 upstream already includes a proper alps driver for this */

assert builtins.compareVersions "3.8" kernel.version == 1;

let
  ver = "1.3";
  bname = "psmouse-alps-${ver}";
in
stdenv.mkDerivation {
  name = "psmouse-alps-${kernel.version}-${ver}";

  src = fetchurl {
    url = http://www.dahetral.com/public-download/alps-psmouse-dlkm-for-3-2-and-3-5/at_download/file;
    name = "${bname}-alt.tar.bz2";
    sha256 = "1ghr8xcyidz31isxbwrbcr9rvxi4ad2idwmb3byar9n2ig116cxp";
  };

  buildPhase = ''
    cd src/${bname}/src
    make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
      SUBDIRS=`pwd` INSTALL_PATH=$out
  '';

  installPhase = ''
    make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
      INSTALL_MOD_PATH=$out SUBDIRS=`pwd` modules_install
  '';
      
  meta = {
    description = "ALPS dlkm driver with all known touchpads";
    homepage = http://www.dahetral.com/public-download/alps-psmouse-dlkm-for-3-2-and-3-5/view;
    license = stdenv.lib.licenses.gpl2;
    platforms = stdenv.lib.platforms.linux;
    maintainers = with stdenv.lib.maintainers; [viric];
  };
}