summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2008-01-10 08:01:48 +0000
committerMichael Raskin <7c6f434c@mail.ru>2008-01-10 08:01:48 +0000
commit4e15efefeabfa6e8c147f35cf6554b84ae9f5e80 (patch)
treee091c7c649cae6e44a5c5a9ac31ab38981a70c8a
parentca74bacd18e6f503ecb39df6d5bc6df773060d61 (diff)
downloadnixpkgs-4e15efefeabfa6e8c147f35cf6554b84ae9f5e80.tar
nixpkgs-4e15efefeabfa6e8c147f35cf6554b84ae9f5e80.tar.gz
nixpkgs-4e15efefeabfa6e8c147f35cf6554b84ae9f5e80.tar.bz2
nixpkgs-4e15efefeabfa6e8c147f35cf6554b84ae9f5e80.tar.lz
nixpkgs-4e15efefeabfa6e8c147f35cf6554b84ae9f5e80.tar.xz
nixpkgs-4e15efefeabfa6e8c147f35cf6554b84ae9f5e80.tar.zst
nixpkgs-4e15efefeabfa6e8c147f35cf6554b84ae9f5e80.zip
Some progress in Atheros (no practical result), added a pulled from freedesktop us keymap patch (level 3 deadkeys)
svn path=/nixpkgs/trunk/; revision=10109
-rw-r--r--pkgs/data/misc/xkeyboard-config/default.nix5
-rw-r--r--pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl95
-rw-r--r--pkgs/os-specific/linux/atheros/0.9.3.3.nix22
-rw-r--r--pkgs/top-level/all-packages.nix4
4 files changed, 119 insertions, 7 deletions
diff --git a/pkgs/data/misc/xkeyboard-config/default.nix b/pkgs/data/misc/xkeyboard-config/default.nix
index 9eae78b0700..31836d24ecf 100644
--- a/pkgs/data/misc/xkeyboard-config/default.nix
+++ b/pkgs/data/misc/xkeyboard-config/default.nix
@@ -16,5 +16,8 @@ stdenv.mkDerivation {
     configureFlags=\"--with-xkb-base=$out/etc/X11/xkb -with-xkb-rules-symlink=xorg,xfree86\"
   ";
 
-  postInstall = "rm \${out}/etc/X11/xkb/compiled";
+  postInstall = ''
+  	rm ''${out}/etc/X11/xkb/compiled
+	cat ${./level3-deadkeys-us-intl} >> $out/etc/X11/xkb/symbols/us
+  '';
 }
