forked from mirrors/nixpkgs
facetimehd: init at git-20160127
This commit is contained in:
parent
fdb5563bcc
commit
9213916ca7
43
nixos/modules/hardware/video/webcam/facetimehd.nix
Normal file
43
nixos/modules/hardware/video/webcam/facetimehd.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.hardware.facetimehd;
|
||||
|
||||
kernelPackages = config.boot.kernelPackages;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
options.hardware.facetimehd.enable = mkEnableOption "facetimehd kernel module";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
assertions = singleton {
|
||||
assertion = versionAtLeast kernelPackages.kernel.version "3.19";
|
||||
message = "facetimehd is not supported for kernels older than 3.19";
|
||||
};
|
||||
|
||||
boot.kernelModules = [ "facetimehd" ];
|
||||
|
||||
boot.extraModulePackages = [ kernelPackages.facetimehd ];
|
||||
|
||||
hardware.firmware = [ pkgs.facetimehd-firmware ];
|
||||
|
||||
# unload module during suspend/hibernate as it crashes the whole system
|
||||
powerManagement.powerDownCommands = ''
|
||||
${pkgs.module_init_tools}/bin/rmmod -f facetimehd
|
||||
'';
|
||||
|
||||
# and load it back on resume
|
||||
powerManagement.resumeCommands = ''
|
||||
export MODULE_DIR=/run/current-system/kernel-modules/lib/modules
|
||||
${pkgs.module_init_tools}/bin/modprobe -v facetimehd
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -42,6 +42,7 @@
|
|||
./hardware/video/bumblebee.nix
|
||||
./hardware/video/nvidia.nix
|
||||
./hardware/video/ati.nix
|
||||
./hardware/video/webcam/facetimehd.nix
|
||||
./installer/tools/auto-upgrade.nix
|
||||
./installer/tools/nixos-checkout.nix
|
||||
./installer/tools/tools.nix
|
||||
|
|
34
pkgs/os-specific/linux/facetimehd/default.nix
Normal file
34
pkgs/os-specific/linux/facetimehd/default.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{ stdenv, fetchFromGitHub, kernel }:
|
||||
|
||||
# facetimehd is not supported for kernels older than 3.19";
|
||||
assert stdenv.lib.versionAtLeast kernel.version "3.19";
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
name = "facetimehd-${version}-${kernel.version}";
|
||||
version = "git-20160127";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "patjak";
|
||||
repo = "bcwc_pcie";
|
||||
rev = "186e9f9101ed9bbd7cc8d470f840d4a74c585ca7";
|
||||
sha256 = "1frsf6z6v94cz9fww9rbnk926jzl36fp3w2d1aw6djhzwm80a5gs";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
export INSTALL_MOD_PATH="$out"
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/patjak/bcwc_pcie;
|
||||
description = "Linux driver for the Facetime HD (Broadcom 1570) PCIe webcam";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.womfoo ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
}
|
|
@ -10263,6 +10263,8 @@ let
|
|||
|
||||
openafsClient = callPackage ../servers/openafs-client { };
|
||||
|
||||
facetimehd = callPackage ../os-specific/linux/facetimehd { };
|
||||
|
||||
kernelHeaders = callPackage ../os-specific/linux/kernel-headers { };
|
||||
|
||||
klibc = callPackage ../os-specific/linux/klibc { };
|
||||
|
|
Loading…
Reference in a new issue