[PATCH] gnu: praat: Update to 6.3.10.

  • Done
  • quality assurance status badge
Details
4 participants
  • Preston M. Firestone
  • Juliana Sims
  • Liliana Marie Prikler
  • Ludovic Courtès
Owner
unassigned
Submitted by
Preston M. Firestone
Severity
normal
P
P
Preston M. Firestone wrote on 13 May 2023 00:09
(address . guix-patches@gnu.org)(name . Preston M. Firestone)(address . firestone.preston@gmail.com)
60c20787457b3c531db6948f2b9773e79214b1f4.1683929239.git.firestone.preston@gmail.com
* gnu/packages/language.scm (praat): Update to 6.3.10.
[arguments]: Use make-flags to set CC to gcc. Add tests and remove broken
one. Remove final #t from all lambdas.
[inputs]: Update to gtk+3 and reformat.
---
gnu/packages/language.scm | 34 +++++++++++++++++++++-------------
1 file changed, 21 insertions(+), 13 deletions(-)

Toggle diff (69 lines)
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 36968ad11c..530842d2c8 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -850,37 +850,45 @@ (define-public link-grammar
(define-public praat
(package
(name "praat")
- (version "6.1.30")
+ (version "6.3.10")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/praat/praat")
- (commit (string-append "v" version))))
+ (url "https://github.com/praat/praat")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1pjfifyv3wjn68l3i2dr83xm75nf2kxvfxrk9qqbmwz58p183jw4"))))
+ "0kwv0p2bn2x5h0c61rymm87icqqwnbj699awgc5afl4qp53azci8"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no test target
+ '(#:make-flags
+ ;; For some reason this variable doesn't properly percolate down to the
+ ;; recursive subcalls of make despite being defined in makefile.defs,
+ ;; which is sourced by all the other makefiles. Setting it as a flag
+ ;; guarantees that the right compiler is called every time.
+ '("-E" "CC = gcc")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'remove-problem-tests
+ (lambda _
+ ;; FIXME: Why doesn't this test pass?
+ (delete-file "test/sys/graphicsText.praat")))
(replace 'configure
(lambda _
- (copy-file "makefiles/makefile.defs.linux.pulse" "makefile.defs")
- #t))
+ (copy-file "makefiles/makefile.defs.linux.pulse" "makefile.defs")))
+ (replace 'check
+ (lambda _
+ ;; Run only the tests that don't require a GUI.
+ (invoke "./praat" "--run" "test/runAllTests_batch.praat")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(mkdir-p bin)
- (copy-file "praat" (string-append bin "/praat")))
- #t)))))
+ (copy-file "praat" (string-append bin "/praat"))))))))
(inputs
- `(("alsa-lib" ,alsa-lib)
- ("gtk" ,gtk+-2)
- ("jack" ,jack-1)
- ("publesaudio" ,pulseaudio)))
+ (list alsa-lib gtk+ jack-1 pulseaudio))
(native-inputs
(list pkg-config))
(home-page "https://www.fon.hum.uva.nl/praat/")

base-commit: b4e5844700b2304bfde451322feb5797bf0c6179
prerequisite-patch-id: e1af5f52c721c7905ea34bdbbd20dfac5190126e
prerequisite-patch-id: 14803245981fe2f3cdfb052d35c41dad2fec89d1
--
2.39.2
P
P
Preston Miller Firestone wrote on 21 Jun 2023 14:00
(address . 63473@debbugs.gnu.org)
87jzvxkou5.fsf@gmail.com
Hi all,

Bumping this patch to hopefully get attention. The praat package
currently in the main distribution is broken and has been for several
weeks; it would be wonderful if this patch could be applied.

Preston
L
L
Liliana Marie Prikler wrote on 26 Jun 2023 06:25
2a093a9814b70f32f0cc87c0d0c4e19d0cdef97f.camel@gmail.com
Hi Preston,

Am Freitag, dem 12.05.2023 um 17:09 -0500 schrieb Preston M. Firestone:
Toggle quote (4 lines)
> * gnu/packages/language.scm (praat): Update to 6.3.10.
> [arguments]: Use make-flags to set CC to gcc. Add tests and remove
> broken
> one. Remove final #t from all lambdas.
You're mixing functional and style changes in ways that aren't really
necessary.  IMHO, it's better to split the patch in two.

Either way, separate this log into one log per argument, i.e. one for
#:tests?, one for #:make-flags and one for #:phases.
“Remove final #t…” ought to be “Drop trailing #t.”
Toggle quote (1 lines)
> [inputs]: Update to gtk+3 and reformat.
Should be “Replace gtk+-2 with gtk+.”
Toggle quote (40 lines)
> ---
>  gnu/packages/language.scm | 34 +++++++++++++++++++++-------------
>  1 file changed, 21 insertions(+), 13 deletions(-)
>
> diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
> index 36968ad11c..530842d2c8 100644
> --- a/gnu/packages/language.scm
> +++ b/gnu/packages/language.scm
> @@ -850,37 +850,45 @@ (define-public link-grammar
>  (define-public praat
>    (package
>      (name "praat")
> -    (version "6.1.30")
> +    (version "6.3.10")
>      (source (origin
>                (method git-fetch)
>                (uri (git-reference
> -                     (url "https://github.com/praat/praat")
> -                     (commit (string-append "v" version))))
> +                    (url "https://github.com/praat/praat")
> +                    (commit (string-append "v" version))))
>                (file-name (git-file-name name version))
>                (sha256
>                 (base32
> -               
> "1pjfifyv3wjn68l3i2dr83xm75nf2kxvfxrk9qqbmwz58p183jw4"))))
> +               
> "0kwv0p2bn2x5h0c61rymm87icqqwnbj699awgc5afl4qp53azci8"))))
>      (build-system gnu-build-system)
>      (arguments
> -     `(#:tests? #f                      ; no test target
> +     '(#:make-flags
> +       ;; For some reason this variable doesn't properly percolate
> down to the
> +       ;; recursive subcalls of make despite being defined in
> makefile.defs,
> +       ;; which is sourced by all the other makefiles. Setting it as
> a flag
> +       ;; guarantees that the right compiler is called every time.
> +       '("-E" "CC = gcc")
You should use (cc-for-target) as CC here.  Don't bother with the
spaces between the variable and it's values, those are more likely to
introduce faults than to prevent them.
Toggle quote (6 lines)
>         #:phases
>         (modify-phases %standard-phases
> +         (add-after 'unpack 'remove-problem-tests
> +           (lambda _
> +             ;; FIXME: Why doesn't this test pass?
> +             (delete-file "test/sys/graphicsText.praat")))
The canonical name for such a phase is ‘delete-failing-tests’
Toggle quote (30 lines)
>           (replace 'configure
>             (lambda _
> -             (copy-file "makefiles/makefile.defs.linux.pulse"
> "makefile.defs")
> -             #t))
> +             (copy-file "makefiles/makefile.defs.linux.pulse"
> "makefile.defs")))
> +         (replace 'check
> +           (lambda _
> +             ;; Run only the tests that don't require a GUI.
> +             (invoke "./praat" "--run"
> "test/runAllTests_batch.praat")))
>           (replace 'install
>             (lambda* (#:key outputs #:allow-other-keys)
>               (let* ((out (assoc-ref outputs "out"))
>                      (bin (string-append out "/bin")))
>                 (mkdir-p bin)
> -               (copy-file "praat" (string-append bin "/praat")))
> -             #t)))))
> +               (copy-file "praat" (string-append bin
> "/praat"))))))))
>      (inputs
> -     `(("alsa-lib" ,alsa-lib)
> -       ("gtk" ,gtk+-2)
> -       ("jack" ,jack-1)
> -       ("publesaudio" ,pulseaudio)))
> +     (list alsa-lib gtk+ jack-1 pulseaudio))
>      (native-inputs
>       (list pkg-config))
>      (home-page "https://www.fon.hum.uva.nl/praat/")
Cheers

PS: Sorry for the second mail, I misspelled debbugs on the first.
J
J
Juliana Sims wrote on 26 Jun 2023 07:52
(address . 63473@debbugs.gnu.org)
90JUWR.AJBFPRKS0IKT3@incana.org
Hi Preston,

Would it be possible to split some of these changes into separate
patches? For example, rewriting the style of the inputs field and
removing the #t's could be in their own patch. Ideally any changes not
strictly related to the update should be in a separate patch from the
changes strictly necessary for the update, and each patch should
contain one logically-related set of changes.

Related, were you able to fix the build of the old version? If so,
could you commit that fix as the first in a patch series?

> + ;; FIXME: Why doesn't this test pass?
It seems like this is answered later by
> + ;; Run only the tests that don't require a GUI.
and if that's the case the first comment could be changed. Also, you
can get X during build with xorg-server-for-tests as a native-input and
a build stage like this one from the geary package defintion:
```
(add-before 'check 'setup-xvfb
(lambda _
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")))
```
While I don't know that such an addition will resolve the failing test,
it might be worth trying.

Everything else seems to look fine. You may want to run guix style -S
arguments to port it to g-expressions while you're here, but I don't
think that's strictly necessary, just preferred.

All the best,
Juli
P
P
Preston M. Firestone wrote on 26 Jun 2023 19:42
[PATCH 1/4] gnu: praat: Update to 6.1.49.
(address . 63473@debbugs.gnu.org)(name . Preston M. Firestone)(address . firestone.preston@gmail.com)
74d233f5d114e35bb1d7cf5651377be4d1727a46.1687800992.git.firestone.preston@gmail.com
Version 6.1.30 of praat can't be built with GCC. Version 6.1.49 patches
this. See https://github.com/praat/praat/pull/1622for more information.

-- >8 --
* gnu/packages/language.scm (praat): Update to 6.1.49.
[inputs]: Replace gtk+-2 with gtk+.
---
gnu/packages/language.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 27a6ebf329..87ab60eba1 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -854,7 +854,7 @@ (define-public link-grammar
(define-public praat
(package
(name "praat")
- (version "6.1.30")
+ (version "6.1.49")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -863,7 +863,7 @@ (define-public praat
(file-name (git-file-name name version))
(sha256
(base32
- "1pjfifyv3wjn68l3i2dr83xm75nf2kxvfxrk9qqbmwz58p183jw4"))))
+ "17ymrnvwvb08x61ygqlnfzzvggz937miix7rnk8vscrznywhh4jc"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test target
@@ -882,7 +882,7 @@ (define-public praat
#t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
- ("gtk" ,gtk+-2)
+ ("gtk" ,gtk+)
("jack" ,jack-1)
("publesaudio" ,pulseaudio)))
(native-inputs

base-commit: 1bc878ded2ea349384da6a72d4b8326c63c794b4
--
2.40.1
P
P
Preston M. Firestone wrote on 26 Jun 2023 19:42
[PATCH 2/4] gnu: praat: Update to 6.3.10.
(address . 63473@debbugs.gnu.org)(name . Preston M. Firestone)(address . firestone.preston@gmail.com)
b07913d9c1ff2a1636e8995c52645bf76214128e.1687800992.git.firestone.preston@gmail.com
* gnu/packages/language.scm (praat): Update to 6.3.10.
[make-flags]: Use (cc-for-target).
---
gnu/packages/language.scm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 87ab60eba1..fc33e6f42e 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -854,7 +854,7 @@ (define-public link-grammar
(define-public praat
(package
(name "praat")
- (version "6.1.49")
+ (version "6.3.10")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -863,10 +863,11 @@ (define-public praat
(file-name (git-file-name name version))
(sha256
(base32
- "17ymrnvwvb08x61ygqlnfzzvggz937miix7rnk8vscrznywhh4jc"))))
+ "0kwv0p2bn2x5h0c61rymm87icqqwnbj699awgc5afl4qp53azci8"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no test target
+ `(#:make-flags (list (string-append "CC=" ,(cc-for-target)))
+ #:tests? #f ; no test target
#:phases
(modify-phases %standard-phases
(replace 'configure
--
2.40.1
P
P
Preston M. Firestone wrote on 26 Jun 2023 19:42
[PATCH 3/4] gnu: praat: Add tests to praat.
(address . 63473@debbugs.gnu.org)(name . Preston M. Firestone)(address . firestone.preston@gmail.com)
a5f4b426e7a9240eb0d1fc4af41395a6c98420f6.1687800992.git.firestone.preston@gmail.com
* gnu/packages/language.scm (praat): Run non-graphical tests.
---
gnu/packages/language.scm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index fc33e6f42e..11fc17b427 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -867,13 +867,21 @@ (define-public praat
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "CC=" ,(cc-for-target)))
- #:tests? #f ; no test target
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'delete-failing-tests
+ (lambda _
+ (delete-file "test/sys/graphicsText.praat")
+ #t))
(replace 'configure
(lambda _
(copy-file "makefiles/makefile.defs.linux.pulse" "makefile.defs")
#t))
+ (replace 'check
+ (lambda _
+ (invoke "./praat" "--run"
+ "test/runAllTests_batch.praat")
+ #t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
--
2.40.1
P
P
Preston M. Firestone wrote on 26 Jun 2023 19:42
[PATCH 4/4] gnu: praat: Fix style
(address . 63473@debbugs.gnu.org)(name . Preston M. Firestone)(address . firestone.preston@gmail.com)
040e6c0356837b5acc58e697305cbea60a220481.1687800992.git.firestone.preston@gmail.com
* gnu/packages/language.scm (praat):
[arguments]: Use g-exps.
[#:phases]: Drop trailing #t.
[inputs]: Use new format.
---
gnu/packages/language.scm | 60 ++++++++++++++++++---------------------
1 file changed, 27 insertions(+), 33 deletions(-)

Toggle diff (81 lines)
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 11fc17b427..758fb4f336 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -858,47 +858,41 @@ (define-public praat
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/praat/praat")
- (commit (string-append "v" version))))
+ (url "https://github.com/praat/praat")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0kwv0p2bn2x5h0c61rymm87icqqwnbj699awgc5afl4qp53azci8"))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags (list (string-append "CC=" ,(cc-for-target)))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'delete-failing-tests
- (lambda _
- (delete-file "test/sys/graphicsText.praat")
- #t))
- (replace 'configure
- (lambda _
- (copy-file "makefiles/makefile.defs.linux.pulse" "makefile.defs")
- #t))
- (replace 'check
- (lambda _
- (invoke "./praat" "--run"
- "test/runAllTests_batch.praat")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin")))
- (mkdir-p bin)
- (copy-file "praat" (string-append bin "/praat")))
- #t)))))
- (inputs
- `(("alsa-lib" ,alsa-lib)
- ("gtk" ,gtk+)
- ("jack" ,jack-1)
- ("publesaudio" ,pulseaudio)))
- (native-inputs
- (list pkg-config))
+ (list #:make-flags #~(list (string-append "CC="
+ #$(cc-for-target)))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'delete-failing-tests
+ (lambda _
+ (delete-file "test/sys/graphicsText.praat")))
+ (replace 'configure
+ (lambda _
+ (copy-file "makefiles/makefile.defs.linux.pulse"
+ "makefile.defs")))
+ (replace 'check
+ (lambda _
+ (invoke "./praat" "--run"
+ "test/runAllTests_batch.praat")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (mkdir-p bin)
+ (copy-file "praat"
+ (string-append bin "/praat"))))))))
+ (inputs (list alsa-lib gtk+ jack-1 pulseaudio))
+ (native-inputs (list pkg-config))
(home-page "https://www.fon.hum.uva.nl/praat/")
(synopsis "Doing phonetics by computer")
- (description "Praat is a tool to perform phonetics tasks. It can do speech
+ (description
+ "Praat is a tool to perform phonetics tasks. It can do speech
analysis (pitch, formant, intensity, ...), speech synthesis, labelling, segmenting
and manipulation.")
(license license:gpl2+)))
--
2.40.1
P
P
Preston Miller Firestone wrote on 26 Jun 2023 19:53
[PATCH] gnu: praat: Update to 6.3.10.
(address . 63473@debbugs.gnu.org)
87a5wm2jq4.fsf@gmail.com
Hi Juli and Liliana,

Thank you for the feedback and help. I have reformatted the patch as a
series. Let me know whether there's anything else that needs fixing.

Thanks,

Preston
L
L
Ludovic Courtès wrote on 7 Aug 2023 16:21
(name . Preston Miller Firestone)(address . firestone.preston@gmail.com)(address . 63473-done@debbugs.gnu.org)
87tttbrkzv.fsf_-_@gnu.org
Hi Preston,

Preston Miller Firestone <firestone.preston@gmail.com> skribis:

Toggle quote (3 lines)
> Thank you for the feedback and help. I have reformatted the patch as a
> series. Let me know whether there's anything else that needs fixing.

Finally applied, thank you!

Ludo’.
Closed
?