From 742a50dafdb7dd9bd16fd6c400e145e62b8b295a Mon Sep 17 00:00:00 2001 From: Serge Bazanski Date: Thu, 2 Aug 2018 09:18:47 +0100 Subject: [PATCH] trellis: init 2018.08.01 (#44328) * trellis: init 2018.08.01 * trellis: move boost to buildInputs * trellis: remove leftover debug clause --- maintainers/maintainer-list.nix | 5 +++ pkgs/development/tools/trellis/default.nix | 49 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 56 insertions(+) create mode 100644 pkgs/development/tools/trellis/default.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index f628d3d8d71..ec601841abb 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3197,6 +3197,11 @@ email = "patrick.callahan@latitudeengineering.com"; name = "Patrick Callahan"; }; + q3k = { + email = "q3k@q3k.org"; + github = "q3k"; + name = "Serge Bazanski"; + }; qknight = { email = "js@lastlog.de"; github = "qknight"; diff --git a/pkgs/development/tools/trellis/default.nix b/pkgs/development/tools/trellis/default.nix new file mode 100644 index 00000000000..892552559aa --- /dev/null +++ b/pkgs/development/tools/trellis/default.nix @@ -0,0 +1,49 @@ +{ 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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3aa9a1bb35c..93e17b11488 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8624,6 +8624,8 @@ with pkgs; travis = callPackage ../development/tools/misc/travis { }; + trellis = callPackage ../development/tools/trellis { }; + tweak = callPackage ../applications/editors/tweak { }; uhd = callPackage ../development/tools/misc/uhd { };