diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2db4184e160..dfa1d8de9ec 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6677,6 +6677,16 @@ githubId = 13026; name = "Jonathan Rudenberg"; }; + tkerber = { + email = "tk@drwx.org"; + github = "tkerber"; + githubId = 5722198; + name = "Thomas Kerber"; + keys = [ { + longkeyid = "rsa4096/0x8489B911F9ED617B"; + fingerprint = "556A 403F B0A2 D423 F656 3424 8489 B911 F9ED 617B"; + } ]; + }; tmplt = { email = "tmplt@dragons.rocks"; github = "tmplt"; diff --git a/pkgs/development/libraries/libcec/default.nix b/pkgs/development/libraries/libcec/default.nix index 2688881e66d..070cb58149c 100644 --- a/pkgs/development/libraries/libcec/default.nix +++ b/pkgs/development/libraries/libcec/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, pkgconfig, udev, libcec_platform }: +{ stdenv, fetchurl, cmake, pkgconfig, udev, libcec_platform, libraspberrypi ? null }: let version = "4.0.4"; in @@ -12,7 +12,8 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ cmake udev libcec_platform ]; + buildInputs = [ cmake udev libcec_platform ] ++ + stdenv.lib.optional (libraspberrypi != null) libraspberrypi; cmakeFlags = [ "-DBUILD_SHARED_LIBS=1" ]; diff --git a/pkgs/development/libraries/libraspberrypi/default.nix b/pkgs/development/libraries/libraspberrypi/default.nix new file mode 100644 index 00000000000..ec31a29d053 --- /dev/null +++ b/pkgs/development/libraries/libraspberrypi/default.nix @@ -0,0 +1,25 @@ +{ stdenv, cmake, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "libraspberrypi"; + version = "2019-10-22"; + src = fetchFromGitHub { + owner = "raspberrypi"; + repo = "userland"; + rev = "5070cb7fc150fc98f1ed64a7739c3356970d9f76"; + sha256 = "08yfzwn9s7lhrblcsxyag9p5lj5vk3n66b1pv3f7r3hah7qcggyq"; + }; + + cmakeFlags = if (stdenv.targetPlatform.system == "aarch64-linux") + then "-DARM64=ON" + else "-DARM64=OFF"; + preConfigure = ''cmakeFlags="$cmakeFlags -DVMCS_INSTALL_PREFIX=$out"''; + nativeBuildInputs = [ cmake ]; + meta = with stdenv.lib; { + description = "Userland libraries for interfacing with Raspberry Pi hardware"; + homepage = https://github.com/raspberrypi/userland; + license = licenses.bsd3; + platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ]; + maintainers = with maintainers; [ tkerber ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 209ee356725..faffd935700 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4659,6 +4659,8 @@ in libr3 = callPackage ../development/libraries/libr3 { }; + libraspberrypi = callPackage ../development/libraries/libraspberrypi { }; + libsidplayfp = callPackage ../development/libraries/libsidplayfp { }; libspf2 = callPackage ../development/libraries/libspf2 { }; @@ -11875,7 +11877,10 @@ in libcbor = callPackage ../development/libraries/libcbor { }; - libcec = callPackage ../development/libraries/libcec { }; + libcec = callPackage ../development/libraries/libcec { + libraspberrypi = null; + }; + libcec_platform = callPackage ../development/libraries/libcec/platform.nix { }; libcef = callPackage ../development/libraries/libcef { inherit (gnome2) GConf; };