From d82539d35fc5a550118975f19b624fe040910f42 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Sun, 29 Mar 2020 00:08:40 -0400 Subject: gnu: Add spandsp. * gnu/packages/telephony.scm (spandsp): New variable. Co-authored by Maxim Cournoyer. Signed-off-by: Maxim Cournoyer --- gnu/packages/telephony.scm | 97 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) (limited to 'gnu/packages/telephony.scm') 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 ;;; Copyright © 2020 Brett Gilio ;;; Copyright © 2020 Michael Rohleder +;;; Copyright © 2020 Raghav Gururajan +;;; Copyright © 2020 Maxim Cournoyer ;;; ;;; 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") -- cgit v1.2.3