Author: shlevy
Date: Tue Mar 20 04:41:13 2012
New Revision: 33286
URL: https://nixos.org/websvn/nix/?rev=33286&sc=1
Log:
Add a module for the pommed tool for Apple laptop keyboards.
Added:
nixos/trunk/modules/services/hardware/pommed.nix
nixpkgs/trunk/pkgs/development/libraries/audiofile/
nixpkgs/trunk/pkgs/development/libraries/audiofile/default.nix
nixpkgs/trunk/pkgs/os-specific/linux/pommed/
nixpkgs/trunk/pkgs/os-specific/linux/pommed/default.nix
Modified:
nixos/trunk/modules/module-list.nix
nixpkgs/trunk/pkgs/top-level/all-packages.nix
Modified: nixos/trunk/modules/module-list.nix
==============================================================================
--- nixos/trunk/modules/module-list.nix Tue Mar 20 01:56:39 2012 (r33285)
+++ nixos/trunk/modules/module-list.nix Tue Mar 20 04:41:13 2012 (r33286)
@@ -75,6 +75,7 @@
./services/hardware/hal.nix
./services/hardware/nvidia-optimus.nix
./services/hardware/pcscd.nix
+ ./services/hardware/pommed.nix
./services/hardware/sane.nix
./services/hardware/udev.nix
./services/hardware/udisks.nix
Added: nixos/trunk/modules/services/hardware/pommed.nix
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ nixos/trunk/modules/services/hardware/pommed.nix Tue Mar 20 04:41:13
2012 (r33286)
@@ -0,0 +1,47 @@
+{ config, pkgs, ... }:
+
+with pkgs.lib;
+
+{
+
+ options.services.hardware.pommed = {
+ enable = mkOption {
+ default = false;
+ description = ''
+ Whether to use the pommed tool to handle Apple laptop keyboard hotkeys.
+ '';
+ };
+
+ configFile = mkOption {
+ default = builtins.toPath "${pkgs.pommed}/etc/pommed.conf";
+ description = ''
+ The contents of the pommed.conf file.
+ '';
+ };
+ };
+
+ config = mkIf config.services.hardware.pommed.enable {
+ environment.systemPackages = [ pkgs.polkit ];
+
+ environment.etc = [
+ { source = config.services.hardware.pommed.configFile;
+ target = "pommed.conf";
+ }
+ ];
+
+ services.dbus.packages = [ pkgs.pommed ];
+
+ jobs.pommed = { name = "pommed";
+
+ description = "Pommed hotkey management";
+
+ startOn = "started dbus";
+
+ postStop = "rm -f /var/run/pommed.pid";
+
+ exec = "${pkgs.pommed}/bin/pommed";
+
+ daemonType = "fork";
+ };
+ };
+}
Added: nixpkgs/trunk/pkgs/development/libraries/audiofile/default.nix
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/development/libraries/audiofile/default.nix Tue Mar
20 04:41:13 2012 (r33286)
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, alsaLib }:
+
+stdenv.mkDerivation rec {
+ name = "audiofile-0.3.3";
+
+ buildInputs = [ alsaLib ];
+
+ src = fetchurl {
+ url = "http://audiofile.68k.org/${name}.tar.gz";
+ sha256 = "1qm7z0g1d9rcxi1m87slgdi0rhl94g13dx3d2b05dilghwpgjjgq";
+ };
+
+ meta = {
+ description = "A library for reading and writing audio files in various
formats";
+ homepage = http://www.68k.org/~michael/audiofile/;
+ license = "lgpl";
+ maintainers = [ stdenv.lib.maintainers.shlevy ];
+ };
+}
Added: nixpkgs/trunk/pkgs/os-specific/linux/pommed/default.nix
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/os-specific/linux/pommed/default.nix Tue Mar 20
04:41:13 2012 (r33286)
@@ -0,0 +1,82 @@
+{
+ stdenv
+, fetchurl
+, pciutils
+, confuse
+, dbus, dbus_glib
+, alsaLib
+, audiofile
+, eject
+, pkgconfig
+, gtk
+, gettext
+, libXpm
+}:
+
+let
+
+ build_flags_patch = fetchurl {
+ url =
http://patch-tracker.debian.org/patch/series/dl/pommed/1.39~dfsg-2/build_flags.patch;
+ sha256 = "109n5v0m91fqf8vqnpqg1zw8mk8fi9pkzqsfrmlavalg4xz49x9j";
+ };
+
+in
+
+stdenv.mkDerivation rec {
+ name = "pommed-1.39";
+
+ src = fetchurl {
+ url = "http://alioth.debian.org/frs/download.php/3583/${name}.tar.gz";
+ sha256 = "18lxywmikanjr5pk1jdqda88dxd2579fpyd332xn4njjhlgwy5fp";
+ };
+
+ patches = [ build_flags_patch ];
+
+ buildInputs = [
+ pciutils
+ confuse
+ dbus
+ alsaLib
+ audiofile
+ eject
+ dbus_glib
+ pkgconfig
+ gtk
+ gettext
+ libXpm
+ ];
+
+ installPhase = ''
+ mkdir -pv $out/bin $out/etc/init.d $out/etc/dbus-1/system.d \
+ $out/share/pommed $out/share/gpomme $out/share/applications \
+ $out/share/icons/hicolor/scalable/apps $out/share/pixmaps
+
+ install -v -m755 pommed/pommed wmpomme/wmpomme gpomme/gpomme $out/bin
+ install -v -m644 pommed/data/* $out/share/pommed
+ install -v -m644 pommed.conf.mactel $out/etc/pommed.conf
+ install -v -m644 pommed.init $out/etc/init.d
+ install -v -m644 dbus-policy.conf $out/etc/dbus-1/system.d/pommed.conf
+
+ cp -av gpomme/themes $out/share/gpomme
+ for lang in de es fr it ja; do
+ mkdir -pv $out/share/locale/"$lang"/LC_MESSAGES
+ install -v -m644 gpomme/po/"$lang".mo
$out/share/locale/"$lang"/LC_MESSAGES/gpomme.mo
+ done
+ install -v -m644 gpomme/gpomme*.desktop $out/share/applications
+ for size in 128 16 192 22 24 32 36 48 64 72 96; do
+ mkdir -pv $out/share/icons/hicolor/"$size"x"$size"/apps
+ install -v -m644 icons/gpomme_"$size"x"$size".png \
+ $out/share/icons/hicolor/"$size"x"$size"/apps
+ done
+ install -v -m644 icons/gpomme.svg $out/share/icons/hicolor/scalable/apps
+
+ install -v -m644 icons/gpomme_192x192.xpm $out/share/pixmaps/wmpomme.xpm
+ '';
+
+ meta = {
+ description = "A tool to handle hotkeys on Apple laptop keyboards";
+ homepage = http://www.technologeek.org/projects/pommed/index.html;
+ license = "gplv2";
+ maintainers = [ stdenv.lib.maintainers.shlevy ];
+ };
+}
Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==============================================================================
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix Tue Mar 20 01:56:39
2012 (r33285)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix Tue Mar 20 04:41:13
2012 (r33286)
@@ -3223,6 +3223,8 @@
aubio = callPackage ../development/libraries/aubio { };
+ audiofile = callPackage ../development/libraries/audiofile { };
+
axis = callPackage ../development/libraries/axis { };
babl = callPackage ../development/libraries/babl { };
@@ -7173,6 +7175,10 @@
gtksharp = gtksharp2;
};
+ pommed = callPackage ../os-specific/linux/pommed {
+ inherit (xorg) libXpm;
+ };
+
pqiv = callPackage ../applications/graphics/pqiv { };
# perhaps there are better apps for this task? It's how I had configured my
preivous system.
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits