From d8c2a4f718497606b5114ceb87428145d9d3a8ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A2ju=20Mihai-Drosi?= Date: Wed, 2 Dec 2020 15:54:27 +0200 Subject: [PATCH 01/12] maintainers: add mcaju --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 184089882ec2..0bcad9e88da5 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5684,6 +5684,12 @@ githubId = 2971615; name = "Marius Bergmann"; }; + mcaju = { + email = "cajum.bugs@yandex.com"; + github = "CajuM"; + githubId = 10420834; + name = "Mihai-Drosi Caju"; + }; mcbeth = { email = "mcbeth@broggs.org"; github = "mcbeth"; From d81e4d9f66e0d1a1a6deed4e0a77a20425b856b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mihai-Drosi=20C=C3=A2ju?= Date: Sun, 10 Jan 2021 09:22:38 +0200 Subject: [PATCH 02/12] yosys: Added plugins support and various fixes * fixed buildInputs and nativeBuildInputs for cross compilation * don't use pkgconfig alias * simplified patchPhase * made the version variable overridable in preBuild --- pkgs/development/compilers/yosys/default.nix | 31 ++++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix index 51f0b7ed45aa..a83100911d13 100644 --- a/pkgs/development/compilers/yosys/default.nix +++ b/pkgs/development/compilers/yosys/default.nix @@ -5,13 +5,14 @@ , fetchFromGitHub , flex , libffi -, pkgconfig +, pkg-config , protobuf , python3 , readline , tcl , verilog , zlib +, plugins ? [] }: # NOTE: as of late 2020, yosys has switched to an automation robot that @@ -32,6 +33,8 @@ # ultimately less confusing than using dates. stdenv.mkDerivation rec { + inherit plugins; + pname = "yosys"; version = "0.9+3830"; @@ -43,21 +46,16 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ tcl readline libffi python3 bison flex protobuf zlib ]; + nativeBuildInputs = [ pkg-config protobuf flex bison python3 ]; + buildInputs = [ tcl readline libffi python3 protobuf zlib ]; makeFlags = [ "ENABLE_PROTOBUF=1" "PREFIX=${placeholder "out"}"]; patchPhase = '' substituteInPlace ./Makefile \ - --replace 'CXX = clang' "" \ - --replace 'LD = clang++' 'LD = $(CXX)' \ - --replace 'CXX = gcc' "" \ - --replace 'LD = gcc' 'LD = $(CXX)' \ - --replace 'ABCMKARGS = CC="$(CXX)" CXX="$(CXX)"' 'ABCMKARGS =' \ --replace 'echo UNKNOWN' 'echo ${builtins.substring 0 10 src.rev}' - substituteInPlace ./misc/yosys-config.in \ - --replace '/bin/bash' '${bash}/bin/bash' + chmod +x ./misc/yosys-config.in + patchShebangs ./misc/yosys-config.in patchShebangs tests ''; @@ -76,8 +74,8 @@ stdenv.mkDerivation rec { exit 1 fi - if ! grep -q "YOSYS_VER := ${version}" Makefile; then - echo "ERROR: yosys version in Makefile isn't equivalent to version of the nix package (${version}), failing." + if ! grep -q "YOSYS_VER := $version" Makefile; then + echo "ERROR: yosys version in Makefile isn't equivalent to version of the nix package ($version), failing." exit 1 fi ''; @@ -94,7 +92,14 @@ stdenv.mkDerivation rec { # add a symlink to fake things so that both variants work the same way. this # is also needed at build time for the test suite. postBuild = "ln -sfv ${abc-verifier}/bin/abc ./yosys-abc"; - postInstall = "ln -sfv ${abc-verifier}/bin/abc $out/bin/yosys-abc"; + postInstall = '' + ln -sfv ${abc-verifier}/bin/abc $out/bin/yosys-abc + + mkdir -p $out/share/yosys/plugins + for plugin in $plugins; do + ln -sfv $plugin/share/yosys/plugins/* $out/share/yosys/plugins/ + done + ''; meta = with stdenv.lib; { description = "Open RTL synthesis framework and tools"; From 7d9c73682480aec84c97abda002ac6e830b5deea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A2ju=20Mihai-Drosi?= Date: Wed, 2 Dec 2020 16:03:50 +0200 Subject: [PATCH 03/12] prjxray-db: init at 0.0-0232-g303a61d --- pkgs/data/misc/prjxray-db/default.nix | 43 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 45 insertions(+) create mode 100644 pkgs/data/misc/prjxray-db/default.nix diff --git a/pkgs/data/misc/prjxray-db/default.nix b/pkgs/data/misc/prjxray-db/default.nix new file mode 100644 index 000000000000..d498fdb1cc8b --- /dev/null +++ b/pkgs/data/misc/prjxray-db/default.nix @@ -0,0 +1,43 @@ +{ stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "prjxray-db"; + version = "0.0-0232-g303a61d"; + + src = fetchFromGitHub { + owner = "SymbiFlow"; + repo = "prjxray-db"; + rev = "303a61d8bc552f7a533b91b17448c59e908aa391"; + sha256 = "0r75xig16dbgh3nfygggir0a160x52y766h7hd9xcib9m88jixb2"; + }; + + enableParallelBuilding = true; + + installPhase = '' + runHook preInstall + + DBDIR="$out/share/symbiflow/prjxray-db/" + DB_CONFIG="$out/bin/prjxray-config" + + mkdir -p $DBDIR $out/bin + + for device in artix7 kintex7 zynq7; do + cp -r $src/$device $DBDIR + done + + echo -e "#!/bin/sh\n\necho $DBDIR" > $DB_CONFIG + chmod +x $DB_CONFIG + + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "Project X-Ray - Xilinx Series 7 Bitstream Documentation"; + homepage = "https://github.com/SymbiFlow/prjxray-db"; + license = licenses.cc0; + maintainers = with maintainers; [ mcaju ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b3d9840ab89d..0800c89aa146 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20254,6 +20254,8 @@ in inherit (darwin.apple_sdk.frameworks) Security; }; + prjxray-db = callPackage ../data/misc/prjxray-db { }; + profont = callPackage ../data/fonts/profont { inherit (buildPackages.xorg) mkfontscale; }; From a9d3237b5da1d11da8143502ce3ea7f6bb503d02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A2ju=20Mihai-Drosi?= Date: Wed, 2 Dec 2020 16:11:14 +0200 Subject: [PATCH 04/12] textx: init at 2.2.0 --- .../python-modules/textx/default.nix | 36 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/python-modules/textx/default.nix diff --git a/pkgs/development/python-modules/textx/default.nix b/pkgs/development/python-modules/textx/default.nix new file mode 100644 index 000000000000..07c568b87d48 --- /dev/null +++ b/pkgs/development/python-modules/textx/default.nix @@ -0,0 +1,36 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, pytestCheckHook +, arpeggio +, click +, jinja2 +}: + +buildPythonPackage rec { + pname = "textX"; + version = "2.2.0"; + + src = fetchPypi { + inherit pname; + inherit version; + sha256 = "00mwd588ms96qp27m5vpjkzk30wfw53hnmv8y77slxca8lw9vq82"; + }; + + checkInputs = [ pytestCheckHook ]; + + pytestFlagsArray = [ "tests/functional" ]; + + propagatedBuildInputs = [ + arpeggio + click + jinja2 + ]; + + meta = with stdenv.lib; { + description = "textX is a meta-language for building Domain-Specific Languages (DSLs) in Python"; + homepage = "https://textx.github.io"; + license = licenses.mit; + maintainers = with maintainers; [ mcaju ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 469f027270f1..2ac162410dd5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7429,6 +7429,8 @@ in { textfsm = callPackage ../development/python-modules/textfsm { }; + textx = callPackage ../development/python-modules/textx { }; + testpath = callPackage ../development/python-modules/testpath { }; testrepository = callPackage ../development/python-modules/testrepository { }; From 895b6b58b0e097b4dc7b26ceea8996f1bd46dde3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A2ju=20Mihai-Drosi?= Date: Wed, 2 Dec 2020 16:16:03 +0200 Subject: [PATCH 05/12] symbiflow-fasm: init at 0.0-47-g4857dde --- .../python-modules/symbiflow-fasm/default.nix | 27 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/python-modules/symbiflow-fasm/default.nix diff --git a/pkgs/development/python-modules/symbiflow-fasm/default.nix b/pkgs/development/python-modules/symbiflow-fasm/default.nix new file mode 100644 index 000000000000..609987441ea6 --- /dev/null +++ b/pkgs/development/python-modules/symbiflow-fasm/default.nix @@ -0,0 +1,27 @@ +{ stdenv +, pkgs +, fetchFromGitHub +, buildPythonPackage +, textx +}: + +buildPythonPackage rec { + pname = "symbiflow-fasm"; + version = "0.0.1-g4857dde"; + + src = fetchFromGitHub { + owner = "SymbiFlow"; + repo = "fasm"; + rev = "4857dde757edd88688c2faf808774d85bdbe3900"; + sha256 = "1za7f8slf8wvp1mfbfc3vdv61115p49k0vwngs4db6ips1qg1435"; + }; + + propagatedBuildInputs = [ textx ]; + + meta = with stdenv.lib; { + description = "FPGA Assembly (FASM) Parser and Generation library"; + homepage = "https://github.com/SymbiFlow/fasm"; + license = licenses.isc; + maintainers = with maintainers; [ mcaju ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2ac162410dd5..0fdea4d9d1b3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7296,6 +7296,8 @@ in { sybil = callPackage ../development/python-modules/sybil { }; + symbiflow-fasm = callPackage ../development/python-modules/symbiflow-fasm { }; + symengine = callPackage ../development/python-modules/symengine { symengine = pkgs.symengine; }; sympy = if isPy3k then From a7d6c39c3c7b0f8a678d4efed882c842ec38d4f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A2ju=20Mihai-Drosi?= Date: Wed, 2 Dec 2020 16:24:57 +0200 Subject: [PATCH 06/12] prjxray-tools: init at 0.1-2676-gac8d30e3 --- .../compilers/prjxray-tools/default.nix | 29 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/development/compilers/prjxray-tools/default.nix diff --git a/pkgs/development/compilers/prjxray-tools/default.nix b/pkgs/development/compilers/prjxray-tools/default.nix new file mode 100644 index 000000000000..652b5458a75e --- /dev/null +++ b/pkgs/development/compilers/prjxray-tools/default.nix @@ -0,0 +1,29 @@ +{ stdenv +, fetchFromGitHub +, cmake +}: + +stdenv.mkDerivation rec { + pname = "prjxray-tools"; + version = "0.1-2676-gac8d30e3"; + + src = fetchFromGitHub { + owner = "SymbiFlow"; + repo = "prjxray"; + fetchSubmodules = true; + rev = "ac8d30e3fe2029122408888d2313844b3e0c265b"; + sha256 = "1ag7dk12hdhip821crwinncp8vgyzs0r85l1h2vbgn61lnxc7f4h"; + }; + + nativeBuildInputs = [ cmake ]; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Documenting the Xilinx 7-series bit-stream format"; + homepage = "https://github.com/SymbiFlow/prjxray"; + license = licenses.isc; + platforms = platforms.all; + maintainers = with maintainers; [ mcaju ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0800c89aa146..ea0241d17d5c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10785,6 +10785,8 @@ in polyml56 = callPackage ../development/compilers/polyml/5.6.nix { }; polyml57 = callPackage ../development/compilers/polyml/5.7.nix { }; + prjxray-tools = callPackage ../development/compilers/prjxray-tools { }; + pure = callPackage ../development/interpreters/pure { /*llvm = llvm_35;*/ }; From f738b9284c9932af2d25593d8d132cd655c8d8c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A2ju=20Mihai-Drosi?= Date: Wed, 2 Dec 2020 16:54:34 +0200 Subject: [PATCH 07/12] python-prjxray: init at 0.1-2676-gac8d30e3 --- .../python-modules/python-prjxray/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/python-prjxray/default.nix diff --git a/pkgs/development/python-modules/python-prjxray/default.nix b/pkgs/development/python-modules/python-prjxray/default.nix new file mode 100644 index 000000000000..5b92311612b0 --- /dev/null +++ b/pkgs/development/python-modules/python-prjxray/default.nix @@ -0,0 +1,44 @@ +{ stdenv +, fetchFromGitHub +, pkgs +, buildPythonPackage +, intervaltree +, numpy +, openpyxl +, parse +, progressbar +, pyjson5 +, pyyaml +, simplejson +, symbiflow-fasm +, textx +}: + +buildPythonPackage rec { + pname = "python-prjxray"; + version = pkgs.prjxray-tools.version; + + src = pkgs.prjxray-tools.src; + + propagatedBuildInputs = [ + intervaltree + numpy + openpyxl + parse + progressbar + pyjson5 + pyyaml + simplejson + symbiflow-fasm + textx + ]; + + doCheck = false; + + meta = with stdenv.lib; { + description = "Documenting the Xilinx 7-series bit-stream format"; + homepage = "https://github.com/SymbiFlow/prjxray"; + license = licenses.isc; + maintainers = with maintainers; [ mcaju ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0fdea4d9d1b3..03ffda4e35ec 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4753,6 +4753,8 @@ in { python-openems = callPackage ../development/python-modules/python-openems { }; + python-prjxray = callPackage ../development/python-modules/python-prjxray { }; + python-tado = callPackage ../development/python-modules/python-tado { }; pkutils = callPackage ../development/python-modules/pkutils { }; From ddeec821fb1838b8e3f03de62590953cec957aff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A2ju=20Mihai-Drosi?= Date: Wed, 2 Dec 2020 17:02:08 +0200 Subject: [PATCH 08/12] xc-fasm: init at 0.0 --- .../python-modules/xc-fasm/default.nix | 45 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/python-modules/xc-fasm/default.nix diff --git a/pkgs/development/python-modules/xc-fasm/default.nix b/pkgs/development/python-modules/xc-fasm/default.nix new file mode 100644 index 000000000000..bf00bb159010 --- /dev/null +++ b/pkgs/development/python-modules/xc-fasm/default.nix @@ -0,0 +1,45 @@ +{ stdenv +, fetchFromGitHub +, buildPythonPackage +, pytestCheckHook +, simplejson +, intervaltree +, python-prjxray +, symbiflow-fasm +, textx +}: + +buildPythonPackage rec { + pname = "xc-fasm"; + version = "0.0.1-g0ddd9516"; + + src = fetchFromGitHub { + owner = "SymbiFlow"; + repo = "xc-fasm"; + rev = "0ddd951602d47d5b95f2072f8aa751af5e81e577"; + sha256 = "15bzw92sx99s0zldr48na4yhrnp7b90nxsd8ya6ag1pvvijp2al4"; + }; + + propagatedBuildInputs = [ + simplejson + intervaltree + python-prjxray + symbiflow-fasm + textx + ]; + + # Pip will check for and then install missing dependecies. + # Because some of them are installed from git, it will try + # to download them even if they're present in + # propagatedBuildInputs. + pipInstallFlags = [ "--no-deps" ]; + + checkInputs = [ pytestCheckHook ]; + + meta = with stdenv.lib; { + description = "XC FASM libraries"; + homepage = "https://github.com/SymbiFlow/xc-fasm"; + license = licenses.isc; + maintainers = with maintainers; [ mcaju ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 03ffda4e35ec..10b9660e4032 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8065,6 +8065,8 @@ in { xattr = callPackage ../development/python-modules/xattr { }; + xc-fasm = callPackage ../development/python-modules/xc-fasm { }; + xcaplib = callPackage ../development/python-modules/xcaplib { }; xcffib = callPackage ../development/python-modules/xcffib { }; From d9140d37ad20fa9b0dc2b1feddbe677759c29f52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A2ju=20Mihai-Drosi?= Date: Wed, 2 Dec 2020 17:09:45 +0200 Subject: [PATCH 09/12] symbiflow-vtr: init at 8.0.0.rc2-4003-g8980e4621 --- .../compilers/symbiflow-vtr/default.nix | 40 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 42 insertions(+) create mode 100644 pkgs/development/compilers/symbiflow-vtr/default.nix diff --git a/pkgs/development/compilers/symbiflow-vtr/default.nix b/pkgs/development/compilers/symbiflow-vtr/default.nix new file mode 100644 index 000000000000..8735b12678c3 --- /dev/null +++ b/pkgs/development/compilers/symbiflow-vtr/default.nix @@ -0,0 +1,40 @@ +{ stdenv +, fetchFromGitHub +, bison +, cmake +, flex +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "symbiflow-vtr"; + version = "8.0.0.rc2-4003-g8980e4621"; + + src = fetchFromGitHub { + owner = "SymbiFlow"; + repo = "vtr-verilog-to-routing"; + rev = "8980e46218542888fac879961b13aa7b0fba8432"; + sha256 = "1sq7f1f3dzfm48a9vq5nvp0zllby0nasm3pvqab70f4jaq0m1aaa"; + }; + + nativeBuildInputs = [ + bison + cmake + flex + pkg-config + ]; + + cmakeFlags = [ + "-DWITH_ODIN=OFF" + "-DWITH_ABC=OFF" + ]; + + doCheck = true; + + meta = with stdenv.lib; { + description = "SymbiFlow WIP changes for Verilog to Routing (VTR)"; + homepage = "https://github.com/SymbiFlow/vtr-verilog-to-routing"; + platforms = platforms.all; + maintainers = with maintainers; [ mcaju ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ea0241d17d5c..bca234c0f59e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10417,6 +10417,8 @@ in swift = callPackage ../development/compilers/swift { }; + symbiflow-vtr = callPackage ../development/compilers/symbiflow-vtr { }; + swiProlog = callPackage ../development/compilers/swi-prolog { inherit (darwin.apple_sdk.frameworks) Security; jdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 From c1674d2acefd098cd1892a2a64ba403450c61a7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A2ju=20Mihai-Drosi?= Date: Wed, 2 Dec 2020 17:19:09 +0200 Subject: [PATCH 10/12] symbiflow-yosys: init at 0.8-6021-gd8b2d1a2 --- .../compilers/symbiflow-yosys/default.nix | 37 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/compilers/symbiflow-yosys/default.nix diff --git a/pkgs/development/compilers/symbiflow-yosys/default.nix b/pkgs/development/compilers/symbiflow-yosys/default.nix new file mode 100644 index 000000000000..b33003f312e4 --- /dev/null +++ b/pkgs/development/compilers/symbiflow-yosys/default.nix @@ -0,0 +1,37 @@ +{ stdenv +, abc-verifier +, fetchFromGitHub +, yosys +, plugins ? [] +}: + +let + localAbc-verifier = abc-verifier.overrideAttrs (_: rec { + pname = "abc-verifier"; + version = "2020.06.22"; + + src = fetchFromGitHub { + owner = "YosysHQ"; + repo = "abc"; + rev = "341db25668f3054c87aa3372c794e180f629af5d"; + sha256 = "14cgv34vz5ljkcms6nrv19vqws2hs8bgjgffk5q03cbxnm2jxv5s"; + }; + + passthru.rev = src.rev; + }); +in + +(yosys.overrideAttrs (oldAttrs: rec { + pname = "symbiflow-yosys"; + version = "0.9+2406"; + + src = fetchFromGitHub { + owner = "SymbiFlow"; + repo = "yosys"; + rev = "d8b2d1a2b1a93057678cf49bb8f0329f191faba1"; + sha256 = "1w8jnqzabvzixjllhb6ak2n2gmjvsn6qd996i7z70bsq5rgdkq9g"; + }; +})).override { + abc-verifier = localAbc-verifier; + plugins = plugins; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bca234c0f59e..271db5dc468e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10419,6 +10419,8 @@ in symbiflow-vtr = callPackage ../development/compilers/symbiflow-vtr { }; + symbiflow-yosys = callPackage ../development/compilers/symbiflow-yosys { }; + swiProlog = callPackage ../development/compilers/swi-prolog { inherit (darwin.apple_sdk.frameworks) Security; jdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 From 44fbc60abdf44e90029dcc24957e5bd680f96055 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A2ju=20Mihai-Drosi?= Date: Wed, 2 Dec 2020 17:40:21 +0200 Subject: [PATCH 11/12] symbiflow-yosys-plugins: init at 0.8-6021-gd8b2d1a2 --- .../symbiflow-yosys-plugins/default.nix | 37 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/compilers/symbiflow-yosys-plugins/default.nix diff --git a/pkgs/development/compilers/symbiflow-yosys-plugins/default.nix b/pkgs/development/compilers/symbiflow-yosys-plugins/default.nix new file mode 100644 index 000000000000..b655f9d48733 --- /dev/null +++ b/pkgs/development/compilers/symbiflow-yosys-plugins/default.nix @@ -0,0 +1,37 @@ +{ stdenv +, fetchFromGitHub +, symbiflow-yosys +, zlib +, readline +}: + +stdenv.mkDerivation rec { + pname = "symbiflow-yosys-plugins"; + version = "1.0.0.7-0060-g7454cd6b"; + + src = fetchFromGitHub { + owner = "SymbiFlow"; + repo = "yosys-symbiflow-plugins"; + rev = "7454cd6b5e4fd22854e2ada219a5e3c3a06e0717"; + sha256 = "0r9r31p7fy4ylfrwvwlbivq5a03xrph34blxbxzx2c8bc02mbv0s"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ symbiflow-yosys ]; + + buildInputs = [ + readline + zlib + ]; + + makeFlags = [ "PLUGINS_DIR=${placeholder "out"}/share/yosys/plugins" ]; + + meta = with stdenv.lib; { + description = "Yosys SymbiFlow Plugins"; + homepage = "https://github.com/SymbiFlow/yosys-symbiflow-plugins"; + license = licenses.isc; + platforms = platforms.all; + maintainers = with maintainers; [ mcaju ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 271db5dc468e..fe84f69c7adf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10421,6 +10421,8 @@ in symbiflow-yosys = callPackage ../development/compilers/symbiflow-yosys { }; + symbiflow-yosys-plugins = callPackage ../development/compilers/symbiflow-yosys-plugins { }; + swiProlog = callPackage ../development/compilers/swi-prolog { inherit (darwin.apple_sdk.frameworks) Security; jdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 From ccdf7431bb07bf9affb14b70b4fd59421ba83715 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A2ju=20Mihai-Drosi?= Date: Sat, 5 Dec 2020 20:40:14 +0200 Subject: [PATCH 12/12] symbiflow-arch-defs: init at 20200914-111752-g05d68df0 --- .../data/misc/symbiflow-arch-defs/default.nix | 47 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/data/misc/symbiflow-arch-defs/default.nix diff --git a/pkgs/data/misc/symbiflow-arch-defs/default.nix b/pkgs/data/misc/symbiflow-arch-defs/default.nix new file mode 100644 index 000000000000..89549da85dcb --- /dev/null +++ b/pkgs/data/misc/symbiflow-arch-defs/default.nix @@ -0,0 +1,47 @@ +{ stdenv +, fetchurl +, autoPatchelfHook +, python3Packages +, archs ? [ "xc7a100t" "xc7a50t" "xc7z010" "xc7z020" ] +}: + +stdenv.mkDerivation rec { + pname = "symbiflow-arch-defs"; + version = "20200914-111752-g05d68df0"; + + src = fetchurl { + url = "https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/66/20200914-111752/symbiflow-arch-defs-install-05d68df0.tar.xz"; + sha256 = "1gmynybh8n33ag521w17c2kd16n834hqc6d8hi2pfs5kg1jl1a74"; + }; + + sourceRoot = "."; + + propagatedBuildInputs = [ + python3Packages.lxml + python3Packages.python-constraint + ]; + + installPhase = '' + mkdir -p $out/bin + cp -r bin/{symbiflow_*,vpr_common,python} $out/bin + for script in $out/bin/symbiflow_*; do + substituteInPlace $script --replace '/env' '/symbiflow_env' + done + cp bin/env $out/bin/symbiflow_env + + mkdir -p $out/share/symbiflow/arch + cp -r share/symbiflow/{scripts,techmaps} $out/share/symbiflow/ + + for arch in ${builtins.concatStringsSep " " archs}; do + cp -r share/symbiflow/arch/"$arch"_test* $out/share/symbiflow/arch/ + done + ''; + + meta = with stdenv.lib; { + description = "Project X-Ray - Xilinx Series 7 Bitstream Documentation"; + homepage = "https://github.com/SymbiFlow/symbiflow-arch-defs"; + hydraPlatforms = []; + license = licenses.isc; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fe84f69c7adf..d5e5615e3fd8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20299,6 +20299,8 @@ in sweet = callPackage ../data/themes/sweet { }; + symbiflow-arch-defs = callPackage ../data/misc/symbiflow-arch-defs { }; + mime-types = callPackage ../data/misc/mime-types { }; shared-mime-info = callPackage ../data/misc/shared-mime-info { };