From c87646400dbc304e3eaa6c469c11341f8f44ce88 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 22 Sep 2020 22:59:47 -0400 Subject: gnu: Add farstream. * gnu/packages/freedesktop.scm (farstream): New variable. * gnu/packages/patches/farstream-make.patch: New file. * gnu/local.mk (dist_PATCH_DATA): Add it. Signed-off-by: Julien Lepiller --- gnu/local.mk | 1 + gnu/packages/freedesktop.scm | 87 +++++++++++++++++++++++++++++++ gnu/packages/patches/farstream-make.patch | 39 ++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 gnu/packages/patches/farstream-make.patch 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 ;;; Copyright © 2020 Nicolò Balzarotti ;;; Copyright © 2020 Anders Thuné +;;; Copyright © 2020 Raghav Gururajan ;;; ;;; 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 +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 + -- cgit v1.2.3