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

From: [email-masked]
Date: Sun, 1 Oct 2017 19:53:15 +0200

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...
+(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+)))
-- 
2.14.1