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 <julien@lepiller.eu>
This commit is contained in:
Raghav Gururajan 2020-09-22 22:59:47 -04:00 committed by Julien Lepiller
parent 7bc5c0f0e0
commit c87646400d
No known key found for this signature in database
GPG Key ID: 53D457B2D636EE82
3 changed files with 127 additions and 0 deletions

View File

@ -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 \

View File

@ -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")

View File

@ -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