nixpkgs/pkgs/development/tools/trellis/default.nix

50 lines
1.3 KiB
Nix
Raw Normal View History

{ stdenv, fetchFromGitHub, python3, cmake, boost }:
let
trellisdb = fetchFromGitHub {
owner = "SymbiFlow";
repo = "prjtrellis-db";
rev = "06b429ddb7fd8ec1e3f2b35de2e94b4853cf2835";
sha256 = "07bsgw5x3gq0jcn9j4g7q9xvibvz6j2arjnvgyrxnrg30ri9q173";
};
in
stdenv.mkDerivation rec {
name = "trellis-${version}";
version = "2018.08.01";
buildInputs = [
(boost.override { python = python3; enablePython = true; })
];
nativeBuildInputs = [
cmake python3
];
src = fetchFromGitHub {
owner = "SymbiFlow";
repo = "prjtrellis";
rev = "fff9532fe59bf9e38b44f029ce4a06c607a9ee78";
sha256 = "0ycw9fjf6428sf5x8x5szn8fha79610nf7nn8kmibgmz9868yv30";
};
preConfigure = ''
source environment.sh
cp -RT "${trellisdb}" database
cd libtrellis
'';
meta = {
description = "Documentation and tools for Lattice ECP5 FPGAs";
longDescription = ''
Project Trellis documents the Lattice ECP5 architecture
to enable development of open-source tools. Its goal is
to provide sufficient information to develop a free and
open Verilog to bitstream toolchain for these devices.
'';
homepage = https://github.com/SymbiFlow/prjtrellis;
license = stdenv.lib.licenses.isc;
maintainers = with stdenv.lib.maintainers; [ q3k ];
platforms = stdenv.lib.platforms.linux;
};
}