aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/freedesktop.scm87
-rw-r--r--gnu/packages/patches/farstream-make.patch39
3 files changed, 127 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 5a79c79d6f..607f78b1f3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -953,6 +953,7 @@ dist_patch_DATA = \
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
%D%/packages/patches/extempore-unbundle-external-dependencies.patch \
%D%/packages/patches/extundelete-e2fsprogs-1.44.patch \
+ %D%/packages/patches/farstream-make.patch \
%D%/packages/patches/fastcap-mulGlobal.patch \
%D%/packages/patches/fastcap-mulSetup.patch \
%D%/packages/patches/fasthenry-spAllocate.patch \
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index cfb87178fb..6caff14cf2 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2020 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com>
+;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -71,6 +72,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphviz)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages libffi)
@@ -79,6 +81,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages m4)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
@@ -98,6 +101,90 @@
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
+(define-public farstream
+ (package
+ (name "farstream")
+ (version "0.2.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://gitlab.freedesktop.org/farstream/farstream.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1sd8syldyq6bphfdm129s3gq554vfv7vh1vcwzk48gjryf101awk"))
+ (patches
+ (search-patches "farstream-make.patch"))))
+ (build-system glib-or-gtk-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:tests? #f ; https://gitlab.freedesktop.org/farstream/farstream/-/issues/18
+ #:configure-flags
+ (list
+ "--enable-gtk-doc"
+ "--enable-glib-asserts"
+ (string-append "--with-html-dir="
+ (assoc-ref %outputs "doc")
+ "/share/gtk-doc/html"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'copy-common
+ (lambda _
+ (delete-file "autogen.sh")
+ (copy-recursively
+ (assoc-ref %build-inputs "common")
+ "common")
+ #t))
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "docs"
+ (substitute* '("libs/farstream-libs-docs.sgml"
+ "plugins/farstream-plugins-docs.sgml")
+ (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/"))))
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("common"
+ ,(origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://gitlab.freedesktop.org/gstreamer/common.git")
+ (commit "88e512ca7197a45c4114f7fa993108f23245bf50")))
+ (file-name
+ (git-file-name "common" "latest.88e512c"))
+ (sha256
+ (base32 "1nk94pnskjyngqcfb9p32g4yvf4nzpjszisw24r9azl0pawqpsn6"))))
+ ("docbook-xml" ,docbook-xml-4.1.2)
+ ("docbook-xsl" ,docbook-xsl)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
+ ("libtool" ,libtool)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)
+ ("xsltproc" ,libxslt)))
+ (inputs
+ `(("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("gupnp-igd" ,gupnp-igd)
+ ("libnice" ,libnice)))
+ (propagated-inputs
+ `(("gstreamer" ,gstreamer)
+ ("gst-plugins-bad" ,gst-plugins-bad)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-good" ,gst-plugins-good)))
+ (synopsis "The Farstream VVoIP framework")
+ (description "Farstream is a collection of GStreamer modules and libraries
+for videoconferencing.")
+ (home-page "https://www.freedesktop.org/wiki/Software/Farstream/")
+ (license license:lgpl2.1+)))
+
(define-public libglib-testing
(package
(name "libglib-testing")
diff --git a/gnu/packages/patches/farstream-make.patch b/gnu/packages/patches/farstream-make.patch
new file mode 100644
index 0000000000..6c1e9e7119
--- /dev/null
+++ b/gnu/packages/patches/farstream-make.patch
@@ -0,0 +1,39 @@
+This patch comes from upstream:
+https://gitlab.freedesktop.org/farstream/farstream/-/merge_requests/4
+
+From 54987d445ea714b467d901b7daf8c09ed0644189 Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir@freedesktop.org>
+Date: Thu, 12 Mar 2020 14:07:23 +0100
+Subject: [PATCH] build: Adapt to backwards incompatible change in GNU Make 4.3
+
+GNU Make 4.3 has a backwards incompatible change affecting the use of
+number signs or hashes (ie., #) inside function invocations. See:
+https://lists.gnu.org/archive/html/info-gnu/2020-01/msg00004.html
+
+In this case, it would expand the '\#' in the '\n\#include \"$(h)\"'
+argument to the foreach call to '\#', not '#'. This would lead to
+spurious backslashes in front of the '#include' directives in the
+generated fs-enumtypes.c file.
+
+Spotted by Ernestas Kulik.
+---
+ common-modified/gst-glib-gen.mak | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/common-modified/gst-glib-gen.mak b/common-modified/gst-glib-gen.mak
+index 14f1ba37..2247a41c 100644
+--- a/common-modified/gst-glib-gen.mak
++++ b/common-modified/gst-glib-gen.mak
+@@ -6,7 +6,8 @@
+ #glib_gen_prefix=gst_color_balance
+ #glib_gen_basename=colorbalance
+
+-enum_headers=$(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++hash:=\#
++enum_headers=$(foreach h,$(glib_enum_headers),\n$(hash)include \"$(h)\")
+
+ # these are all the rules generating the relevant files
+ $(glib_gen_basename)-enumtypes.h: $(glib_enum_headers)
+--
+GitLab
+