summary refs log tree commit diff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-04-29 17:29:40 +0200
committerRicardo Wurmus <rekado@elephly.net>2023-04-29 20:09:33 +0200
commit2bf6f659c490de0832ef8bcdf6fef56544d7bbe4 (patch)
tree563efc77acfbceabce752d3f8ae036ea42cc56fe /gnu/packages/java.scm
parent483721012939abaf835dd39b8b75b2a302f68c4c (diff)
downloadguix-2bf6f659c490de0832ef8bcdf6fef56544d7bbe4.tar.gz
gnu: Add java-pj.
* gnu/packages/java.scm (java-pj): New variable.
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 8254330d55..067284017c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -13509,6 +13509,49 @@ for the JVM.  It supports colors, autocompletion, subcommands, and more.  Writte
 in Java, usable from Groovy, Kotlin, Scala, etc.")
     (license license:asl2.0)))
 
+(define-public java-pj
+  (package
+    (name "java-pj")
+    (version "20150107")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.cs.rit.edu/~ark/pjsrc"
+                                  version ".jar"))
+              (sha256
+               (base32
+                "078xwaivl2qqjc07r0vk6kzpqlcb1bcar80p8r5qigh34hpr86d3"))
+              (modules '((guix build utils)))
+              (snippet
+               '(for-each delete-file
+                          (find-files "." "\\.class$")))))
+    (build-system ant-build-system)
+    (arguments
+     (list
+      #:tests? #false ;there are none
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'chdir
+            (lambda _ (chdir "src/pj")))
+          (add-after 'chdir 'patch-source-directory
+            (lambda _
+              (substitute* "compile"
+                (("SRCDIR1=/home/ark/public_html/pj/lib")
+                 (string-append "SRCDIR1=" (getcwd) "/lib")))))
+          (replace 'build
+            (lambda _
+              (invoke "bash" "./compile" "linux")
+              (with-directory-excursion "lib"
+                (apply invoke "jar" "cf" (string-append "pj" #$version ".jar")
+                       (find-files "." "\\.class$")))))
+          (replace 'install (install-jars ".")))))
+    (home-page "https://www.cs.rit.edu/~ark/pj.shtml")
+    (synopsis "Parallel programming in Java")
+    (description "Parallel Java (PJ) is an API and middleware for parallel
+programming in 100% Java on shared memory multiprocessor (SMP) parallel
+computers, cluster parallel computers, and hybrid SMP cluster parallel
+computers.")
+    (license license:gpl3+)))
+
 (define-public java-jetbrains-annotations
   (package
     (name "java-jetbrains-annotations")