unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Brendan Tildesley <brendan.tildesley@openmailbox.org>
To: guix-devel@gnu.org
Subject: [PATCH] gnu: Add praat
Date: Wed, 31 Aug 2016 02:08:15 +1000	[thread overview]
Message-ID: <e154fe33-0870-8c4f-cb45-06204b664e87@openmailbox.org> (raw)

This marks my first attempt at writing a package definition for Guix.
Please assume it is broken since I still don't know what I'm doing, and
forgive me if you need to school me on things written in the manual. If
someone on GuixSD could test if it builds, load an audio file and see if
it plays correctly, that would be a good test. When I compiled it on
Parabola, it sets the wrong audio server by default so I had to change
it in settings to ALSA via PortAudio in the GUI. I'm interested to see
if it requires that on someone else's configuration too.


From 7c473fcf114e011ee4e11b766f0be82591ba2ac8 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <brendan.tildesley@openmailbox.org>
Date: Wed, 31 Aug 2016 01:13:18 +1000
Subject: [PATCH] gnu: Add praat

* gnu/packages/linguistics.scm (praat): New variable
---
 gnu/packages/linguistics.scm | 81
++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)
 create mode 100644 gnu/packages/linguistics.scm

diff --git a/gnu/packages/linguistics.scm b/gnu/packages/linguistics.scm
new file mode 100644
index 0000000..40b38f8
--- /dev/null
+++ b/gnu/packages/linguistics.scm
@@ -0,0 +1,81 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages linguistics)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix utils)
+  #:use-module (guix download)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages linux) ; for alsa-lib
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages pulseaudio))
+
+(define-public praat
+  (package
+    (name "praat")
+    (version "6.0.19")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/praat/praat/archive/v"
version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1fhzqzygx5h6xkjaxwgzvnby393q7c3lby0fq3bnhscfdhzkm0a0"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("gtk" ,gtk+-2)
+       ("alsa-lib" ,alsa-lib)
+       ("pulseaudio" ,pulseaudio)
+       ("python" ,python)))             ; optional scripts
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before
+          'build
+          'copy-makefile
+          ;; setup makefile for compiling on Linux as per README.md.
There may
+          ;; be issues with this. The audio config may need to be
changed in
+          ;; the GUI. If that is the case when tested on GuixSD, I'd
like to
+          ;; figure out how to patch praat to work by default.
+          (lambda _
+            (copy-file "makefiles/makefile.defs.linux.pulse"
+                       "makefile.defs")
+            #t))
+         (replace
+          'install
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let* ((out (assoc-ref outputs "out"))
+                   (target (string-append out "/bin")))
+              (mkdir-p target)
+              (install-file "praat" target))
+            #t)))))
+    (home-page "http://praat.org")
+    (synopsis "Doing phonetics by computer")
+    (description
+     "Praat is a program for linguists to analyse, synthesize, and
manipulate
+speech, generate graphs for scientific papers, and more.")
+    (license license:gpl2)))
-- 
2.9.3

             reply	other threads:[~2016-08-30 16:08 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-30 16:08 Brendan Tildesley [this message]
2016-08-30 19:02 ` [PATCH] gnu: Add praat ng0
2016-08-30 19:07 ` Marius Bakke
2016-08-31 16:08   ` Alex Griffin
2016-09-01 17:43 ` Brendan Tildesley
2016-09-02 11:08   ` ng0
2016-09-02 12:20   ` Ludovic Courtès
2016-09-02 15:12     ` Brendan Tildesley
2016-09-03 13:43       ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e154fe33-0870-8c4f-cb45-06204b664e87@openmailbox.org \
    --to=brendan.tildesley@openmailbox.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).