unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#35423] [PATCH] gnu: Add julius.
@ 2019-04-25  2:34 nly
  2019-04-25  3:29 ` Tobias Geerinckx-Rice
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: nly @ 2019-04-25  2:34 UTC (permalink / raw)
  To: 35423

[-- Attachment #1: Type: text/plain, Size: 2210 bytes --]

Julius is a speech recognition tool. Package uses a custom license.

From e01acf44822c57cf2af4678007ddd6a70b61ce1e Mon Sep 17 00:00:00 2001
From: Amar Singh <nly@disroot.org>
Date: Sun, 21 Apr 2019 19:37:37 +0530
Subject: [PATCH] gnu: Add julius.

* gnu/packages/speech.scm (julius): New variable.
---
 gnu/packages/speech.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index 2d6c63e3f9..a99be8a0aa 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -33,9 +33,11 @@
 #:use-module (gnu packages gcc)
 #:use-module (gnu packages glib)
 #:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
 #:use-module (gnu packages pkg-config)
 #:use-module (gnu packages pulseaudio)
 #:use-module (gnu packages python)
+ #:use-module (gnu packages sdl)
 #:use-module (gnu packages textutils))
 (define-public espeak
@@ -119,6 +121,43 @@ It is based on the eSpeak engine and supports spectral and Klatt formant
 synthesis, and the ability to use MBROLA voices.")
 (license license:gpl3+)))
+(define-public julius
+ (package
+ (name "julius")
+ (version "8c60cb8c")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/julius-speech/julius")
+ (commit version)))
+ (file-name
+ (git-file-name name version))
+ (sha256
+ (base32
+ "11qbp9kid251lx6li4fv1r6l0pixxcs1m00sax1z057bhcv4jc7a"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'check))))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("zlib" ,zlib)
+ ("sdl2" ,sdl2)
+ ("perl" ,perl)))
+ (home-page "https://github.com/julius-speech/")
+ (synopsis "Open-Source Large Vocabulary Continuous Speech
+Recognition Engine")
+ (description
+ "Julius is a high-performance, small-footprint large vocabulary continuous
+ speech recognition (LVCSR) decoder software for speech-related researchers and
+developers.")
+ (license
+ (license:non-copyleft "http://julius.osdn.jp/LICENSE.txt"
+ "Julius-Modified-BSD-4Clause"))))
+
 (define-public mitlm
 (package
 (name "mitlm")
-- 
2.21.0

[-- Attachment #2: Type: text/html, Size: 2632 bytes --]

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#35423] [PATCH] gnu: Add julius.
  2019-04-25  2:34 [bug#35423] [PATCH] gnu: Add julius nly
@ 2019-04-25  3:29 ` Tobias Geerinckx-Rice
  2019-04-26  0:41 ` nly
  2019-05-06 18:17 ` nly
  2 siblings, 0 replies; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-04-25  3:29 UTC (permalink / raw)
  To: 35423

