* gnu/packages/xiph.scm (libkate): Add native input doxygen.
    Make input pkg-config native.
		
	
			
		
			
				
	
	
		
			314 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			Scheme
		
	
	
	
	
	
			
		
		
	
	
			314 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			Scheme
		
	
	
	
	
	
| ;;; GNU Guix --- Functional package management for GNU
 | |
| ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
 | |
| ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 | |
| ;;; Copyright © 2013 David Thompson <dthompson2@worcester.edu>
 | |
| ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
 | |
| ;;; Copyright © 2014 Mark H Weaver <mhw@netris.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 xiph)
 | |
|   #:use-module (gnu packages)
 | |
|   #:use-module (gnu packages bison)
 | |
|   #:use-module (gnu packages compression)
 | |
|   #:use-module (gnu packages curl)
 | |
|   #:use-module (gnu packages doxygen)
 | |
|   #:use-module (gnu packages libpng)
 | |
|   #:use-module (gnu packages pkg-config)
 | |
|   #:use-module (gnu packages python)
 | |
|   #:use-module (gnu packages linux)
 | |
|   #:use-module (gnu packages pulseaudio)
 | |
|   #:use-module ((guix licenses)
 | |
|                 #:renamer (symbol-prefix-proc 'license:))
 | |
|   #:use-module (guix packages)
 | |
|   #:use-module (guix download)
 | |
|   #:use-module (guix build-system gnu)
 | |
|   #:export (libogg
 | |
|             libvorbis
 | |
|             libtheora
 | |
|             speex
 | |
|             ao
 | |
|             flac
 | |
|             libkate
 | |
|             vorbis-tools
 | |
|             opus))
 | |
| 
 | |
