From eb8f7dafa152b676e2ba060990d2968fb1e2d1f1 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Tue, 8 Oct 2024 10:15:20 +0200 Subject: [PATCH] esp8266 --- packages/default.nix | 7 ++++- packages/esp8266-sdk.nix | 56 ++++++++++++++++++++++++++++++++++++++++ packages/esp8266.nix | 46 +++++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 packages/esp8266-sdk.nix create mode 100644 packages/esp8266.nix diff --git a/packages/default.nix b/packages/default.nix index 340a8d5..1b381fb 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -4,7 +4,7 @@ system, }: -{ +rec { libadwaita-follow-theme = pkgs.libadwaita.overrideAttrs (old: { patches = (old.patches or [ ]) ++ [ ./adwaita-theming-support.patch ]; doCheck = false; @@ -12,6 +12,11 @@ nixos-anywhere = inputs.nixos-anywhere.packages.${system}.nixos-anywhere; + esp8266 = pkgs.callPackage ./esp8266.nix { }; + esp8266-sdk = pkgs.callPackage ./esp8266-sdk.nix { + inherit esp8266; + }; + kde-hdr-fix = pkgs.callPackage ./kde-hdr.nix { }; kde-wallpaper = pkgs.callPackage ./kde-wallpaper.nix { }; } diff --git a/packages/esp8266-sdk.nix b/packages/esp8266-sdk.nix new file mode 100644 index 0000000..87d6582 --- /dev/null +++ b/packages/esp8266-sdk.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + esp8266, + ncurses, + flex, + bison, + gperf, +}: + +stdenv.mkDerivation rec { + pname = "esp8266-sdk"; + version = "3.4"; + + src = fetchFromGitHub { + owner = "espressif"; + repo = "ESP8266_RTOS_SDK"; + rev = "v${version}"; + hash = "sha256-3+eIiW79dlHFjkLGXq4IV5EC78I7JDtASLkDyCyyh6g="; + }; + + postPatch = '' + substituteInPlace ./lxdialog/check-lxdialog.sh --replace-fail "main() {}" "int main() { return 0; }" + #substituteInPlace Makefile --replace "-lncurses" "${ncurses}/lib/libncurses.so" + ''; + + env = { + LDFLAGS = "-L${ncurses}/lib"; + CPPFLAGS = "-I${ncurses.dev}/include"; + NIX_CFLAGS_COMPILE = "-I${ncurses.dev}/include"; + }; + + sourceRoot = "${src.name}/tools/kconfig"; + + nativeBuildInputs = [ + flex + bison + gperf + ]; + + buildInputs = [ + esp8266 + ncurses + stdenv.cc.cc.lib + ]; + + meta = { + description = "ESP8266 RTOS SDK, an SDK for developing applications for the ESP8266 WiFi SoC"; + homepage = "https://github.com/espressif/ESP8266_RTOS_SDK"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ jopejoe1 ]; + platforms = lib.platforms.linux; + }; +} diff --git a/packages/esp8266.nix b/packages/esp8266.nix new file mode 100644 index 0000000..714a6df --- /dev/null +++ b/packages/esp8266.nix @@ -0,0 +1,46 @@ +{ + lib, + stdenv, + fetchzip, + autoPatchelfHook, + gcc, + git, + ncurses, + flex, + bison, + gperf, + python3, +}: + +stdenv.mkDerivation rec { + pname = "esp8266"; + version = "2020r3"; + + src = fetchzip { + url = "https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-${version}-linux-amd64.tar.gz"; + hash = "sha256-6to5phSx3E2D/qIbN+Nci9qkCTsGT18veFpcKAC1IfA="; + }; + + installPhase = '' + mkdir -p $out/ + mv ./* $out/ + ''; + + nativeBuildInputs = [ + autoPatchelfHook + ]; + + buildInputs = [ + stdenv.cc.cc.lib + ]; + + autoPatchelfIgnoreMissingDeps = [ "libpython2.7.so.1.0" ]; + + meta = { + description = "Hacks to make HDR work in games on KDE"; + homepage = "https://github.com/Zamundaaa/VK_hdr_layer"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jopejoe1 ]; + platforms = lib.platforms.linux; + }; +}