Subject: [bug#54279] [PATCH 1/2] gnu: transfig: Avoid "ar" option incompatibility with binutils 2.36.

From: Ivan Vilata i Balaguer <[email-masked]>
Date: Mon, 7 Mar 2022 00:47:07 +0100

Fixes <https://issues.guix.gnu.org/53425>.

* gnu/packages/xfig.scm (transfig)[arguments]<#:phases>: Remove "l" option
from "ar" invocation in makefiles to avoid incompatible meaning in binutils
2.36 causing error "ar: libdeps specified more than once".
---
 gnu/packages/xfig.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm
index 9004c79e22..ad2f701ff1 100644
--- a/gnu/packages/xfig.scm
+++ b/gnu/packages/xfig.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Federico Beffa <[email-masked]>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2021 Efraim Flashner <[email-masked]>
+;;; Copyright © 2022 Ivan Vilata i Balaguer <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -123,6 +124,7 @@ (define-public transfig
                (invoke "xmkmf" "-a")
                (substitute* '("Makefile"
                               "fig2dev/Makefile"
+                              "fig2dev/dev/Makefile"
                               "transfig/Makefile")
                  ;; These imake variables somehow remain undefined
                  (("DefaultGcc2[[:graph:]]*Opt") "-O2")
@@ -131,7 +133,12 @@ (define-public transfig
                  (("(MANPATH = )[[:graph:]]*" _ front)
                   (string-append front out "/share/man"))
                  (("(CONFDIR = )([[:graph:]]*)" _ front default)
-                  (string-append front out default)))
+                  (string-append front out default))
+                 ;; The "l" option was silently ignored until binutils 2.36,
+                 ;; where it got a different purpose.  So remove it to avoid
+                 ;; "ar: libdeps specified more than once".
+                 (("((AR|MODAR) = ar )clq" _ front)
+                  (string-append front "cq")))
                #t)))
          (add-after 'install 'install/doc
            (lambda _
-- 
2.34.0

-- 
Ivan Vilata i Balaguer -- https://elvil.net/