diff options
| author | Alejandro Soto <alejandro@34project.org> | 2024-06-02 11:13:51 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2024-06-02 12:19:36 -0600 |
| commit | 3794b707ebec4f91bd3f9922572bb154a8ac910a (patch) | |
| tree | ab67275698f464f7348b08dd92c39ae932007fc5 | |
| parent | 8fb28df31fcee15c82a57ed3988e8eb0f23a32b6 (diff) | |
nix/shells: refactor out of flake
| -rw-r--r-- | flake.nix | 97 | ||||
| -rw-r--r-- | nix/shells.nix | 90 |
2 files changed, 97 insertions, 90 deletions
@@ -6,6 +6,12 @@ pkgs = import nixpkgs { inherit system; config.allowUnfree = true; + + overlays = [ + (self: super: { + inherit cross rv32Pkgs; + }) + ]; }; crossSystem = "arm-linux"; @@ -130,95 +136,6 @@ ]; }; - devShells."${system}" = with pkgs; { - default = mkShell { - buildInputs = [ - ncurses - openssl - SDL2 - zlib - ]; - - nativeBuildInputs = [ - binutils - gcc - cross.stdenv.cc.cc - cross.stdenv.cc.bintools - gcc-arm-embedded - gdb - gnumake - gtkwave - kermit - meson - ninja - lcov - (openocd.overrideAttrs (prev: { - pname = "openocd-vexriscv"; - version = "0.11.0-master"; - - buildInputs = prev.buildInputs ++ [ pkgs.libyaml ]; - nativeBuildInputs = [ pkgs.autoreconfHook ] ++ prev.nativeBuildInputs; - - src = pkgs.fetchFromGitHub { - repo = "openocd_riscv"; - owner = "SpinalHDL"; - - rev = "058dfa50d625893bee9fecf8d604141911fac125"; - hash = "sha256-bv8hUlZXEexUy8tzrnibNYRNb2oLRfh1xCpmalPwdqc="; - }; - })) - pkg-config - (python3.withPackages (py: with py; [ - cocotb - cocotb-bus - find-libpython # Para cocotb - matplotlib - numpy - pillow - pytest # Para cocotb - (py.callPackage ./nix/cocotb-coverage.nix { }) - (py.callPackage ./nix/peakrdl/peakrdl.nix { }) - (py.callPackage ./nix/peakrdl/peakrdl-regblock.nix { }) - (py.callPackage ./nix/pyuvm.nix { }) - ])) - rv32Pkgs.stdenv.cc.cc - rv32Pkgs.stdenv.cc.bintools - (quartus-prime-lite.override { supportedDevices = [ "Cyclone V" ]; }) - verilator - ]; - - shellHook = '' - export CROSS_COMPILE=arm-unknown-linux-gnueabi- - export MAKEFLAGS="AR=gcc-ar" - - # <https://discourse.nixos.org/t/fonts-in-nix-installed-packages-on-a-non-nixos-system/5871/7> - export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive" - export FONTCONFIG_FILE="${fontconfig.out}/etc/fonts/fonts.conf" - ''; - }; - - kbuild = mkShell { - buildInputs = [ - ncurses - ]; - - nativeBuildInputs = [ - bc - bison - flex - gcc - cross.stdenv.cc.cc - cross.stdenv.cc.bintools - gnumake - openssl # Splash de u-boot - ubootTools - ]; - - shellHook = '' - export CROSS_COMPILE=arm-unknown-linux-gnueabi- - export MAKEFLAGS="ARCH=arm O=build/taller LOADADDR=0x8000" - ''; - }; - }; + devShells."${system}" = import ./nix/shells.nix { inherit pkgs; }; }; } diff --git a/nix/shells.nix b/nix/shells.nix new file mode 100644 index 0000000..0ab1bba --- /dev/null +++ b/nix/shells.nix @@ -0,0 +1,90 @@ +{ pkgs }: with pkgs; { + default = mkShell { + buildInputs = [ + ncurses + openssl + SDL2 + zlib + ]; + + nativeBuildInputs = [ + binutils + gcc + cross.stdenv.cc.cc + cross.stdenv.cc.bintools + gcc-arm-embedded + gdb + gnumake + gtkwave + kermit + meson + ninja + lcov + (openocd.overrideAttrs (prev: { + pname = "openocd-vexriscv"; + version = "0.11.0-master"; + + buildInputs = prev.buildInputs ++ [ pkgs.libyaml ]; + nativeBuildInputs = [ pkgs.autoreconfHook ] ++ prev.nativeBuildInputs; + + src = pkgs.fetchFromGitHub { + repo = "openocd_riscv"; + owner = "SpinalHDL"; + + rev = "058dfa50d625893bee9fecf8d604141911fac125"; + hash = "sha256-bv8hUlZXEexUy8tzrnibNYRNb2oLRfh1xCpmalPwdqc="; + }; + })) + pkg-config + (python3.withPackages (py: with py; [ + cocotb + cocotb-bus + find-libpython # Para cocotb + matplotlib + numpy + pillow + pytest # Para cocotb + (py.callPackage ./cocotb-coverage.nix { }) + (py.callPackage ./peakrdl/peakrdl.nix { }) + (py.callPackage ./peakrdl/peakrdl-regblock.nix { }) + (py.callPackage ./pyuvm.nix { }) + ])) + rv32Pkgs.stdenv.cc.cc + rv32Pkgs.stdenv.cc.bintools + (quartus-prime-lite.override { supportedDevices = [ "Cyclone V" ]; }) + verilator + ]; + + shellHook = '' + export CROSS_COMPILE=arm-unknown-linux-gnueabi- + export MAKEFLAGS="AR=gcc-ar" + + # <https://discourse.nixos.org/t/fonts-in-nix-installed-packages-on-a-non-nixos-system/5871/7> + export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive" + export FONTCONFIG_FILE="${fontconfig.out}/etc/fonts/fonts.conf" + ''; + }; + + kbuild = mkShell { + buildInputs = [ + ncurses + ]; + + nativeBuildInputs = [ + bc + bison + flex + gcc + cross.stdenv.cc.cc + cross.stdenv.cc.bintools + gnumake + openssl # Splash de u-boot + ubootTools + ]; + + shellHook = '' + export CROSS_COMPILE=arm-unknown-linux-gnueabi- + export MAKEFLAGS="ARCH=arm O=build/taller LOADADDR=0x8000" + ''; + }; +} |