| (define libogg
 | |
|   (package
 | |
|    (name "libogg")
 | |
|    (version "1.3.0")
 | |
|    (source (origin
 | |
|             (method url-fetch)
 | |
|             (uri (string-append "http://downloads.xiph.org/releases/ogg/libogg-"
 | |
|                                 version ".tar.xz"))
 | |
|             (sha256
 | |
|              (base32
 | |
|               "0jy79ffkl34vycnwfsj4svqsdg1lwy2l1rr49y8r4d44kh12a5r3"))))
 | |
|    (build-system gnu-build-system)
 | |
|    (synopsis "libogg, a library for manipulating the ogg multimedia format")
 | |
|    (description
 | |
|     "The libogg library allows to manipulate the ogg multimedia container
 | |
| format, which encapsulates raw compressed data and allows the interleaving of
 | |
| audio and video data. In addition to encapsulation and interleaving of
 | |
| multiple data streams, ogg provides packet framing, error detection, and
 | |
| periodic timestamps for seeking.")
 | |
|    (license (license:bsd-style "file://COPYING"
 | |
|                                "See COPYING in the distribution."))
 | |
|    (home-page "http://xiph.org/ogg/")))
 | |
| 
 | |
| (define libvorbis
 | |
|   (package
 | |
|    (name "libvorbis")
 | |
|    (version "1.3.3")
 | |
|    (source (origin
 | |
|             (method url-fetch)
 | |
|             (uri (string-append "http://downloads.xiph.org/releases/vorbis/libvorbis-"
 | |
|                                 version ".tar.xz"))
 | |
|             (sha256
 | |
|              (base32
 | |
|               "1gby6hapz9njx4l9g0pndyk4q83z5fgrgc30mfwfgx7bllspsk43"))))
 | |
|    (build-system gnu-build-system)
 | |
|    (propagated-inputs `(("libogg" ,libogg)))
 | |
|    (arguments `(#:configure-flags '("LDFLAGS=-lm")
 | |
|                 #:parallel-tests? #f))
 | |
|    (synopsis "libvorbis, a library implementing the vorbis audio format")
 | |
|    (description
 | |
|     "The libvorbis library implements the ogg vorbis audio format,
 | |
| a fully open, non-proprietary, patent-and-royalty-free, general-purpose
 | |
| compressed audio format for mid to high quality (8kHz-48.0kHz, 16+ bit,
 | |
| polyphonic) audio and music at fixed and variable bitrates from 16 to
 | |
| 128 kbps/channel.")
 | |
|    (license (license:bsd-style "file://COPYING"
 | |
|                                "See COPYING in the distribution."))
 | |
|    (home-page "http://xiph.org/vorbis/")))
 | |
| 
 | |
| (define libtheora
 | |
|   (package
 | |
|     (name "libtheora")
 | |
|     (version "1.1.1")
 | |
|     (source (origin
 | |
|              (method url-fetch)
 | |
|              (uri (string-append "http://downloads.xiph.org/releases/theora/libtheora-"
 | |
|                                  version ".tar.xz"))
 | |
|              (sha256
 | |
|               (base32
 | |
|                "0q8wark9ribij57dciym5vdikg2464p8q2mgqvfb78ksjh4s8vgk"))
 | |
|              (patches (list (search-patch "libtheora-config-guess.patch")))))
 | |
|     (build-system gnu-build-system)
 | |
|     (inputs `(("libvorbis" ,libvorbis)))
 | |
|     ;; The .pc files refer to libogg.
 | |
|     (propagated-inputs `(("libogg" ,libogg)))
 | |
|     (synopsis "Library implementing the Theora video format")
 | |
|     (description
 | |
|      "The libtheora library implements the ogg theora video format,
 | |
| a fully open, non-proprietary, patent-and-royalty-free, general-purpose
 | |
| compressed video format.")
 | |
|     (license license:bsd-3)
 | |
|     (home-page "http://xiph.org/theora/")))
 | |
| 
 | |
| (define speex
 | |
|   (package
 | |
|     (name "speex")
 | |
|     (version "1.2rc1")
 | |
|     (source
 | |
|      (origin
 | |
|       (method url-fetch)
 | |
|       (uri (string-append "http://downloads.xiph.org/releases/speex/speex-"
 | |
|                           version ".tar.gz"))
 | |
|       (sha256
 | |
|        (base32
 | |
|         "19mpkhbz3s08snvndn0h1dk2j139max6b0rr86nnsjmxazf30brl"))))
 | |
|     (build-system gnu-build-system)
 | |
|     (inputs `(("libogg" ,libogg)))
 | |
|     (home-page "https://gnu.org/software/speex")
 | |
|     (synopsis "Library for patent-free audio compression format")
 | |
|     (description
 | |
|      "GNU Speex is a patent-free audio compression codec specially designed
 | |
| for speech.  It is well-adapted to internet applications, such as VoIP.  It
 | |
| features compression of different bands in the same bitstream, intensity
 | |
| stereo encoding, and voice activity detection.")
 | |
|     ;; 'src/getopt.c' is under LGPLv2+
 | |
|     (license (license:bsd-style "file://COPYING"
 | |
|                                 "See COPYING in the distribution."))))
 | |
| 
 | |
| (define ao
 | |
|   (package
 | |
|     (name "ao")
 | |
|     (version "1.1.0")
 | |
|     (source
 | |
|      (origin
 | |
|       (method url-fetch)
 | |
|       (uri (string-append "http://downloads.xiph.org/releases/ao/libao-"
 | |
|                           version ".tar.gz"))
 | |
|       (sha256
 | |
|        (base32
 | |
|         "1m0v2y6bhr4iwsgdkc7b3y0qgpvpv1ifbxsy8n8ahsvjn6wmppi9"))))
 | |
|     (build-system gnu-build-system)
 | |
|     ;; FIXME: Add further backends, see the summary printed after configure.
 | |
|     ;; XXX: Should back-ends be pushed to different outputs?  For instance,
 | |
|     ;; "out" would include only the ALSA back-end, while "pulse" would
 | |
|     ;; contain 'lib/ao/plugins-4/libpulse.*'.
 | |
|     (inputs `(("pkg-config" ,pkg-config)
 | |
|               ("alsa-lib" ,alsa-lib)
 | |
|               ("pulseaudio" ,pulseaudio)))
 | |
|     (synopsis "Cross platform audio library")
 | |
|     (description
 | |
|      "Libao is a cross-platform audio library that allows programs to
 | |
| output audio using a simple API on a wide variety of platforms.
 | |
| It currently supports:
 | |
| Null output (handy for testing without a sound device),
 | |
| WAV files,
 | |
| AU files,
 | |
| RAW files,
 | |
| OSS (Open Sound System, used on Linux and FreeBSD),
 | |
| ALSA (Advanced Linux Sound Architecture),
 | |
| aRts (Analog RealTime Synth, used by KDE),
 | |
| PulseAudio (next generation GNOME sound server),
 | |
| esd (EsounD or Enlightened Sound Daemon),
 | |
| Mac OS X,
 | |
| Windows (98 and later),
 | |
| AIX,
 | |
| Sun/NetBSD/OpenBSD,
 | |
| IRIX,
 | |
| NAS (Network Audio Server),
 | |
| RoarAudio (Modern, multi-OS, networked Sound System),
 | |
| OpenBSD's sndio.")
 | |
|     (license license:gpl2+)
 | |
|     (home-page "http://www.xiph.org/ao/")))
 | |
| 
 | |
| (define flac
 | |
|   (package
 | |
|    (name "flac")
 | |
|    (version "1.2.1")
 | |
|    (source (origin
 | |
|             (method url-fetch)
 | |
|             (uri (string-append "http://downloads.xiph.org/releases/flac/flac-"
 | |
|                                 version ".tar.gz"))
 | |
|             (sha256
 | |
|              (base32
 | |
|               "1pry5lgzfg57pga1zbazzdd55fkgk3v5qy4axvrbny5lrr5s8dcn"))
 | |
|             (patches
 | |
|              (list (search-patch "flac-fix-memcmp-not-declared.patch")))))
 | |
|    (build-system gnu-build-system)
 | |
|    (arguments
 | |
|     `(#:parallel-tests? #f
 | |
|       ;; By default, man pages are put in PREFIX/man,
 | |
|       ;; but we want them in PREFIX/share/man.
 | |
|       #:configure-flags (list (string-append "--mandir="
 | |
|                                              (assoc-ref %outputs "out")
 | |
|                                              "/share/man"))))
 | |
|    ;; FIXME: configure also looks for xmms, input could be added once it exists
 | |
|    (inputs `(("libogg" ,libogg)))
 | |
|    (synopsis "flac free lossless audio codec")
 | |
|    (description
 | |
| "FLAC stands for Free Lossless Audio Codec, an audio format that is lossless,
 | |
| meaning that audio is compressed in FLAC without any loss in quality.")
 | |
|    (license (license:bsd-style "file://COPYING"
 | |
|                                "See COPYING in the distribution.")) ; and LGPL and GPL
 | |
|    (home-page "http://xiph.org/flac/")))
 | |
| 
 | |
| (define libkate
 | |
|   (package
 | |
|    (name "libkate")
 | |
|    (version "0.4.1")
 | |
|    (source (origin
 | |
|             (method url-fetch)
 | |
|             (uri (string-append "http://libkate.googlecode.com/files/libkate-"
 | |
|                                 version ".tar.gz"))
 | |
|             (sha256
 | |
|              (base32
 | |
|               "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4"))))
 | |
|    (build-system gnu-build-system)
 | |
|    (native-inputs `(("doxygen" ,doxygen)
 | |
|                     ("pkg-config" ,pkg-config)))
 | |
|    ;; FIXME: Add optional input liboggz
 | |
|    (inputs `(("bison" ,bison)
 | |
|              ("libogg" ,libogg)
 | |
|              ("libpng" ,libpng)
 | |
| ("python" ,python-wrapper)
 | |
|              ("zlib" ,zlib)))
 | |
|    (synopsis "kate, a karaoke and text codec for embedding in ogg")
 | |
|    (description
 | |
|     "Kate is an overlay codec, originally designed for karaoke and text,
 | |
| that can be multiplixed in Ogg. Text and images can be carried by a Kate
 | |
| stream, and animated. Most of the time, this would be multiplexed with
 | |
| audio/video to carry subtitles, song lyrics (with or without karaoke data),
 | |
| etc., but doesn't have to be.
 | |
| 
 | |
| Series of curves (splines, segments, etc.) may be attached to various
 | |
| properties (text position, font size, etc.) to create animated overlays.
 | |
| This allows scrolling or fading text to be defined. This can even be used
 | |
| to draw arbitrary shapes, so hand drawing can also be represented by a
 | |
| Kate stream.")
 | |
|    (license license:bsd-3)
 | |
|    (home-page "http://code.google.com/p/libkate/")))
 | |
| 
 | |
| (define vorbis-tools
 | |
|   (package
 | |
|    (name "vorbis-tools")
 | |
|    (version "1.4.0")
 | |
|    (source (origin
 | |
|             (method url-fetch)
 | |
|             (uri (string-append "http://downloads.xiph.org/releases/vorbis/vorbis-tools-"
 | |
|                                 version ".tar.gz"))
 | |
|             (sha256
 | |
|              (base32
 | |
|               "1g12bnh5ah08v529y72kfdz5lhvy75iaz7f9jskyby23m9dkk2d3"))))
 | |
|    (build-system gnu-build-system)
 | |
|    (inputs `(("ao" ,ao)
 | |
|              ("curl" ,curl)
 | |
|              ("flac" ,flac)
 | |
|              ("libkate" ,libkate)
 | |
|              ("libogg" ,libogg)
 | |
|              ("libvorbis" ,libvorbis)
 | |
|              ("pkg-config" ,pkg-config)
 | |
|              ("speex" ,speex)))
 | |
|    (synopsis "ogg vorbis tools")
 | |
|    (description
 | |
|     "Ogg vorbis is a non-proprietary, patent-and-royalty-free,
 | |
| general-purpose compressed audio format.
 | |
| 
 | |
| The package vorbis-tools contains
 | |
| ogg123,  an ogg vorbis command line audio player;
 | |
| oggenc,  the ogg vorbis encoder;
 | |
| oggdec,  a simple, portable command line decoder (to wav and raw);
 | |
| ogginfo, to obtain information (tags, bitrate, length, etc.) about
 | |
|          an ogg vorbis file.")
 | |
|    (license license:gpl2)
 | |
|    (home-page "http://xiph.org/vorbis/")))
 | |
| 
 | |
| (define opus
 | |
|   (package
 | |
|     (name "opus")
 | |
|     (version "1.1")
 | |
|     (source (origin
 | |
|               (method url-fetch)
 | |
|               (uri (string-append
 | |
|                     "http://downloads.xiph.org/releases/opus/opus-" version
 | |
|                     ".tar.gz"))
 | |
|               (sha256
 | |
|                (base32
 | |
|                 "158xprn2086arvdib3vbbygz7z6jqkw2nci7nlywzzwallap0wmr"))))
 | |
|     (build-system gnu-build-system)
 | |
|     (synopsis "highly versatile audio codec")
 | |
|     (description
 | |
|      "Opus is a totally open, royalty-free, highly versatile audio codec. Opus
 | |
| is unmatched for interactive speech and music transmission over the Internet,
 | |
| but is also intended for storage and streaming applications. It is
 | |
| standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which
 | |
| incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.")
 | |
|     (license license:bsd-3)
 | |
|     (home-page "http://www.opus-codec.org/")))
 |