guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

07/19: gnu: javacc: Install binaries.


From: guix-commits
Subject: 07/19: gnu: javacc: Install binaries.
Date: Wed, 13 Nov 2019 16:50:40 -0500 (EST)

roptat pushed a commit to branch master
in repository guix.

commit 16fdf2f55d13ebcb16bdbb888a1c3453c47e469d
Author: Julien Lepiller <address@hidden>
Date:   Fri May 3 12:47:48 2019 +0200

    gnu: javacc: Install binaries.
    
    * gnu/packages/java.scm (javacc)[arguments]: Add install-bin phase.
---
 gnu/packages/java.scm | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 20db3e9..bc55c2f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2394,7 +2394,27 @@ debugging, etc.")
        #:test-target "test"
        #:phases
        (modify-phases %standard-phases
-         (replace 'install (install-jars "target")))))
+         (replace 'install (install-jars "target"))
+         (add-after 'install 'install-bin
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (dir (string-append out "/share/java"))
+                    (bin (string-append out "/bin"))
+                    (javacc (string-append bin "/javacc")))
+               (mkdir-p bin)
+               (with-output-to-file javacc
+                 (lambda _
+                   (display
+                     (string-append "#!/bin/sh\n"
+                                    (assoc-ref inputs "jdk") "/bin/java"
+                                    " -cp " dir "/javacc.jar" " `basename $0`" 
" $*"))))
+               (chmod javacc #o755)
+               ;; symlink to different names to affect the first argument and
+               ;; change the behavior of the jar file.
+               (symlink javacc (string-append bin "/jjdoc"))
+               (symlink javacc (string-append bin "/jjtree"))
+               #t))))))
+
     (native-inputs
      `(("javacc" ,javacc-4)))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]