[PATCH] gnu: Add davmail

  • Open
  • quality assurance status badge
Details
2 participants
  • reza
  • Lars Rustand
Owner
unassigned
Submitted by
Lars Rustand
Severity
normal
L
L
Lars Rustand wrote on 15 Dec 2023 21:09
(address . guix-patches@gnu.org)
87plz71b3y.fsf@yoga.mail-host-address-is-not-set
Date: Fri, 15 Dec 2023 20:46:13 +0100
User-agent: mu4e 1.10.8; emacs 30.0.50
Change-Id: Iaf8a600e424488b87635cd97e0ea1b0f0efcdb5f
base-commit: 06f25a9a85be1bbe7a709e58ce41c1a834e5f1ae
---
gnu/packages/mail.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 1676acf2f9..66e12964da 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -116,6 +116,7 @@ (define-module (gnu packages mail)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages icu4c)
+ #:use-module (gnu packages java)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages language)
#:use-module (gnu packages libbsd)
@@ -174,6 +175,7 @@ (define-module (gnu packages mail)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
#:use-module (guix build-system glib-or-gtk)
@@ -4999,3 +5001,32 @@ (define-public aerc
;; <https://lists.sr.ht/~rjarry/aerc-devel/%3Cb5cb213a7d0c699a886971658c2476
;; 1073eb2391%40disroot.org%3E>
(license license:gpl3+)))
+
+(define-public davmail
+ (let ((revision "3464"))
+ (package
+ (name "davmail")
+ (version "6.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://downloads.sourceforge.net/project/davmail/davmail/"
+ version "/davmail-" version "-" revision ".zip"))
+ (sha256
+ (base32 "075yip53z29jnf4bi1iw6j60cdicz6hd017nl56991f1vz943aqm"))))
+ (build-system copy-build-system)
+ (arguments
+ `(#:install-plan '((".." "share/davmail"))))
+ (native-inputs (list unzip))
+ (propagated-inputs (list openjdk))
+ (home-page "https://davmail.sourceforge.net/")
+ (synopsis
+ "POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365 Gateway")
+ (description
+ "Ever wanted to get rid of Outlook? DavMail is a
+POP/IMAP/SMTP/Caldav/Carddav/LDAP exchange gateway allowing users to use any
+mail/calendar client (e.g. Thunderbird with Lightning or Apple iCal) with an
+Exchange server, even from the internet or behind a firewall through Outlook
+Web Access.")
+ (license license:gpl2))))

--
2.41.0
R
0102018c7193a44f-974ba5f7-0f24-48f2-99ad-31c534c02b0a-000000@eu-west-1.amazonses.com
On December 15, 2023 8:09:37 PM UTC, Lars Rustand <rustand.lars@gmail.com> wrote:
Toggle quote (47 lines)
>Date: Fri, 15 Dec 2023 20:46:13 +0100
>User-agent: mu4e 1.10.8; emacs 30.0.50
>Change-Id: Iaf8a600e424488b87635cd97e0ea1b0f0efcdb5f
>base-commit: 06f25a9a85be1bbe7a709e58ce41c1a834e5f1ae
>---
> gnu/packages/mail.scm | 31 +++++++++++++++++++++++++++++++
> 1 file changed, 31 insertions(+)
>
>diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
>index 1676acf2f9..66e12964da 100644
>--- a/gnu/packages/mail.scm
>+++ b/gnu/packages/mail.scm
>@@ -116,6 +116,7 @@ (define-module (gnu packages mail)
> #:use-module (gnu packages guile-xyz)
> #:use-module (gnu packages haskell-xyz)
> #:use-module (gnu packages icu4c)
>+ #:use-module (gnu packages java)
> #:use-module (gnu packages kerberos)
> #:use-module (gnu packages language)
> #:use-module (gnu packages libbsd)
>@@ -174,6 +175,7 @@ (define-module (gnu packages mail)
> #:use-module (gnu packages xml)
> #:use-module (gnu packages xorg)
> #:use-module (gnu packages)
>+ #:use-module (guix build-system copy)
> #:use-module (guix build-system cmake)
> #:use-module (guix build-system emacs)
> #:use-module (guix build-system glib-or-gtk)
>@@ -4999,3 +5001,32 @@ (define-public aerc
> ;; <https://lists.sr.ht/~rjarry/aerc-devel/%3Cb5cb213a7d0c699a886971658c2476
> ;; 1073eb2391%40disroot.org%3E>
> (license license:gpl3+)))
>+
>+(define-public davmail
>+ (let ((revision "3464"))
>+ (package
>+ (name "davmail")
>+ (version "6.2.0")
>+ (source
>+ (origin
>+ (method url-fetch)
>+ (uri (string-append
>+ "https://downloads.sourceforge.net/project/davmail/davmail/"
>+ version "/davmail-" version "-" revision ".zip"))
>+ (sha256
>+ (base32 "075yip53z29jnf4bi1iw6j60cdicz6hd017nl56991f1vz943aqm"))))
>+ (build-system copy-build-system)
Did you try to build it from source?
Toggle quote (4 lines)
>+ (arguments
>+ `(#:install-plan '((".." "share/davmail"))))
>+ (native-inputs (list unzip))
>+ (propagated-inputs (list openjdk))
Building it from source would require to package quite a few new java packages, but I could give you a hand: https://davmail.sourceforge.net/dependencies.html
Toggle quote (16 lines)
>+ (synopsis
>+ "POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365 Gateway")
>+ (description
>+ "Ever wanted to get rid of Outlook? DavMail is a
>+POP/IMAP/SMTP/Caldav/Carddav/LDAP exchange gateway allowing users to use any
>+mail/calendar client (e.g. Thunderbird with Lightning or Apple iCal) with an
>+Exchange server, even from the internet or behind a firewall through Outlook
>+Web Access.")
>+ (license license:gpl2))))
>
>--
>2.41.0
>
>
>
Great! I was looking into packaging this software.
R
0102018c724adf5a-ff6dfb25-31c0-4f39-80da-eec9a933a6f6-000000@eu-west-1.amazonses.com
Toggle quote (4 lines)
> It's been a few years since I touched anything Java, and I have no
> experience in building Java libraries, but I could certainly try. If you
> have any pointers for packaging Java libraries please let me know.

I'm no expert either but I have started packaging jackrabbit-webdav (see
attachement). It is by all means very WIP, at some point I stopped
working on it but would like to get it packaged!

