Subject: [bug#28663] [PATCH 03/22] gnu: Add java-microemulator.

From: Roel Janssen <[email-masked]>
Date: Tue, 03 Oct 2017 09:54:05 +0200

[email-masked] writes:

> From: Julien Lepiller <[email-masked]>
>
> * gnu/packages/java.scm (java-microemulator): New variable.
> ---
>  gnu/packages/java.scm | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 58 insertions(+)
>
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index 806f13ab8..6973840c1 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -4716,3 +4716,61 @@ complex transformations and code analysis tools.")
>               #t)))))
>      (native-inputs
>       `(("java-junit" ,java-junit)))))
> +
> +(define java-asm-old
> +  (package
> +    (inherit java-asm)
> +    (version "3.3.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://download.forge.ow2.org/asm/asm-"
> +                                  version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "1xcp06wbqqq4jm93pafjw5jc08vy30qiw9s7kff9gmw23ka279b9"))))))
> +
> +;; FIXME: This is an old project, and the sourceforge page says it moved to
> +;; googlecode, which is dead...

It looks like it's on Github now:
https://github.com/barteo/microemu

The last commit there was in May 2013, while the last commit on
Sourceforge was in November 2009.

> +(define-public java-microemulator
> +  (package
> +    (name "java-microemulator")
> +    (version "2.0.4")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "mirror://sourceforge/microemulator/microemulator/"
> +                                  version "/microemulator-" version ".zip"))
> +              (sha256
> +               (base32
> +                "0x9a4xqw6747c130y2znfwg945jgpjnd4bzj5gdamxmi7848dslb"))))
> +    (build-system ant-build-system)
> +    (arguments
> +     `(#:jar-name "microemulator.jar"
> +       #:source-dir "src"
> +       #:tests? #f; no tests
> +       #:phases
> +       (modify-phases %standard-phases
> +         ;; The archive contains the sources as a jar file
> +         (add-before 'configure 'unpack-jar
> +           (lambda _
> +             (mkdir-p "src")
> +             (with-directory-excursion "src"
> +               (zero? (system* "jar" "xf" "../microemulator-sources.jar")))))
> +         (add-before 'configure 'remove-old-dep
> +           (lambda _
> +             ;; requires netscape.javascript for which I can't find a free implementation
> +             (delete-file "src/org/microemu/applet/CookieRecordStoreManager.java")
> +             ;; requires an old version of swt
> +             (delete-file "src/org/microemu/app/Swt.java"))))))
> +    (inputs
> +     `(("java-swt" ,java-swt)
> +       ("asm" ,java-asm-old)))
> +    (native-inputs
> +     `(("unzip" ,unzip)))
> +    (home-page "https://sourceforge.net/projects/microemulator/")
> +    (synopsis "J2ME CLDC/MIDP emulator")
> +    (description "Microemulator is a Java 2 Micro Edition (J2ME) CLDC/MIDP
> +Emulator.  It allows to demonstrate MIDlet based applications in web browser
> +applet and can be run as a standalone java application.")
> +    (license (list license:asl2.0
> +                   ;; or altenatively:
> +                   license:lgpl2.1+)))

So maybe we can try the latest version as can be found on Github?

Kind regards,
Roel Janssen