summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/bootloaders.scm5
-rw-r--r--gnu/packages/flex.scm13
2 files changed, 17 insertions, 1 deletions
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 2d8d89f754..76dad2923e 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -118,7 +118,10 @@
     (native-inputs
      `(("unifont" ,unifont)
        ("bison" ,bison)
-       ("flex" ,flex)
+       ;; Due to a bug in flex >= 2.6.2, GRUB must be built with an older flex:
+       ;; <http://lists.gnu.org/archive/html/grub-devel/2017-02/msg00133.html>
+       ;; TODO Try building with flex > 2.6.4.
+       ("flex" ,flex-2.6.1)
        ("texinfo" ,texinfo)
        ("help2man" ,help2man)
 
diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm
index fdda5f365d..b09ac0bb89 100644
--- a/gnu/packages/flex.scm
+++ b/gnu/packages/flex.scm
@@ -85,3 +85,16 @@ regular expressions for each rule.  Whenever it finds a match, it
 executes the corresponding C code.")
     (license (non-copyleft "file://COPYING"
                            "See COPYING in the distribution."))))
+
+(define-public flex-2.6.1
+  (package
+    (inherit flex)
+    (version "2.6.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/westes/flex"
+                                  "/releases/download/v" version "/"
+                                  "flex-" version ".tar.xz"))
+             (sha256
+              (base32
+               "0gqhk4vkwy4gl9xbpgkljph8c0a5kpijz6wd0p5r9q202qn42yic"))))))