Toggle quote (35 lines)
> So, based on the dependency tree from your link, this should be the full
> list of dependencies needed. Some of which are already packaged.
>
> [x] junit:junit:jar:4.13.1 (test)
> [x] org.hamcrest:hamcrest-core:jar:1.3 (test)
> [ ] org.apache.jackrabbit:jackrabbit-webdav:jar:2.14.6 (compile)
> [x] org.slf4j:slf4j-api:jar:1.7.25 (compile)
> [x] org.apache.httpcomponents:httpclient:jar:4.5.6 (compile)
> [x] org.apache.httpcomponents:httpcore:jar:4.4.10 (compile)
> [x] commons-logging:commons-logging:jar:1.2 (compile)
> [x] commons-httpclient:commons-httpclient:jar:3.1 (compile)
> [ ] org.slf4j:jcl-over-slf4j:jar:1.7.25 (compile)
> [ ] org.slf4j:slf4j-log4j12:jar:1.7.25 (compile)
> [x] commons-codec:commons-codec:jar:1.11 (compile)
> [x] log4j:log4j:jar:1.2.17 (compile)
> [x] com.sun.mail:javax.mail:jar:1.5.6 (compile)
> [ ] javax.activation:activation:jar:1.1.1 (compile)
> [x] org.eclipse:swt:jar:4.9 (system)
> [x] javax.servlet:servlet-api:jar:2.4 (compile)
> [ ] net.sourceforge.htmlcleaner:htmlcleaner:jar:2.29 (compile)
> [x] org.jdom:jdom2:jar:2.0.6.1 (compile)
> [x] com.fasterxml.woodstox:woodstox-core:jar:6.4.0 (compile)
> [x] org.codehaus.woodstox:stax2-api:jar:4.2.1 (compile)
> [ ] org.samba.jcifs:jcifs:jar:1.3.14 (system)
> [ ] net.freeutils:jcharset:jar:2.0 (compile)
> [?] org.boris.winrun4j:winrun4j:jar:0.4.5 (system)
> [x] org.codehaus.jettison:jettison:jar:1.5.4 (compile)
>
> I didn't check the versions of the stuff that is already packaged, only
> if it is packaged or not. Hopefully davmail will work with whatever
> version is already packaged for these dependencies.
>
> I think winrun4j cannot possibly be needed, since that is a Windows
> thing. And I'm also not sure why jcifs would be needed for an email gateway.

Yes I think we can assume winrun4j is not needed.

Toggle quote (5 lines)
> I also wrote a Shepherd services for davmail and offlineimap. I will
> submit these services also, but they need some cleanup first. If you are
> interested you can find them in a thread on bug-guix [1], or in my
> channel [2].

This sounds great, will check them out!
L
L
Lars Rustand wrote on 16 Dec 2023 08:52
(name . reza)(address . reza@housseini.me)
87il4y1pgl.fsf@yoga.mail-host-address-is-not-set
reza <reza@housseini.me> writes:

Toggle quote (2 lines)
> Did you try to build it from source?

Oh, sorry. For some reason I didn't think of the jar as a binary, but
obviously it is.

Toggle quote (4 lines)
> Building it from source would require to package quite a few new java
> packages, but I could give you a hand:
> https://davmail.sourceforge.net/dependencies.html

That would be great, any help is greatly appreciated!

It's been a few years since I touched anything Java, and I have no
experience in building Java libraries, but I could certainly try. If you
have any pointers for packaging Java libraries please let me know.

So, based on the dependency tree from your link, this should be the full
list of dependencies needed. Some of which are already packaged.

[x] junit:junit:jar:4.13.1 (test)
[x] org.hamcrest:hamcrest-core:jar:1.3 (test)
[ ] org.apache.jackrabbit:jackrabbit-webdav:jar:2.14.6 (compile)
[x] org.slf4j:slf4j-api:jar:1.7.25 (compile)
[x] org.apache.httpcomponents:httpclient:jar:4.5.6 (compile)
[x] org.apache.httpcomponents:httpcore:jar:4.4.10 (compile)
[x] commons-logging:commons-logging:jar:1.2 (compile)
[x] commons-httpclient:commons-httpclient:jar:3.1 (compile)
[ ] org.slf4j:jcl-over-slf4j:jar:1.7.25 (compile)
[ ] org.slf4j:slf4j-log4j12:jar:1.7.25 (compile)
[x] commons-codec:commons-codec:jar:1.11 (compile)
[x] log4j:log4j:jar:1.2.17 (compile)
[x] com.sun.mail:javax.mail:jar:1.5.6 (compile)
[ ] javax.activation:activation:jar:1.1.1 (compile)
[x] org.eclipse:swt:jar:4.9 (system)
[x] javax.servlet:servlet-api:jar:2.4 (compile)
[ ] net.sourceforge.htmlcleaner:htmlcleaner:jar:2.29 (compile)
[x] org.jdom:jdom2:jar:2.0.6.1 (compile)
[x] com.fasterxml.woodstox:woodstox-core:jar:6.4.0 (compile)
[x] org.codehaus.woodstox:stax2-api:jar:4.2.1 (compile)
[ ] org.samba.jcifs:jcifs:jar:1.3.14 (system)
[ ] net.freeutils:jcharset:jar:2.0 (compile)
[?] org.boris.winrun4j:winrun4j:jar:0.4.5 (system)
[x] org.codehaus.jettison:jettison:jar:1.5.4 (compile)

I didn't check the versions of the stuff that is already packaged, only
if it is packaged or not. Hopefully davmail will work with whatever
version is already packaged for these dependencies.

I think winrun4j cannot possibly be needed, since that is a Windows
thing. And I'm also not sure why jcifs would be needed for an email gateway.

Toggle quote (2 lines)
> Great! I was looking into packaging this software.

I also wrote a Shepherd services for davmail and offlineimap. I will
submit these services also, but they need some cleanup first. If you are
interested you can find them in a thread on bug-guix [1], or in my
channel [2].

L
L
Lars Rustand wrote on 16 Dec 2023 12:50
(name . reza)(address . reza@housseini.me)
87edfm1i14.fsf@yoga.mail-host-address-is-not-set
reza <reza@housseini.me> writes:

Toggle quote (6 lines)
> I'm no expert either but I have started packaging jackrabbit-webdav (see
> attachement). It is by all means very WIP, at some point I stopped
> working on it but would like to get it packaged!

> [2. text/x-scheme; julia-additions.scm]...

