GNU bug report logs - #42000
[PATCH] gnu: Add drip.

Previous Next

Package: guix-patches;

Reported by: Pierre Neidhardt <mail <at> ambrevar.xyz>

Date: Mon, 22 Jun 2020 09:33:02 UTC

Severity: normal

Tags: patch

Done: Pierre Neidhardt <mail <at> ambrevar.xyz>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 42000 in the body.
You can then email your comments to 42000 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#42000; Package guix-patches. (Mon, 22 Jun 2020 09:33:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Pierre Neidhardt <mail <at> ambrevar.xyz>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 22 Jun 2020 09:33:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add drip.
Date: Mon, 22 Jun 2020 11:31:54 +0200
* gnu/packages/java.scm (drip): New variable.
---
 gnu/packages/java.scm | 52 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index d5bc713c70..d4bb88cf49 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -165,6 +165,58 @@ defined in The Java Language Specification into the bytecoded instruction set
 and binary format defined in The Java Virtual Machine Specification.")
     (license license:ibmpl1.0)))
 
+(define-public drip
+  ;; Last release is from 2014, with few important commits afterwards.
+  (let ((commit "a4bd00df0199e78243847f06cc04ecaea31f8f08"))
+    (package
+      (name "drip")
+      (version (git-version "0.2.4" "1" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/ninjudd/drip")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0wzmjwfyldr3jn49517xd8yn7dgdk8h88qkga3kjyg1zc375ylg2"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("jdk" ,icedtea "jdk")))
+      (arguments
+       `(#:tests? #f                    ; No tests.
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (add-before 'install 'fix-wrapper
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ((jps (string-append (assoc-ref inputs "jdk") "/bin/jps")))
+                 (substitute* "bin/drip"
+                   (("jps") jps)
+                   (("brew update && brew upgrade drip") "guix pull && guix install drip")
+                   ;; No need to make:
+                   (("\\(cd -- \"\\$drip_dir\" && make -s\\) \\|\\| exit 1") "")
+                   ;; No need to include source:
+                   (("\\[\\[ -r \\$drip_dir/src/org/flatland/drip/Main\\.java \\]\\]")
+                    "true")))))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin")))
+                 (mkdir-p bin)
+                 (for-each
+                  (lambda (file)
+                    (install-file (string-append "bin/" file) bin))
+                  '("drip" "drip_daemon" "drip_proxy"))
+                 (install-file "drip.jar" out)))))))
+      (home-page "https://github.com/ninjudd/drip")
+      (synopsis "Fast Java Virtual Machine launching")
+      (description "Drip is a launcher for the Java Virtual Machine that
+provides much faster startup times than the java command.  The @command{drip}
+script is intended to be a drop-in replacement for the @command{java} command,
+only faster.")
+      (license license:epl1.0))))
+
 ;; This is the last version of GNU Classpath that can be built without ECJ.
 (define classpath-bootstrap
   (package
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#42000; Package guix-patches. (Tue, 23 Jun 2020 12:53:02 GMT) Full text and rfc822 format available.

Message #8 received at 42000 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 42000 <at> debbugs.gnu.org
Subject: Re: [bug#42000] [PATCH] gnu: Add drip.
Date: Tue, 23 Jun 2020 15:51:49 +0300
[Message part 1 (text/plain, inline)]
On Mon, Jun 22, 2020 at 11:31:54AM +0200, Pierre Neidhardt wrote:
> * gnu/packages/java.scm (drip): New variable.
> ---
>  gnu/packages/java.scm | 52 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 52 insertions(+)
> 
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index d5bc713c70..d4bb88cf49 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -165,6 +165,58 @@ defined in The Java Language Specification into the bytecoded instruction set
>  and binary format defined in The Java Virtual Machine Specification.")
>      (license license:ibmpl1.0)))
>  
> +(define-public drip
> +  ;; Last release is from 2014, with few important commits afterwards.

'with few important commits' has a negative connotation, while 'with a few
important commits' has a positive connotation. Considering we're using a
commit after the release I assume we want those commits. There's
probably something more concrete than that but we want the extra 'a'.

> +  (let ((commit "a4bd00df0199e78243847f06cc04ecaea31f8f08"))
> +    (package
> +      (name "drip")
> +      (version (git-version "0.2.4" "1" commit))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/ninjudd/drip")
> +                      (commit commit)))
> +                (file-name (git-file-name name version))
> +                (sha256
> +                 (base32
> +                  "0wzmjwfyldr3jn49517xd8yn7dgdk8h88qkga3kjyg1zc375ylg2"))))
> +      (build-system gnu-build-system)
> +      (native-inputs
> +       `(("jdk" ,icedtea "jdk")))
> +      (arguments
> +       `(#:tests? #f                    ; No tests.
> +         #:phases
> +         (modify-phases %standard-phases
> +           (delete 'configure)
> +           (add-before 'install 'fix-wrapper
> +             (lambda* (#:key inputs #:allow-other-keys)
> +               (let ((jps (string-append (assoc-ref inputs "jdk") "/bin/jps")))
> +                 (substitute* "bin/drip"
> +                   (("jps") jps)
> +                   (("brew update && brew upgrade drip") "guix pull && guix install drip")
> +                   ;; No need to make:
> +                   (("\\(cd -- \"\\$drip_dir\" && make -s\\) \\|\\| exit 1") "")
> +                   ;; No need to include source:
> +                   (("\\[\\[ -r \\$drip_dir/src/org/flatland/drip/Main\\.java \\]\\]")
> +                    "true")))))

Don't forget to return #t and make sure the lines aren't too long.

> +           (replace 'install
> +             (lambda* (#:key outputs #:allow-other-keys)
> +               (let* ((out (assoc-ref outputs "out"))
> +                      (bin (string-append out "/bin")))
> +                 (mkdir-p bin)
> +                 (for-each
> +                  (lambda (file)
> +                    (install-file (string-append "bin/" file) bin))
> +                  '("drip" "drip_daemon" "drip_proxy"))
> +                 (install-file "drip.jar" out)))))))

Is drip.jar supposed to be at the root of %output?
Also, this phase should return #t.

> +      (home-page "https://github.com/ninjudd/drip")
> +      (synopsis "Fast Java Virtual Machine launching")

I see Github has "Fast JVM launching without the hassle of persistent
JVMs." which doesn't look too long. Alternatively I'd consider switching
'Fast' to 'Faster'.

> +      (description "Drip is a launcher for the Java Virtual Machine that
> +provides much faster startup times than the java command.  The @command{drip}
                                               ^@command{java} here too

> +script is intended to be a drop-in replacement for the @command{java} command,
> +only faster.")
> +      (license license:epl1.0))))
> +
>  ;; This is the last version of GNU Classpath that can be built without ECJ.
>  (define classpath-bootstrap
>    (package
> -- 
> 2.26.2
> 

I have nothing to test it with but it looks good with those few changes.

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#42000; Package guix-patches. (Tue, 23 Jun 2020 14:40:02 GMT) Full text and rfc822 format available.

Message #11 received at 42000 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 42000 <at> debbugs.gnu.org
Subject: Re: [bug#42000] [PATCH] gnu: Add drip.
Date: Tue, 23 Jun 2020 16:38:54 +0200
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> writes:

> Don't forget to return #t and make sure the lines aren't too long.

`guix lint' does not complain :)

>> +                  (lambda (file)
>> +                    (install-file (string-append "bin/" file) bin))
>> +                  '("drip" "drip_daemon" "drip_proxy"))
>> +                 (install-file "drip.jar" out)))))))
>
> Is drip.jar supposed to be at the root of %output?

The `drip' script looks at "..".  Alternatively, I could patch the
script.  I think I'll do that.

> I have nothing to test it with but it looks good with those few changes.

Thanks for you review!

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#42000; Package guix-patches. (Fri, 26 Jun 2020 09:28:02 GMT) Full text and rfc822 format available.

Message #14 received at 42000 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 42000 <at> debbugs.gnu.org
Subject: Re: [bug#42000] [PATCH] gnu: Add drip.
Date: Fri, 26 Jun 2020 11:27:12 +0200
[Message part 1 (text/plain, inline)]
Merged with 880939c1a7cb95b5a4fa1a6b2d300bb2033f546f.

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

bug closed, send any further explanations to 42000 <at> debbugs.gnu.org and Pierre Neidhardt <mail <at> ambrevar.xyz> Request was from Pierre Neidhardt <mail <at> ambrevar.xyz> to control <at> debbugs.gnu.org. (Fri, 26 Jun 2020 09:29:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 24 Jul 2020 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 277 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.