guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2 1/1] gnu: Add plantuml.


From: Ricardo Wurmus
Subject: Re: [PATCH v2 1/1] gnu: Add plantuml.
Date: Thu, 27 Oct 2016 19:29:38 +0200
User-agent: mu4e 0.9.16; emacs 25.1.1

Hi Theodoros,

thanks for the patch!

> +(define-public plantuml
> +  (package
> +    (name "plantuml")
> +    (version "8048")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "mirror://sourceforge/plantuml/plantuml-"
> +                    version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "1vipxd6p7isb1k1qqh4hrpfcj27hx1nll2yp0rfwpvps1w2d936i"))))
> +    (build-system ant-build-system)
> +    (arguments
> +     `(#:tests? #f ; no tests
> +       #:build-target "dist"
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'build 'delete-extra-from-cp
> +                     (lambda _
> +                       (substitute* "build.xml"
> +                         (("1.6") "1.7")
> +                         (("<attribute name=\"Class-Path\"") "<!--")
> +                         (("j2v8_macosx_x86_64-3.1.7.jar\" />") "-->"))
> +                       #t))
> +         (add-before 'install 'gen-install
> +                  (lambda* (#:key outputs #:allow-other-keys)
> +                    (mkdir-p "build/jar")
> +                    (system* "mv" "plantuml.jar" "build/jar")
> +                    ((@@ (guix build ant-build-system) default-build.xml)
> +                     "plantuml.jar"
> +                     (string-append (assoc-ref outputs "out")
> +                                    "/share/java"))))

I don’t understand this.  Do you only use “default-build.xml” to add an
install target?  In the previous phase you use the included “build.xml”.
I find this a little odd and think it would be clearer to just install
the files manually instead of using “default-build.xml” here.

> +         (add-after 'install 'make-wrapper
> +                    (lambda* (#:key inputs outputs #:allow-other-keys)

Please check the indentation for all phases.  That’s too far to the
right.

> +                      (let* ((out (assoc-ref outputs "out"))
> +                             (wrapper (string-append out "/bin/plantuml")))
> +                        (mkdir-p (string-append out "/bin"))
> +                        (with-output-to-file wrapper
> +                          (lambda _
> +                            (display
> +                             (string-append
> +                              "#!" (assoc-ref inputs "bash")
> "/bin/sh\n\n"

You might not need bash here.  Would just “#!/bin/sh” work?

> +                              (assoc-ref inputs "jre") "/bin/java -jar "
> +                              out "/share/java/plantuml.jar 
> \"address@hidden"\n"))))
> +                        (chmod wrapper #o555)))))))

Please note that all phases should end with #t or #f. 

> +    (inputs
> +     `(("graphviz" ,graphviz)
> +       ("bash" ,bash)
> +       ("jre" ,icedtea "out")))

“out” is the default so you can just leave it off.

> +    (home-page "http://plantuml.com/";)
> +    (synopsis "Draw UML diagrams from simple textual description")
> +    (description
> +     "Plantuml is a tool to generate sequence, usecase, class,
> activity,

Is “usecase” a word or should it be “use case”?

> +component, state, deployment and object UML diagrams, using a simple and
> +human readable text description.  Contains salt, a tool that can
> design simple

Please use address@hidden

> +graphical interfaces.")
> +    (license license:gpl3+)))

Could you please send an updated patch?

~~ Ricardo




reply via email to

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