gnu: Add spandsp.
* gnu/packages/telephony.scm (spandsp): New variable. Co-authored by Maxim Cournoyer. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
		
							parent
							
								
									3de5b4047e
								
							
						
					
					
						commit
						d82539d35f
					
				
					 1 changed files with 97 additions and 0 deletions
				
			
		| 
						 | 
					@ -16,6 +16,8 @@
 | 
				
			||||||
;;; Copyright © 2019 Ivan Vilata i Balaguer <ivan@selidor.net>
 | 
					;;; Copyright © 2019 Ivan Vilata i Balaguer <ivan@selidor.net>
 | 
				
			||||||
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 | 
					;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 | 
				
			||||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 | 
					;;; 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.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -34,7 +36,9 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-module (gnu packages telephony)
 | 
					(define-module (gnu packages telephony)
 | 
				
			||||||
  #:use-module (gnu packages)
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages admin)
 | 
				
			||||||
  #:use-module (gnu packages aidc)
 | 
					  #:use-module (gnu packages aidc)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages algebra)
 | 
				
			||||||
  #:use-module (gnu packages autotools)
 | 
					  #:use-module (gnu packages autotools)
 | 
				
			||||||
  #:use-module (gnu packages avahi)
 | 
					  #:use-module (gnu packages avahi)
 | 
				
			||||||
  #:use-module (gnu packages audio)
 | 
					  #:use-module (gnu packages audio)
 | 
				
			||||||
| 
						 | 
					@ -43,6 +47,7 @@
 | 
				
			||||||
  #:use-module (gnu packages check)
 | 
					  #:use-module (gnu packages check)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages crypto)
 | 
					  #:use-module (gnu packages crypto)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages docbook)
 | 
				
			||||||
  #:use-module (gnu packages documentation)
 | 
					  #:use-module (gnu packages documentation)
 | 
				
			||||||
  #:use-module (gnu packages file)
 | 
					  #:use-module (gnu packages file)
 | 
				
			||||||
  #:use-module (gnu packages protobuf)
 | 
					  #:use-module (gnu packages protobuf)
 | 
				
			||||||
| 
						 | 
					@ -52,10 +57,12 @@
 | 
				
			||||||
  #:use-module (gnu packages gnome)
 | 
					  #:use-module (gnu packages gnome)
 | 
				
			||||||
  #:use-module (gnu packages gnupg)
 | 
					  #:use-module (gnu packages gnupg)
 | 
				
			||||||
  #:use-module (gnu packages gtk)
 | 
					  #:use-module (gnu packages gtk)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages image)
 | 
				
			||||||
  #:use-module (gnu packages libcanberra)
 | 
					  #:use-module (gnu packages libcanberra)
 | 
				
			||||||
  #:use-module (gnu packages linux)
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
  #:use-module (gnu packages multiprecision)
 | 
					  #:use-module (gnu packages multiprecision)
 | 
				
			||||||
  #:use-module (gnu packages ncurses)
 | 
					  #:use-module (gnu packages ncurses)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages netpbm)
 | 
				
			||||||
  #:use-module (gnu packages networking)
 | 
					  #:use-module (gnu packages networking)
 | 
				
			||||||
  #:use-module (gnu packages pcre)
 | 
					  #:use-module (gnu packages pcre)
 | 
				
			||||||
  #:use-module (gnu packages perl)
 | 
					  #:use-module (gnu packages perl)
 | 
				
			||||||
| 
						 | 
					@ -84,6 +91,96 @@
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
  #:use-module (guix build-system qt))
 | 
					  #: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
 | 
					(define-public commoncpp
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "commoncpp")
 | 
					   (name "commoncpp")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue