More java packaging attempts

Julien LepillerSun Aug 05 12:13:53+0200 2018

a2887d2

More java packaging attempts

more/packages/java.scm

599599
persisted, whether to a file, database, or over the network.")
600600
    (license license:bsd-3)))
601601
602-
;(define-public java-jformatstring
603-
;  (package
604-
;    (name "java-jformatstring")
605-
;    (version "3.0.0")
606-
;    (source (origin
607-
;              (method url-fetch)
608-
;              (uri (string-append "https://framagit.org/tyreunom/j-format-string/-/archive/"
609-
;                                  version "/j-format-string-" version ".tar.gz"))
610-
;              (sha256
611-
;               (base32
612-
;                "0ypqnchxif7rkq3n9vshj3j0d24kw3wr6k00yb5i14jm59m21r90"))
613-
;              (modules '((guix build utils)))
614-
;              (snippet
615-
;                '(begin
616-
;                   (for-each delete-file (find-files "." ".*.jar"))))))
617-
;    (build-system ant-build-system)
618-
;    (arguments
619-
;     `(#:jar-name "jformatstring.jar"))
620-
;    (inputs
621-
;     `(("java-jsr305" ,java-jsr305)
622-
;       ("java-junit" ,java-junit)))
623-
;    (home-page "http://findbugs.sourceforge.net/")
624-
;    (synopsis "")
625-
;    (description "")
626-
;    ;; license: gpl2 only, with classpath exception
627-
;    (license license:gpl2)))
602+
(define-public java-jformatstring
603+
  (package
604+
    (name "java-jformatstring")
605+
    (version "3.0.0")
606+
    (source (origin
607+
              (method url-fetch)
608+
              (uri (string-append "https://framagit.org/tyreunom/j-format-string/-/archive/"
609+
                                  version "/j-format-string-" version ".tar.gz"))
610+
              (sha256
611+
               (base32
612+
                "0ypqnchxif7rkq3n9vshj3j0d24kw3wr6k00yb5i14jm59m21r90"))
613+
              (modules '((guix build utils)))
614+
              (snippet
615+
                '(begin
616+
                   (for-each delete-file (find-files "." ".*.jar"))))))
617+
    (build-system ant-build-system)
618+
    (arguments
619+
     `(#:jar-name "jformatstring.jar"
620+
       ; tests are not in a java directory
621+
       #:tests? #f))
622+
    (inputs
623+
     `(("java-jsr305" ,java-jsr305)
624+
       ("java-junit" ,java-junit)
625+
       ("java-spotbugs-annotations" ,java-spotbugs-annotations)))
626+
    (home-page "http://findbugs.sourceforge.net/")
627+
    (synopsis "")
628+
    (description "")
629+
    ;; license: gpl2 only, with classpath exception
630+
    (license license:gpl2)))
628631
629-
;(define-public java-commons-bcel-5
630-
;  (package
631-
;    (inherit java-commons-bcel)
632-
;    (version "6.0")
633-
;    (source (origin
634-
;              (method url-fetch)
635-
;              (uri (string-append "https://archive.apache.org/dist/commons/"
636-
;                                  "bcel/source/bcel-" version "-src.tar.gz"))
637-
;              (sha256
638-
;               (base32
639-
;                "0n39601zcj7ymjihfv53r260mf3n8kj6bqhxv90dw5sgc7qbjqxr"))))
640-
;    (arguments
641-
;     `(#:jar-name "commons-bcel.jar"
642-
;       #:source-dir "src/java"
643-
;       #:tests? #f
644-
;       #:phases
645-
;       (modify-phases %standard-phases
646-
;         (add-before 'build 'use-iso8859
647-
;           (lambda _
648-
;             (substitute* "build.xml"
649-
;               (("<javac ") "<javac encoding=\"iso-8859-1\" "))
650-
;             #t)))))))
632+
(define-public java-commons-bcel-5
633+
  (package
634+
    (inherit java-commons-bcel)
635+
    (version "5.2")
636+
    (source (origin
637+
              (method url-fetch)
638+
              (uri (string-append "https://archive.apache.org/dist/commons/"
639+
                                  "bcel/source/bcel-" version "-src.tar.gz"))
640+
              (sha256
641+
               (base32
642+
                "15djmay72mzk38v183j6fr3j7fj3dhkp5z53bsvdfyc3ldcrs0v8"))))
643+
    (arguments
644+
     `(#:jar-name "commons-bcel.jar"
645+
       #:source-dir "src/java"
646+
       #:tests? #f
647+
       #:phases
648+
       (modify-phases %standard-phases
649+
         (add-before 'build 'use-iso8859
650+
           (lambda _
651+
             (substitute* "build.xml"
652+
               (("<javac ") "<javac encoding=\"iso-8859-1\" "))
653+
             #t)))))))
651654
652655
(define-public java-findbugs
653656
  (package

669672
     `(#:build-target "jars"
670673
       #:test-target "test"
671674
       #:make-flags (list "-Dgitrnum=0")
675+
       #:jdk ,icedtea-7
672676
       #:phases
673677
       (modify-phases %standard-phases
674678
         (add-before 'build 'add-formatstring

684688
             (with-directory-excursion "src/java/edu/umd/cs/findbugs"
685689
               (with-fluids ((%default-port-encoding "ISO-8859-1"))
686690
                 (substitute* '("visitclass/PreorderVisitor.java"
687-
                                "StackMapAnalyzer.java")
691+
                                "StackMapAnalyzer.java"
692+
				"classfile/engine/ClassParserUsingASM.java")
688693
                   ;; The two classes were merged in the latter
689-
                   (("StackMapTable")
690-
                    "StackMap"))))
694+
                   (("StackMapTable") "StackMap")
695+
		   (("Constants") "Const")
696+
		   (("Const2") "Constants2")
697+
		   (("getByteCodeOffsetDelta") "getByteCodeOffset"))
698+
		 (substitute* "detect/DumbMethods.java"
699+
		   (("import org.apache.bcel.classfile.Attribute;")
700+
		    "import org.apache.bcel.classfile.Attribute;
701+
import org.apache.bcel.Const;")
702+
		   (("MAJOR_1") "Const.MAJOR_1"))
703+
                 (substitute* "ba/AbstractFrameModelingVisitor.java"
704+
                   (("VisitorSupportsInvokeDynamic") "Visitor"))
705+
		 (substitute* "xml/XMLUtil.java"
706+
		   (("<T> List<T>") "List<Node>"))
707+
                 (substitute* "visitclass/PreorderVisitor.java"
708+
                   (("import org.apache.bcel.classfile.Attribute;")
709+
                    "import org.apache.bcel.classfile.Attribute;
710+
import org.apache.bcel.Const;
711+
import org.apache.bcel.classfile.BootstrapMethods;
712+
import org.apache.bcel.classfile.ConstantInvokeDynamic;
713+
import org.apache.bcel.classfile.ConstantMethodHandle;
714+
import org.apache.bcel.classfile.ConstantMethodType;
715+
import org.apache.bcel.classfile.MethodParameters;
716+
import org.apache.bcel.classfile.ParameterAnnotationEntry;")
717+
                   (("^}")
718+
                    "    @Override
719+
    public void visitBootstrapMethods(BootstrapMethods arg0) {
720+
        // TODO Auto-generated method stub
721+
    }
722+
    @Override
723+
    public void visitConstantInvokeDynamic(ConstantInvokeDynamic arg0) {
724+
        // TODO Auto-generated method stub
725+
    }
726+
    @Override
727+
    public void visitConstantMethodHandle(ConstantMethodHandle arg0) {
728+
        // TODO Auto-generated method stub
729+
    }
730+
    @Override
731+
    public void visitConstantMethodType(ConstantMethodType arg0) {
732+
        // TODO Auto-generated method stub
733+
    }
734+
    @Override
735+
    public void visitMethodParameters(MethodParameters arg0) {
736+
        // TODO Auto-generated method stub
737+
    }
738+
    @Override
739+
    public void visitParameterAnnotationEntry(ParameterAnnotationEntry arg0) {
740+
        // TODO Auto-generated method stub
741+
    }
742+
}"))))
691743
             #t))
692744
         (add-before 'build 'remove-osx
693745
           (lambda _

719771
    (inputs
720772
     `(("java-asm" ,java-asm)
721773
       ("java-commons-bcel-5" ,java-commons-bcel-6.0)
774+
       ;("java-commons-bcel-5" ,java-commons-bcel-5)
722775
       ("java-commons-lang" ,java-commons-lang)
723776
       ("java-dom4j" ,java-dom4j)
724777
       ("java-jcip-annotations" ,java-jcip-annotations)

742795
    (description "")
743796
    (license license:asl2.0)))
744797
798+
(define-public java-spotbugs-annotations
799+
  (package
800+
    (name "java-spotbugs-annotations")
801+
    (version "3.1.6")
802+
    (source (origin
803+
              (method url-fetch)
804+
	      (uri (string-append "https://github.com/spotbugs/spotbugs/archive/"
805+
				  version ".tar.gz"))
806+
              (sha256
807+
               (base32
808+
                "198gzk2vs4id90fxgpida51ygwpb31xwkv6lf91kgmvqcsknf6y4"))
809+
              (modules '((guix build utils)))
810+
              (snippet
811+
                '(begin
812+
                   (for-each delete-file (find-files "." ".*.jar"))))))
813+
    (build-system ant-build-system)
814+
    (arguments
815+
     `(#:jar-name "spotbugs.jar"
816+
       #:source-dir "spotbugs-annotations/src/main/java"
817+
       #:tests? #f
818+
       #:jdk ,icedtea-8))
819+
    (inputs
820+
     `(("java-jsr305" ,java-jsr305)))
821+
    (home-page "https://spotbugs.github.io/")
822+
    (synopsis "")
823+
    (description "")
824+
    (license license:asl2.0)))
825+
826+
(define-public java-spotbugs
827+
  (package
828+
    (inherit java-spotbugs-annotations)
829+
    (name "java-spotbugs")
830+
    (arguments
831+
     `(#:jar-name "spotbugs.jar"
832+
       #:source-dir "spotbugs/src/main/java:spotbugs-annotations/src/main/java:spotbugs/src/gui"
833+
       #:test-dir "spotbugs/src/test"
834+
       #:tests? #f; depend on jdepend
835+
       #:jdk ,icedtea-8
836+
       #:phases
837+
       (modify-phases %standard-phases
838+
	 (add-before 'build 'remove-osx
839+
	   (lambda _
840+
	     ;; Requires AppleJavaExtensions.jar (com.apple.eawt.*)
841+
	     (delete-file "spotbugs/src/gui/edu/umd/cs/findbugs/gui2/OSXAdapter.java")
842+
	     #t)))))
843+
    (inputs
844+
     `(("java-asm" ,java-asm)
845+
       ("java-commons-bcel" ,java-commons-bcel)
846+
       ("java-commons-lang" ,java-commons-lang)
847+
       ("java-dom4j" ,java-dom4j)
848+
       ("java-jcip-annotations" ,java-jcip-annotations)
849+
       ("java-jformatstring" ,java-jformatstring)
850+
       ("java-jsr305" ,java-jsr305)))
851+
    (native-inputs
852+
     `(("java-junit" ,java-junit)
853+
       ("java-hamcrest-core" ,java-hamcrest-core)))
854+
    (synopsis "")
855+
    (description "")))
856+
745857
(define-public java-mangosdk-spi
746858
  (package
747859
    (name "java-mangosdk-spi")

11531265
              (snippet
11541266
                `(begin
11551267
                   (for-each delete-file (find-files "." ".*.jar"))
1156-
		   (with-directory-excursion "core"
1268+
                   (with-directory-excursion "core"
11571269
                     (delete-file-recursively "test/lib")
11581270
                     (delete-file-recursively "windows"))
1159-
		   #t))))
1271+
                   #t))))
11601272
    (build-system ant-build-system)
11611273
    (native-inputs
11621274
     `(("java-javacc" ,java-javacc)))

11841296
       #:jar-name "josm.jar"
11851297
       #:phases
11861298
       (modify-phases %standard-phases
1187-
	 (add-after 'unpack 'chdir
1188-
	   (lambda _
1189-
	     (chdir "core")
1190-
	     #t))
1299+
         (add-after 'unpack 'chdir
1300+
           (lambda _
1301+
             (chdir "core")
1302+
             #t))
11911303
         (add-after 'chdir 'rm-build.xml
11921304
           (lambda* _
11931305
             (delete-file "build.xml")

14021514
    (description "")
14031515
    (license license:asl2.0)))
14041516
1517+
(define-public java-aspectj-rt
1518+
  (package
1519+
    (inherit java-aspectj-weaver)
1520+
    (name "java-aspectj-rt")
1521+
    (arguments
1522+
     `(#:jar-name "java-aspectj-rt.jar"
1523+
       #:source-dir "."
1524+
       #:jdk ,icedtea-8
1525+
       #:tests? #f; no tests
1526+
       #:phases
1527+
       (modify-phases %standard-phases
1528+
         (add-before 'configure 'unpack-jar
1529+
           (lambda _
1530+
             (mkdir-p "rt-src")
1531+
             (chdir "rt-src")
1532+
             (zero? (system* "jar" "xf" "../src/aspectjrt1.8.10-src.jar")))))))
1533+
    (inputs
1534+
     `(("java-commons-logging-minimal" ,java-commons-logging-minimal)
1535+
       ("java-asm" ,java-asm)))
1536+
    (description "")))
1537+
1538+
(define-public java-jsr107
1539+
  (package
1540+
    (name "java-jsr107")
1541+
    (version "1.1.0")
1542+
    (source (origin
1543+
              (method url-fetch)
1544+
              (uri (string-append "https://github.com/jsr107/jsr107spec/archive/v"
1545+
                                  version ".tar.gz"))
1546+
              (sha256
1547+
               (base32
1548+
                "19gxsanr9l3cbvpxzvvgs2cgxbpbl6llmfg7nbmdzxpv7mhmprxs"))))
1549+
    (build-system ant-build-system)
1550+
    (arguments
1551+
     `(#:jar-name "java-jsr107.jar"
1552+
       #:source-dir "src/main/java"
1553+
       ; no tests
1554+
       #:tests? #f))
1555+
    (inputs
1556+
     `(("java-cdi-api" ,java-cdi-api)))
1557+
    (home-page "https://github.com/jsr107/jsr107spec")
1558+
    (synopsis "")
1559+
    (description "")
1560+
    (license license:asl2.0)))
1561+
1562+
(define-public java-minimal-json
1563+
  (package
1564+
    (name "java-minimal-json")
1565+
    (version "0.9.5")
1566+
    (source (origin
1567+
              (method url-fetch)
1568+
              (uri (string-append "https://github.com/ralfstx/minimal-json/archive/"
1569+
                                  version ".tar.gz"))
1570+
              (file-name (string-append name "-" version ".tar.gz"))
1571+
              (sha256
1572+
               (base32
1573+
                "0y51icz6bdzd3x9nzf9npwwc7inag3hn1b685izys7qy0kgw9nih"))))
1574+
    (build-system ant-build-system)
1575+
    (arguments
1576+
     `(#:jar-name "java-minimal-json.jar"
1577+
       #:source-dir "com.eclipsesource.json/src/main/java"
1578+
       #:test-dir "com.eclipsesource.json/src/test"
1579+
       #:test-exclude
1580+
       ;; Unable to set MockitoNamingPolicy on cglib generator which creates FastClasses
1581+
       (list "**/JsonValue_Test.java")))
1582+
    (native-inputs
1583+
     `(("java-asm" ,java-asm)
1584+
       ("java-cglib" ,java-cglib)
1585+
       ("java-hamcrest-core" ,java-hamcrest-core)
1586+
       ("java-junit" ,java-junit)
1587+
       ("java-mockito-1" ,java-mockito-1)
1588+
       ("java-objenesis" ,java-objenesis)))
1589+
    (home-page "https://github.com/ralfstx/minimal-json")
1590+
    (synopsis "")
1591+
    (description "")
1592+
    (license license:expat)))
1593+
1594+
(define-public javacc-6
1595+
  (package
1596+
    (inherit javacc)
1597+
    (version "6.1.3")
1598+
    (source (origin
1599+
	      (method url-fetch)
1600+
	      (uri (string-append "https://github.com/javacc/javacc/archive/release_"
1601+
                                  (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
1602+
				  ".tar.gz"))
1603+
              (sha256
1604+
               (base32
1605+
                "03xpipk365szfzrab7divlr1i1r58j1hh47mhj5cpj1kv9zc2p6c"))))
1606+
    (arguments
1607+
     `(#:tests? #f
1608+
       #:phases
1609+
       (modify-phases %standard-phases
1610+
	 (add-after 'unpack 'delete-bundled-libs
1611+
	   (lambda _
1612+
	     (delete-file-recursively "lib")
1613+
	      #t))
1614+
	 (replace 'install (install-jars "target")))))
1615+
    (native-inputs
1616+
     `(("java-junit" ,java-junit)))))
1617+
1618+
(define-public java-apache-freemarker
1619+
  (package
1620+
    (name "java-apache-freemarker")
1621+
    (version "2.3.28")
1622+
    (source (origin
1623+
              (method url-fetch)
1624+
              (uri (string-append "mirror://apache/freemarker/engine/" version
1625+
                                  "/source/apache-freemarker-" version "-src.tar.gz"))
1626+
              (sha256
1627+
               (base32
1628+
                "0zar7lrjliklldihhpn0v5j3n4jlc022rj299yzmwc1yqzj7nzmv"))))
1629+
    (build-system ant-build-system)
1630+
    (arguments
1631+
     `(#:jar-name "java-apache-freemarker.jar"
1632+
       #:source-dir "src/main/java"
1633+
       #:test-dir "src/test"
1634+
       #:jdk ,icedtea-8
1635+
       #:phases
1636+
       (modify-phases %standard-phases
1637+
         (add-before 'build 'remove-unpackaged-dependencies
1638+
	   ;; TODO: package these dependencies
1639+
	   (lambda _
1640+
	     (delete-file-recursively "src/main/java/freemarker/ext/jython")
1641+
	     (delete-file-recursively "src/main/java/freemarker/ext/rhino")
1642+
	     ;; This class depends on javareble, a non-free package
1643+
	     (delete-file "src/main/java/freemarker/ext/beans/JRebelClassChangeNotifier.java")
1644+
	     (delete-file "src/main/java/freemarker/ext/ant/UnlinkedJythonOperationsImpl.java")
1645+
	     (delete-file "src/main/java/freemarker/template/utility/JythonRuntime.java")
1646+
	     #t))
1647+
	 (add-before 'build 'run-javacc
1648+
	   (lambda _
1649+
	     (invoke "java" "-cp" (getenv "CLASSPATH") "javacc"
1650+
		     "-OUTPUT_DIRECTORY=src/main/java/freemarker/core"
1651+
		     "src/main/javacc/FTL.jj")
1652+
	     #t)))))
1653+
    (inputs
1654+
     `(("java-avalon-logkit" ,java-avalon-logkit)
1655+
       ("java-commons-jxpath" ,java-commons-jxpath)
1656+
       ("java-commons-logging-minimal" ,java-commons-logging-minimal)
1657+
       ("java-dom4j" ,java-dom4j)
1658+
       ("java-jaxen" ,java-jaxen)
1659+
       ("java-jdom" ,java-jdom)
1660+
       ("java-log4j-api" ,java-log4j-api)
1661+
       ("java-slf4j-api" ,java-slf4j-api)
1662+
       ("java-spotbugs-annotations" ,java-spotbugs-annotations)
1663+
       ("java-tomcat" ,java-tomcat)
1664+
       ("java-xalan" ,java-xalan)))
1665+
    (native-inputs
1666+
     `(("javacc" ,javacc-6)))
1667+
    (home-page "https://github.com/ralfstx/minimal-json")
1668+
    (synopsis "")
1669+
    (description "")
1670+
    (license license:expat)))
1671+
1672+
(define java-hazelcast-client-protocol-version "1.7.0-3")
1673+
(define java-hazelcast-version "3.10.4")
1674+
1675+
(define java-hazelcast-client-protocol-source
1676+
  (origin
1677+
    (method url-fetch)
1678+
    (uri (string-append "https://github.com/hazelcast/"
1679+
                        "hazelcast-client-protocol/archive/v"
1680+
                        java-hazelcast-client-protocol-version ".tar.gz"))
1681+
    (file-name (string-append "hazelcast-client-protocol-" java-hazelcast-client-protocol-version ".tar.gz"))
1682+
    (sha256
1683+
     (base32
1684+
      "091j9as0zsm4rldj4x605hh0rmiwly39y0kg8zi6c2rkabzp2qpb"))))
1685+
1686+
(define java-hazelcast-source
1687+
  (origin
1688+
    (method url-fetch)
1689+
    (uri (string-append "https://github.com/hazelcast/hazelcast/archive/v"
1690+
                        java-hazelcast-version ".tar.gz"))
1691+
    (file-name (string-append "java-hazelcast-" java-hazelcast-version ".tar.gz"))
1692+
    (sha256
1693+
     (base32
1694+
      "0bmhjh15xcqc4k77ncfw60b0gfnh6ndc3rr8am09ys8yga4w59hf"))))
1695+
1696+
(define-public java-hazelcast-code-generator
1697+
  (package
1698+
    (name "java-hazelcast-code-generator")
1699+
    (version java-hazelcast-client-protocol-version)
1700+
    (source java-hazelcast-client-protocol-source)
1701+
    (build-system ant-build-system)
1702+
    (arguments
1703+
     `(#:jar-name "java-hazelcast-code-generator.jar"
1704+
       #:source-dir "hazelcast-code-generator/src/main/java"
1705+
       #:test-dir "hazelcast-core-generator/src/test"
1706+
       #:phases
1707+
       (modify-phases %standard-phases
1708+
         (add-before 'build 'copy-resources
1709+
           (lambda _
1710+
             (copy-recursively "hazelcast-core-generator/src/main/resources"
1711+
                               "build/classes")
1712+
             #t)))))
1713+
    (home-page "https://hazelcast.org")
1714+
    (synopsis "")
1715+
    (description "")
1716+
    (license license:asl2.0)))
1717+
1718+
(define-public java-hazelcast-client-protocol
1719+
  (package
1720+
    (name "java-hazelcast-client-protocol")
1721+
    (version java-hazelcast-client-protocol-version)
1722+
    (source java-hazelcast-client-protocol-source)
1723+
    (build-system ant-build-system)
1724+
    (arguments
1725+
     `(#:jar-name "java-hazelcast-client-protocol.jar"
1726+
       #:source-dir "hazelcast/src/main/java"
1727+
       #:test-dir "hazelcast/src/test"))
1728+
    (home-page "https://hazelcast.org")
1729+
    (synopsis "")
1730+
    (description "")
1731+
    (license license:asl2.0)))
1732+
1733+
(define-public java-hazelcast-bootstrap
1734+
  (package
1735+
    (name "java-hazelcast-bootstrap")
1736+
    (version java-hazelcast-version)
1737+
    (source java-hazelcast-source)
1738+
    (build-system ant-build-system)
1739+
    (arguments
1740+
     `(#:jar-name "java-hazelcast-bootstrap.jar"
1741+
       #:source-dir
1742+
       (string-append "hazelcast-client/src/main/java:hazelcast/src/main/java:"
1743+
                      "hazelcast-client-protocol-" ,java-hazelcast-client-protocol-version
1744+
                      "/hazelcast/src/main/java")
1745+
       #:tests? #f
1746+
       #:phases
1747+
       (modify-phases %standard-phases
1748+
         (add-before 'build 'unpack-client-protocol
1749+
           (lambda* (#:key inputs #:allow-other-keys)
1750+
             (display (assoc-ref inputs "java-hazelcast-client-protocol-source"))
1751+
             (newline)
1752+
             (invoke "tar" "xzf" (assoc-ref inputs "java-hazelcast-client-protocol-source"))
1753+
             #t))
1754+
         (add-before 'build 'remove-package-info
1755+
           (lambda _
1756+
             (for-each delete-file (find-files "." "package-info.java"))
1757+
             #t)))))
1758+
    (inputs
1759+
     `(("java-jsr107" ,java-jsr107)
1760+
       ("java-jsr305" ,java-jsr305)
1761+
       ("java-minimal-json" ,java-minimal-json)
1762+
       ("java-hazelcast-client-protocol-source" ,java-hazelcast-client-protocol-source)))
1763+
    (home-page "https://hazelcast.org")
1764+
    (synopsis "")
1765+
    (description "")
1766+
    (license license:asl2.0)))
1767+
1768+
(define-public java-hazelcast
1769+
  (package
1770+
    (inherit java-hazelcast-bootstrap)
1771+
    (name "java-hazelcast")
1772+
    (arguments
1773+
     `(#:jar-name "java-hazelcast.jar"
1774+
       #:source-dir "hazelcast/src/main/java"
1775+
       #:test-dir "hazelcast/src/test"
1776+
       #:phases
1777+
       (modify-phases %standard-phases
1778+
         (add-before 'build 'copy-resources
1779+
           (lambda _
1780+
             (copy-recursively "hazelcast/src/main/resources" "build/classes")
1781+
             #t))
1782+
         (add-before 'build 'copy-template
1783+
           (lambda _
1784+
             (with-directory-excursion "hazelcast/src/main"
1785+
               (copy-file "template/com/hazelcast/instance/GeneratedBuildProperties.java"
1786+
                            "java/com/hazelcast/instance/GeneratedBuildProperties.java")
1787+
               (substitute* "java/com/hazelcast/instance/GeneratedBuildProperties.java"
1788+
                 (("\\$\\{project.version\\}") ,version)
1789+
                 (("\\$\\{timestamp\\}") "0")
1790+
                 (("\\$\\{git.commit.id.abbrev\\}") "0f51fcf")
1791+
                 (("\\$\\{hazelcast.distribution\\}") "Hazelcast")
1792+
                 (("\\$\\{hazelcast.serialization.version\\}") "1")))
1793+
             #t))
1794+
         (add-before 'build 'remove-fb
1795+
           (lambda _
1796+
             (substitute* (find-files "hazelcast/src/main/java" ".*.java")
1797+
              ; (("@SuppressFBWarnings.*") "")
1798+
              ; (("justification = \".*") "")
1799+
               (("import edu.umd.cs.findbugs.*") ""))
1800+
             #t)))))
1801+
    (description "")))
1802+
1803+
(define-public java-jamonapi-jamon-bootstrap
1804+
  (package
1805+
    (name "java-jamonapi-jamon")
1806+
    (version "2.81")
1807+
    (source (origin
1808+
              (method url-fetch)
1809+
              (uri (string-append "https://github.com/stevensouza/jamonapi/archive/v"
1810+
                                  (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
1811+
                                  ".tar.gz"))
1812+
              (file-name (string-append name "-" version ".tar.gz"))
1813+
              (sha256
1814+
               (base32
1815+
                "0kh0p1h546k6myd268jlr681bx15q6ip15an56rmqdw4q87xk23v"))))
1816+
    (build-system ant-build-system)
1817+
    (arguments
1818+
     `(#:jar-name "java-jamonapi-jamon.jar"
1819+
       #:source-dir "jamon/src/main/java"
1820+
       #:test-dir "jamon/src/test"
1821+
       #:jdk ,icedtea-8
1822+
       #:phases
1823+
       (modify-phases %standard-phases
1824+
         (add-before 'build 'remove-cyclic-dependency
1825+
           (lambda _
1826+
             ;; Classes in this directory depend on spring-framework-context,
1827+
             ;; which depends on spring-framework-aop which depends on jamonapi.
1828+
             (delete-file-recursively "jamon/src/main/java/com/jamonapi/aop")
1829+
             #t))
1830+
         (add-before 'build 'port-to-jetty9
1831+
           (lambda _
1832+
             (substitute* "jamon/src/main/java/com/jamonapi/http/JettyHttpMonItem.java"
1833+
               (("org.mortbay.jetty.Request")
1834+
                "org.eclipse.jetty.server.Request"))
1835+
             (substitute* "jamon/src/main/java/com/jamonapi/http/JAMonJettyHandler.java"
1836+
               (("org.mortbay.jetty.Request")
1837+
                "org.eclipse.jetty.server.Request")
1838+
               (("org.mortbay.jetty.Response")
1839+
                "org.eclipse.jetty.server.Response")
1840+
               (("org.mortbay.jetty.HttpConnection")
1841+
                "org.eclipse.jetty.server.HttpConnection")
1842+
               (("org.mortbay.jetty.handler.HandlerWrapper")
1843+
                "org.eclipse.jetty.server.handler.HandlerWrapper"))
1844+
             #t)))))
1845+
    (inputs
1846+
     `(("java-aspectj-rt" ,java-aspectj-rt)
1847+
       ("java-eclipse-jetty-server" ,java-eclipse-jetty-server)
1848+
       ;("java-javaee-servletapi" ,java-javaee-servletapi)
1849+
       ("java-tomcat" ,java-tomcat) ; for catalina and servletapi
1850+
       ("java-log4j-api" ,java-log4j-api)))
1851+
    (home-page "")
1852+
    (synopsis "")
1853+
    (description "")
1854+
    ;; A link to the license is present in pom.xml
1855+
    (license license:bsd-3)))
1856+
14051857
(define-public java-spring-framework-core
14061858
  (package
14071859
    (name "java-spring-framework-core")

14381890
           (lambda _
14391891
             ;; Needed because tests look for data in src/... directly.
14401892
             (chdir "spring-core")
1441-
	     #t))
1893+
             #t))
14421894
         (add-before 'configure 'rename-dep
14431895
           (lambda _
14441896
             (substitute* "src/main/java/org/springframework/objenesis/SpringObjenesis.java"
14451897
               (("org.springframework.objenesis") "org.objenesis"))
1446-
	     #t))
1898+
             #t))
14471899
         (add-before 'configure 'add-import
14481900
           (lambda _
14491901
             (substitute* "src/main/java/org/springframework/cglib/core/SpringNamingPolicy.java"
14501902
               (("public class")
14511903
                "import net.sf.cglib.core.DefaultNamingPolicy;\npublic class"))
1452-
	     #t))
1904+
             #t))
14531905
         (add-before 'check 'remove-log4j-1-dep
14541906
           (lambda _
14551907
             ;; These tests require log4j-1 (log4j-1.2-api doesn't work)
14561908
             (delete-file "src/test/java/org/springframework/util/MockLog4jAppender.java")
14571909
             (delete-file "src/test/java/org/springframework/util/Log4jConfigurerTests.java")
1458-
	     #t))
1910+
             #t))
14591911
         (add-before 'check 'copy-test-resources
14601912
           (lambda* (#:key inputs #:allow-other-keys)
14611913
             (let ((dir (string-append (getcwd) "/build/test-classes/")))

14641916
                             (mkdir-p (dirname (string-append dir file)))
14651917
                             (copy-file file (string-append dir file)))
14661918
                   (find-files "." ".*"))))
1467-
	     #t)))))
1919+
             #t)))))
14681920
    (inputs
14691921
     `(("java-commons-logging-minimal" ,java-commons-logging-minimal)
14701922
       ("java-jopt-simple" ,java-jopt-simple)

15021954
           (lambda _
15031955
             ;; Needed because tests look for data in src/... directly.
15041956
             (chdir "spring-beans")
1505-
	     #t))
1506-
	 (add-before 'build 'copy-resources
1507-
	   (lambda _
1508-
	     (copy-recursively "src/main/resources" "build/classes")
1509-
	     #t))
1957+
             #t))
1958+
         (add-before 'build 'copy-resources
1959+
           (lambda _
1960+
             (copy-recursively "src/main/resources" "build/classes")
1961+
             #t))
15101962
         (add-before 'configure 'rename-dep
15111963
           (lambda _
15121964
             (substitute* "src/main/java/org/springframework/beans/factory/support/CglibSubclassingInstantiationStrategy.java"
15131965
               (("org.springframework.cglib") "net.sf.cglib")
15141966
               (("net.sf.cglib.core.SpringNamingPolicy") "org.springframework.cglib.core.SpringNamingPolicy"))
1515-
	     #t))
1516-
	 (add-before 'check 'copy-test-classes
1517-
	   (lambda _
1518-
	     (copy-file "../spring-core/src/test/java/org/springframework/tests/Assume.java"
1519-
			"src/test/java/org/springframework/tests/Assume.java")
1520-
	     (copy-file "../spring-core/src/test/java/org/springframework/tests/TestGroup.java"
1521-
			"src/test/java/org/springframework/tests/TestGroup.java")
1522-
	     (copy-file "../spring-core/src/test/java/org/springframework/tests/TestResourceUtils.java"
1523-
			"src/test/java/org/springframework/tests/TestResourceUtils.java")
1524-
	     (mkdir-p "src/test/java/org/springframework/stereotype")
1525-
	     (mkdir-p "src/test/java/org/springframework/util")
1526-
	     (copy-file "../spring-core/src/test/java/org/springframework/stereotype/Component.java"
1527-
			"src/test/java/org/springframework/stereotype/Component.java")
1528-
	     (copy-file "../spring-core/src/test/java/org/springframework/util/SerializationTestUtils.java"
1529-
			"src/test/java/org/springframework/util/SerializationTestUtils.java")
1530-
	     (substitute* "src/test/java/org/springframework/beans/factory/BeanFactoryUtilsTests.java"
1531-
	       (("org.springframework.cglib") "net.sf.cglib"))
1532-
	     #t))
1533-
         ;(add-before 'configure 'add-import
1967+
             #t))
1968+
         (add-before 'check 'copy-test-classes
1969+
           (lambda _
1970+
             (copy-file "../spring-core/src/test/java/org/springframework/tests/Assume.java"
1971+
                        "src/test/java/org/springframework/tests/Assume.java")
1972+
             (copy-file "../spring-core/src/test/java/org/springframework/tests/TestGroup.java"
1973+
                        "src/test/java/org/springframework/tests/TestGroup.java")
1974+
             (copy-file "../spring-core/src/test/java/org/springframework/tests/TestResourceUtils.java"
1975+
                        "src/test/java/org/springframework/tests/TestResourceUtils.java")
1976+
             (mkdir-p "src/test/java/org/springframework/stereotype")
1977+
             (mkdir-p "src/test/java/org/springframework/util")
1978+
             (copy-file "../spring-core/src/test/java/org/springframework/stereotype/Component.java"
1979+
                        "src/test/java/org/springframework/stereotype/Component.java")
1980+
             (copy-file "../spring-core/src/test/java/org/springframework/util/SerializationTestUtils.java"
1981+
                        "src/test/java/org/springframework/util/SerializationTestUtils.java")
1982+
             (substitute* "src/test/java/org/springframework/beans/factory/BeanFactoryUtilsTests.java"
1983+
               (("org.springframework.cglib") "net.sf.cglib"))
1984+
             #t))
1985+
         (add-before 'check 'copy-test-resources
1986+
           (lambda* (#:key inputs #:allow-other-keys)
1987+
             (copy-recursively "src/test/resources"
1988+
                               "build/test-classes")
1989+
             #t)))))
1990+
    (inputs
1991+
     `(("java-cglib" ,java-cglib)
1992+
       ("java-commons-logging-minimal" ,java-commons-logging-minimal)
1993+
       ("java-javax-inject" ,java-javax-inject)
1994+
       ("java-snakeyaml" ,java-snakeyaml)
1995+
       ("java-spring-framework-core" ,java-spring-framework-core)
1996+
       ;; Note: for javax-el (el-api)
1997+
       ("java-tomcat" ,java-tomcat)))
1998+
    (description "")))
1999+
2000+
(define-public java-spring-framework-aop
2001+
  (package
2002+
    (inherit java-spring-framework-core)
2003+
    (name "java-spring-framework-aop")
2004+
    (arguments
2005+
     `(#:jar-name "java-spring-framework-aop.jar"
2006+
       #:jdk ,icedtea-8
2007+
       #:source-dir "src/main/java"
2008+
       #:test-dir "src/test"
2009+
       #:phases
2010+
       (modify-phases %standard-phases
2011+
         (add-before 'configure 'chdir
2012+
           (lambda _
2013+
             ;; Needed because tests look for data in src/... directly.
2014+
             (chdir "spring-aop")
2015+
             #t))
2016+
         (add-before 'build 'copy-resources
2017+
           (lambda _
2018+
             (copy-recursively "src/main/resources" "build/classes")
2019+
             #t))
2020+
         (add-before 'configure 'rename-dep
2021+
           (lambda _
2022+
             (substitute*
2023+
               '("src/main/java/org/springframework/aop/framework/CglibAopProxy.java"
2024+
                 "src/main/java/org/springframework/aop/framework/ObjenesisCglibAopProxy.java")
2025+
               (("org.springframework.cglib") "net.sf.cglib")
2026+
               (("net.sf.cglib.core.SpringNamingPolicy") "org.springframework.cglib.core.SpringNamingPolicy"))
2027+
             (substitute* "src/main/java/org/springframework/aop/framework/ObjenesisCglibAopProxy.java"
2028+
               (("org.springframework.objenesis") "org.objenesis"))
2029+
             #t))
2030+
         ;(add-before 'check 'copy-test-classes
2031+
         ;  (lambda _
2032+
         ;    (copy-file "../spring-core/src/test/java/org/springframework/tests/Assume.java"
2033+
         ;               "src/test/java/org/springframework/tests/Assume.java")
2034+
         ;    (copy-file "../spring-core/src/test/java/org/springframework/tests/TestGroup.java"
2035+
         ;               "src/test/java/org/springframework/tests/TestGroup.java")
2036+
         ;    (copy-file "../spring-core/src/test/java/org/springframework/tests/TestResourceUtils.java"
2037+
         ;               "src/test/java/org/springframework/tests/TestResourceUtils.java")
2038+
         ;    (mkdir-p "src/test/java/org/springframework/stereotype")
2039+
         ;    (mkdir-p "src/test/java/org/springframework/util")
2040+
         ;    (copy-file "../spring-core/src/test/java/org/springframework/stereotype/Component.java"
2041+
         ;               "src/test/java/org/springframework/stereotype/Component.java")
2042+
         ;    (copy-file "../spring-core/src/test/java/org/springframework/util/SerializationTestUtils.java"
2043+
         ;               "src/test/java/org/springframework/util/SerializationTestUtils.java")
2044+
         ;    (substitute* "src/test/java/org/springframework/beans/factory/BeanFactoryUtilsTests.java"
2045+
         ;      (("org.springframework.cglib") "net.sf.cglib"))
2046+
         ;    #t))
2047+
         (add-before 'check 'copy-test-resources
2048+
           (lambda* (#:key inputs #:allow-other-keys)
2049+
             (copy-recursively "src/test/resources"
2050+
                               "build/test-classes")
2051+
             #t)))))
2052+
    (inputs
2053+
     `(("java-aspectj-rt" ,java-aspectj-rt)
2054+
       ("java-aspectj-weaver" ,java-aspectj-weaver)
2055+
       ("java-cglib" ,java-cglib)
2056+
       ("java-commons-logging-minimal" ,java-commons-logging-minimal)
2057+
       ("java-commons-pool" ,java-commons-pool)
2058+
       ("java-commons-pool2" ,java-commons-pool2)
2059+
       ("java-javax-inject" ,java-javax-inject)
2060+
       ("java-snakeyaml" ,java-snakeyaml)
2061+
       ("java-spring-framework-beans" ,java-spring-framework-beans)
2062+
       ("java-spring-framework-core" ,java-spring-framework-core)
2063+
       ;; Note: for javax-el (el-api)
2064+
       ("java-tomcat" ,java-tomcat)))
2065+
    (description "")))
2066+
2067+
(define-public java-spring-framework-context
2068+
  (package
2069+
    (inherit java-spring-framework-core)
2070+
    (name "java-spring-framework-context")
2071+
    (arguments
2072+
     `(#:jar-name "java-spring-framework-context.jar"
2073+
       #:jdk ,icedtea-8
2074+
       #:source-dir "src/main/java"
2075+
       #:test-dir "src/test"
2076+
       #:phases
2077+
       (modify-phases %standard-phases
2078+
         (add-before 'configure 'chdir
2079+
           (lambda _
2080+
             ;; Needed because tests look for data in src/... directly.
2081+
             (chdir "spring-context")
2082+
             #t))
2083+
         (add-before 'build 'copy-resources
2084+
           (lambda _
2085+
             (copy-recursively "src/main/resources" "build/classes")
2086+
             #t))
2087+
         ;(add-before 'configure 'rename-dep
15342088
         ;  (lambda _
1535-
         ;    (substitute* "src/main/java/org/springframework/cglib/core/SpringNamingPolicy.java"
1536-
         ;      (("public class")
1537-
         ;       "import net.sf.cglib.core.DefaultNamingPolicy;\npublic class"))
1538-
	 ;    #t))
1539-
         ;(add-before 'check 'remove-log4j-1-dep
2089+
         ;    (substitute* "src/main/java/org/springframework/beans/factory/support/CglibSubclassingInstantiationStrategy.java"
2090+
         ;      (("org.springframework.cglib") "net.sf.cglib")
2091+
         ;      (("net.sf.cglib.core.SpringNamingPolicy") "org.springframework.cglib.core.SpringNamingPolicy"))
2092+
         ;    #t))
2093+
         ;(add-before 'check 'copy-test-classes
15402094
         ;  (lambda _
1541-
         ;    ;; These tests require log4j-1 (log4j-1.2-api doesn't work)
1542-
         ;    (delete-file "src/test/java/org/springframework/util/MockLog4jAppender.java")
1543-
         ;    (delete-file "src/test/java/org/springframework/util/Log4jConfigurerTests.java")
1544-
	 ;    #t))
2095+
         ;    (copy-file "../spring-core/src/test/java/org/springframework/tests/Assume.java"
2096+
         ;               "src/test/java/org/springframework/tests/Assume.java")
2097+
         ;    (copy-file "../spring-core/src/test/java/org/springframework/tests/TestGroup.java"
2098+
         ;               "src/test/java/org/springframework/tests/TestGroup.java")
2099+
         ;    (copy-file "../spring-core/src/test/java/org/springframework/tests/TestResourceUtils.java"
2100+
         ;               "src/test/java/org/springframework/tests/TestResourceUtils.java")
2101+
         ;    (mkdir-p "src/test/java/org/springframework/stereotype")
2102+
         ;    (mkdir-p "src/test/java/org/springframework/util")
2103+
         ;    (copy-file "../spring-core/src/test/java/org/springframework/stereotype/Component.java"
2104+
         ;               "src/test/java/org/springframework/stereotype/Component.java")
2105+
         ;    (copy-file "../spring-core/src/test/java/org/springframework/util/SerializationTestUtils.java"
2106+
         ;               "src/test/java/org/springframework/util/SerializationTestUtils.java")
2107+
         ;    (substitute* "src/test/java/org/springframework/beans/factory/BeanFactoryUtilsTests.java"
2108+
         ;      (("org.springframework.cglib") "net.sf.cglib"))
2109+
         ;    #t))
15452110
         (add-before 'check 'copy-test-resources
15462111
           (lambda* (#:key inputs #:allow-other-keys)
1547-
	     (copy-recursively "src/test/resources"
1548-
			       "build/test-classes")
1549-
	     #t)))))
2112+
             (copy-recursively "src/test/resources"
2113+
                               "build/test-classes")
2114+
             #t)))))
15502115
    (inputs
15512116
     `(("java-cglib" ,java-cglib)
15522117
       ("java-commons-logging-minimal" ,java-commons-logging-minimal)
15532118
       ("java-javax-inject" ,java-javax-inject)
15542119
       ("java-snakeyaml" ,java-snakeyaml)
2120+
       ("java-spring-framework-beans" ,java-spring-framework-beans)
15552121
       ("java-spring-framework-core" ,java-spring-framework-core)
15562122
       ;; Note: for javax-el (el-api)
15572123
       ("java-tomcat" ,java-tomcat)))

20522618
               ((".*src/test/\\*\\*/\\*.java.*") "")
20532619
               (("<files>") "")
20542620
               (("</files>") ""))
2055-
	     #t))
2621+
             #t))
20562622
         (replace 'install
2057-
	   (install-jars ".")))))
2623+
           (install-jars ".")))))
20582624
    (inputs
20592625
     `(("java-jboss-javassist" ,java-jboss-javassist)))
20602626
    (native-inputs

20932659
       ("java-classpathx-servletapi" ,java-classpathx-servletapi)
20942660
       ("java-ognl" ,java-ognl)
20952661
       ("java-spring-framework-beans" ,java-spring-framework-beans)
2662+
       ("java-spring-framework-context" ,java-spring-framework-context)
20962663
       ("java-spring-framework-core" ,java-spring-framework-core)
20972664
       ("java-velocity" ,java-velocity)
20982665
       ("java-testng" ,java-testng)))

21322699
             (substitute* "build/build.xml"
21332700
               ((".*download.xml.*") ""))
21342701
             (chdir "build")
2135-
	     #t))
2702+
             #t))
21362703
         (replace 'install
21372704
           (lambda* (#:key outputs #:allow-other-keys)
21382705
             (let* ((out (assoc-ref outputs "out"))

21402707
               (mkdir-p dir)
21412708
               (copy-file "../bin/velocity-1.7.jar"
21422709
                          (string-append dir "/velocity-1.7.jar")))
2143-
	     #t)))))
2710+
             #t)))))
21442711
    (native-inputs
21452712
     `(("javacc" ,java-javacc)
21462713
       ("antlr" ,antlr2)))

21832750
           (lambda _
21842751
             (copy-recursively "velocity-engine-core/src/main/resources"
21852752
                               "build/classes")
2186-
	     #t))
2753+
             #t))
21872754
         (add-before 'build 'generate-parser
21882755
           (lambda _
21892756
             (invoke "jjtree" "-STATIC=false" "-MULTI=true"

21962763
                          "velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/ParserTreeConstants.java")
21972764
             (rename-file "JJTParserState.java"
21982765
                          "velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/JJTParserState.java")
2199-
	     (invoke "javacc" "-STATIC=false" "-JDK_VERSION=1.8"
2766+
             (invoke "javacc" "-STATIC=false" "-JDK_VERSION=1.8"
22002767
                     (string-append "-OUTPUT_DIRECTORY=velocity-engine-core/src"
22012768
                                    "/main/java/org/apache/velocity/runtime/parser")
22022769
                     "velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/Parser.jj")
2203-
	     #t)))))
2770+
             #t)))))
22042771
    (native-inputs
22052772
     `(("java-javacc-5" ,java-javacc-5)))
22062773
    (propagated-inputs '())

22472814
               (mkdir-p dir)
22482815
               (copy-file "../bin/velocity-tools-2.0.jar"
22492816
                          (string-append dir "/velocity-tools-2.0.jar")))
2250-
	     #t)))))
2817+
             #t)))))
22512818
    (inputs
22522819
     `(("java-dom4j" ,java-dom4j)
22532820
       ("java-velocity" ,java-velocity)

22662833
    (name "java-plexus-velocity-component")
22672834
    (version "1.2")
22682835
    (source (origin
2269-
	      (method url-fetch)
2270-
	      (uri (string-append "https://github.com/codehaus-plexus/"
2271-
				  "plexus-velocity/archive/plexus-velocity-"
2272-
				  version ".tar.gz"))
2273-
	      (sha256
2274-
	       (base32
2275-
		"04d34iny6364zcr1xy1xmg4grp6av8pcw3gsb1abrpxz4qhm84a6"))))
2836+
              (method url-fetch)
2837+
              (uri (string-append "https://github.com/codehaus-plexus/"
2838+
                                  "plexus-velocity/archive/plexus-velocity-"
2839+
                                  version ".tar.gz"))
2840+
              (sha256
2841+
               (base32
2842+
                "04d34iny6364zcr1xy1xmg4grp6av8pcw3gsb1abrpxz4qhm84a6"))))
22762843
    (build-system ant-build-system)
22772844
    (arguments
22782845
     `(#:jar-name "java-plexus-velocity-component.jar"

31103677
    (description "")
31113678
    (license license:asl2.0)))
31123679
3113-
;(define-public java-jflex
3114-
;  (package
3115-
;    (name "java-jflex")
3116-
;    (version "1.6.1")
3117-
;    (source (origin
3118-
;              (method url-fetch)
3119-
;              (uri (string-append "https://github.com/jflex-de/jflex/archive/"
3120-
;                                  version ".tar.gz"))
3121-
;              (sha256
3122-
;               (base32
3123-
;                "1wdfx4yl8cy2karbm4vpmk29xjlv6vn8y9b0sgfax26bl0bx7zxs"))))
3124-
;    (build-system ant-build-system)
3125-
;    (arguments
3126-
;     `(#:jar-name "jflex.jar"
3127-
;       #:jdk ,icedtea-8
3128-
;       #:source-dir "jflex/src/main/java"
3129-
;       #:test-dir "jflex/src/test"))
3130-
;    (home-page "jflex.de")
3131-
;    (synopsis "")
3132-
;    (description "")
3133-
;    (license license:bsd-3)))
3680+
(define-public java-jlex
3681+
  (package
3682+
    (name "java-jlex")
3683+
    (version "1.2.6")
3684+
    (source (origin
3685+
              (method url-fetch)
3686+
	      (uri (string-append "https://www.cs.princeton.edu/~appel/modern/"
3687+
				  "java/JLex/Archive/" version "/Main.java"))
3688+
              (sha256
3689+
               (base32
3690+
                "1msblmsgzij3z9pwm7gff1q2cv1q802q23xsn0mrflrs7g7axsxf"))))
3691+
    (build-system ant-build-system)
3692+
    (arguments
3693+
     `(#:tests? #f; no tests
3694+
       #:phases
3695+
       (modify-phases %standard-phases
3696+
	 (delete 'unpack)
3697+
	 (delete 'configure)
3698+
	 (replace 'build
3699+
	   (lambda* (#:key inputs #:allow-other-keys)
3700+
	     (mkdir "JLex")
3701+
	     (copy-file (assoc-ref inputs "source") "Main.java")
3702+
	     (invoke "javac" "Main.java" "-d" ".")
3703+
	     (apply invoke "jar" "cf" "jlex.jar" (find-files "." ".*.class"));"JLex/Main.class")
3704+
	     #t))
3705+
	 (replace 'install
3706+
	   (install-jars ".")))))
3707+
    (home-page "https://jflex.de")
3708+
    (synopsis "")
3709+
    (description "")
3710+
    (license license:bsd-3)))
3711+
3712+
(define-public java-jflex
3713+
  (package
3714+
    (name "java-jflex")
3715+
    (version "1.6.1")
3716+
    (source (origin
3717+
              (method url-fetch)
3718+
	      ; https://github.com/jflex-de/jflex/releases/download/v1.6.1/jflex-1.6.1.tar.gz
3719+
	      (uri (string-append "https://github.com/jflex-de/jflex/releases/"
3720+
				  "download/v" version "/jflex-" version ".tar.gz"))
3721+
              (sha256
3722+
               (base32
3723+
                "1h7q2vhb4s42g4pqz5xxxliagprray7i9krr6hyaz1mjlx7gnycq"))))
3724+
    (build-system ant-build-system)
3725+
    (arguments
3726+
     `(#:jar-name "jflex.jar"
3727+
       #:jdk ,icedtea-8
3728+
       #:source-dir "src/main/java"
3729+
       #:test-dir "src/test"
3730+
       #:phases
3731+
       (modify-phases %standard-phases
3732+
	 (add-before 'build 'generate-lex
3733+
	   (lambda _
3734+
	     (substitute* "src/main/jflex/LexScan.flex"
3735+
	       (("^%final.*") "")
3736+
	       (("^%column.*") "")
3737+
	       (("^%inputstream.*") "")
3738+
	       (("^//.*") "")
3739+
	       (("^/\\*.*\\*/") "")
3740+
	       (("^%eofclose.*") ""))
3741+
	     (invoke "java" "JLex.Main" "src/main/jflex/LexScan.flex")
3742+
	     (copy-file "src/main/jflex/LexScan.flex.java"
3743+
			"src/main/java/jflex/LexScan.java")
3744+
	     #t)))))
3745+
    (native-inputs
3746+
     `(("java-jlex" ,java-jlex)))
3747+
    (home-page "https://jflex.de")
3748+
    (synopsis "")
3749+
    (description "")
3750+
    (license license:bsd-3)))
31343751
31353752
(define-public java-cup-runtime
31363753
  (package

31653782
    (description "")
31663783
    (license license:expat))); http://www2.cs.tum.edu/projects/cup/licence.html
31673784
3785+
(define-public java-cup
3786+
  (package
3787+
    (name "java-cup")
3788+
    (version "11b")
3789+
    (source (origin
3790+
	      (method url-fetch)
3791+
	      (uri "http://www2.cs.tum.edu/projects/cup/releases/java-cup-src-11b-20160615.tar.gz")
3792+
              (sha256
3793+
               (base32
3794+
                "09xigxm7b44hz79xhqpfykvjrk4q90p33j2l07w69izx9sn0y42b"))
3795+
              ;(method git-fetch)
3796+
              ;(uri (git-reference
3797+
              ;       (url "https://versioncontrolseidl.in.tum.de/parsergenerators/cup")
3798+
              ;       (commit "fe729fe8c27441f046dab19135a38b9dde4c4e5e")))
3799+
              ;(sha256
3800+
              ; (base32
3801+
              ;  "09xigxm7b44hz79xhqpfykvjrk4q90p33j2l07w69izx9sn0y42b"))
3802+
              (modules '((guix build utils)))
3803+
              (snippet
3804+
                '(begin
3805+
		   ;; Delete bundled archives.
3806+
                   (for-each delete-file (find-files "." ".*\\.jar"))
3807+
                   (for-each delete-file (find-files "." ".*\\.tar.gz"))
3808+
                   #t))))
3809+
    (build-system ant-build-system)
3810+
    (arguments
3811+
     `(#:jar-name "cup-runtime.jar"
3812+
       #:source-dir "src/java/java_cup/runtime"
3813+
       #:tests? #f; no tests for runtime
3814+
       #:phases
3815+
       (modify-phases %standard-phases
3816+
         (add-before 'configure 'remove-build-xml
3817+
           (lambda _
3818+
             (delete-file "build.xml"))))))
3819+
    (home-page "http://www2.cs.tum.edu/projects/cup")
3820+
    (synopsis "")
3821+
    (description "")
3822+
    (license license:expat))); http://www2.cs.tum.edu/projects/cup/licence.html
3823+
31683824
;; Requires java-cup, but it requires jflex which in turn requires java-cup.
31693825
(define-public java-xalan
31703826
  (package

42244880
       (list "**/ValidationMatcherTest.java")
42254881
       #:phases
42264882
       (modify-phases %standard-phases
4227-
	 (add-before 'build 'copy-test-class
4228-
	   (lambda _
4229-
	     (copy-file "xmlunit-core/src/test/java/org/xmlunit/TestResources.java"
4230-
			"xmlunit-matchers/src/test/java/org/xmlunit/TestResources.java")
4231-
	     #t))
4232-
	 (add-before 'build 'fix-test-resources-path
4233-
	   (lambda _
4234-
	     (substitute* (find-files "xmlunit-matchers/src/test" ".*.java")
4235-
	       (("../test-resources") "test-resources"))
4236-
	     #t))
4883+
         (add-before 'build 'copy-test-class
4884+
           (lambda _
4885+
             (copy-file "xmlunit-core/src/test/java/org/xmlunit/TestResources.java"
4886+
                        "xmlunit-matchers/src/test/java/org/xmlunit/TestResources.java")
4887+
             #t))
4888+
         (add-before 'build 'fix-test-resources-path
4889+
           (lambda _
4890+
             (substitute* (find-files "xmlunit-matchers/src/test" ".*.java")
4891+
               (("../test-resources") "test-resources"))
4892+
             #t))
42374893
         (add-before 'check 'copy-test-resources
42384894
           (lambda* (#:key inputs #:allow-other-keys)
42394895
             (copy-recursively (assoc-ref inputs "resources") "test-resources")

42474903
    (name "java-jtidy")
42484904
    (version "r938")
42494905
    (source (origin
4250-
	      (method url-fetch)
4251-
	      (uri (string-append "mirror://sourceforge/jtidy/JTidy/r938/jtidy-r938-sources.zip"))
4906+
              (method url-fetch)
4907+
              (uri (string-append "mirror://sourceforge/jtidy/JTidy/r938/jtidy-r938-sources.zip"))
42524908
              (sha256
42534909
               (base32
42544910
                "19kszpqjihdfacxwk0bzv8ajwbs86k1qb9j67vzg8lwvxcxdkmsh"))))

42574913
     `(#:tests? #f; no tests
42584914
       #:phases
42594915
       (modify-phases %standard-phases
4260-
	 (add-before 'build 'chdir
4261-
	   (lambda _
4262-
	     (chdir "..")
4263-
	     #t))
4264-
	 (replace 'install
4265-
	   (install-jars ".")))))
4916+
         (add-before 'build 'chdir
4917+
           (lambda _
4918+
             (chdir "..")
4919+
             #t))
4920+
         (replace 'install
4921+
           (install-jars ".")))))
42664922
    (native-inputs
42674923
     `(("unzip" ,unzip)))
42684924
    (home-page "")