diff --git a/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl b/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl
new file mode 100644
index 00000000000..6b7d263da7f
--- /dev/null
+++ b/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl
@@ -0,0 +1,95 @@
+
+// Grabbed from http://lists.freedesktop.org/archives/xorg/2007-July/026686.html
+// Submitted there by Adriaan van Nijendaal, he says he submitted it to X.org
+// for inclusion, so it should be OK to use it as if it were part of X.org
+
+// The keyboard section in the X-server config file
+// (/etc/X11/xorg.conf on my system) looks like this:
+//
+// Section "InputDevice"
+//   Driver	"kbd"
+//   Identifier	"Keyboard[0]"
+//   Option	"XkbModel"	"pc101"
+//   Option	"XkbLayout"	"us"
+//   Option	"XkbVariant"	"altgr-intl"
+// EndSection
+//
+// To be effective, you need to install this file, change the X config
+// file and restart the X-server. Or, alternatively, you can do this
+// run-time:
+//
+// setxkbmap -v -rules xorg -model pc101 -layout us -variant altgr-intl
+//
+// Once the X-server has loaded the new config, a keyboard can be
+// displayed with: (if you change "-ll 1" into "-ll 2", you'll see
+// the special keys ONLY.)
+//
+//   xkbcomp -o /tmp/keyboard.xkm -opt cgkst -xkb $DISPLAY
+//   xkbprint -o /tmp/keyboard.xkm.ps -kc -nkg 2 -ntg 4 -lg 1 -ll 1 \
+//	-lc en_US.iso885915 -level2 -mono -label symbols -w 3 $DISPLAY;
+//   gv -seascape /tmp/keyboard.xkm.ps
+//   rm -f /tmp/keyboard.xkm.ps /tmp/keyboard.xkm
+//
+
+partial alphanumeric_keys
+xkb_symbols "altgr-intl" {
+
+    name[Group1]= "U.S. English - International (AltGr dead keys)";
+
+    include "us(basic)"
+
+    key <TLDE> { [    grave,	asciitilde,	dead_grave,	dead_tilde	] };
+    key <AE01> { [	  1,	exclam,		onesuperior,	exclamdown	] };
+    key <AE02> { [	  2,	at,		twosuperior,	dead_doubleacute] };
+    key <AE03> { [	  3,	numbersign,	threesuperior,	dead_macron	] };
+    key <AE04> { [	  4,	dollar,		currency,	sterling	] };
+    key <AE05> { [	  5,	percent,		EuroSign		] };
+    key <AE06> { [	  6,	asciicircum,		dead_circumflex		] };
+    key <AE07> { [	  7,	ampersand,		dead_horn		] };
+    key <AE08> { [	  8,	asterisk,		dead_ogonek		] };
+    key <AE09> { [	  9,	parenleft,  leftsinglequotemark,dead_breve	] };
+    key <AE10> { [	  0,	parenright,rightsinglequotemark,dead_abovering	] };
+    key <AE11> { [    minus,	underscore,	yen,		dead_belowdot	] };
+    key <AE12> { [    equal,	plus,		multiply,	division	] };
+
+    key <AD01> { [	  q,	Q,		adiaeresis,	Adiaeresis	] };
+    key <AD02> { [	  w,	W,		aring,		Aring		] };
+    key <AD03> { [	  e,	E,		eacute,		Eacute		] };
+    key <AD04> { [	  r,	R,		ediaeresis,	Ediaeresis	] };
+    key <AD05> { [	  t,	T,		thorn,		THORN		] };
+    key <AD06> { [	  y,	Y,		udiaeresis,	Udiaeresis	] };
+    key <AD07> { [	  u,	U,		uacute,		Uacute		] };
+    key <AD08> { [	  i,	I,		iacute,		Iacute		] };
+    key <AD09> { [	  o,	O,		oacute,		Oacute		] };
+    key <AD10> { [	  p,	P,		odiaeresis,	Odiaeresis	] };
+    key <AD11> { [ bracketleft,	braceleft,		guillemotleft		] };
+    key <AD12> { [ bracketright,braceright,		guillemotright		] };
+
+    key <AC01> { [	  a,	A,		aacute,		Aacute		] };
+    key <AC02> { [	  s,	S,		ssharp,		section		] };
+    key <AC03> { [	  d,	D,		eth,		ETH		] };
+    key <AC04> { [	  f,	F						] };
+    key <AC05> { [	  g,	G						] };
+    key <AC06> { [	  h,	H						] };
+    key <AC07> { [	  j,	J,		idiaeresis,	Idiaeresis	] };
+    key <AC08> { [	  k,	K						] };
+    key <AC09> { [	  l,	L,		oslash,		Ooblique	] };
+    key <AC10> { [semicolon,	colon,		paragraph,	degree		] };
+    key <AC11> { [apostrophe,	quotedbl,	dead_acute,	dead_diaeresis	] };
+
+    key <AB01> { [	  z,	Z,		ae,		AE		] };
+    key <AB02> { [	  x,	X,		oe,		OE		] };
+    key <AB03> { [	  c,	C,		copyright,	cent		] };
+    key <AB04> { [	  v,	V,		registered,	registered	] };
+    key <AB05> { [	  b,	B						] };
+    key <AB06> { [	  n,	N,		ntilde,		Ntilde		] };
+    key <AB07> { [	  m,	M,		mu,		mu		] };
+    key <AB08> { [    comma,	less,		ccedilla,	Ccedilla	] };
+    key <AB09> { [   period,	greater,	dead_abovedot,	dead_caron	] };
+    key <AB10> { [    slash,	question,	questiondown,	dead_hook	] };
+    key <BKSL> { [backslash,	bar,		notsign,	brokenbar	] };
+
+    // Let's have free choice
+    //include "level3(ralt_switch)"
+};
+
diff --git a/pkgs/os-specific/linux/atheros/0.9.3.3.nix b/pkgs/os-specific/linux/atheros/0.9.3.3.nix
index f9d6af2d838..245d75e0998 100644
--- a/pkgs/os-specific/linux/atheros/0.9.3.3.nix
+++ b/pkgs/os-specific/linux/atheros/0.9.3.3.nix
@@ -1,19 +1,31 @@
 args : with args;
 	with builderDefs {
 		src = /* put a fetchurl here */
-	fetchurl {
-		url = http://downloads.sourceforge.net/madwifi/madwifi-0.9.3.3.tar.bz2;
-		sha256 = "1dq56dx81wfhpgipbrl3gk2is3g1xvysx2pl6vxyj0dhslkcnf3y";
-	};
+		fetchurl {
+			url = http://downloads.sourceforge.net/madwifi/madwifi-0.9.3.3.tar.bz2;
+			sha256 = "1dq56dx81wfhpgipbrl3gk2is3g1xvysx2pl6vxyj0dhslkcnf3y";
+		};
 
 		buildInputs = [];
 		configureFlags = [];
 		makeFlags = [''KERNELPATH=${kernel}/lib/modules/*/build'' ''DESTDIR=$out''];
+		patchAR2425x86 = (if args ? pci001c_rev01 && args.pci001c_rev01 then
+		fetchurl {
+			url = http://madwifi.org/attachment/ticket/1679/madwifi-ng-0933.ar2425.20071130.i386.patch?format=raw;
+			name = "madwifi-AR2425-x86.patch";
+			sha256 = "11xpx5g9w7ilagvj60prc3s8a3x0n5n4mr0b7nh0lxwrbjdgjjfg";
+		} else "");
 	} null; /* null is a terminator for sumArgs */
+let 
+doPatch = FullDepEntry (if patchAR2425x86 !="" then ''
+	cd hal
+	patch -Np1 -i ${patchAR2425x86}
+'' else "") [minInit doUnpack];
+in
 stdenv.mkDerivation rec {
 	name = "atheros-"+version;
 	builder = writeScript (name + "-builder")
-		(textClosure [doMakeInstall doForceShare doPropagate]);
+		(textClosure [doPatch doMakeInstall doForceShare doPropagate]);
 	meta = {
 		description = "
 		Atheros WiFi driver.
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8657c36bb1b..b3b40a2e305 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2996,8 +2996,10 @@ rec {
     inherit fetchurl stdenv builderDefs;
   };
 
+  atherosVersion = "0.9.3.3";
+
   atherosFunCurrent = theKernel: (atherosFun {
-    version = "0.9.3.3";
+    version = atherosVersion;
     kernel = theKernel;
   } null);