gnu: coq: fix coqide not finding coqidetop.opt

* gnu/packages/coq.scm (coq) [arguments]:
  Turn duplicates into symlinks instead of deleting them in remove-duplicate.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
This commit is contained in:
raingloom 2020-09-06 19:11:32 +02:00 committed by Julien Lepiller
parent aecb61135c
commit 1394765238
No known key found for this signature in database
GPG key ID: 53D457B2D636EE82

View file

@ -4,6 +4,7 @@
;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 raingloom <raingloom@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -96,11 +97,18 @@ (define-public coq
(add-after 'install 'remove-duplicate
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(bin (string-append out "/bin"))
(coqtop (string-append bin "/coqtop"))
(coqidetop (string-append bin "/coqidetop"))
(coqtop.opt (string-append coqtop ".opt"))
(coqidetop.opt (string-append coqidetop ".opt")))
;; These files are exact copies without `.opt` extension.
;; Removing these saves 35 MiB in the resulting package.
(delete-file (string-append bin "/coqtop.opt"))
(delete-file (string-append bin "/coqidetop.opt")))
;; Unfortunately, completely deleting them breaks coqide.
(delete-file coqtop.opt)
(delete-file coqidetop.opt)
(symlink coqtop coqtop.opt)
(symlink coqidetop coqidetop.opt))
#t))
(add-after 'install 'install-ide
(lambda* (#:key outputs #:allow-other-keys)