Did you attach the correct file? This seems to be just a bunch of julia
packages, I don't see anything that looks related to jackrabbit.
R
0102018c746530f2-3acb798f-62ba-4e27-b1e7-7b43fbbe363c-000000@eu-west-1.amazonses.com
Toggle quote (3 lines)
> Did you attach the correct file? This seems to be just a bunch of julia
> packages, I don't see anything that looks related to jackrabbit.

Sorry, this was of course the wrong file...
Attachment: java-additions.scm
L
L
Lars Rustand wrote on 17 Dec 2023 11:06
(name . reza)(address . reza@housseini.me)
874jgh13nb.fsf@yoga.mail-host-address-is-not-set
I've made a little progress here, added packages for three of the
packages we were missing:

- java-htmlcleaner
- java-jcharset
- java-jcifs


I also added a couple of packages that were not listed as dependencies
but were needed:

- java-openjfx-swing
- java-openjfx-web

java-openjfx-swing needs to have the patch
java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch from
https://issues.guix.gnu.org/41360applied to java-openjfx-build.

Your jackrabbit-webdav package built without problems. So the only
packages we are missing now seems to be:

- java-javax-activation
- java-sfl4j-log4j12
- java-winrun4j

I added a packaged definition for java-sfl4j-log4j12 but it is currently
failing to build with some undefined reference to
`org.apache.log4j.helpers.ThreadLocalMap`.

javax.activation has been taken over by Eclipse and moved to
jakarta.activation. I haven't yet tried to package this one since I
don't know what is the best way to handle this and if it is possible to
use the new jakarta.activation directly in place of javax.activation.

It also seems that winrun4j is needed after all, since I get some build
error related to winrun4j when trying to build davmail. Unless we are
able to remove references to it we might need to package winrun4j also.

Attaching the java-additions file with my changes added.

Toggle snippet (502 lines)
(define-module (gnu packages java-additions)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system ant)
#:use-module (guix build-system maven)
#:use-module (gnu packages)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages java)
#:use-module (gnu packages java-bootstrap)
#:use-module (gnu packages java-compression)
#:use-module (gnu packages java-xml)
#:use-module (gnu packages gperf)
#:use-module (gnu packages python)
#:use-module (gnu packages ruby))


(define-public java-javax-jcr
(package
(name "java-javax-jcr")
(version "2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://repo1.maven.org/maven2/"
"javax/jcr/jcr/"
version "/jcr-"
version "-sources.jar"))
(sha256
(base32
"163c9y71rm31mgazzxar28r3k4fb9vzk7a1dfs1cgf7d9rnx4i33"))))
(build-system ant-build-system)
(arguments
`(#:tests? #f ; no tests
#:jar-name "javax-jcr.jar"))
(home-page "https://jcp.org/aboutJava/communityprocess/final/jsr283/index.html")
(synopsis "Specifies a standard API to access content repositories in Java independently of implementation")
(description "
The API should be a standard, implementation independent, way to access content bi-directionally on a
granular level within a content repository. A Content Repository is a high-level information management
system that is a superset of traditional data repositories. A content repository implements
\"content services\" such as: author based versioning, full textual searching, fine grained access control,
content categorization and content event monitoring. It is these \"content services\" that differentiate a
Content Repository from a Data Repository.

Many of today's (web)applications are interacting with a content repository in various ways.

This API proposes that content repositories have a dedicated, standard way of interaction with applications
that deal with content. This API will focus on transactional read/write access, binary content
(stream operations), textual content, full-text searching, filtering, observation, versioning, handling of
hard and soft structured content.")
;; Day Specification License
(license license:gpl2)))

(define-public java-oak-jackrabbit-api
(package
(name "java-oak-jackrabbit-api")
(version "1.42.0")
(source (origin
(method url-fetch)
(uri (string-append "https://dlcdn.apache.org/jackrabbit/oak/"
version "/jackrabbit-oak-" version "-src.zip"))
(sha256
(base32
"17ra69nn4fl7ja2m23d3995570j5j5ni3fi4kfvfsp82jdmryy6r"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "oak-jackrabbit-api.jar"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "oak-jackrabbit-api") #t))
(add-before 'build 'prepare
(lambda _
(with-directory-excursion
"src/test/java/org/apache/jackrabbit/api/"
;; remove test which has build error
(delete-file "JackrabbitSessionTest.java"))
#t)))))
(inputs
(list unzip
java-commons-logging-minimal
java-mockito-1
java-junit
java-jetbrains-annotations
java-javax-jcr
java-osgi-annotation))
(home-page "https://jackrabbit.apache.org/oak/docs/index.html")
(synopsis "Jackrabbit Oak - the next generation content repository")
(description "This component contains the interface extensions that Apache Jackrabbit and
Jackrabbit Oak support in addition to the standard JCR API. You can
use these interfaces to access implementation-specific functionality.")
(license license:asl2.0)))

(define-public java-jackrabbit-oak
(package
(name "java-jackrabbit-oak")
(version "1.42.0")
(source (origin
(method url-fetch)
(uri (string-append "https://dlcdn.apache.org/jackrabbit/oak/"
version "/jackrabbit-oak-" version "-src.zip"))
(sha256
(base32
"17ra69nn4fl7ja2m23d3995570j5j5ni3fi4kfvfsp82jdmryy6r"))))
(build-system maven-build-system)
(arguments
`(#:exclude
(
; ("org.apache.maven.plugins" .
; ("maven-deploy-plugin" "maven-javadoc-plugin" "maven-idea-plugin"
; "maven-eclipse-plugin" "maven-release-plugin"))
("org.apache.rat" . ("apache-rat-plugin"))
("org.codehaus.mojo" . ("animal-sniffer-maven-plugin"))
("org.jacoco" . ("jacoco-maven-plugin"))
("org.apache.felix" . ("maven-bundle-plugin")))
#:local-packages (("javax.jcr" . (("jcr" . "2.0")))
("org.osgi" . (("org.osgi.annotation" . "6.0.0")))
("org.jetbrains" . (("annotations". "19.0.0")))
("org.mockito" . (("mockito-core" . "1.10.19"))))))
(native-inputs (list unzip java-javax-jcr))
(synopsis "Jackrabbit Oak - the next generation content repository")
(description
"Jackrabbit Oak is an effort to implement a scalable and performant hierarchical
content repository for use as the foundation of modern world-class web sites and other
demanding content applications. The Oak effort is a part of the Apache Jackrabbit
project. Apache Jackrabbit is a project of the Apache Software Foundation.
")
(home-page "https://jackrabbit.apache.org/oak/docs/index.html")
(license license:asl2.0)))

