at master 1.2 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 cmake, 6 pkg-config, 7 udev, 8 libcec_platform, 9 withLibraspberrypi ? false, 10 libraspberrypi, 11}: 12 13stdenv.mkDerivation rec { 14 pname = "libcec"; 15 version = "7.1.1"; 16 17 src = fetchFromGitHub { 18 owner = "Pulse-Eight"; 19 repo = "libcec"; 20 rev = "libcec-${version}"; 21 sha256 = "sha256-t8GUQKWTcxjyaAlsTP4C+heYiVYowG7x+fmjHPND7As="; 22 }; 23 24 # Fix dlopen path 25 postPatch = '' 26 substituteInPlace include/cecloader.h --replace "\"libcec." "\"$out/lib/libcec." 27 ''; 28 29 nativeBuildInputs = [ 30 pkg-config 31 cmake 32 ]; 33 buildInputs = [ 34 libcec_platform 35 ] 36 ++ lib.optional stdenv.hostPlatform.isLinux udev 37 ++ lib.optional withLibraspberrypi libraspberrypi; 38 39 cmakeFlags = [ 40 "-DBUILD_SHARED_LIBS=1" 41 ] 42 ++ lib.optionals stdenv.hostPlatform.isLinux [ 43 "-DHAVE_LINUX_API=1" 44 ]; 45 46 meta = with lib; { 47 description = "Allows you (with the right hardware) to control your device with your TV remote control using existing HDMI cabling"; 48 homepage = "http://libcec.pulse-eight.com"; 49 license = lib.licenses.gpl2Plus; 50 platforms = platforms.linux ++ platforms.darwin; 51 teams = [ teams.kodi ]; 52 }; 53}