From 2c5851b633f386a1388a5436b42225b0dcbc454a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 9 Sep 2013 10:38:27 +0200 Subject: [PATCH] Break an infinite recursion between flex and bison. Flex needs bison, but bison's test suite also needs flex, so we use an untested build of bison to bootstrap flex first. --- pkgs/top-level/all-packages.nix | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 216969cb1dd..3cde58bd2ad 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3552,16 +3552,25 @@ let flex = flex2535; - flex2535 = callPackage ../development/tools/parsing/flex/flex-2.5.35.nix { }; + flex2535 = callPackage ../development/tools/parsing/flex/flex-2.5.35.nix { + # Break infinite recursion: bison's test suite needs flex, so we + # use an untested bison build to build flex first. + yacc = bison.override { flex = null; }; + }; - flex2534 = callPackage ../development/tools/parsing/flex/flex-2.5.34.nix { }; + flex2534 = callPackage ../development/tools/parsing/flex/flex-2.5.34.nix { + yacc = bison.override { flex = null; }; + }; - flex2533 = callPackage ../development/tools/parsing/flex/flex-2.5.33.nix { }; + flex2533 = callPackage ../development/tools/parsing/flex/flex-2.5.33.nix { + yacc = bison.override { flex = null; }; + }; # Note: 2.5.4a is much older than 2.5.35 but happens first when sorting # alphabetically, hence the low priority. flex254a = lowPrio (import ../development/tools/parsing/flex/flex-2.5.4a.nix { - inherit fetchurl stdenv yacc; + inherit fetchurl stdenv; + yacc = bison.override { flex = null; }; }); m4 = gnum4;