summary refs log tree commit diff
path: root/pkgs/development/compilers/yosys/default.nix
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2020-01-07 16:09:08 +0100
committerFlorian Klink <flokli@flokli.de>2020-02-01 12:40:37 +0100
commite0b28fb806ff748c3c12aa33e82eb6a63ea0da11 (patch)
tree04f4539b8e495fa723af1e2c4081d6ce2e0debb1 /pkgs/development/compilers/yosys/default.nix
parent3086338f9dabb17d6c209606d661991d9a98f4a0 (diff)
downloadnixpkgs-e0b28fb806ff748c3c12aa33e82eb6a63ea0da11.tar
nixpkgs-e0b28fb806ff748c3c12aa33e82eb6a63ea0da11.tar.gz
nixpkgs-e0b28fb806ff748c3c12aa33e82eb6a63ea0da11.tar.bz2
nixpkgs-e0b28fb806ff748c3c12aa33e82eb6a63ea0da11.tar.lz
nixpkgs-e0b28fb806ff748c3c12aa33e82eb6a63ea0da11.tar.xz
nixpkgs-e0b28fb806ff748c3c12aa33e82eb6a63ea0da11.tar.zst
nixpkgs-e0b28fb806ff748c3c12aa33e82eb6a63ea0da11.zip
yosys: don't use srcs array, but single src
Diffstat (limited to 'pkgs/development/compilers/yosys/default.nix')
-rw-r--r--pkgs/development/compilers/yosys/default.nix52
1 files changed, 24 insertions, 28 deletions
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index cd34f95c691..c6684c631e4 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -14,31 +14,27 @@
 
 with builtins;
 
-stdenv.mkDerivation rec {
+let
+  # NOTE: the version of abc used here is synchronized with
+  # the one in the yosys Makefile of the version above;
+  # keep them the same for quality purposes.
+  abc = fetchFromGitHub {
+    owner  = "berkeley-abc";
+    repo   = "abc";
+    rev    = "623b5e82513d076a19f864c01930ad1838498894";
+    sha256 = "1mrfqwsivflqdzc3531r6mzp33dfyl6dnqjdwfcq137arqh36m67";
+  };
+in stdenv.mkDerivation rec {
   pname = "yosys";
   version = "2019.10.18";
 
-  srcs = [
-    (fetchFromGitHub {
-      owner  = "yosyshq";
-      repo   = "yosys";
-      rev    = "3c41599ee1f62e4d77ba630fa1a245ef3fe236fa";
-      sha256 = "0jg2g8v08ax1q6qlvn8c1h147m03adzrgf21043xwbh4c7s5k137";
-      name   = "yosys";
-    })
-
-    # NOTE: the version of abc used here is synchronized with
-    # the one in the yosys Makefile of the version above;
-    # keep them the same for quality purposes.
-    (fetchFromGitHub {
-      owner  = "berkeley-abc";
-      repo   = "abc";
-      rev    = "623b5e82513d076a19f864c01930ad1838498894";
-      sha256 = "1mrfqwsivflqdzc3531r6mzp33dfyl6dnqjdwfcq137arqh36m67";
-      name   = "yosys-abc";
-    })
-  ];
-  sourceRoot = "yosys";
+  src = fetchFromGitHub {
+    owner  = "yosyshq";
+    repo   = "yosys";
+    rev    = "3c41599ee1f62e4d77ba630fa1a245ef3fe236fa";
+    sha256 = "0jg2g8v08ax1q6qlvn8c1h147m03adzrgf21043xwbh4c7s5k137";
+    name   = "yosys";
+  };
 
   enableParallelBuilding = true;
   nativeBuildInputs = [ pkgconfig ];
@@ -47,22 +43,22 @@ stdenv.mkDerivation rec {
   makeFlags = [ "ENABLE_PROTOBUF=1" "PREFIX=${placeholder "out"}"];
 
   patchPhase = ''
-    substituteInPlace ../yosys-abc/Makefile \
-      --replace 'CC   := gcc' "" \
-      --replace 'CXX  := g++' ""
     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 ${substring 0 10 (elemAt srcs 0).rev}'
+      --replace 'echo UNKNOWN' 'echo ${substring 0 10 src.rev}'
     patchShebangs tests
   '';
 
   preBuild = ''
-    chmod -R u+w ../yosys-abc
-    ln -s ../yosys-abc abc
+    cp -R ${abc} abc
+    chmod -R u+w .
+    substituteInPlace abc/Makefile \
+      --replace 'CC   := gcc' "" \
+      --replace 'CXX  := g++' ""
     make config-${if stdenv.cc.isClang or false then "clang" else "gcc"}
     echo 'ABCREV := default' >> Makefile.conf