(define-public java-jackrabbit
(package
(name "java-jackrabbit")
(version "2.21.21")
(source (origin
(method url-fetch)
(uri (string-append "https://dlcdn.apache.org/jackrabbit/"
version "/jackrabbit-" version "-src.zip"))
(sha256
(base32
"0i2m0zmbb7xcvg2zwkdj16xjr9jhv5a0rxf75r2vad7jpkym99sz"))))
(build-system maven-build-system)
(arguments
`(#:exclude
(("org.apache.maven.plugins" .
("maven-deploy-plugin" "maven-javadoc-plugin" "maven-idea-plugin"
"maven-eclipse-plugin" "maven-release-plugin"))
("org.apache.rat" . ("apache-rat-plugin"))
("org.codehaus.mojo" . ("animal-sniffer-maven-plugin"))
("org.jacoco" . ("jacoco-maven-plugin"))
("org.apache.felix" . ("maven-bundle-plugin")))
#:local-packages (("javax.jcr" . (("jcr" . "2.0")))
("org.apache.jackrabbit" . (("oak-jackrabbit-api" . "1.42.0")))
("org.osgi" . (("org.osgi.annotation" . "6.0.0")))
("cglib" . (("cglib" . "3.2.4"))))))
(native-inputs (list unzip java-junit java-javax-jcr))
(synopsis "This is the WebDAV Library component of the Apache Jackrabbit project")
(description
"This component provides interfaces and common utility classes used for
building a WebDAV server or client. The following RFC have been integrated:

* RFC 2518 (WebDAV - HTTP Extensions for Distributed Authoring)
* RFC 3253 (DeltaV - Versioning Extensions to WebDAV)
* RFC 3648 (Ordered Collections Protocol)
* RFC 3744 (Access Control Protocol)
* DAV Searching and Locating (DASL)
* Binding Extensions to Web Distributed Authoring and Versioning (WebDAV) (experimental)

In addition this library defines (unspecified)

* Observation
* Bundling multiple request with extensions to locking")
(home-page "https://jackrabbit.apache.org/jcr/index.html")
(license license:asl2.0)))

(define-public java-jackrabbit-webdav
(package
(name "java-jackrabbit-webdav")
(version "2.21.21")
(source (origin
(method url-fetch)
(uri (string-append "https://dlcdn.apache.org/jackrabbit/"
version "/jackrabbit-" version "-src.zip"))
(sha256
(base32
"0i2m0zmbb7xcvg2zwkdj16xjr9jhv5a0rxf75r2vad7jpkym99sz"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jackrabbit-webdav.jar"
#:test-exclude (list "**/ParserTest.java") ;; fails unexpected
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "jackrabbit-webdav") #t)))))
(native-inputs (list
unzip
java-junit
java-slf4j-simple
java-httpcomponents-httpcore
java-httpcomponents-httpclient
java-javaee-servletapi
java-osgi-annotation))
(synopsis "This is the WebDAV Library component of the Apache Jackrabbit project")
(description
"This component provides interfaces and common utility classes used for
building a WebDAV server or client. The following RFC have been integrated:

* RFC 2518 (WebDAV - HTTP Extensions for Distributed Authoring)
* RFC 3253 (DeltaV - Versioning Extensions to WebDAV)
* RFC 3648 (Ordered Collections Protocol)
* RFC 3744 (Access Control Protocol)
* DAV Searching and Locating (DASL)
* Binding Extensions to Web Distributed Authoring and Versioning (WebDAV) (experimental)

In addition this library defines (unspecified)

* Observation
* Bundling multiple request with extensions to locking")
(home-page "https://jackrabbit.apache.org")
(license license:asl2.0)))

(define-public java-davmail
(package
(name "java-davmail")
(version "6.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://sourceforge.net/projects/davmail/files/davmail/"
version "/davmail-srconly-" version "-3390.tgz"))
(sha256
(base32
"0q5yix25i253w9kpqc8wiryvzpfrbqalky8byf5bz66v13c07y7p"))))
(build-system ant-build-system)
(arguments
`(#:modules ((guix build ant-build-system)
(guix build java-utils)
(guix build utils)
(srfi srfi-1)
(ice-9 match))
;#:build-target "jar"
#:source-dir "src/"
#:test-dir "src/test"
#:tests? #false
#:jar-name "davmail.jar"
#:build-target "jar"))
;#:phases
;(modify-phases %standard-phases
; (add-after 'unpack 'create-libdir
; (lambda* (#:key inputs #:allow-other-keys)
; (mkdir-p "lib")
; ;(for-each
; ; (lambda (file)
; ; (let ((target (string-append "lib/" (basename file))))
; ; (unless (file-exists? target)
; ; (symlink file target))))
; ; (append-map (match-lambda
; ; (dir
; ; (find-files dir "\\.jar$")))
; ; inputs))
; #t)))))
(inputs (list
;java-junit
;;java-log4j-core
;;java-log4j-api
java-slf4j-api
java-log4j-1.2-api
;;java-slf4j-log4j12
java-jcl-over-slf4j
java-openjfx-base
java-openjfx-build
java-openjfx-controls
java-openjfx-graphics
java-openjfx-media
java-openjfx-web
java-openjfx-swing ;; Maybe not all of these are needed
java-javax-mail
java-htmlcleaner
java-jackrabbit-webdav
java-junit
;;java-slf4j-simple
java-jcifs
java-swt
java-woodstox-core
java-stax
java-stax2-api
java-jcharset
java-httpcomponents-httpcore
java-httpcomponents-httpclient
java-commons-httpclient
java-commons-codec
java-jettison
java-javaee-servletapi
;java-osgi-annotation
))
(synopsis "POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365 Gateway")
(description
"Ever wanted to get rid of Outlook? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP
exchange gateway allowing users to use any mail/calendar client (e.g. Thunderbird with
Lightning or Apple iCal) with an Exchange server, even from the internet or behind a firewall
through Outlook Web Access. DavMail now includes an LDAP gateway to Exchange global address
book and user personal contacts to allow recipient address completion in mail compose window
and full calendar support with attendees free/busy display.")
(home-page "http://davmail.sourceforge.net/index.html")
(license license:gpl2)))

(define-public java-htmlcleaner
(package
(name "java-htmlcleaner")
(version "0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://downloads.sourceforge.net/project/htmlcleaner/htmlcleaner/htmlcleaner%20v2.29/htmlcleaner-src-2.29.zip"))
(sha256 (base32 "0l2k94rklbhxbcqqzn46y4l089jdi5ivy2g1h7vk8vxyc5qqvilz"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "htmlcleaner.jar"
#:tests? #false
#:source-dir "../src/main"
#:test-dir "../src/test"))
(native-inputs
(list java-jdom2
unzip
java-junit))
(home-page "")
(synopsis "")
(description "")
;; GPLv2 only
(license license:bsd-3)))

(define-public java-jcharset
(package
(name "java-jcharset")
(version "0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://www.freeutils.net/source/jcharset/jcharset-2.1-distribution.zip"))
(sha256 (base32 "1k1fqwgrpxp81r93n2irw4lhsnx217jky7lz8h3wbic14iycz8v9"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jcharset.jar"
#:tests? #false
#:source-dir "src/main"
#:test-dir "src/test"))
(native-inputs
(list unzip
java-junit))
(home-page "")
(synopsis "")
(description "")
;; GPLv2 only
(license license:bsd-3)))

(define-public java-slf4j-log4j12
(package
(name "java-slf4j-log4j12")
(version "0.0.0")
(source (package-source java-slf4j-api))
(build-system ant-build-system)
(arguments
`(#:jar-name "slf4j-log4j12.jar"
#:source-dir "slf4j-log4j12/src/main"
#:test-dir "slf4j-log4j12/src/test"
#:phases
(modify-phases %standard-phases
;; The tests need some test classes from slf4j-api
(add-before 'check 'build-slf4j-api-test-helpers
(lambda _
;; Add current dir to CLASSPATH ...
(setenv "CLASSPATH"
(string-append (getcwd) ":" (getenv "CLASSPATH")))
;; ... and build test helper classes here:
(apply invoke
`("javac" "-d" "."
,@(find-files "slf4j-api/src/test" ".*\\.java")))))
(replace 'install
(install-from-pom "slf4j-log4j12/pom.xml")))))
(propagated-inputs
(list java-slf4j-api
java-log4j-1.2-api))
;;java-log4j-core))
(native-inputs
(list java-junit
java-logback-core
java-logback-classic
java-log4j-1.2-api
java-hamcrest-core))
(home-page "https://www.slf4j.org/")
(synopsis "")
(description "")
(license license:expat)))


;; This might not be needed at all. It was listed as a dependency for jacrabbit,
;; but I don't think jackrabbit uses it
(define-public java-jcl-over-slf4j
(package
(name "java-jcl-over-slf4j")
(version "0.0.0")
(source (package-source java-slf4j-api))
(build-system ant-build-system)
(arguments
`(#:jar-name "jcl-over-slf4j.jar"
#:source-dir "jcl-over-slf4j/src/main"
#:tests? #false
#:test-dir "jcl-over-slf4j/src/test"
;;#:test-exclude (list "**/*SimpleLoggerMultithreadedInitializationTest.java")
#:phases
(modify-phases %standard-phases
;; The tests need some test classes from slf4j-api
(add-before 'check 'build-slf4j-api-test-helpers
(lambda _
;; Add current dir to CLASSPATH ...
(setenv "CLASSPATH"
(string-append (getcwd) ":" (getenv "CLASSPATH")))
;; ... and build test helper classes here:
(apply invoke
`("javac" "-d" "."
,@(find-files "slf4j-api/src/test" ".*\\.java")))))
(replace 'install
(install-from-pom "jcl-over-slf4j/pom.xml")))))
(propagated-inputs
(list java-slf4j-api
java-log4j-1.2-api
java-log4j-core))
(native-inputs
(list java-junit)) ;java-hamcrest-core))
(home-page "https://www.slf4j.org/")
(synopsis "")
(description "")
(license license:expat)))