[-- Attachment #1: Type: text/plain, Size: 3783 bytes --]

nly,

Thanks for the patch!  Unfortunately, the indentation's buggered. 
How did you create/send it?

nly@disroot.org wrote:
> Julius is a speech recognition tool. Package uses a custom 
> license.
>
> From e01acf44822c57cf2af4678007ddd6a70b61ce1e Mon Sep 17 
> 00:00:00 2001
> From: Amar Singh <nly@disroot.org>
> Date: Sun, 21 Apr 2019 19:37:37 +0530
> Subject: [PATCH] gnu: Add julius.
>
> * gnu/packages/speech.scm (julius): New variable.
> ---
>  gnu/packages/speech.scm | 39 
>  +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
>
> diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
> index 2d6c63e3f9..a99be8a0aa 100644
> --- a/gnu/packages/speech.scm
> +++ b/gnu/packages/speech.scm
> @@ -33,9 +33,11 @@
>  #:use-module (gnu packages gcc)
>  #:use-module (gnu packages glib)
>  #:use-module (gnu packages linux)
> + #:use-module (gnu packages perl)
>  #:use-module (gnu packages pkg-config)
>  #:use-module (gnu packages pulseaudio)
>  #:use-module (gnu packages python)
> + #:use-module (gnu packages sdl)
>  #:use-module (gnu packages textutils))
>  (define-public espeak
> @@ -119,6 +121,43 @@ It is based on the eSpeak engine and 
> supports spectral and Klatt formant
>  synthesis, and the ability to use MBROLA voices.")
>  (license license:gpl3+)))
> +(define-public julius
> + (package
> + (name "julius")
> + (version "8c60cb8c")

Package versions must be monotonically increasing over time so 
Guix (and users) can determine which is newer.  Git commits 
aren't.

We also prefer to package upstream releases whenever possible, and 
I see there's a 4.5 release on GitHub.  Would that do?

If not, can you use GIT-VERSION (with "4.5" as the first argument) 
instead?  Examples abound in (gnu packages).

> + (source
> + (origin
> + (method git-fetch)
> + (uri
> + (git-reference
> + (url "https://github.com/julius-speech/julius")
> + (commit version)))
> + (file-name
> + (git-file-name name version))

This can remain unchanged even if you'd switch to GIT-VERSION.

> + (sha256
> + (base32
> + "11qbp9kid251lx6li4fv1r6l0pixxcs1m00sax1z057bhcv4jc7a"))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (delete 'check))))
> + (inputs
> + `(("alsa-lib" ,alsa-lib)
> + ("zlib" ,zlib)
> + ("sdl2" ,sdl2)
> + ("perl" ,perl)))

Nitpick: might as wel sort these before they go in.

> + (home-page "https://github.com/julius-speech/")

According to the README, the ‘official’ home page is just

  https://github.com/julius-speech/julius

> + (synopsis "Open-Source Large Vocabulary Continuous Speech
> +Recognition Engine")

Everything in Guix is ‘Open Source’ (not a term we should be 
promoting anyway :-) so we don't mention it in synopses or 
descriptions.

I don't think the capitalisation is helpful (even if ‘LVCSR’ were 
a common initialism, ‘Engine’ wouldn't be capitalised).

> + (description
> + "Julius is a high-performance, small-footprint large 
> vocabulary continuous
> + speech recognition (LVCSR) decoder software for speech-related 
> researchers and
> +developers.")

Here you can use @acronym{LVCSR, large vocabulary continuous 
speech recognition} if you like.

This description is awfully short.  Since you're familiar with the 
software, would you mind expanding it?  You can re-use the most 
relevant parts of the README or other documentation.

> + (license
> + (license:non-copyleft "http://julius.osdn.jp/LICENSE.txt"
> + "Julius-Modified-BSD-4Clause"))))

Hmm.  I'm not sure if clauses 3 and 5 could be problematic.  Has 
this licence been previously discussed elsewhere in the FSDG 
world?

Thanks!

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#35423] [PATCH] gnu: Add julius.
  2019-04-25  2:34 [bug#35423] [PATCH] gnu: Add julius nly
  2019-04-25  3:29 ` Tobias Geerinckx-Rice
@ 2019-04-26  0:41 ` nly
  2019-05-06 15:29   ` Ricardo Wurmus
  2019-05-06 18:17 ` nly
  2 siblings, 1 reply; 6+ messages in thread
From: nly @ 2019-04-26  0:41 UTC (permalink / raw)
  To: 35423


[-- Attachment #1.1: Type: text/plain, Size: 4824 bytes --]

> nly,

> Thanks for the patch! Unfortunately, the indentation's buggered.
> How did you create/send it?

> nly@disroot.org (mailto:nly@disroot.org) wrote:
> > Julius is a speech recognition tool. Package uses a custom
> > license.
> >
> > From e01acf44822c57cf2af4678007ddd6a70b61ce1e Mon Sep 17
> > 00:00:00 2001
> > From: Amar Singh <nly@disroot.org (mailto:nly@disroot.org)>
> > Date: Sun, 21 Apr 2019 19:37:37 +0530
> > Subject: [PATCH] gnu: Add julius.
> >
> > * gnu/packages/speech.scm (julius): New variable.
> > ---
> > gnu/packages/speech.scm | 39
> > +++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 39 insertions(+)
> >
> > diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
> > index 2d6c63e3f9..a99be8a0aa 100644
> > --- a/gnu/packages/speech.scm
> > +++ b/gnu/packages/speech.scm
> > @@ -33,9 +33,11 @@
> > #:use-module (gnu packages gcc)
> > #:use-module (gnu packages glib)
> > #:use-module (gnu packages linux)
> > + #:use-module (gnu packages perl)
> > #:use-module (gnu packages pkg-config)
> > #:use-module (gnu packages pulseaudio)
> > #:use-module (gnu packages python)
> > + #:use-module (gnu packages sdl)
> > #:use-module (gnu packages textutils))
> > (define-public espeak
> > @@ -119,6 +121,43 @@ It is based on the eSpeak engine and
> > supports spectral and Klatt formant
> > synthesis, and the ability to use MBROLA voices.")
> > (license license:gpl3+)))
> > +(define-public julius
> > + (package
> > + (name "julius")
> > + (version "8c60cb8c")

Web mail must've wrapped the text.

> Package versions must be monotonically increasing over time so
> Guix (and users) can determine which is newer. Git commits
> aren't.

> We also prefer to package upstream releases whenever possible, and
> I see there's a 4.5 release on GitHub. Would that do?

> If not, can you use GIT-VERSION (with "4.5" as the first argument)
> instead? Examples abound in (gnu packages).

> > + (source
> > + (origin
> > + (method git-fetch)
> > + (uri
> > + (git-reference
> > + (url "https://github.com/julius-speech/julius (https://github.com/julius-speech/julius)")
> > + (commit version)))
> > + (file-name
> > + (git-file-name name version))

> This can remain unchanged even if you'd switch to GIT-VERSION.

Using git-version now, (git-version "4.5" "1" commit). The commit is indeed version 4.5.

> > + (sha256
> > + (base32
> > + "11qbp9kid251lx6li4fv1r6l0pixxcs1m00sax1z057bhcv4jc7a"))))
> > + (build-system gnu-build-system)
> > + (arguments
> > + `(#:phases
> > + (modify-phases %standard-phases
> > + (delete 'check))))
> > + (inputs
> > + `(("alsa-lib" ,alsa-lib)
> > + ("zlib" ,zlib)
> > + ("sdl2" ,sdl2)
> > + ("perl" ,perl)))

> Nitpick: might as wel sort these before they go in.

> > + (home-page "https://github.com/julius-speech (https://github.com/julius-speech/)")

> According to the README, the ‘official’ home page is just

> https://github.com/julius-speech/julius (https://github.com/julius-speech/julius)

> > + (synopsis "Open-Source Large Vocabulary Continuous Speech
> > +Recognition Engine")

> Everything in Guix is ‘Open Source’ (not a term we should be
> promoting anyway :-) so we don't mention it in synopses or
> descriptions.

> I don't think the capitalisation is helpful (even if ‘LVCSR’ were
> a common initialism, ‘Engine’ wouldn't be capitalised).

> > + (description
> > + "Julius is a high-performance, small-footprint large
> > vocabulary continuous
> > + speech recognition (LVCSR) decoder software for speech-related
> > researchers and
> > +developers.")

> Here you can use @acronym{LVCSR, large vocabulary continuous
> speech recognition} if you like.

> This description is awfully short. Since you're familiar with the
> software, would you mind expanding it? You can re-use the most
> relevant parts of the README or other documentation.

Synopsis is lowercase now, Added one more sentence to description. Use
@(acronym ..) in description.

> > + (license
> > + (license:non-copyleft "http://julius.osdn.jp/LICENSE.txt (http://julius.osdn.jp/LICENSE.txt)"
> > + "Julius-Modified-BSD-4Clause"))))

> Hmm. I'm not sure if clauses 3 and 5 could be problematic. Has
> this licence been previously discussed elsewhere in the FSDG
> world?
>
> Thanks!

> T G-R

Yes, Julius is free software as of Version 4.2.2. It's been discussed at
Fedora project: https://fedoraproject.org/wiki/Licensing/Julius (https://fedoraproject.org/wiki/Licensing/Julius)

See attachment for patch. Alternatively: http://nly.info.tm:9001/guix/gnu-add-julius.patch (http://nly.info.tm:9001/guix/gnu-add-julius.patch)

Cheers,
Amar Singh<nly@disroot.org (mailto:nly@disroot.org)>

[-- Attachment #1.2: Type: text/html, Size: 6499 bytes --]

[-- Attachment #2: 0001-gnu-Add-julius.patch --]
[-- Type: application/octet-stream, Size: 2629 bytes --]

From 0076d84979bed3666f68ad883ee358b18519411e Mon Sep 17 00:00:00 2001
From: Amar Singh <nly@disroot.org>
Date: Sun, 21 Apr 2019 19:37:37 +0530
Subject: [PATCH] gnu: Add julius.

* gnu/packages/speech.scm (julius): New variable.
---
 gnu/packages/speech.scm | 43 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index 2d6c63e3f9..319713e29a 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -33,9 +33,11 @@
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages textutils))
 
 (define-public espeak
@@ -119,6 +121,47 @@ It is based on the eSpeak engine and supports spectral and Klatt formant
 synthesis, and the ability to use MBROLA voices.")
     (license license:gpl3+)))
 
+(define-public julius
+  (let ((commit "8c60cb8c99998bad8c04e6e50810596b80309eea"))
+    (package
+      (name "julius")
+      (version (git-version "4.5" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/julius-speech/julius")
+           (commit commit)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32
+           "11qbp9kid251lx6li4fv1r6l0pixxcs1m00sax1z057bhcv4jc7a"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (delete 'check))))
+      (inputs
+       `(("alsa-lib" ,alsa-lib)
+         ("zlib" ,zlib)
+         ("sdl2" ,sdl2)
+         ("perl" ,perl)))
+      (home-page "https://github.com/julius-speech/julius")
+      (synopsis "Large vocabulary continuous speech recognition
+engine")
+      (description
+       "Julius is a high-performance, small-footprint large vocabulary
+continuous speech recognition @acronym(LVCSR, large vocabulary
+continous speech recognition) decoder software for speech-related
+researchers and developers. Based on word N-gram and context-dependent
+HMM, it can perform real-time decoding on various computers and
+devices from micro-computer to cloud server.")
+      (license
+       (license:non-copyleft "http://julius.osdn.jp/LICENSE.txt"
+                             "Julius-Modified-BSD-4Clause")))))
+
 (define-public mitlm
   (package
     (name "mitlm")
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#35423] [PATCH] gnu: Add julius.
  2019-04-26  0:41 ` nly
@ 2019-05-06 15:29   ` Ricardo Wurmus
  0 siblings, 0 replies; 6+ messages in thread
From: Ricardo Wurmus @ 2019-05-06 15:29 UTC (permalink / raw)
  To: nly; +Cc: 35423


The license says:

    3. When you publish or present any results by using the Software, you
    must explicitly mention your use of "Large Vocabulary Continuous
    Speech Recognition Engine Julius".

This looks like a problem.  Also see
https://github.com/julius-speech/julius/issues/29.

Aside from this, I see that you delete the check phase.  Could you
explain why?

--
Ricardo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#35423] [PATCH] gnu: Add julius.
  2019-04-25  2:34 [bug#35423] [PATCH] gnu: Add julius nly
  2019-04-25  3:29 ` Tobias Geerinckx-Rice
  2019-04-26  0:41 ` nly
@ 2019-05-06 18:17 ` nly
  2019-05-07  5:02   ` bug#35423: " Ricardo Wurmus
  2 siblings, 1 reply; 6+ messages in thread
From: nly @ 2019-05-06 18:17 UTC (permalink / raw)
  To: 35423


May 6, 2019 9:00 PM, "Ricardo Wurmus" <rekado@elephly.net> wrote:

> The license says:
> 
> 3. When you publish or present any results by using the Software, you
> must explicitly mention your use of "Large Vocabulary Continuous
> Speech Recognition Engine Julius".
> 
> This looks like a problem. Also see
> https://github.com/julius-speech/julius/issues/29.

Then let's close the bug?

> Aside from this, I see that you delete the check phase. Could you
> explain why?

There are no tests in the project(Makefile).

> --
> Ricardo

Thanks

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#35423: [PATCH] gnu: Add julius.
  2019-05-06 18:17 ` nly
@ 2019-05-07  5:02   ` Ricardo Wurmus
  0 siblings, 0 replies; 6+ messages in thread
From: Ricardo Wurmus @ 2019-05-07  5:02 UTC (permalink / raw)
  To: nly; +Cc: 35423-done


>> Aside from this, I see that you delete the check phase. Could you
>> explain why?
>
> There are no tests in the project(Makefile).

In that case please use #:tests? #f and add a comment that says that
there are no tests.

>> The license says:
>>
>> 3. When you publish or present any results by using the Software, you
>> must explicitly mention your use of "Large Vocabulary Continuous
>> Speech Recognition Engine Julius".
>>
>> This looks like a problem. Also see
>> https://github.com/julius-speech/julius/issues/29.
>
> Then let's close the bug?

Unfortunately, it does look like this is an unenforcable usage
restriction that is incompatible with free software.  I encourage you to
comment on that upstream issue.  For now I’m closing this.  Let’s hope
that soon this will become free software!

Despite this negative outcome I’d like to thank you for your work on
this!

--
Ricardo

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-05-07  5:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-25  2:34 [bug#35423] [PATCH] gnu: Add julius nly
2019-04-25  3:29 ` Tobias Geerinckx-Rice
2019-04-26  0:41 ` nly
2019-05-06 15:29   ` Ricardo Wurmus
2019-05-06 18:17 ` nly
2019-05-07  5:02   ` bug#35423: " Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).