about summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kernel/acerhk/builder.sh
blob: c9a2cbf4f13b935bc9cdaff2ca57ab1ca86d91e7 (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
41
42
43
44
45
source $stdenv/setup

unpackPhase(){
  sourceRoot=.
}

buildPhase(){
    # it's not possible to unpack only one directory, is it ? :(
    # The linux folks should start using 7zip
    #unpackFile $kernel
    ln -s /tmp/linux-2.6.21.7/ .
    #mv linux* /tmp
    ensureDir orig/drivers/
    ensureDir patched/drivers/
    cp -r linux-*/drivers/misc orig/drivers
    cp -r linux-*/drivers/misc patched/drivers

    unpackFile $acerhk
    mv acerhk* patched/drivers/misc/acerhk
    if test -n debug; then
      sed -i -e 's/.*define ACERDEBUG.*/#define ACERDEBUG/' patched/drivers/misc/acerhk/acerhk.c
    fi

cat > ./sedscript  << EOF
/menu/a config ACERHK\\
       tristate "Acerhk driver"\\
       depends on EXPERIMENTAL\\
       default m\\
       ---help---\\
               This is an experimental acer keyboard driver for\\
               acer laptops\\
EOF
    sed -i -f ./sedscript patched/drivers/misc/Kconfig
    echo 'obj-$(CONFIG_ACERHK)   +=      acerhk/' >> patched/drivers/misc/Makefile
    
    set +e
    diff -urN orig patched > diff
    set -e
    ensureDir $out
    tar jcf ${out}/acerhk-patch.tar.bz2 diff
}


phases="buildPhase";
genericBuild