(define-public java-jcifs
(package
(name "java-jcifs")
(version "0.0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://www.jcifs.org/src/jcifs-1.3.19.zip"))
(sha256 (base32 "06pj5qi8giplsxdp5y4l4j55pj13n13k8lrqpk96jvm7xjhqc7m3"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jcifs.jar"
#:source-dir "src/jcifs"
#:tests? #false
#:test-dir "src/test"))
(propagated-inputs
(list ))
(native-inputs
(list java-junit
java-javaee-servletapi
unzip)) ;java-hamcrest-core))
(home-page "")
(synopsis "")
(description "")
(license license:expat)))

(define-public java-openjfx-swing
(package (inherit java-openjfx-build)
(name "java-openjfx-swing")
(arguments
`(#:jar-name "java-openjfx-swing.jar"
#:source-dir "modules/swing/src/main/java"
#:tests? #f
#:test-dir "modules/swing/src/test"))
(propagated-inputs
(list java-openjfx-base
java-openjfx-graphics
java-openjfx-controls
java-openjfx-build
java-openjfx-media))
(description "OpenJFX is a client application platform for desktop,
mobile and embedded systems built on Java. Its goal is to produce a
modern, efficient, and fully featured toolkit for developing rich client
applications. This package contains base classes for the OpenJFX
distribution.")))



(define-public java-openjfx-web
(package (inherit java-openjfx-build)
(name "java-openjfx-web")
(arguments
`(#:jar-name "java-openjfx-web.jar"
#:source-dir (string-join '("modules/web/src/main/java"
"modules/web/src/main/native/Source/WebCore/bindings/java/dom3")
";")
#:tests? #f
#:modules ((ice-9 match)
(guix build ant-build-system)
(guix build utils))
#:phases
(modify-phases %standard-phases
(replace 'build
(lambda* (#:key inputs #:allow-othe
This message was truncated. Download the full message here.
R
0102018c7bbaba48-3d1878c5-1c76-40b4-a0a5-576fabb50874-000000@eu-west-1.amazonses.com
On December 17, 2023 10:06:14 AM UTC, Lars Rustand <rustand.lars@gmail.com> wrote:
Toggle quote (513 lines)
>
>I've made a little progress here, added packages for three of the
>packages we were missing:
>
>- java-htmlcleaner
>- java-jcharset
>- java-jcifs
>
>
>I also added a couple of packages that were not listed as dependencies
>but were needed:
>
>- java-openjfx-swing
>- java-openjfx-web
>
>java-openjfx-swing needs to have the patch
>java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch from
>https://issues.guix.gnu.org/41360 applied to java-openjfx-build.
>
>Your jackrabbit-webdav package built without problems. So the only
>packages we are missing now seems to be:
>
>- java-javax-activation
>- java-sfl4j-log4j12
>- java-winrun4j
>
>I added a packaged definition for java-sfl4j-log4j12 but it is currently
>failing to build with some undefined reference to
>`org.apache.log4j.helpers.ThreadLocalMap`.
>
>javax.activation has been taken over by Eclipse and moved to
>jakarta.activation. I haven't yet tried to package this one since I
>don't know what is the best way to handle this and if it is possible to
>use the new jakarta.activation directly in place of javax.activation.
>
>It also seems that winrun4j is needed after all, since I get some build
>error related to winrun4j when trying to build davmail. Unless we are
>able to remove references to it we might need to package winrun4j also.
>
>Attaching the java-additions file with my changes added.
>
>--8<---------------cut here---------------start------------->8---
>(define-module (gnu packages java-additions)
> #:use-module ((guix licenses) #:prefix license:)
> #:use-module (guix utils)
> #:use-module (guix packages)
> #:use-module (guix download)
> #:use-module (guix gexp)
> #:use-module (guix git-download)
> #:use-module (guix build-system ant)
> #:use-module (guix build-system maven)
> #:use-module (gnu packages)
> #:use-module (gnu packages cmake)
> #:use-module (gnu packages compression)
> #:use-module (gnu packages java)
> #:use-module (gnu packages java-bootstrap)
> #:use-module (gnu packages java-compression)
> #:use-module (gnu packages java-xml)
> #:use-module (gnu packages gperf)
> #:use-module (gnu packages python)
> #:use-module (gnu packages ruby))
>
>
>(define-public java-javax-jcr
> (package
> (name "java-javax-jcr")
> (version "2.0")
> (source (origin
> (method url-fetch)
> (uri (string-append "https://repo1.maven.org/maven2/"
> "javax/jcr/jcr/"
> version "/jcr-"
> version "-sources.jar"))
> (sha256
> (base32
> "163c9y71rm31mgazzxar28r3k4fb9vzk7a1dfs1cgf7d9rnx4i33"))))
> (build-system ant-build-system)
> (arguments
> `(#:tests? #f ; no tests
> #:jar-name "javax-jcr.jar"))
> (home-page "https://jcp.org/aboutJava/communityprocess/final/jsr283/index.html")
> (synopsis "Specifies a standard API to access content repositories in Java independently of implementation")
> (description "
>The API should be a standard, implementation independent, way to access content bi-directionally on a
>granular level within a content repository. A Content Repository is a high-level information management
>system that is a superset of traditional data repositories. A content repository implements
>\"content services\" such as: author based versioning, full textual searching, fine grained access control,
>content categorization and content event monitoring. It is these \"content services\" that differentiate a
>Content Repository from a Data Repository.
>
>Many of today's (web)applications are interacting with a content repository in various ways.
>
>This API proposes that content repositories have a dedicated, standard way of interaction with applications
>that deal with content. This API will focus on transactional read/write access, binary content
>(stream operations), textual content, full-text searching, filtering, observation, versioning, handling of
>hard and soft structured content.")
> ;; Day Specification License
> (license license:gpl2)))
>
>(define-public java-oak-jackrabbit-api
> (package
> (name "java-oak-jackrabbit-api")
> (version "1.42.0")
> (source (origin
> (method url-fetch)
> (uri (string-append "https://dlcdn.apache.org/jackrabbit/oak/"
> version "/jackrabbit-oak-" version "-src.zip"))
> (sha256
> (base32
> "17ra69nn4fl7ja2m23d3995570j5j5ni3fi4kfvfsp82jdmryy6r"))))
> (build-system ant-build-system)
> (arguments
> `(#:jar-name "oak-jackrabbit-api.jar"
> #:phases
> (modify-phases %standard-phases
> (add-after 'unpack 'chdir
> (lambda _ (chdir "oak-jackrabbit-api") #t))
> (add-before 'build 'prepare
> (lambda _
> (with-directory-excursion
> "src/test/java/org/apache/jackrabbit/api/"
> ;; remove test which has build error
> (delete-file "JackrabbitSessionTest.java"))
> #t)))))
> (inputs
> (list unzip
> java-commons-logging-minimal
> java-mockito-1
> java-junit
> java-jetbrains-annotations
> java-javax-jcr
> java-osgi-annotation))
> (home-page "https://jackrabbit.apache.org/oak/docs/index.html")
> (synopsis "Jackrabbit Oak - the next generation content repository")
> (description "This component contains the interface extensions that Apache Jackrabbit and
>Jackrabbit Oak support in addition to the standard JCR API. You can
>use these interfaces to access implementation-specific functionality.")
> (license license:asl2.0)))
>
>(define-public java-jackrabbit-oak
> (package
> (name "java-jackrabbit-oak")
> (version "1.42.0")
> (source (origin
> (method url-fetch)
> (uri (string-append "https://dlcdn.apache.org/jackrabbit/oak/"
> version "/jackrabbit-oak-" version "-src.zip"))
> (sha256
> (base32
> "17ra69nn4fl7ja2m23d3995570j5j5ni3fi4kfvfsp82jdmryy6r"))))
> (build-system maven-build-system)
> (arguments
> `(#:exclude
> (
> ; ("org.apache.maven.plugins" .
> ; ("maven-deploy-plugin" "maven-javadoc-plugin" "maven-idea-plugin"
> ; "maven-eclipse-plugin" "maven-release-plugin"))
> ("org.apache.rat" . ("apache-rat-plugin"))
> ("org.codehaus.mojo" . ("animal-sniffer-maven-plugin"))
> ("org.jacoco" . ("jacoco-maven-plugin"))
> ("org.apache.felix" . ("maven-bundle-plugin")))
> #:local-packages (("javax.jcr" . (("jcr" . "2.0")))
> ("org.osgi" . (("org.osgi.annotation" . "6.0.0")))
> ("org.jetbrains" . (("annotations". "19.0.0")))
> ("org.mockito" . (("mockito-core" . "1.10.19"))))))
> (native-inputs (list unzip java-javax-jcr))
> (synopsis "Jackrabbit Oak - the next generation content repository")
> (description
> "Jackrabbit Oak is an effort to implement a scalable and performant hierarchical
>content repository for use as the foundation of modern world-class web sites and other
>demanding content applications. The Oak effort is a part of the Apache Jackrabbit
>project. Apache Jackrabbit is a project of the Apache Software Foundation.
>")
> (home-page "https://jackrabbit.apache.org/oak/docs/index.html")
> (license license:asl2.0)))
>
>(define-public java-jackrabbit
> (package
> (name "java-jackrabbit")
> (version "2.21.21")
> (source (origin
> (method url-fetch)
> (uri (string-append "https://dlcdn.apache.org/jackrabbit/"
> version "/jackrabbit-" version "-src.zip"))
> (sha256
> (base32
> "0i2m0zmbb7xcvg2zwkdj16xjr9jhv5a0rxf75r2vad7jpkym99sz"))))
> (build-system maven-build-system)
> (arguments
> `(#:exclude
> (("org.apache.maven.plugins" .
> ("maven-deploy-plugin" "maven-javadoc-plugin" "maven-idea-plugin"
> "maven-eclipse-plugin" "maven-release-plugin"))
> ("org.apache.rat" . ("apache-rat-plugin"))
> ("org.codehaus.mojo" . ("animal-sniffer-maven-plugin"))
> ("org.jacoco" . ("jacoco-maven-plugin"))
> ("org.apache.felix" . ("maven-bundle-plugin")))
> #:local-packages (("javax.jcr" . (("jcr" . "2.0")))
> ("org.apache.jackrabbit" . (("oak-jackrabbit-api" . "1.42.0")))
> ("org.osgi" . (("org.osgi.annotation" . "6.0.0")))
> ("cglib" . (("cglib" . "3.2.4"))))))
> (native-inputs (list unzip java-junit java-javax-jcr))
> (synopsis "This is the WebDAV Library component of the Apache Jackrabbit project")
> (description
> "This component provides interfaces and common utility classes used for
>building a WebDAV server or client. The following RFC have been integrated:
>
> * RFC 2518 (WebDAV - HTTP Extensions for Distributed Authoring)
> * RFC 3253 (DeltaV - Versioning Extensions to WebDAV)
> * RFC 3648 (Ordered Collections Protocol)
> * RFC 3744 (Access Control Protocol)
> * DAV Searching and Locating (DASL)
> * Binding Extensions to Web Distributed Authoring and Versioning (WebDAV) (experimental)
>
>In addition this library defines (unspecified)
>
> * Observation
> * Bundling multiple request with extensions to locking")
> (home-page "https://jackrabbit.apache.org/jcr/index.html")
> (license license:asl2.0)))
>
>(define-public java-jackrabbit-webdav
> (package
> (name "java-jackrabbit-webdav")
> (version "2.21.21")
> (source (origin
> (method url-fetch)
> (uri (string-append "https://dlcdn.apache.org/jackrabbit/"
> version "/jackrabbit-" version "-src.zip"))
> (sha256
> (base32
> "0i2m0zmbb7xcvg2zwkdj16xjr9jhv5a0rxf75r2vad7jpkym99sz"))))
> (build-system ant-build-system)
> (arguments
> `(#:jar-name "jackrabbit-webdav.jar"
> #:test-exclude (list "**/ParserTest.java") ;; fails unexpected
> #:phases
> (modify-phases %standard-phases
> (add-after 'unpack 'chdir
> (lambda _ (chdir "jackrabbit-webdav") #t)))))
> (native-inputs (list
> unzip
> java-junit
> java-slf4j-simple
> java-httpcomponents-httpcore
> java-httpcomponents-httpclient
> java-javaee-servletapi
> java-osgi-annotation))
> (synopsis "This is the WebDAV Library component of the Apache Jackrabbit project")
> (description
> "This component provides interfaces and common utility classes used for
>building a WebDAV server or client. The following RFC have been integrated:
>
> * RFC 2518 (WebDAV - HTTP Extensions for Distributed Authoring)
> * RFC 3253 (DeltaV - Versioning Extensions to WebDAV)
> * RFC 3648 (Ordered Collections Protocol)
> * RFC 3744 (Access Control Protocol)
> * DAV Searching and Locating (DASL)
> * Binding Extensions to Web Distributed Authoring and Versioning (WebDAV) (experimental)
>
>In addition this library defines (unspecified)
>
> * Observation
> * Bundling multiple request with extensions to locking")
> (home-page "https://jackrabbit.apache.org")
> (license license:asl2.0)))
>
>(define-public java-davmail
> (package
> (name "java-davmail")
> (version "6.0.1")
> (source (origin
> (method url-fetch)
> (uri (string-append "https://sourceforge.net/projects/davmail/files/davmail/"
> version "/davmail-srconly-" version "-3390.tgz"))
> (sha256
> (base32
> "0q5yix25i253w9kpqc8wiryvzpfrbqalky8byf5bz66v13c07y7p"))))
> (build-system ant-build-system)
> (arguments
> `(#:modules ((guix build ant-build-system)
> (guix build java-utils)
> (guix build utils)
> (srfi srfi-1)
> (ice-9 match))
> ;#:build-target "jar"
> #:source-dir "src/"
> #:test-dir "src/test"
> #:tests? #false
> #:jar-name "davmail.jar"
> #:build-target "jar"))
> ;#:phases
> ;(modify-phases %standard-phases
> ; (add-after 'unpack 'create-libdir
> ; (lambda* (#:key inputs #:allow-other-keys)
> ; (mkdir-p "lib")
> ; ;(for-each
> ; ; (lambda (file)
> ; ; (let ((target (string-append "lib/" (basename file))))
> ; ; (unless (file-exists? target)
> ; ; (symlink file target))))
> ; ; (append-map (match-lambda
> ; ; (dir
> ; ; (find-files dir "\\.jar$")))
> ; ; inputs))
> ; #t)))))
> (inputs (list
> ;java-junit
> ;;java-log4j-core
> ;;java-log4j-api
> java-slf4j-api
> java-log4j-1.2-api
> ;;java-slf4j-log4j12
> java-jcl-over-slf4j
> java-openjfx-base
> java-openjfx-build
> java-openjfx-controls
> java-openjfx-graphics
> java-openjfx-media
> java-openjfx-web
> java-openjfx-swing ;; Maybe not all of these are needed
> java-javax-mail
> java-htmlcleaner
> java-jackrabbit-webdav
> java-junit
> ;;java-slf4j-simple
> java-jcifs
> java-swt
> java-woodstox-core
> java-stax
> java-stax2-api
> java-jcharset
> java-httpcomponents-httpcore
> java-httpcomponents-httpclient
> java-commons-httpclient
> java-commons-codec
> java-jettison
> java-javaee-servletapi
> ;java-osgi-annotation
> ))
> (synopsis "POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365 Gateway")
> (description
> "Ever wanted to get rid of Outlook? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP
>exchange gateway allowing users to use any mail/calendar client (e.g. Thunderbird with
>Lightning or Apple iCal) with an Exchange server, even from the internet or behind a firewall
>through Outlook Web Access. DavMail now includes an LDAP gateway to Exchange global address
>book and user personal contacts to allow recipient address completion in mail compose window
>and full calendar support with attendees free/busy display.")
> (home-page "http://davmail.sourceforge.net/index.html")
> (license license:gpl2)))
>
>(define-public java-htmlcleaner
> (package
> (name "java-htmlcleaner")
> (version "0.0")
> (source (origin
> (method url-fetch)
> (uri (string-append
> "https://downloads.sourceforge.net/project/htmlcleaner/htmlcleaner/htmlcleaner%20v2.29/htmlcleaner-src-2.29.zip"))
> (sha256 (base32 "0l2k94rklbhxbcqqzn46y4l089jdi5ivy2g1h7vk8vxyc5qqvilz"))))
> (build-system ant-build-system)
> (arguments
> `(#:jar-name "htmlcleaner.jar"
> #:tests? #false
> #:source-dir "../src/main"
> #:test-dir "../src/test"))
> (native-inputs
> (list java-jdom2
> unzip
> java-junit))
> (home-page "")
> (synopsis "")
> (description "")
> ;; GPLv2 only
> (license license:bsd-3)))
>
>(define-public java-jcharset
> (package
> (name "java-jcharset")
> (version "0.0")
> (source (origin
> (method url-fetch)
> (uri (string-append
> "https://www.freeutils.net/source/jcharset/jcharset-2.1-distribution.zip"))
> (sha256 (base32 "1k1fqwgrpxp81r93n2irw4lhsnx217jky7lz8h3wbic14iycz8v9"))))
> (build-system ant-build-system)
> (arguments
> `(#:jar-name "jcharset.jar"
> #:tests? #false
> #:source-dir "src/main"
> #:test-dir "src/test"))
> (native-inputs
> (list unzip
> java-junit))
> (home-page "")
> (synopsis "")
> (description "")
> ;; GPLv2 only
> (license license:bsd-3)))
>
>(define-public java-slf4j-log4j12
> (package
> (name "java-slf4j-log4j12")
> (version "0.0.0")
> (source (package-source java-slf4j-api))
> (build-system ant-build-system)
> (arguments
> `(#:jar-name "slf4j-log4j12.jar"
> #:source-dir "slf4j-log4j12/src/main"
> #:test-dir "slf4j-log4j12/src/test"
> #:phases
> (modify-phases %standard-phases
> ;; The tests need some test classes from slf4j-api
> (add-before 'check 'build-slf4j-api-test-helpers
> (lambda _
> ;; Add current dir to CLASSPATH ...
> (setenv "CLASSPATH"
> (string-append (getcwd) ":" (getenv "CLASSPATH")))
> ;; ... and build test helper classes here:
> (apply invoke
> `("javac" "-d" "."
> ,@(find-files "slf4j-api/src/test" ".*\\.java")))))
> (replace 'install
> (install-from-pom "slf4j-log4j12/pom.xml")))))
> (propagated-inputs
> (list java-slf4j-api
> java-log4j-1.2-api))
> ;;java-log4j-core))
> (native-inputs
> (list java-junit
> java-logback-core
> java-logback-classic
> java-log4j-1.2-api
> java-hamcrest-core))
> (home-page "https://www.slf4j.org/")
> (synopsis "")
> (description "")
> (license license:expat)))
>
>
>;; This might not be needed at all. It was listed as a dependency for jacrabbit,
>;; but I don't think jackrabbit uses it
>(define-public java-jcl-over-slf4j
> (package
> (name "java-jcl-over-slf4j")
> (version "0.0.0")
> (source (package-source java-slf4j-api))
> (build-system ant-build-system)
> (arguments
> `(#:jar-name "jcl-over-slf4j.jar"
> #:source-dir "jcl-over-slf4j/src/main"
> #:tests? #false
> #:test-dir "jcl-over-slf4j/src/test"
> ;;#:test-exclude (list "**/*SimpleLoggerMultithreadedInitializationTest.java")
> #:phases
> (modify-phases %standard-phases
> ;; The tests need some test classes from slf4j-api
> (add-before 'check 'build-slf4j-api-test-helpers
> (lambda _
> ;; Add current dir to CLASSPATH ...
> (setenv "CLASSPATH"
> (string-append (getcwd) ":" (getenv "CLASSPATH")))
> ;; ... and build test helper classes here:
> (apply invoke
> `("javac" "-d" "."
> ,@(find-files "slf4j-api/src/test" ".*\\.java")))))
> (replace 'install
> (install-from-pom "jcl-over-slf4j/pom.xml")))))
> (propagated-inputs
> (list java-slf4j-api
> java-log4j-1.2-api
> java-log4j-core))
> (native-inputs
> (list java-junit)) ;java-hamcrest-core))
> (home-page "https://www.slf4j.org/")
> (synopsis "")
> (description "")
> (license license:expat)))
>
>(define-public java-jcifs
> (package
> (name "java-jcifs")
> (version "0.0.0")
> (source (origin
> (method url-fetch)
> (uri (string-append
> "https://www.jcifs.org/src/jcifs-1.3.19.zip"))
> (sha256 (base32 "06pj5qi8giplsxdp5y4l4j55pj13n13k8lrqpk96jvm7xjhqc7m3"))))
> (build-system ant-build-system)
> (arguments
> `(#:jar-name "jcifs.jar"
> #:source-dir "src/jcifs"
> #:tests? #false
> #:test-dir "src/test"))
> (propagated-inputs
> (list ))
> (native-inputs
> (list java-junit
> java-javaee-servletapi
> unzip)) ;java-hamcrest-core))
> (home-page "")
> (synopsis "")
> (description "")
> (license license:expat)))
>
>(define-public java-openjfx-swing
> (package (inherit java-openjfx-build)
> (name "java-openjfx-swing")
> (arguments
> `(#:jar-name "java-openjfx-swing.jar"
> #:source-dir "modules/swing/src/main/java"
> #:tests? #f
> #:test-dir "modules/swing/src/tes
This message was truncated. Download the full message here.
?