GNU bug report logs - #51072
[PATCH] gnu: Add Weka

Previous Next

Package: guix-patches;

Reported by: Foo Chuan Wei <chuanwei.foo <at> hotmail.com>

Date: Thu, 7 Oct 2021 09:00:01 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 51072 AT debbugs.gnu.org.

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#51072; Package guix-patches. (Thu, 07 Oct 2021 09:00:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Foo Chuan Wei <chuanwei.foo <at> hotmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 07 Oct 2021 09:00:02 GMT) Full text and rfc822 format available.

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

From: Foo Chuan Wei <chuanwei.foo <at> hotmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add Weka
Date: Thu, 7 Oct 2021 08:42:10 +0000
* gnu/packages/machine-learning.scm (weka): New public variable.
---
 gnu/packages/machine-learning.scm | 40 +++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 029422677a..98412894b0 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -40,6 +40,7 @@
   #:use-module (guix download)
   #:use-module (guix svn-download)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system ocaml)
   #:use-module (guix build-system python)
@@ -65,6 +66,7 @@
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -2934,3 +2936,41 @@ Note: currently this package does not provide GPU support.")
      "Hmmlearn is a set of algorithms for unsupervised learning and inference
 of Hidden Markov Models.")
     (license license:bsd-3)))
+
+(define-public weka
+  (package
+    (name "weka")
+    (version "3.9.5")
+    (source (origin
+              (method url-fetch)
+              (uri "mirror://sourceforge/weka/weka-3-9/3.9.5/weka-3-9-5.zip")
+              (sha256
+                (base32
+                  "0scnqk4zysdp9hv7w2rgz3pwkqirszj8pfv94drkhlnyc9cz9kf6"))))
+    (build-system copy-build-system)
+    (native-inputs `(("unzip" ,unzip)))
+    (inputs `(("jre" ,icedtea)))
+    (arguments '(#:install-plan '(("." "share/weka/"))
+                 #:phases
+                 (modify-phases %standard-phases
+                   (add-after 'install 'make-wrapper
+                     (lambda* (#:key inputs outputs #:allow-other-keys)
+                       (let* ((out (assoc-ref outputs "out"))
+                              (wrapper (string-append out "/bin/weka")))
+                         (mkdir-p (string-append out "/bin"))
+                         (with-output-to-file wrapper
+                         (lambda _
+                           (display
+                             (string-append
+                               "#!/bin/sh\n\n"
+                               (assoc-ref inputs "jre") "/bin/java -jar "
+                               out "/share/weka/weka.jar \"$@\"\n"))))
+                         (chmod wrapper #o555))
+                       #t)))))
+    (synopsis "Machine learning algorithms for data mining tasks")
+    (description
+      "Weka is a collection of machine learning algorithms in Java.
+It contains tools for data preparation, classification, regression,
+clustering, association rules mining, and visualization.")
+    (home-page "https://www.cs.waikato.ac.nz/ml/weka/")
+    (license license:gpl3+)))

base-commit: ce83883f3d8bf6e6d25091acd018a8236a5754e1
-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#51072; Package guix-patches. (Sun, 30 Oct 2022 15:35:01 GMT) Full text and rfc822 format available.

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

From: Maxime Devos <maximedevos <at> telenet.be>
To: 51072 <at> debbugs.gnu.org, Foo Chuan Wei <chuanwei.foo <at> hotmail.com>
Subject: Re: [PATCH] gnu: Add Weka
Date: Sun, 30 Oct 2022 16:34:32 +0100
[Message part 1 (text/plain, inline)]
>+              (uri 
"mirror://sourceforge/weka/weka-3-9/3.9.5/weka-3-9-5.zip")

These isn't source code, these are binaries (*).  With the exception of 
the bootstrap seeds, things in Guix must be built from source (and even 
then, we still can build them from source, with "guix build 
bootstrap-tarballs").

Looking at the git repository, it appears to use Ant, and we have an 
ant-build-system, so unless there are complicated dependencies, it 
should be feasible.

>+    (native-inputs `(("unzip" ,unzip)))
>+    (inputs `(("jre" ,icedtea)))

Nowadays you can avoid input labels with (native-inputs (list unzip))
and (inputs (list icedtea)).

>+                           (display
>+                             (string-append
>+                               "#!/bin/sh\n\n"
>+                               (assoc-ref inputs "jre") "/bin/java -jar "
>+                               out "/share/weka/weka.jar \"$@\"\n"))))
>+                         (chmod wrapper #o555))

Do (search-input-file inputs "bin/java") to avoid depending on input 
labels.  Also, you are using /bin/sh (which IIUC will be patched to 
/gnu/store/.../bin/sh), but for such patching to work, you need to have 
bash-minimal (or bash) in the inputs -- while bash-minimal is an 
implicit (native-)input of many build systems, it isn't a regular 
implicit input, at least for copy-build-system, so this wouldn't work
when cross-compiling, so I propose to add bash-minimal to the inputs.

> +                       #t)))))

Trailing #t are obsolete nowadays.

(*) At least, I expect them to be; the download is in-progress.

Greetings,
Maxime.
[OpenPGP_0x49E3EE22191725EE.asc (application/pgp-keys, attachment)]
[OpenPGP_signature (application/pgp-signature, attachment)]

This bug report was last modified 1 year and 178 days ago.

Previous Next


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