aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorRaghav Gururajan <raghavgururajan@disroot.org>2020-03-29 00:08:40 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-03-31 17:02:58 -0400
commitd82539d35fc5a550118975f19b624fe040910f42 (patch)
treee89e41aaf943a6304d34b0149bafe970005ae9a0 /gnu
parent3de5b4047e010340485019170e5715deb0de21c0 (diff)
downloadguix-d82539d35fc5a550118975f19b624fe040910f42.tar
guix-d82539d35fc5a550118975f19b624fe040910f42.tar.gz
gnu: Add spandsp.
* gnu/packages/telephony.scm (spandsp): New variable. Co-authored by Maxim Cournoyer. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/telephony.scm97
1 files changed, 97 insertions, 0 deletions
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index fe6c230693..9c2c499ed7 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -16,6 +16,8 @@
;;; Copyright © 2019 Ivan Vilata i Balaguer <ivan@selidor.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,7 +36,9 @@
(define-module (gnu packages telephony)
#:use-module (gnu packages)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages aidc)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages audio)
@@ -43,6 +47,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
+ #:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages file)
#:use-module (gnu packages protobuf)
@@ -52,10 +57,12 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages netpbm)
#:use-module (gnu packages networking)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@@ -84,6 +91,96 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system qt))
+(define-public spandsp
+ (package
+ (name "spandsp")
+ (version "0.0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ ;; The original upstream has been down since the end of March 2020.
+ (string-append "https://web.archive.org/web/20180626203108/"
+ "https://www.soft-switch.org/downloads/" name "/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc"))))
+ (build-system gnu-build-system)
+ (outputs '("out" "doc" "static")) ;doc contains HTML documentation
+ (arguments
+ `(#:configure-flags '("--enable-doc=yes" "--enable-tests=yes")
+ #:parallel-tests? #f ;fails removing the same the files twice otherwise
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-configure.ac
+ (lambda _
+ ;; spandsp looks at hard coded locations of the FHS to
+ ;; find libxml2.
+ (substitute* "configure.ac"
+ (("AC_MSG_CHECKING\\(for libxml/xmlmemory\\.h.*" all)
+ (string-append all
+ "PKG_CHECK_MODULES(XML2, libxml-2.0)\n"
+ "CPPFLAGS+=\" $XML2_CFLAGS\"\n")))
+ ;; Force a regeneration of the autotools build system.
+ (delete-file "autogen.sh")
+ (delete-file "configure")
+ #t))
+ (add-after 'unpack 'do-not-install-data-files
+ ;; The .tiff images produced for tests are not
+ ;; reproducible and it is not desirable to have those
+ ;; distributed.
+ (lambda _
+ (substitute* '("test-data/itu/fax/Makefile.am"
+ "test-data/etsi/fax/Makefile.am")
+ (("nobase_data_DATA")
+ "noinst_DATA"))
+ #t))
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "doc")
+ "/share/doc/" ,name "-" ,version)))
+ (copy-recursively "doc/t38_manual" doc)
+ #t)))
+ (add-after 'install 'move-static-libraries
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (static (assoc-ref outputs "static")))
+ (mkdir-p (string-append static "/lib"))
+ (with-directory-excursion out
+ (for-each (lambda (file)
+ (rename-file file
+ (string-append static "/"
+ file)))
+ (find-files "lib" "\\.a$")))
+ #t))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ;; For the tests
+ ("fftw" ,fftw)
+ ("libpcap" ,libpcap)
+ ("libsndfile" ,libsndfile)
+ ("libtiff" ,libtiff)
+ ("netpbm" ,netpbm)
+ ("sox" ,sox)
+ ;; For the documentation
+ ("docbook-xml" ,docbook-xml-4.3)
+ ("docbook-xsl" ,docbook-xsl)
+ ("doxygen" ,doxygen)
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)))
+ (synopsis "DSP library for telephony")
+ (description "SpanDSP is a library of DSP functions for telephony, in the
+8000 sample per second world of E1s, T1s, and higher order PCM channels. It
+contains low level functions, such as basic filters. It also contains higher
+level functions, such as cadenced supervisory tone detection, and a complete
+software FAX machine.")
+ (home-page "https://web.archive.org/web/20180626203108/\
+https://www.soft-switch.org/index.html")
+ (license (list license:lgpl2.1+ ;for the library
+ license:gpl2+)))) ;for the test suites and support programs
+
(define-public commoncpp
(package
(name "commoncpp")