diff options
Diffstat (limited to 'pkgs/os-specific/linux/firmware/raspberrypi')
3 files changed, 62 insertions, 36 deletions
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix b/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix new file mode 100644 index 00000000000..52fa4266577 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix @@ -0,0 +1,51 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config }: + +let + inherit (lib) optionals; +in +stdenv.mkDerivation { + pname = "raspberrypi-armstubs"; + version = "2020-10-08"; + + src = fetchFromGitHub { + owner = "raspberrypi"; + repo = "tools"; + rev = "fc0e73c13865450e95edd046200e42a6e52d8256"; + sha256 = "1g6ikpjcrm5x0rk5aiwjdd8grf997qkvgamcrdxy6k9ln746h25s"; + }; + + NIX_CFLAGS_COMPILE = [ + "-march=armv8-a+crc" + ]; + + preConfigure = '' + cd armstubs + ''; + + makeFlags = [ + "CC8=${stdenv.cc.targetPrefix}cc" + "LD8=${stdenv.cc.targetPrefix}ld" + "OBJCOPY8=${stdenv.cc.targetPrefix}objcopy" + "OBJDUMP8=${stdenv.cc.targetPrefix}objdump" + "CC7=${stdenv.cc.targetPrefix}cc" + "LD7=${stdenv.cc.targetPrefix}ld" + "OBJCOPY7=${stdenv.cc.targetPrefix}objcopy" + "OBJDUMP7=${stdenv.cc.targetPrefix}objdump" + ] + ++ optionals (stdenv.isAarch64) [ "armstub8.bin" "armstub8-gic.bin" ] + ++ optionals (stdenv.isAarch32) [ "armstub7.bin" "armstub8-32.bin" "armstub8-32-gic.bin" ] + ; + + installPhase = '' + mkdir -vp $out/ + cp -v *.bin $out/ + ''; + + meta = with lib; { + description = "Firmware related ARM stubs for the Raspberry Pi"; + homepage = https://github.com/raspberrypi/tools; + license = licenses.bsd3; + platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ]; + maintainers = with maintainers; [ samueldr ]; + }; +} diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix index 77a28444636..6a826f63966 100644 --- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix +++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix @@ -1,14 +1,15 @@ -{ stdenv, fetchFromGitHub }: +{ lib, stdenvNoCC, fetchFromGitHub }: -stdenv.mkDerivation rec { +stdenvNoCC.mkDerivation rec { + # NOTE: this should be updated with linux_rpi pname = "raspberrypi-firmware"; - version = "1.20200601"; + version = "1.20210303"; src = fetchFromGitHub { owner = "raspberrypi"; repo = "firmware"; rev = version; - sha256 = "1vm038f9digwg8gdxl2bypzlip3ycjb6bl56274gh5i9abl6wjvf"; + sha256 = "0pgiw93hq4gfph5dnwbi8w59g0f7yhmagwzam971k529mh5yl86m"; }; installPhase = '' @@ -16,11 +17,14 @@ stdenv.mkDerivation rec { cp -R boot/* $out/share/raspberrypi/boot ''; - meta = with stdenv.lib; { + dontConfigure = true; + dontBuild = true; + dontFixup = true; + + meta = with lib; { description = "Firmware for the Raspberry Pi board"; homepage = "https://github.com/raspberrypi/firmware"; license = licenses.unfreeRedistributableFirmware; # See https://github.com/raspberrypi/firmware/blob/master/boot/LICENCE.broadcom - platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ dezgeg tavyc ]; + maintainers = with maintainers; [ dezgeg ]; }; } diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/tools.nix b/pkgs/os-specific/linux/firmware/raspberrypi/tools.nix deleted file mode 100644 index 6c4d49e4e24..00000000000 --- a/pkgs/os-specific/linux/firmware/raspberrypi/tools.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig }: - -stdenv.mkDerivation { - pname = "raspberrypi-tools"; - version = "2020-05-28"; - - src = fetchFromGitHub { - owner = "raspberrypi"; - repo = "userland"; - rev = "f97b1af1b3e653f9da2c1a3643479bfd469e3b74"; - sha256 = "1r7n05rv96hqjq0rn0qzchmfqs0j7vh3p8jalgh66s6l0vms5mwy"; - }; - - nativeBuildInputs = [ cmake pkgconfig ]; - - preConfigure = '' - cmakeFlagsArray+=("-DVMCS_INSTALL_PREFIX=$out") - '' + stdenv.lib.optionalString stdenv.isAarch64 '' - cmakeFlagsArray+=("-DARM64=1") - ''; - - meta = with stdenv.lib; { - description = "Userland tools for the Raspberry Pi board"; - homepage = "https://github.com/raspberrypi/userland"; - license = licenses.bsd3; - platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ dezgeg tavyc ]; - }; -} |