gnu: coq: Split coqide.

* gnu/packages/coq.scm (coq)[outputs]: Add "ide" output.
This commit is contained in:
Julien Lepiller 2019-12-12 19:38:09 +01:00
parent d8421fef1d
commit 4d6d88bb7e
No known key found for this signature in database
GPG key ID: 43111F4520086A0C

View file

@ -58,6 +58,7 @@ (define-public coq
(variable "COQPATH")
(files (list "lib/coq/user-contrib")))))
(build-system ocaml-build-system)
(outputs '("out" "ide"))
(inputs
`(("lablgtk" ,lablgtk)
("python" ,python-2)
@ -72,6 +73,13 @@ (define-public coq
(lambda _
(for-each make-file-writable (find-files "."))
#t))
(add-after 'unpack 'remove-lablgtk-references
(lambda _
;; This is not used anywhere, but creates a reference to lablgtk in
;; every binary
(substitute* '("config/coq_config.mli" "configure.ml")
((".*coqideincl.*") ""))
#t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -88,6 +96,23 @@ (define-public coq
"-j" (number->string (parallel-job-count))
"world")))
(delete 'check)
(add-after 'install 'remove-duplicate
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
;; These are exact copies of the version without the .opt suffix.
;; Remove them to save 35 MiB in the result
(delete-file (string-append bin "/coqtop.opt"))
(delete-file (string-append bin "/coqidetop.opt")))
#t))
(add-after 'install 'install-ide
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(ide (assoc-ref outputs "ide")))
(mkdir-p (string-append ide "/bin"))
(rename-file (string-append out "/bin/coqide")
(string-append ide "/bin/coqide")))
#t))
(add-after 'install 'check
(lambda _
(with-directory-excursion "test-suite"