GNU bug report logs - #41479
[PATCH 5/5] gnu: Add java-pep-adapter.

Previous Next

Package: guix-patches;

Reported by: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

Date: Sat, 23 May 2020 09:00:05 UTC

Severity: normal

Tags: patch

Done: Hartmut Goebel <h.goebel <at> goebel-consult.de>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 41479 in the body.
You can then email your comments to 41479 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#41479; Package guix-patches. (Sat, 23 May 2020 09:00:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 23 May 2020 09:00:05 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 41474 <at> debbugs.gnu.org,
	guix-patches <at> gnu.org
Subject: [PATCH 5/5] gnu: Add java-pep-adapter.
Date: Sat, 23 May 2020 10:59:01 +0200
* gnu/packages/pep.scm (java-pep-adapter): New variable.
---
 gnu/packages/pep.scm | 101 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 101 insertions(+)

diff --git a/gnu/packages/pep.scm b/gnu/packages/pep.scm
index 671ab058d9..a018acde22 100644
--- a/gnu/packages/pep.scm
+++ b/gnu/packages/pep.scm
@@ -26,6 +26,8 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages mail) ; for libetpan
   #:use-module (gnu packages nettle)
@@ -246,3 +248,102 @@ adapters.")
     (description "The p≡p Python adapter is an adaptor interface to the p≡p
 (pretty Easy privacy) Engine.")
     (license license:gpl3)))
+
+(define-public java-pep-adapter
+  (package
+    (name "java-pep-adapter")
+    (version "2.0.2")
+    (source
+     (origin
+       (method hg-fetch)
+       (uri (hg-reference
+             (url "https://pep.foundation/dev/repos/pEpJNIAdapter")
+             (changeset "9292f1b1a76a"))) ;; r699
+       (file-name (string-append name "-" version "-checkout"))
+       (sha256
+        (base32 "107ldpssc80bq8kndn2nqmav31gphj4lqagaiv3fddlfph4vji48"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:test-target "test"
+       #:make-flags (list "doxy-all")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'fix-includes
+           (lambda _
+             (substitute* "src/jniutils.hh"
+               (("#pragma once\n" line)
+                (string-append line
+                               "#include <mutex>\n"
+                               "#include <cassert>\n"
+                               "#include <cstring>\n")))
+             #t))
+         (add-before 'configure 'pin-shared-lib-path
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "src/foundation/pEp/jniadapter/AbstractEngine.java"
+               (("System.loadLibrary\\(\"pEpJNI\"\\);")
+                (string-append "System.load(\""
+                               (assoc-ref outputs "out")
+                               "/lib/libpEpJNI.so" "\");")))
+             #t))
+         (replace 'configure
+           ;; pEpJNIAdapter does not use autotools and configure,
+           ;; but a local.conf. We need to tweak the values there.
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (engine (assoc-ref inputs "pep-engine"))
+                   (libadapter (assoc-ref inputs "libpepadapter"))
+                   (openjdk  (assoc-ref inputs "openjdk"))
+                   )
+               (with-output-to-file "local.conf"
+                 (lambda _ ;()
+                   (format #t "
+PREFIX=~a
+ENGINE_LIB_PATH=~a/lib
+ENGINE_INC_PATH=~a/include
+AD_LIB_PATH=~a/lib
+AD_INC_PATH=~a/include
+YML2_PROC=~a
+JAVA_HOME=~a
+"
+                           out engine engine libadapter libadapter
+                           (which "yml2proc") openjdk)))
+               (substitute* "src/Makefile"  ;; suppress some warnings
+                 (("^\\s+OLD_JAVA=") "    xxx_OLD_JAVA="))
+               #t)))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (libout (string-append out "/lib/"))
+                    (javaout (string-append out "/share/java/")))
+               (mkdir-p libout)
+               (mkdir-p javaout)
+               (copy-file "src/libpEpJNI.so"
+                          (string-append libout "/libpEpJNI.so"))
+               (copy-file "src/pEp.jar" (string-append javaout "/pEp.jar"))
+               #t)))
+         (add-after 'install 'install-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "doc"))
+                    (docout (string-append out "/share/doc/pEp-JNI-adapter"))
+                    (cxxout (string-append docout "/cxx"))
+                    (javaout (string-append docout "/java")))
+               (mkdir-p cxxout)
+               (mkdir-p javaout)
+               (copy-recursively "doc/doxygen/cxx/html" cxxout)
+               (copy-recursively "doc/doxygen/java/html" javaout)
+               #t))))))
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("openjdk" ,openjdk9 "jdk")
+       ("which" ,which)
+       ("yml2" ,yml2)))
+    (inputs
+     `(("libpepadapter" ,libpepadapter)
+       ("pep-engine" ,pep-engine)
+       ("util-linux" ,util-linux))) ;; uuid.h
+    (home-page "https://pep.foundation/")
+    (synopsis "p≡p Python adapter")
+    (description "The p≡p Python adapter is an adaptor interface to the p≡p
+(pretty Easy privacy) Engine.")
+    (license license:gpl3)))
-- 
2.21.3





Reply sent to Hartmut Goebel <h.goebel <at> goebel-consult.de>:
You have taken responsibility. (Sat, 23 May 2020 18:42:04 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Sat, 23 May 2020 18:42:04 GMT) Full text and rfc822 format available.

Message #10 received at 41479-close <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> goebel-consult.de>
To: 41479-close <at> debbugs.gnu.org, 41476-close <at> debbugs.gnu.org,
 41478-close <at> debbugs.gnu.org, 41477-close <at> debbugs.gnu.org,
 41475-close <at> debbugs.gnu.org
Subject: duplicate
Date: Sat, 23 May 2020 20:41:41 +0200
[Message part 1 (text/plain, inline)]

[0x7B752811BF773B65.asc (application/pgp-keys, attachment)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 21 Jun 2020 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 59 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.