From 985d97d785687013551146aa9531ec832cd80708 Mon Sep 17 00:00:00 2001 From: Thomas Kerber Date: Sat, 26 Oct 2019 18:58:00 +0100 Subject: [PATCH] libraspberrypi: init at 2019-10-22 --- pkgs/development/libraries/libcec/default.nix | 5 ++-- .../libraries/libraspberrypi/default.nix | 25 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 7 +++++- 3 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/libraries/libraspberrypi/default.nix 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 912bb0d8549..11f605ea68c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4512,6 +4512,8 @@ in libr3 = callPackage ../development/libraries/libr3 { }; + libraspberrypi = callPackage ../development/libraries/libraspberrypi { }; + libsidplayfp = callPackage ../development/libraries/libsidplayfp { }; libspf2 = callPackage ../development/libraries/libspf2 { }; @@ -11614,7 +11616,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; };