From a3191e4b7d89d914a0f4d8b7a5a8982fffe3579a Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 17 Jan 2025 18:22:02 +0200 Subject: [PATCH] Add default.nix and shell.nix --- default.nix | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ pkgs.nix | 9 +++++++++ shell.nix | 8 ++++++++ 3 files changed, 65 insertions(+) create mode 100644 default.nix create mode 100644 pkgs.nix create mode 100644 shell.nix diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..f1fe779 --- /dev/null +++ b/default.nix @@ -0,0 +1,48 @@ +{ + pkgs ? (import ./pkgs.nix { }), +}: + +pkgs.callPackage ( + { + stdenv, + bluespec, + nextpnr, + openfpgaloader, + trellis, + which, + yosys, + }: + stdenv.mkDerivation { + pname = "bluespec-joh-template"; + version = "0.1.0"; + src = ./.; + + # Versions can be checked with + # `nix eval --json ".#bluespec-joh-template.nativeBuildInputs" | nix-shell -p jq --run jq` + nativeBuildInputs = [ + bluespec + nextpnr + openfpgaloader + trellis + which + yosys + ]; + + makeFlags = [ + "-C" + "ulx3s_fpga" + "mkTop.bit" + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp ./ulx3s_fpga/mkTop.bit $out/ + + runHook postInstall + ''; + + passthru = { inherit pkgs; }; + } +) { } diff --git a/pkgs.nix b/pkgs.nix new file mode 100644 index 0000000..0f57f1e --- /dev/null +++ b/pkgs.nix @@ -0,0 +1,9 @@ +let + date = "2025-02-02"; + rev = "3a228057f5b619feb3186e986dbe76278d707b6e"; + sha256 = "0iqla32cwy147lx1jw84174qkf8jyd912vxqjfgggyil1k8fix66"; +in +builtins.trace "(Using pinned Nixpkgs at ${rev} from ${date} nixos-unstable)" import (fetchTarball { + url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz"; + inherit sha256; +}) diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..94ac668 --- /dev/null +++ b/shell.nix @@ -0,0 +1,8 @@ +let + bluespec-joh-template = import ./default.nix { }; + pkgs = bluespec-joh-template.pkgs; +in + +pkgs.mkShell { + inputsFrom = [ bluespec-joh-template ]; +} -- 2.47.1