summaryrefslogtreecommitdiff
path: root/nix
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2024-06-02 11:13:51 -0600
committerAlejandro Soto <alejandro@34project.org>2024-06-02 12:19:36 -0600
commit3794b707ebec4f91bd3f9922572bb154a8ac910a (patch)
treeab67275698f464f7348b08dd92c39ae932007fc5 /nix
parent8fb28df31fcee15c82a57ed3988e8eb0f23a32b6 (diff)
nix/shells: refactor out of flake
Diffstat (limited to 'nix')
-rw-r--r--nix/shells.nix90
1 files changed, 90 insertions, 0 deletions
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"
+ '';
+ };
+}