unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: Pierre Neidhardt <mail@ambrevar.xyz>
Cc: 42000@debbugs.gnu.org
Subject: [bug#42000] [PATCH] gnu: Add drip.
Date: Tue, 23 Jun 2020 15:51:49 +0300	[thread overview]
Message-ID: <20200623125149.GG22974@E5400> (raw)
In-Reply-To: <20200622093154.15486-1-mail@ambrevar.xyz>

[-- Attachment #1: Type: text/plain, Size: 4315 bytes --]

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@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2020-06-23 12:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-22  9:31 [bug#42000] [PATCH] gnu: Add drip Pierre Neidhardt
2020-06-23 12:51 ` Efraim Flashner [this message]
2020-06-23 14:38   ` Pierre Neidhardt
2020-06-26  9:27     ` Pierre Neidhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200623125149.GG22974@E5400 \
    --to=efraim@flashner.co.il \
    --cc=42000@debbugs.gnu.org \
    --cc=mail@ambrevar.xyz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).