From 2f9cebbb41131cc03a43c703a98a65b0736d01d4 Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Sun, 15 May 2022 14:41:01 -0700 Subject: [PATCH 01/16] UHDM: init at 2022.05.15 --- .../science/logic/uhdm/default.nix | 43 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 45 insertions(+) create mode 100644 pkgs/applications/science/logic/uhdm/default.nix diff --git a/pkgs/applications/science/logic/uhdm/default.nix b/pkgs/applications/science/logic/uhdm/default.nix new file mode 100644 index 000000000000..6e5ad9c6bfeb --- /dev/null +++ b/pkgs/applications/science/logic/uhdm/default.nix @@ -0,0 +1,43 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, python3 +}: + +stdenv.mkDerivation rec { + pname = "UHDM"; + version = "2022.05.15"; + + src = fetchFromGitHub { + owner = "chipsalliance"; + repo = pname; + rev = "18ec4cce8c9414c135dc0e69155f777195dfe328"; + hash = "sha256-ZWeMHHqgpdYlYzhRdTLXCe07dh0Pe8/ylU5TO3cAOmA="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + (python3.withPackages (p: with p; [ orderedmultidict ])) + ]; + + doCheck = true; + checkPhase = "make test"; + + postInstall = '' + mv $out/lib/uhdm/* $out/lib/ + rm -rf $out/lib/uhdm + ''; + + meta = { + description = "Universal Hardware Data Model"; + homepage = "https://github.com/chipsalliance/UHDM"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ matthuszagh ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 54d17be1214d..51926ea5b2b7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33417,6 +33417,8 @@ with pkgs; symfpu = callPackage ../applications/science/logic/symfpu {}; + uhdm = callPackage ../applications/science/logic/uhdm {}; + mcy = callPackage ../applications/science/logic/mcy {}; lingeling = callPackage ../applications/science/logic/lingeling {}; From 2dcb43e59a0829fdb8996acb44fabce77edacb59 Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Sun, 15 May 2022 15:05:27 -0700 Subject: [PATCH 02/16] Surelog: init at 2022.05.15 --- .../science/logic/surelog/default.nix | 49 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/applications/science/logic/surelog/default.nix diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix new file mode 100644 index 000000000000..f6eeee62aabf --- /dev/null +++ b/pkgs/applications/science/logic/surelog/default.nix @@ -0,0 +1,49 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, python3 +, pkg-config +, libuuid +, openjdk11 +}: + +stdenv.mkDerivation rec { + pname = "Surelog"; + version = "2022.05.15"; + + src = fetchFromGitHub { + owner = "chipsalliance"; + repo = pname; + rev = "15d3698ca5c7d45dd95b58c15e76131420cb001c"; + hash = "sha256-dfje9yZ8ZR7x1EUxDUpKNcOWKYTPwPG6T4HzudV59R4="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + libuuid + openjdk11 + (python3.withPackages (p: with p; [ + psutil + orderedmultidict + ])) + ]; + + postInstall = '' + mv $out/lib/surelog/* $out/lib/ + rm -rf $out/lib/surelog + ''; + + meta = { + description = "SystemVerilog 2017 Pre-processor, Parser, Elaborator, UHDM Compiler"; + homepage = "https://github.com/chipsalliance/Surelog"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ matthuszagh ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 51926ea5b2b7..33c8a6a2755d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33419,6 +33419,8 @@ with pkgs; uhdm = callPackage ../applications/science/logic/uhdm {}; + surelog = callPackage ../applications/science/logic/surelog {}; + mcy = callPackage ../applications/science/logic/mcy {}; lingeling = callPackage ../applications/science/logic/lingeling {}; From 5d0452a9aebd5793442d9ae98ca9b73d79e294f8 Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Sun, 15 May 2022 21:13:08 -0700 Subject: [PATCH 03/16] symbiflow: add systemverilog plugin --- .../compilers/yosys/plugins/symbiflow.nix | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/pkgs/development/compilers/yosys/plugins/symbiflow.nix b/pkgs/development/compilers/yosys/plugins/symbiflow.nix index cecc1bee9219..ab03e7517133 100644 --- a/pkgs/development/compilers/yosys/plugins/symbiflow.nix +++ b/pkgs/development/compilers/yosys/plugins/symbiflow.nix @@ -8,25 +8,24 @@ , yosys , zlib , yosys-symbiflow +, uhdm +, surelog }: let src = fetchFromGitHub { - owner = "SymbiFlow"; - repo = "yosys-symbiflow-plugins"; - rev = "35c6c33811a8de7c80dff6a7bcf7aa6ec9b21233"; - hash = "sha256-g5dX9+R+gWt8e7Bhbbg60O9qa+Vi6Ar0M1sHhYlAre8="; + owner = "chipsalliance"; + repo = "yosys-f4pga-plugins"; + rev = "aadd1735b2b7af0472e56dc23f1035d6e1904712"; + hash = "sha256-gmpEx+8XDN7f+6e/YG25VKgdadwqApPqU3S6OB4AryA="; }; - version = "2022.01.06"; + version = "2022.05.13"; # Supported symbiflow plugins. # # The following are disabled: # # "ql-qlf" builds but fails to load the plugin, so is not currently supported. - # - # "UHDM" doesn't currently build, as the work to package UHDM and surelog has - # not (yet) been undertaken. plugins = [ "design_introspection" "fasm" @@ -36,7 +35,7 @@ # "ql-qlf" "sdc" "xdc" - # "UHDM" + "systemverilog" ]; static_gtest = gtest.dev.overrideAttrs (old: { @@ -51,7 +50,7 @@ in lib.genAttrs plugins (plugin: stdenv.mkDerivation (rec { enableParallelBuilding = true; nativeBuildInputs = [ which python3 ]; - buildInputs = [ yosys readline zlib ] ; + buildInputs = [ yosys readline zlib uhdm surelog ]; # xdc has an incorrect path to a test which has yet to be patched doCheck = plugin != "xdc"; @@ -102,5 +101,3 @@ in lib.genAttrs plugins (plugin: stdenv.mkDerivation (rec { maintainers = with maintainers; [ ollieB thoughtpolice ]; }; })) - - From 6626bf243ca7ea72edd66af2cf5bc58f76c14682 Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Sun, 21 Aug 2022 16:25:32 -0700 Subject: [PATCH 04/16] surelog: run unit tests --- pkgs/applications/science/logic/surelog/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix index f6eeee62aabf..79cd135139e1 100644 --- a/pkgs/applications/science/logic/surelog/default.nix +++ b/pkgs/applications/science/logic/surelog/default.nix @@ -34,6 +34,14 @@ stdenv.mkDerivation rec { ])) ]; + doCheck = true; + checkPhase = '' + runHook preCheck + make -j $NIX_BUILD_CORES UnitTests + ctest --output-on-failure + runHook postCheck + ''; + postInstall = '' mv $out/lib/surelog/* $out/lib/ rm -rf $out/lib/surelog From e6364aab98f66c7efb15fb61e488718ed49cafff Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Sun, 21 Aug 2022 16:27:18 -0700 Subject: [PATCH 05/16] surelog: add gperftools build input --- pkgs/applications/science/logic/surelog/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix index 79cd135139e1..5f845510cc23 100644 --- a/pkgs/applications/science/logic/surelog/default.nix +++ b/pkgs/applications/science/logic/surelog/default.nix @@ -6,6 +6,7 @@ , pkg-config , libuuid , openjdk11 +, gperftools }: stdenv.mkDerivation rec { @@ -32,6 +33,7 @@ stdenv.mkDerivation rec { psutil orderedmultidict ])) + gperftools ]; doCheck = true; From f2ec2efd269a588d8d4710f3bc9e5ab4d3c0ec72 Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Sun, 21 Aug 2022 16:29:19 -0700 Subject: [PATCH 06/16] surelog: move openjdk and python packages to nativebuildinputs --- pkgs/applications/science/logic/surelog/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix index 5f845510cc23..c1dc98351d17 100644 --- a/pkgs/applications/science/logic/surelog/default.nix +++ b/pkgs/applications/science/logic/surelog/default.nix @@ -24,15 +24,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config - ]; - - buildInputs = [ - libuuid openjdk11 (python3.withPackages (p: with p; [ psutil orderedmultidict ])) + ]; + + buildInputs = [ + libuuid gperftools ]; From 818b0025e4c3952f6286bebdeb095ab60fea57f6 Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Sun, 21 Aug 2022 16:31:02 -0700 Subject: [PATCH 07/16] surelog: remove pkg from lib output --- pkgs/applications/science/logic/surelog/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix index c1dc98351d17..fae27d33e937 100644 --- a/pkgs/applications/science/logic/surelog/default.nix +++ b/pkgs/applications/science/logic/surelog/default.nix @@ -47,6 +47,7 @@ stdenv.mkDerivation rec { postInstall = '' mv $out/lib/surelog/* $out/lib/ rm -rf $out/lib/surelog + rm -rf $out/lib/pkg ''; meta = { From b684303d69a845bf83739d84402cf43cde9bb50c Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Sat, 3 Sep 2022 06:34:46 -0700 Subject: [PATCH 08/16] surelog: update version --- pkgs/applications/science/logic/surelog/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix index fae27d33e937..914022665a47 100644 --- a/pkgs/applications/science/logic/surelog/default.nix +++ b/pkgs/applications/science/logic/surelog/default.nix @@ -10,14 +10,14 @@ }: stdenv.mkDerivation rec { - pname = "Surelog"; - version = "2022.05.15"; + pname = "surelog"; + version = "v1.36"; src = fetchFromGitHub { owner = "chipsalliance"; repo = pname; - rev = "15d3698ca5c7d45dd95b58c15e76131420cb001c"; - hash = "sha256-dfje9yZ8ZR7x1EUxDUpKNcOWKYTPwPG6T4HzudV59R4="; + rev = version; + hash = "sha256-gMxpnSsJTXmg2VU7mQcw1J40OuqW6oo9/sGplLgV0ho="; fetchSubmodules = true; }; From 9ace7642c0704d43080c9fa7d7f07251559267b7 Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Sat, 3 Sep 2022 06:38:50 -0700 Subject: [PATCH 09/16] surelog: exclude darwin --- pkgs/applications/science/logic/surelog/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix index 914022665a47..976194fbef94 100644 --- a/pkgs/applications/science/logic/surelog/default.nix +++ b/pkgs/applications/science/logic/surelog/default.nix @@ -55,6 +55,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/chipsalliance/Surelog"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ matthuszagh ]; - platforms = lib.platforms.all; + platforms = lib.platforms.linux; }; } From 83a3076177429d0516c8ca72ca3fd87cc27e0af4 Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Sat, 3 Sep 2022 06:47:55 -0700 Subject: [PATCH 10/16] surelog: keep pkg in lib/surelog --- pkgs/applications/science/logic/surelog/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix index 976194fbef94..ab82fe9f7480 100644 --- a/pkgs/applications/science/logic/surelog/default.nix +++ b/pkgs/applications/science/logic/surelog/default.nix @@ -46,8 +46,7 @@ stdenv.mkDerivation rec { postInstall = '' mv $out/lib/surelog/* $out/lib/ - rm -rf $out/lib/surelog - rm -rf $out/lib/pkg + mv $out/lib/pkg $out/lib/surelog/ ''; meta = { From 30eca8eb68519184b37fac1b447add1c7813ebdb Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Wed, 21 Sep 2022 04:56:46 -0700 Subject: [PATCH 11/16] uhdm: use tag for version --- pkgs/applications/science/logic/uhdm/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/science/logic/uhdm/default.nix b/pkgs/applications/science/logic/uhdm/default.nix index 6e5ad9c6bfeb..ada3858fdad5 100644 --- a/pkgs/applications/science/logic/uhdm/default.nix +++ b/pkgs/applications/science/logic/uhdm/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "UHDM"; - version = "2022.05.15"; + version = "0.9.1.37"; src = fetchFromGitHub { owner = "chipsalliance"; repo = pname; - rev = "18ec4cce8c9414c135dc0e69155f777195dfe328"; - hash = "sha256-ZWeMHHqgpdYlYzhRdTLXCe07dh0Pe8/ylU5TO3cAOmA="; + rev = "v${version}"; + hash = "sha256-mhbgjdbnjZShfwgdZEZshiNkRMPLT5oGcAnrvfrO7DM="; fetchSubmodules = true; }; From a3b780cf97cc81108a6fd97066069d8c0378e74a Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Wed, 21 Sep 2022 05:00:38 -0700 Subject: [PATCH 12/16] surelog: update to 1.37 --- pkgs/applications/science/logic/surelog/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix index ab82fe9f7480..438a874c4a4e 100644 --- a/pkgs/applications/science/logic/surelog/default.nix +++ b/pkgs/applications/science/logic/surelog/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "surelog"; - version = "v1.36"; + version = "1.37"; src = fetchFromGitHub { owner = "chipsalliance"; repo = pname; - rev = version; - hash = "sha256-gMxpnSsJTXmg2VU7mQcw1J40OuqW6oo9/sGplLgV0ho="; + rev = "v${version}"; + hash = "sha256-QYak0kWiL7C05zQmDd7Jl3a00rp4rMx0DJtd0K6lCII="; fetchSubmodules = true; }; From c526f70d1b2eab8d20557ae9b4b1b68598ee8e26 Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Tue, 27 Sep 2022 18:04:13 -0700 Subject: [PATCH 13/16] symbiflow: update to 2022.09.27 --- pkgs/development/compilers/yosys/plugins/symbiflow.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/development/compilers/yosys/plugins/symbiflow.nix b/pkgs/development/compilers/yosys/plugins/symbiflow.nix index ab03e7517133..97f0cdb7b5fa 100644 --- a/pkgs/development/compilers/yosys/plugins/symbiflow.nix +++ b/pkgs/development/compilers/yosys/plugins/symbiflow.nix @@ -4,7 +4,6 @@ , python3 , readline , stdenv -, which , yosys , zlib , yosys-symbiflow @@ -15,11 +14,11 @@ src = fetchFromGitHub { owner = "chipsalliance"; repo = "yosys-f4pga-plugins"; - rev = "aadd1735b2b7af0472e56dc23f1035d6e1904712"; - hash = "sha256-gmpEx+8XDN7f+6e/YG25VKgdadwqApPqU3S6OB4AryA="; + rev = "27208ce08200a5e89e3bd4f466bc68824df38c32"; + hash = "sha256-S7txjzlIp+idWIfp/DDOznluA3aMFfosMUt5dvi+g44="; }; - version = "2022.05.13"; + version = "2022.09.27"; # Supported symbiflow plugins. # @@ -49,7 +48,7 @@ in lib.genAttrs plugins (plugin: stdenv.mkDerivation (rec { inherit src version plugin; enableParallelBuilding = true; - nativeBuildInputs = [ which python3 ]; + nativeBuildInputs = [ python3 ]; buildInputs = [ yosys readline zlib uhdm surelog ]; # xdc has an incorrect path to a test which has yet to be patched From 3db955db9188191c9204e51e479e4e0efcadb6bd Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Tue, 27 Sep 2022 18:05:51 -0700 Subject: [PATCH 14/16] surelog: update to 1.40 --- pkgs/applications/science/logic/surelog/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix index 438a874c4a4e..b5130654c371 100644 --- a/pkgs/applications/science/logic/surelog/default.nix +++ b/pkgs/applications/science/logic/surelog/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "surelog"; - version = "1.37"; + version = "1.40"; src = fetchFromGitHub { owner = "chipsalliance"; repo = pname; rev = "v${version}"; - hash = "sha256-QYak0kWiL7C05zQmDd7Jl3a00rp4rMx0DJtd0K6lCII="; + hash = "sha256-5nhJilFIJJDCnJUEUgyPNtWSQUgWcvM6LDFgFatAl/k="; fetchSubmodules = true; }; From 49d809213240bb28f077022effc7fa43508c412d Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Tue, 27 Sep 2022 18:07:13 -0700 Subject: [PATCH 15/16] uhdm: update to 0.9.1.40 --- pkgs/applications/science/logic/uhdm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/logic/uhdm/default.nix b/pkgs/applications/science/logic/uhdm/default.nix index ada3858fdad5..30f7c2057933 100644 --- a/pkgs/applications/science/logic/uhdm/default.nix +++ b/pkgs/applications/science/logic/uhdm/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "UHDM"; - version = "0.9.1.37"; + version = "0.9.1.40"; src = fetchFromGitHub { owner = "chipsalliance"; repo = pname; rev = "v${version}"; - hash = "sha256-mhbgjdbnjZShfwgdZEZshiNkRMPLT5oGcAnrvfrO7DM="; + hash = "sha256-CliKU2WM8B9012aDcS/mTyIf+JcsVsc4uRRi9+FRWbM="; fetchSubmodules = true; }; From 16f8a4b3e70f74941b8bc9bff707d7aa3c3dead2 Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Mon, 3 Oct 2022 11:35:48 -0700 Subject: [PATCH 16/16] uhdm: add patch to fix darwin build --- pkgs/applications/science/logic/uhdm/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/applications/science/logic/uhdm/default.nix b/pkgs/applications/science/logic/uhdm/default.nix index 30f7c2057933..47b9bb0d9423 100644 --- a/pkgs/applications/science/logic/uhdm/default.nix +++ b/pkgs/applications/science/logic/uhdm/default.nix @@ -33,6 +33,12 @@ stdenv.mkDerivation rec { rm -rf $out/lib/uhdm ''; + prePatch = '' + substituteInPlace CMakeLists.txt --replace \ + 'capnp compile' \ + 'capnp compile --src-prefix=''${GENDIR}/..' + ''; + meta = { description = "Universal Hardware Data Model"; homepage = "https://github.com/chipsalliance/UHDM";