You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

153 lines
5.4 KiB

  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
  3. ;;;
  4. ;;; This file is part of GNU Guix.
  5. ;;;
  6. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  7. ;;; under the terms of the GNU General Public License as published by
  8. ;;; the Free Software Foundation; either version 3 of the License, or (at
  9. ;;; your option) any later version.
  10. ;;;
  11. ;;; GNU Guix is distributed in the hope that it will be useful, but
  12. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;;; GNU General Public License for more details.
  15. ;;;
  16. ;;; You should have received a copy of the GNU General Public License
  17. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  18. (define-module (gnu packages gstreamer)
  19. #:use-module ((guix licenses) #:select (lgpl2.0+))
  20. #:use-module (guix packages)
  21. #:use-module (guix download)
  22. #:use-module (guix build-system gnu)
  23. #:use-module (gnu packages)
  24. #:use-module (gnu packages bison)
  25. #:use-module (gnu packages flex)
  26. #:use-module (gnu packages glib)
  27. #:use-module (gnu packages perl)
  28. #:use-module (gnu packages pkg-config)
  29. #:use-module (gnu packages python)
  30. #:use-module (gnu packages xml))
  31. (define-public gstreamer
  32. (package
  33. (name "gstreamer")
  34. (version "1.0.10")
  35. (source
  36. (origin
  37. (method url-fetch)
  38. (uri (string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
  39. version ".tar.xz"))
  40. (sha256
  41. (base32
  42. "0c0irk85jd2cihm5pmf4zxhlpg08qpxjcqv1l9qn2n3h2gsaj2lf"))))
  43. (build-system gnu-build-system)
  44. (inputs
  45. `(("bison" ,bison)
  46. ("flex" ,flex)
  47. ("glib" ,glib)
  48. ("perl" ,perl)
  49. ("pkg-config" ,pkg-config)
  50. ("python-wrapper" ,python-wrapper)))
  51. (home-page "http://gstreamer.freedesktop.org/")
  52. (synopsis
  53. "Multimedia library")
  54. (description
  55. "GStreamer is a library for constructing graphs of media-handling
  56. components. The applications it supports range from simple Ogg/Vorbis
  57. playback, audio/video streaming to complex audio (mixing) and video
  58. (non-linear editing) processing.
  59. Applications can take advantage of advances in codec and filter technology
  60. transparently. Developers can add new codecs and filters by writing a
  61. simple plugin with a clean, generic interface.
  62. This package provides the core library and elements.")
  63. (license lgpl2.0+)))
  64. (define-public gstreamer-0.10
  65. (package (inherit gstreamer)
  66. (version "0.10.36")
  67. (source
  68. (origin
  69. (method url-fetch)
  70. (uri (string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
  71. version ".tar.xz"))
  72. (sha256
  73. (base32
  74. "1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci"))
  75. (patches
  76. (list (search-patch "gstreamer-0.10-bison3.patch")
  77. (search-patch "gstreamer-0.10-silly-test.patch")))))
  78. (propagated-inputs
  79. `(("libxml2" ,libxml2)))
  80. (inputs
  81. `(("bison" ,bison)
  82. ("flex" ,flex)
  83. ("glib" ,glib)
  84. ("perl" ,perl)
  85. ("pkg-config" ,pkg-config)
  86. ("python" ,python-2)))))
  87. (define-public gst-plugins-base
  88. (package
  89. (name "gst-plugins-base")
  90. (version "1.0.10")
  91. (source
  92. (origin
  93. (method url-fetch)
  94. (uri (string-append "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
  95. version ".tar.xz"))
  96. (sha256
  97. (base32
  98. "1s4pphbb5kpdh4rrmb8rala4sp499k4by59925k15xiz58xyhm4p"))))
  99. (build-system gnu-build-system)
  100. ;; FIXME: Add more dependencies for further plugins.
  101. (inputs
  102. `(("glib" ,glib)
  103. ("gstreamer" ,gstreamer)
  104. ("pkg-config" ,pkg-config)
  105. ("python-wrapper" ,python-wrapper)))
  106. (arguments
  107. `(#:tests? #f))
  108. ;; All tests pass except for one:
  109. ;; Running suite(s): pbutils library
  110. ;; 85%: Checks: 7, Failures: 1, Errors: 0
  111. ;; libs/pbutils.c:522:F:general:test_pb_utils_install_plugins:0: gst_install_plugins_sync() failed ;; with unexpected ret 201, which is neither HELPER_MISSING nor 1
  112. ;; FAIL: libs/pbutils
  113. ;; According to the documentation, "gst_install_plugins_sync (...)
  114. ;; should almost never be used".
  115. (home-page "http://gstreamer.freedesktop.org/")
  116. (synopsis
  117. "Plugins for the gstreamer multimedia library")
  118. (description
  119. "GStreamer is a library for constructing graphs of media-handling
  120. components. The applications it supports range from simple Ogg/Vorbis
  121. playback, audio/video streaming to complex audio (mixing) and video
  122. (non-linear editing) processing.
  123. Applications can take advantage of advances in codec and filter technology
  124. transparently. Developers can add new codecs and filters by writing a
  125. simple plugin with a clean, generic interface.
  126. This package provides an essential exemplary set of elements.")
  127. (license lgpl2.0+)))
  128. (define-public gst-plugins-base-0.10
  129. (package (inherit gst-plugins-base)
  130. (version "0.10.36")
  131. (source
  132. (origin
  133. (method url-fetch)
  134. (uri (string-append "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
  135. version ".tar.xz"))
  136. (sha256
  137. (base32
  138. "0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z"))))
  139. (inputs
  140. `(("glib" ,glib)
  141. ("gstreamer" ,gstreamer-0.10)
  142. ("pkg-config" ,pkg-config)
  143. ("python" ,python-2)))))