From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:700:3204::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id iIa5GUkZf2XNawEAkFu2QA (envelope-from ) for ; Sun, 17 Dec 2023 16:52:41 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id MDRyFUkZf2Wd4QAAe85BDQ (envelope-from ) for ; Sun, 17 Dec 2023 16:52:41 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=Fz4d1WjC; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1702828361; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=FmJC8od5P1JVYnfySymTR9406HP2K+QwOkFrOYK05M8=; b=VMEmbeBuCEOk4Akj9Xkp0fGRCivaDjr9W2yb/VYXnE3H4inSc7mbtyHTOEXMgCZo3ewRgC pvLE5rNOW1CQs9tMVfucwZsXfJgHj5FhaTHWbFP7ZOu8O2TGr5VvKQ8vOBm7kAEM5/BcF8 gmjFfrOoLZAAQJeqHdhyAJ0zAcjFRaBA6AG6bt9Jhk7PJtf/K+f9HrQuVsVMFklZBGDK1y NoV9r99P1ujBqI+Wee7i48jOOQWD3AarcXLuM1WKPunuv1IJpufBE1lplnUS4u+wOFy/aA 79WvEiWSBzRWLrb5uLTbJAx6t4fk5eZNrVVUXE2qVKon+k7Xcrzj8oJUDpSSXg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=Fz4d1WjC; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Seal: i=1; s=key1; d=yhetil.org; t=1702828361; a=rsa-sha256; cv=none; b=R9VaTEnkxoSKn7q4qOXQ9Fg/Nkh62kf7SQ6bPGXMtSUpOj7iGbe/s0zFIk1GbNEw1eDBGT fDDv8P9Fbd8rRJd1DVWLg0cuSVhqn1Alhv2UCjaku5umOFdZDe4aeeiZ5S+JmmQMZcar1l tDv2i0zp4CVDCI0zgT6uov6UjUixzDFvs5salK56o+aW7Chi6TPuZBAYnayRlmiJOZVUrl 8slzm5mdlKEBPFTKKg6rxZDZUXow6ROKC8Aaj+iSuqj+btnnP6YQQDSxvZNIbYDmETy1ri YtK885R6QGmTxaaheSASjEFcinsnUYil0ZiybfUHSK+DjbRZGav5vGvzj3dHSg== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A7AA35E9AF for ; Sun, 17 Dec 2023 16:52:40 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rEtQy-0002m6-AJ; Sun, 17 Dec 2023 10:52:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rEtQw-0002lX-Gx for guix-patches@gnu.org; Sun, 17 Dec 2023 10:52:02 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rEtQw-0003Hc-6N for guix-patches@gnu.org; Sun, 17 Dec 2023 10:52:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rEtQx-0005qs-Db for guix-patches@gnu.org; Sun, 17 Dec 2023 10:52:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#67846] [PATCH] gnu: Add davmail Resent-From: Lars Rustand Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 Dec 2023 15:52:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67846 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67846@debbugs.gnu.org Cc: reza X-Debbugs-Original-To: 67846@debbugs.gnu.org, guix-patches@gnu.org Received: via spool by 67846-submit@debbugs.gnu.org id=B67846.170282832222483 (code B ref 67846); Sun, 17 Dec 2023 15:52:03 +0000 Received: (at 67846) by debbugs.gnu.org; 17 Dec 2023 15:52:02 +0000 Received: from localhost ([127.0.0.1]:58892 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEtQu-0005qM-8L for submit@debbugs.gnu.org; Sun, 17 Dec 2023 10:52:02 -0500 Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]:52451) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEp7N-0008TS-6m for 67846@debbugs.gnu.org; Sun, 17 Dec 2023 06:15:36 -0500 Received: by mail-lj1-x230.google.com with SMTP id 38308e7fff4ca-2cb21afa6c1so28142991fa.0 for <67846@debbugs.gnu.org>; Sun, 17 Dec 2023 03:15:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702811726; x=1703416526; darn=debbugs.gnu.org; h=mime-version:message-id:in-reply-to:date:subject:cc:to:from :user-agent:references:from:to:cc:subject:date:message-id:reply-to; bh=FmJC8od5P1JVYnfySymTR9406HP2K+QwOkFrOYK05M8=; b=Fz4d1WjCTGL1LWDTTiB4Skz80HdxFVfdNbDrwheakFwviA9uAE6SjSTtz1/WoWONkb /BOjbBSDdCTft+d185MsSzarqipQeB4nhwXN4AsGdLL69P0wIL3yXcYKCCQOy6vkPT8D mtELr34JMGCRd4+bjg1pnj/GyudmzP3V9O+fl9g5L9wDOrRRiku6cUVa9Y6aGiY/eq+M zrMQ4uLTS0wSKfo9KmAFEqVs4CE0XWHmgJMGpesgiBK6eXNBnJqnnyDsU8lYS0EL8BTW O1zoysHofCMOnEJEZ3rlEgFoxXECHJEQ+YkGbqLSoZE8TMAdDGkJofrVl7Mf0LqkKADi D3IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702811726; x=1703416526; h=mime-version:message-id:in-reply-to:date:subject:cc:to:from :user-agent:references:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=FmJC8od5P1JVYnfySymTR9406HP2K+QwOkFrOYK05M8=; b=KmRDBwUMmWoM22RnunoUz6XZamGg5zhbo9XTXGV7rp3lPVN0PVeIXVAH7N3Vm+1dKt /306uTP18GxQEEAcCQibZdxmQzBjcl9h3ZsBstXgK9AC+VsRx/sA9leeU9LeQ4sOvoJo EBu7Wmq1JhebViEi+pXckCesx0nCyxsyv665mo0YU+AUkGjr5nMtizS/q7/Fq9VF5BFY MbbLqs+vdgOLz6WWJZfdRmN4miKKKrls6gbaz/Chu1ULo9x2LalrsCQg2lhDtuj2CHbK P0u6PANfUrPT1G+TVWzAsShAIyUfk9fADdlxMicL41FPew+sLn+K9cbPXvfAB1EvNhBE 85OQ== X-Gm-Message-State: AOJu0YyORvBUfHrjhE1DysSP967JhYNyf/O36ykBrEQJLpZibyGrQEuc HTKnvzotvHnYUh/NgPJD/nzNyDYD+qrHWQ== X-Google-Smtp-Source: AGHT+IHd1RtmQ/hVlttDLJGk99ya1za2vd48GpOuuQ9Bzco7hec0looSeOzjp/gN2mMEv0c4x0a7Fw== X-Received: by 2002:a2e:b0ee:0:b0:2cc:623e:2499 with SMTP id h14-20020a2eb0ee000000b002cc623e2499mr763375ljl.69.1702811725340; Sun, 17 Dec 2023 03:15:25 -0800 (PST) Received: from localhost (78.79-160-60.customer.lyse.net. [79.160.60.78]) by smtp.gmail.com with ESMTPSA id s30-20020a05651c201e00b002ca0217f327sm2881880ljo.65.2023.12.17.03.15.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Dec 2023 03:15:24 -0800 (PST) References: <87plz71b3y.fsf@yoga.mail-host-address-is-not-set> <708EEA37-21B3-4508-8698-7B61DDD91AEA@housseini.me> <0102018c7193a44f-974ba5f7-0f24-48f2-99ad-31c534c02b0a-000000@eu-west-1.amazonses.com> <87il4y1pgl.fsf@yoga.mail-host-address-is-not-set> <962301ff-995f-0ea8-aae9-83ac9eccf288@housseini.me> <0102018c724adf5a-ff6dfb25-31c0-4f39-80da-eec9a933a6f6-000000@eu-west-1.amazonses.com> <87edfm1i14.fsf@yoga.mail-host-address-is-not-set> <558e189e-1819-c38b-2aba-051571260174@housseini.me> <0102018c746530f2-3acb798f-62ba-4e27-b1e7-7b43fbbe363c-000000@eu-west-1.amazonses.com> User-agent: mu4e 1.10.8; emacs 30.0.50 From: Lars Rustand Date: Sun, 17 Dec 2023 11:06:14 +0100 In-reply-to: <0102018c746530f2-3acb798f-62ba-4e27-b1e7-7b43fbbe363c-000000@eu-west-1.amazonses.com> Message-ID: <874jgh13nb.fsf@yoga.mail-host-address-is-not-set> MIME-Version: 1.0 Content-Type: text/plain X-Mailman-Approved-At: Sun, 17 Dec 2023 10:51:58 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -5.11 X-Spam-Score: -5.11 X-Migadu-Queue-Id: A7AA35E9AF X-Migadu-Scanner: mx10.migadu.com X-TUID: bxIlg9zZqD6S 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/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-other-keys) (let* ((module (string-append (getcwd) "/modules/web")) (classes (string-append module "/build/classes/java/main"))) (invoke "ant" "compile" (string-append "-Dclasses.dir=" classes))) #t)) (add-after 'build 'generate-headers (lambda* (#:key inputs #:allow-other-keys) (let* ((module (string-append (getcwd) "/modules/web")) (classes (string-append module "/build/classes/java/main")) (web-generated-headers (string-append module "/build/generated-src/headers")) (web-generated-classes '("com.sun.webkit.ContextMenu" "com.sun.webkit.ContextMenuItem" "com.sun.webkit.CursorManager" "com.sun.webkit.PageCache" "com.sun.webkit.PopupMenu" "com.sun.webkit.SharedBuffer" "com.sun.webkit.WebPage" "com.sun.webkit.LoadListenerClient" "com.sun.webkit.event.WCFocusEvent" "com.sun.webkit.event.WCKeyEvent" "com.sun.webkit.event.WCMouseEvent" "com.sun.webkit.event.WCMouseWheelEvent" "com.sun.webkit.graphics.GraphicsDecoder" "com.sun.webkit.graphics.RenderMediaControls" "com.sun.webkit.graphics.RenderTheme" "com.sun.webkit.graphics.ScrollBarTheme" "com.sun.webkit.graphics.WCMediaPlayer" "com.sun.webkit.graphics.WCGraphicsManager" "com.sun.webkit.graphics.WCRenderQueue" "com.sun.webkit.graphics.WCPath" "com.sun.webkit.graphics.WCPathIterator" "com.sun.webkit.Timer" "com.sun.webkit.WCFrameView" "com.sun.webkit.WCPasteboard" "com.sun.webkit.WCPluginWidget" "com.sun.webkit.dom.CharacterDataImpl" "com.sun.webkit.dom.JSObject" "com.sun.webkit.network.SocketStreamHandle" "com.sun.webkit.network.URLLoader" "com.sun.webkit.text.TextBreakIterator" "com.sun.webkit.text.TextNormalizer")) (graphics (assoc-ref inputs "java-openjfx-graphics"))) (mkdir-p web-generated-headers) (apply invoke "javah" "-Djava.ext.dirs=" "-XDignore.symbol.file" "-XDuseUnsharedTable=true" "-d" web-generated-headers "-cp" (string-join (cons* classes (find-files graphics ".jar$")) ":") web-generated-classes)) #t)) (add-after 'generate-headers 'compile-native-linux (lambda* (#:key inputs system outputs #:allow-other-keys) (let* ((module (string-append (getcwd) "/modules/web")) ;; (webkit-native-dest (string-append module "/build/linux")) (webkit-native-src (string-append module "/src/main/native")) ;; (lib (string-append (assoc-ref outputs "out") "/lib")) ;; uname -m (machine (match system ("x86_64-linux" "x86_64") ("i686-linux" "i686") ;; Prevent errors when querying this ;; package on unsupported platforms, ;; e.g. when running "guix package ;; --search=" (_ "UNSUPPORTED")))) (mkdir-p webkit-native-dest) (setenv "PYTHONDONTWRITEBYTECODE" "1") (setenv "WEBKIT_OUTPUTDIR" webkit-native-dest) (apply invoke `("perl" ,(string-append webkit-native-src "/Tools/Scripts/set-webkit-configuration") ,(if ,(target-64bit?) "--64-bit" "--32-bit") "--release")) (substitute* (find-files "." "xsltlocale\\.h") (("#include ") "#include ")) (invoke "perl" (string-append webkit-native-src "/Tools/Scripts/build-webkit") "--java" ; webkit port "--skip-library-update" "--verbose" (string-append "--cmakeargs=" (string-join (list "-DCMAKE_SYSTEM_NAME=Linux" ;; ensure that the libraries are installed into /lib (string-append "-DCMAKE_INSTALL_LIBDIR=" lib) ;; add input libraries to rpath "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" ;; enable verbose output from builds "-DCMAKE_VERBOSE_MAKEFILE=ON" (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" "\"-Wl,-rpath=" lib "\"") (string-append "-DCMAKE_SYSTEM_PROCESSOR=" machine) "-DJAVAFX_RELEASE_VERSION=8.0" ;;"-W" "-Wall" "-Werror=implicit-function-declaration" "-Wl,--gc-sections" "-Wno-parentheses" "-Wno-unused"))))) ;;"-fPIC" ;;"-fno-omit-frame-pointer" ;;"-fno-strict-aliasing" ;;"-fstack-protector"))))) #t)) (add-after 'compile-native-linux 'install-native (lambda* (#:key outputs #:allow-other-keys) (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) (for-each (lambda (file) (install-file file lib)) (find-files "." "\\.so$"))))) (add-before 'install 'build-jar (lambda _ (let* ((module (string-append (getcwd) "/modules/web")) (resources (string-append module "/src/main/resources")) (classes (string-append module "/build/classes/java/main"))) (copy-recursively resources classes) (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) #t))))) (inputs `(("antlr3" ,antlr3) ("java-stringtemplate" ,java-stringtemplate))) (native-inputs `(("java-junit" ,java-junit) ("java-hamcrest-core" ,java-hamcrest-core) ("cmake" ,cmake) ("gcc" ,gcc) ("gtk" ,gtk+-2) ("gtk3" ,gtk+) ("ruby" ,ruby) ("perl" ,perl) ("gperf" ,gperf) ("python-2" ,python-2) ("pkg-config" ,pkg-config))) (propagated-inputs `(("java-openjfx-controls" ,java-openjfx-controls) ("java-openjfx-media" ,java-openjfx-media) ("java-openjfx-graphics" ,java-openjfx-graphics))))) java-davmail --8<---------------cut here---------------end--------------->8---