unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / Atom feed
From: Raghav Gururajan <raghavgururajan@disroot.org>
To: guix-devel@gnu.org
Subject: Re: [OUTREACHY]: Integration of desktop environments into GNU Guix
Date: Fri, 19 Jun 2020 19:37:44 -0400
Message-ID: <b8c0ab3a-857f-c4f0-f614-936e9ffd1e28@disroot.org> (raw)
In-Reply-To: <73cb94f7-d7b4-ec0a-5942-e701a18bdf5c@disroot.org>


[-- Attachment #1.1.1: Type: text/plain, Size: 11880 bytes --]

@Danny

Please find the attached patches.

@Others

Please find the following git log.

commit a412459054b7ad00738dc66cb2035638f9c11b3c
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jun 19 19:11:28 2020 -0400

    gnu: gst-libav: Update package definition.

    * gnu/packages/gstreamer.scm (gst-libav): Update package definition.
    [arguments]<#:phases>['patch-docbook-xml]: New phase.
    [native-inputs]: Add docbook-xml, perl and ruby.
    [inputs]: Remove gst-plugins-base, orc and zlib.
    [propagated-inputs]: Add gstreamer and gst-plugins-base.
    [synopsis]: Modify.
    [description]: Modify.
    [license]: Change from gpl2+ to lgpl2.0+.

commit 0109580032805d61700513aa5aee0891fed96b3c
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jun 19 18:53:51 2020 -0400

    gnu: gst-plugins-ugly: Update package definition.

    * gnu/packages/gstreamer.scm (gst-plugins-ugly): Update package
definition.
    [arguments]<#:glib-or-gtk?>: New argument.
    <#:phases>['patch-docbook-xml]: New phase.
    ['pre-check]: New phase.
    [native-inputs]: Add docbook-xml, gettext-minimal,
gsettings-desktop-schemas,
    perl and xorg-server-for-tests.
    [inputs]: Add glib, glib-networking and opencore-amr. Remove
gst-plugins-base.
    [propagated-inputs]: Add gstreamer and gst-plugins-base.
    [synopsis]: Modify.
    [description]: Modify.

commit 8d47e7bc65fa241e761e8a723a147f9c097f66d2
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jun 19 18:48:19 2020 -0400

    gnu: gst-plugins-bad: Update package definition.

    * gnu/packages/gstreamer.scm (gst-plugins-base): Update package
definition.
    [outputs]: New output 'doc'.
    [arguments]<#:glib-or-gtk?>: New argument.
    <#:phases>['patch-docbook-xml]: New phase.
    ['pre-check]: New phase.
    ['move-doc]: New phase.
    [native-inputs]: Add docbook-xml, gettext-minimal,
gsettings-desktop-schemas,
    perl, libxml2 and xorg-server-for-tests.
    [inputs]: Add bzip2, cairo, ccextractor, chromaprint, directfb, faac,
    flite, glib, glib-networking, glu, gsm, iqa, lcms, libaom, libbs2b,
libdc1394,
    libdca, libde265, libdrm, libexif, libfdk, libgme, libmfx, libmms,
libmpcdec,
    libnice, libofa, libopenmpt, libtiff, libva, libx11, libxcb,
libxext, libxshm, lilv,
    lv2, mjpegtools, nettle, opencv, openh264, openni2, pango, rtmpdump,
    sbc, sctp, spandsp, srt, svt-hevc, transcode, v4l-utils, vo-aacenc,
vo-amrwbenc,
    vulkan-headers, vulkan-loader, webrtc-audio-processing, wildmidi,
    wpebackend-fdo, zbar and zxing-cpp.
    [propagated-inputs]: Add gstreamer and gst-plugins-base.
    [synopsis]: Modify.
    [description]: Modify.

commit 5970d09c8db16c565ccdf9e3964829affdab2f6c
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jun 18 21:05:20 2020 -0400

    gnu: Add openni2.

    * gnu/packages/gstreamer.scm (openni2): New variable.

commit f16e64e5afee6d70814cbf9b5730cb1b00f7589f
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jun 18 20:38:35 2020 -0400

    gnu: Add libnice.

    * gnu/packages/networking.scm (libnice): New variable.

commit 3e032569d0dfe0b2f5b184b65f5534532abda5f3
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jun 18 12:33:53 2020 -0400

    gnu: Add rtmpdump.

    * gnu/packages/networking.scm (rtmpdump): New variable.

commit 4fdfc0999a8f16d563a6651875859973af798b1c
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jun 18 12:29:16 2020 -0400

    gnu: Add iqa.

    * gnu/packages/image.scm (iqa): New variable.

commit bf481717c8a0b306c532eb5d3cc170c1581f4324
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jun 18 10:04:15 2020 -0400

    gnu: Add zxing-cpp.

    * gnu/packages/aidc.scm (zxing-cpp): New variable.

commit b34d5c89db9df4b63906e6b716610de4d423efe1
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jun 18 09:25:50 2020 -0400

    gnu: Add wildmidi.

    * gnu/packages/audio.scm (wildmidi): New variable.

commit 6dc93ef31c2ecca66182222638a1d92c790c3bf9
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jun 18 06:55:01 2020 -0400

    gnu: Add webrtc-audio-processing.

    * gnu/packages/audio.scm (webrtc-audio-processing): New variable.

commit 3f49b0393cb26eb88fe9efc0f25853a3a62de36b
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jun 18 06:14:20 2020 -0400

    gnu: Add vo-aacenc.

    * gnu/packages/audio.scm (vo-aacenc): New variable.

commit 9244d35ef12b4bd975f2bcd3a5e485aaa8bf7d20
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jun 17 16:50:58 2020 -0400

    gnu: Add transcode.

    * gnu/packages/video.scm (transcode): New variable.

commit fca9377762504f4fb70bc1427335dafbed4b0fe5
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jun 17 15:07:02 2020 -0400

    gnu: Add tinyalsa.

    * gnu/packages/audio.scm (tinyalsa): New variable.

commit 01e1f8eeb2688c960dfa861945bd4691e598f8b0
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jun 17 13:22:49 2020 -0400

    gnu: Add svt-hevc.

    * gnu/packages/video.scm (svt-hevc): New variable.

commit 3ba833d7d6bbed44cfb44429da56f84f6ba36cdf
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jun 17 13:00:23 2020 -0400

    gnu: Add srt.

    * gnu/packages/networking.scm (srt): New variable.

commit a24c295775edcf71916f7c6d987c74abcf9e3fd3
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jun 17 09:58:49 2020 -0400

    gnu: Add lksctp-tools.

    * gnu/packages/networking.scm (lksctp-tools): New variable.

commit 950e20952825170d3d24fae976d99d9bbe06dd6b
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jun 17 08:03:35 2020 -0400

    gnu: Add opensles.

    * gnu/packages/audio.scm (opensles): New variable.

commit 46e168f1399884358d355e5bf6f1fd51f8b87c70
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Tue Jun 16 13:51:51 2020 -0400

    gnu: Add libopenmpt.

    * gnu/packages/audio.scm (libopenmpt): New variable.

commit 9fd0ab99df6a385e337cf29e06f9727ba3d335af
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Tue Jun 16 12:21:56 2020 -0400

    gnu: Add libofa.

    * gnu/packages/audio.scm (libofa): New variable.

commit 35f22cc61fe57399bcb8ebadf68e6e82e6e83916
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Mon Jun 15 02:19:52 2020 -0400

    gnu: Add mediasdk.

    * gnu/packages/video.scm (mediasdk): New variable.

commit ae87e89c55247e874eafbf27d2b60a4b5328eee2
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Jun 14 06:51:43 2020 -0400

    gnu: Add mjpegtools.

    * gnu/packages/video.scm (mjpegtools): New variable.

commit 6a404e468476632362c60c5ef2e7a2a943d03c79
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Jun 14 06:46:31 2020 -0400

    gnu: Add libquicktime.

    * gnu/packages/video.scm (libquicktime): New variable.

commit 8017e0ff6b62d38fa2fa5d1079c7109bb1f7b73e
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Jun 14 06:30:17 2020 -0400

    gnu: Add schroedinger.

    * gnu/packages/video.scm (schroedinger): New variable.

commit 2f10cf64ba03189e3a0deac94cd171b951a0838c
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Jun 14 05:29:52 2020 -0400

    gnu: Add libmms.

    * gnu/packages/video.scm (libmms): New variable.

commit 60148b1ebfeebe0776a5c49d32a47aba5f038848
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Jun 14 05:14:58 2020 -0400

    gnu: Add libde265.

    * gnu/packages/video.scm (libde265): New variable.

commit e77c1722dd4f69f9743ebd1d5c25f76cfc5aad5f
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Jun 14 05:03:08 2020 -0400

    gnu: Add libvideogfx.

    * gnu/packages/video.scm (libvideogfx): New variable.

commit 74c3d4dbc13b8b014991578f08d1b62cc43c2b66
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Jun 14 02:39:41 2020 -0400

    gnu: Add flite.

    * gnu/packages/speech.scm (flite): New variable.

commit d258adea8766a7b2c5670b73cf3f70aa4599876e
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Jun 14 01:39:05 2020 -0400

    gnu: faad2: Update to 2.8.8.

    * gnu/packages/audio.scm (faad2): Update package definition.
    [version]: Update to 2.8.8.
    [source]<origin>[sha256]: Modify base32.
    [synopsis]: Modify.
    [description]: Modify.
    [license]: Update to gpl2+.

commit ee070b29cea93c7ec4640353af173521f5f9998b
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Jun 14 01:31:46 2020 -0400

    gnu: Add faac.

    * gnu/packages/audio.scm (faac): New variable.

commit 286f4117f2802dccd5fc13158365fca88de8724a
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jun 13 10:45:16 2020 -0400

    gnu: Add directfb.

    * gnu/packages/graphics.scm (directfb): New variable.

commit b7e2cd73adc1a1719c1d8034174b064c1811aac7
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jun 13 09:39:04 2020 -0400

    gnu: Add libtimidity.

    * gnu/packages/audio.scm (libtimidity): New variable.

commit ac054a47a0d8cee58fd4d459de200b89bea82c0d
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jun 13 09:02:06 2020 -0400

    gnu: Add flux.

    * gnu/packages/graphics.scm (flux): New variable.

commit 5a66322fea248f4f73b0b0e2f47d0a6dea446560
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jun 13 09:00:10 2020 -0400

    gnu: Add tslib.

    * gnu/packages/video.scm (tslib): New variable.

commit 62f92baef8eee07452d83cd30cd8a65a2048cb8e
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jun 13 08:01:01 2020 -0400

    gnu: Add libmpeg3.

    * gnu/packages/video.scm (libmpeg3): New variable.

commit a5201677879767e998b1fd80b284b64b9510d9d2
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jun 13 04:21:31 2020 -0400

    gnu: Add libdc1394.

    * gnu/packages/gstreamer.scm (libdc1394): New variable.

commit 9cabd4e0c17539573739a23c25ebcd7cb2e0e896
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jun 12 13:52:39 2020 -0400

    gnu: Add ccextractor.

    * gnu/packages/gstreamer.scm (ccextractor): New variable.

commit 7f949ab2cbbbbad2f4173c92064b4e723a22af75
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jun 12 12:37:16 2020 -0400

    gnu: tesseract-ocr: Propagate leptonica.

    * gnu/packages/ocr.scm (tesseract-ocr) [inputs]: Move leptonica to ...
    [propagated-inputs]: ... here.

commit 93cb7646698469e9f71efaf6036eaf1a0590a212
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jun 12 10:00:06 2020 -0400

    gnu: Add nng.

    * gnu/packages/networking.scm (nng): New variable.

commit 5415678834da13a496c96bc777fd624f48293a0b
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jun 12 09:10:24 2020 -0400

    gnu: Add nanomsg.

    * gnu/packages/networking.scm (nanomsg): New variable.

commit f2619dde702d145ec64c77a2064080ccfedff570
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jun 12 08:58:06 2020 -0400

    gnu: Add asciidoctor.

    * gnu/packages/documentation.scm (asciidoctor): New variable.

commit 30c58daadf94d37760c07963eb6e4791dc02b7be
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jun 12 08:36:11 2020 -0400

    gnu: Add ruby-slim.

    * gnu/packages/ruby.scm (ruby-slim): New variable.

[-- Attachment #1.1.2: 0018-gnu-Add-ruby-slim.patch --]
[-- Type: text/x-patch, Size: 1689 bytes --]

From 30c58daadf94d37760c07963eb6e4791dc02b7be Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 12 Jun 2020 08:36:11 -0400
Subject: [PATCH 18/58] gnu: Add ruby-slim.

* gnu/packages/ruby.scm (ruby-slim): New variable.
---
 gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 94b16957e0..b02e24d930 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9579,3 +9579,29 @@ which snapshots to consider and what files to include.")
 defined in @file{.travis.yml} on your local machine, using @code{rvm},
 @code{rbenv}, or @code{chruby} to test different versions of Ruby.")
     (license license:expat)))
+
+(define-public ruby-slim
+  (package
+    (name "ruby-slim")
+    (version "4.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/slim-template/slim.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "19118dddf6n6vwzl130qgqj61wr280qrh5y9hjhmym2da3q7m90c"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (inputs
+     `(("temple" ,ruby-temple)
+       ("tilt" ,ruby-tilt)))
+    (synopsis "Lightweight templating engine for Ruby")
+    (description "Slim is a Ruby template language whose goal is reduce the
+syntax to the essential parts without becoming cryptic.")
+    (home-page "http://slim-lang.com/")
+    (license license:expat)))
-- 
2.26.2


[-- Attachment #1.1.3: 0019-gnu-Add-asciidoctor.patch --]
[-- Type: text/x-patch, Size: 11272 bytes --]

From f2619dde702d145ec64c77a2064080ccfedff570 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 12 Jun 2020 08:58:06 -0400
Subject: [PATCH 19/58] gnu: Add asciidoctor.

* gnu/packages/documentation.scm (asciidoctor): New variable.
---
 gnu/packages/documentation.scm | 177 +++++++++++++++++++++------------
 1 file changed, 114 insertions(+), 63 deletions(-)

diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index dcacdb456f..bc9f5838dc 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -27,11 +27,13 @@
 
 (define-module (gnu packages documentation)
   #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system ruby)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
@@ -43,9 +45,58 @@
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages xml))
 
+(define-public asciidoctor
+  (package
+    (name "asciidoctor")
+    (version "2.0.10")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/asciidoctor/asciidoctor.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0jaxpnsdnx3qyjw5p2lsx1swny12q1i2vxw2kgdp4vlsyjv95z95"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-failing-tests
+           (lambda _
+             (with-directory-excursion "test"
+               ;; These tests require network access.
+               (for-each delete-file
+                         (list
+                          "blocks_test.rb"
+                          "substitutions_test.rb")))
+             #t)))))
+    (inputs
+     `(("asciimath" ,ruby-asciimath)
+       ("coderay" ,ruby-coderay)
+       ("concurrent" ,ruby-concurrent)
+       ("cucumber" ,ruby-cucumber)
+       ("erubis" ,ruby-erubis)
+       ("haml" ,ruby-haml)
+       ("minitest" ,ruby-minitest)
+       ("nokogiri" ,ruby-nokogiri)
+       ("rake" ,ruby-rake)
+       ("rouge" ,ruby-rouge)
+       ("rspec-expectations" ,ruby-rspec-expectations)
+       ("slim" ,ruby-slim)
+       ("tilt" ,ruby-tilt)))
+    (synopsis "Text processor and publishing toolchain")
+    (description "Asciidoctor is a fast text processor and publishing toolchain
+for converting AsciiDoc content to HTML5, DocBook, PDF, and other formats.")
+    (home-page "https://asciidoctor.org/")
+    (license license:expat)))
+
 (define-public asciidoc
   (package
     (name "asciidoc")
@@ -72,38 +123,38 @@
          ;; "--no-xmllint" option, a missing "xsltproc" binary.
          ;; The following phase enables asciidoc to find some of them.
          (add-before 'configure 'set-xml-binary-paths
-                     (lambda* (#:key inputs #:allow-other-keys)
-                       (let* ((libxml2 (assoc-ref inputs "libxml2"))
-                              (xmllint (string-append libxml2 "/bin/xmllint"))
-                              (libxslt (assoc-ref inputs "libxslt"))
-                              (xsltproc (string-append libxslt "/bin/xsltproc")))
-                         (substitute* "a2x.py"
-                           (("XMLLINT = 'xmllint'")
-                            (string-append "XMLLINT = '" xmllint "'"))
-                           (("XSLTPROC = 'xsltproc'")
-                            (string-append "XSLTPROC = '" xsltproc "'")))
-                         #t)))
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((libxml2 (assoc-ref inputs "libxml2"))
+                    (xmllint (string-append libxml2 "/bin/xmllint"))
+                    (libxslt (assoc-ref inputs "libxslt"))
+                    (xsltproc (string-append libxslt "/bin/xsltproc")))
+               (substitute* "a2x.py"
+                 (("XMLLINT = 'xmllint'")
+                  (string-append "XMLLINT = '" xmllint "'"))
+                 (("XSLTPROC = 'xsltproc'")
+                  (string-append "XSLTPROC = '" xsltproc "'")))
+               #t)))
          ;; Make asciidoc use the local docbook-xsl package instead of fetching
          ;; it from the internet at run-time.
          (add-before 'install 'make-local-docbook-xsl
-                     (lambda* (#:key inputs #:allow-other-keys)
-                       (substitute* (find-files "docbook-xsl" ".*\\.xsl$")
-                         (("xsl:import href=\"http://docbook.sourceforge.net/\
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* (find-files "docbook-xsl" ".*\\.xsl$")
+               (("xsl:import href=\"http://docbook.sourceforge.net/\
 release/xsl/current")
-                          (string-append
-                           "xsl:import href=\""
-                           (string-append (assoc-ref inputs "docbook-xsl")
-                                          "/xml/xsl/docbook-xsl-"
-                                          ,(package-version docbook-xsl)))))
-                       #t))
+                (string-append
+                 "xsl:import href=\""
+                 (string-append (assoc-ref inputs "docbook-xsl")
+                                "/xml/xsl/docbook-xsl-"
+                                ,(package-version docbook-xsl)))))
+             #t))
          ;; Do the same for docbook-xml.
          (add-before 'install 'make-local-docbook-xml
-                     (lambda* (#:key inputs #:allow-other-keys)
-                       (substitute* "docbook45.conf"
-                         (("http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd")
-                          (string-append (assoc-ref inputs "docbook-xml")
-                                         "/xml/dtd/docbook/docbookx.dtd")))
-                       #t)))))
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "docbook45.conf"
+               (("http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd")
+                (string-append (assoc-ref inputs "docbook-xml")
+                               "/xml/dtd/docbook/docbookx.dtd")))
+             #t)))))
     (native-inputs
      `(("autoconf" ,autoconf)))
     (inputs `(("python" ,python-2)
@@ -126,26 +177,26 @@ markup) can be customized and extended by the user.")
 
 (define-public asciidoc-py3
   (package (inherit asciidoc)
-    (name "asciidoc-py3")
-    (version "9.0.0rc1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/asciidoc/asciidoc-py3/")
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1v815dgab62970m9cr2crwbh4kvlzk6pv3hk4bzv6gfa4lbwfkfl"))))
-    (build-system gnu-build-system)
-    (native-inputs
-     `(("autoconf" ,autoconf)))
-    (inputs
-     `(("python" ,python)
-       ("docbook-xml" ,docbook-xml)
-       ("docbook-xsl" ,docbook-xsl)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)))))
+           (name "asciidoc-py3")
+           (version "9.0.0rc1")
+           (source (origin
+                     (method git-fetch)
+                     (uri (git-reference
+                           (url "https://github.com/asciidoc/asciidoc-py3/")
+                           (commit version)))
+                     (file-name (git-file-name name version))
+                     (sha256
+                      (base32
+                       "1v815dgab62970m9cr2crwbh4kvlzk6pv3hk4bzv6gfa4lbwfkfl"))))
+           (build-system gnu-build-system)
+           (native-inputs
+            `(("autoconf" ,autoconf)))
+           (inputs
+            `(("python" ,python)
+              ("docbook-xml" ,docbook-xml)
+              ("docbook-xsl" ,docbook-xsl)
+              ("libxml2" ,libxml2)
+              ("libxslt" ,libxslt)))))
 
 (define-public doxygen
   (package
@@ -153,17 +204,17 @@ markup) can be customized and extended by the user.")
     (version "1.8.17")
     (home-page "http://www.doxygen.nl/")
     (source (origin
-             (method url-fetch)
-             (uri (list (string-append home-page "files/doxygen-"
-                                       version ".src.tar.gz")
-                        (string-append "mirror://sourceforge/doxygen/rel-"
-                                       version "/doxygen-" version
-                                       ".src.tar.gz")))
-             (sha256
-              (base32
-               "16dmv0gm1x8rvbm82fmjvi213q8fxqxinm75pcf595flya59ific"))
-             (patches (search-patches "doxygen-test.patch"
-                                      "doxygen-1.8.17-runtests.patch"))))
+              (method url-fetch)
+              (uri (list (string-append home-page "files/doxygen-"
+                                        version ".src.tar.gz")
+                         (string-append "mirror://sourceforge/doxygen/rel-"
+                                        version "/doxygen-" version
+                                        ".src.tar.gz")))
+              (sha256
+               (base32
+                "16dmv0gm1x8rvbm82fmjvi213q8fxqxinm75pcf595flya59ific"))
+              (patches (search-patches "doxygen-test.patch"
+                                       "doxygen-1.8.17-runtests.patch"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("bison" ,bison)
@@ -184,12 +235,12 @@ markup) can be customized and extended by the user.")
        #:test-target "tests"
        #:phases (modify-phases %standard-phases
                   (add-before 'configure 'patch-sh
-                              (lambda* (#:key inputs #:allow-other-keys)
-                                (substitute* "src/portable.cpp"
-                                  (("/bin/sh")
-                                   (string-append
-                                    (assoc-ref inputs "bash") "/bin/sh")))
-                                #t)))))
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (substitute* "src/portable.cpp"
+                        (("/bin/sh")
+                         (string-append
+                          (assoc-ref inputs "bash") "/bin/sh")))
+                      #t)))))
     (synopsis "Generate documentation from annotated sources")
     (description "Doxygen is the de facto standard tool for generating
 documentation from annotated C++ sources, but it also supports other popular
-- 
2.26.2


[-- Attachment #1.1.4: 0020-gnu-Add-nanomsg.patch --]
[-- Type: text/x-patch, Size: 1789 bytes --]

From 5415678834da13a496c96bc777fd624f48293a0b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 12 Jun 2020 09:10:24 -0400
Subject: [PATCH 20/58] gnu: Add nanomsg.

* gnu/packages/networking.scm (nanomsg): New variable.
---
 gnu/packages/networking.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index f106d2bf72..6ebd7f44ed 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -128,6 +128,36 @@
   #:use-module (gnu packages xml)
   #:use-module (ice-9 match))
 
+(define-public nanomsg
+  (package
+    (name "nanomsg")
+    (version "1.1.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/nanomsg/nanomsg.git")
+         (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "01ddfzjlkf2dgijrmm3j3j8irccsnbgfvjcnwslsfaxnrmrq5s64"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-DNN_ENABLE_COVERAGE=ON")))
+    (native-inputs
+     `(("asciidoctor" ,asciidoctor)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Scalable socket library")
+    (description "Nanomsg is a socket library that provides several common
+communication patterns.  It aims to make the networking layer fast, scalable,
+and easy to use.  Implemented in C, it works on a wide range of operating
+systems with no further dependencies.")
+    (home-page "https://nanomsg.org/")
+    (license (license:non-copyleft "file://COPYING"))))
+
 (define-public blueman
   (package
     (name "blueman")
-- 
2.26.2


[-- Attachment #1.1.5: 0021-gnu-Add-nng.patch --]
[-- Type: text/x-patch, Size: 2851 bytes --]

From 93cb7646698469e9f71efaf6036eaf1a0590a212 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 12 Jun 2020 10:00:06 -0400
Subject: [PATCH 21/58] gnu: Add nng.

* gnu/packages/networking.scm (nng): New variable.
---
 gnu/packages/networking.scm | 46 +++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 6ebd7f44ed..339aa9ab38 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -118,6 +118,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages samba)
   #:use-module (gnu packages serialization)
+  #:use-module (gnu packages shells)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages textutils)
@@ -158,6 +159,51 @@ systems with no further dependencies.")
     (home-page "https://nanomsg.org/")
     (license (license:non-copyleft "file://COPYING"))))
 
+(define-public nng
+  (package
+    (name "nng")
+    (version "1.3.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/nanomsg/nng.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "042kmqzvdhv8fqmjr9kyi7rirm6akmpidfav6j14zhrab221n06j"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-DNNG_ENABLE_COVERAGE=ON"
+        "-DNNG_ENABLE_TLS=ON")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             ;; These tests require network access.
+             (substitute* "tests/CMakeLists.txt"
+               (("add_nng_test1\\(httpclient 60 NNG_SUPP_HTTP\\)") "")
+               (("add_nng_test1\\(resolv 10 NNG_STATIC_LIB\\)") "")
+               (("add_nng_test\\(tls 60\\)") ""))
+             #t)))))
+    (native-inputs
+     `(("ksh" ,oksh)))
+    (inputs
+     `(("mbedtls" ,mbedtls-apache)))
+    (propagated-inputs
+     `(("nanomsg" ,nanomsg)))           ; For backward compatibility
+    (synopsis "Lightweight messaging library")
+    (description "NNG project is a rewrite of the scalability protocols library
+known as libnanomsg, and adds significant new capabilities, while retaining
+compatibility with the original.  It is a lightweight, broker-less library,
+offering a simple API to solve common recurring messaging problems, such as
+publish/subscribe, RPC-style request/reply, or service discovery.")
+    (home-page "https://nng.nanomsg.org/")
+    (license license:expat)))
+
 (define-public blueman
   (package
     (name "blueman")
-- 
2.26.2


[-- Attachment #1.1.6: 0022-gnu-tesseract-ocr-Propagate-leptonica.patch --]
[-- Type: text/x-patch, Size: 903 bytes --]

From 7f949ab2cbbbbad2f4173c92064b4e723a22af75 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 12 Jun 2020 12:37:16 -0400
Subject: [PATCH 22/58] gnu: tesseract-ocr: Propagate leptonica.

* gnu/packages/ocr.scm (tesseract-ocr) [inputs]: Move leptonica to ...
[propagated-inputs]: ... here.
---
 gnu/packages/ocr.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/ocr.scm b/gnu/packages/ocr.scm
index dc690f3cef..b4bdb99a72 100644
--- a/gnu/packages/ocr.scm
+++ b/gnu/packages/ocr.scm
@@ -65,7 +65,7 @@ it produces text in 8-bit or UTF-8 formats.")
        (sha256
         (base32 "0h1x4z1h86n2gwknd0wck6gykkp99bmm02lg4a47a698g4az6ybv"))))
     (build-system gnu-build-system)
-    (inputs
+    (propagated-inputs
      `(("leptonica" ,leptonica)))
     (arguments
      '(#:configure-flags
-- 
2.26.2


[-- Attachment #1.1.7: 0023-gnu-Add-ccextractor.patch --]
[-- Type: text/x-patch, Size: 2959 bytes --]

From 9cabd4e0c17539573739a23c25ebcd7cb2e0e896 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 12 Jun 2020 13:52:39 -0400
Subject: [PATCH 23/58] gnu: Add ccextractor.

* gnu/packages/gstreamer.scm (ccextractor): New variable.
---
 gnu/packages/gstreamer.scm | 50 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 111d812c14..629136d916 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -30,6 +30,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
   #:use-module (guix utils)
@@ -63,6 +64,7 @@
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages qt)
@@ -81,6 +83,54 @@
   #:use-module (gnu packages assembly)
   #:use-module (gnu packages xml))
 
+(define-public ccextractor
+  (package
+    (name "ccextractor")
+    (version "0.88")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/CCExtractor/ccextractor.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1sya45hvv4d46bk7541yimmafgvgyhkpsvwfz9kv6pm4yi1lz6nb"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        "-DWITH_FFMPEG=ON"
+        "-DWITH_OCR=ON"
+        ;; XXX: NanoMsg libraries are not being detected.
+        ;; "-DWITH_SHARING=ON"
+        "-DWITH_HARDSUBX=ON")
+       #:phases
+       (modify-phases %standard-phases
+         ;; The package is in a sub-dir of this repo.
+         (add-after 'unpack 'chdir
+           (lambda _
+             (chdir "src")
+             #t)))))
+    (native-inputs
+     `(("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("ffmeg" ,ffmpeg-3.4)
+       ;; XXX: NanoMsg libraries are not being detected.
+       ;; ("libnanomsg" ,nanomsg)
+       ("ocr" ,tesseract-ocr)
+       ("zlib" ,zlib)))
+    (synopsis "Closed Caption Extractor")
+    (description "CCExtractor is a tool that analyzes video files and produces
+independent subtitle files from the closed captions data.  It is portable, small,
+and very fast.")
+    (home-page "https://www.ccextractor.org/")
+    (license license:gpl2+)))
+
 (define-public libvisual
   (package
     (name "libvisual")
-- 
2.26.2


[-- Attachment #1.1.8: 0024-gnu-Add-libdc1394.patch --]
[-- Type: text/x-patch, Size: 2437 bytes --]

From a5201677879767e998b1fd80b284b64b9510d9d2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 13 Jun 2020 04:21:31 -0400
Subject: [PATCH 24/58] gnu: Add libdc1394.

* gnu/packages/gstreamer.scm (libdc1394): New variable.
---
 gnu/packages/gstreamer.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 629136d916..3c79f9bf16 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -44,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freedesktop)
@@ -83,6 +84,40 @@
   #:use-module (gnu packages assembly)
   #:use-module (gnu packages xml))
 
+(define-public libdc1394
+  (package
+    (name "libdc1394")
+    (version "2.2.6")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append "https://sourceforge.net/projects/" name "/files/"
+                              name "-2" "/" version "/" name "-" version ".tar.gz"))
+              (sha256
+               (base32 "1v8gq54n1pg8izn7s15yylwjf8r1l1dmzbm2yvf6pv2fmb4mz41b"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glu" ,glu)
+       ("libraw1394" ,libraw1394)
+       ("libusb" ,libusb)
+       ("libxv" ,libxv)
+       ("linux-headers" ,linux-libre-headers)
+       ("mesa" ,mesa)
+       ("sdl" ,sdl)
+       ("v4l" ,v4l-utils)))
+    (synopsis "1394-Based Digital Camera Control Library")
+    (description "LibDC1394 is a library that provides functionality to control
+any camera that conforms to the 1394-Based Digital Camera Specification written
+by the 1394 Trade Association.  It utilizes the lowlevel functionality provided
+by libraw1394 to communicate with the camera.  It also uses the video1394 kernel
+module for the DMA capture of the video flow.")
+    (home-page "https://damien.douxchamps.net/ieee1394/libdc1394/")
+    (license license:lgpl2.0+)))
+
 (define-public ccextractor
   (package
     (name "ccextractor")
-- 
2.26.2


[-- Attachment #1.1.9: 0025-gnu-Add-libmpeg3.patch --]
[-- Type: text/x-patch, Size: 2082 bytes --]

From 62f92baef8eee07452d83cd30cd8a65a2048cb8e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 13 Jun 2020 08:01:01 -0400
Subject: [PATCH 25/58] gnu: Add libmpeg3.

* gnu/packages/video.scm (libmpeg3): New variable.
---
 gnu/packages/video.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 152f356914..ae2fbcf12b 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -167,6 +167,39 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public libmpeg3
+  (package
+    (name "libmpeg3")
+    (version "1.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sourceforge.net/projects/heroines/files/"
+                       "releases/081108/" name "-" version "-src.tar.bz2"))
+       (sha256
+        (base32 "1i53vv0wm5qfwgg1z7j9g14s6c7gxxkiy4vbdkq3lijjyyz50vv5"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-install-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (string-append (assoc-ref outputs "out"))))
+               (mkdir-p (string-append out "/bin"))
+               (substitute* "Makefile"
+                 (("DST=/usr/bin")
+                  (string-append "DST=" out "/bin")))
+               #t))))))
+    (synopsis "Advanced MPEG editing and manipulation library")
+    (description "Libmpeg3 decodes MP2, MP3, AC3, MPEG-1 video, MPEG-2 video,
+and DVD footage in a single library.  It supports many esoteric features like
+parallel video decoding, frame-accurate editing, YUV 4:2:2, and ATSC transport
+stream decoding")
+    (home-page "http://heroinewarrior.com/libmpeg3.php")
+    (license license:gpl2+)))
+
 (define-public aalib
   (package
     (name "aalib")
-- 
2.26.2


[-- Attachment #1.1.10: 0026-gnu-Add-tslib.patch --]
[-- Type: text/x-patch, Size: 1732 bytes --]

From 5a66322fea248f4f73b0b0e2f47d0a6dea446560 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 13 Jun 2020 09:00:10 -0400
Subject: [PATCH 26/58] gnu: Add tslib.

* gnu/packages/video.scm (tslib): New variable.
---
 gnu/packages/video.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ae2fbcf12b..1fd4e2c010 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -167,6 +167,37 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public tslib
+  (package
+    (name "tslib")
+    (version "1.21")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/libts/tslib.git")
+         (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1ph51vpfp92rpa2vs6wkz1b1pcs3z334p1i33sprsi8mjlwvkbzc"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("linux-headers" ,linux-libre-headers)
+       ("sdl" ,sdl)))
+    (synopsis "Touchscreen access library")
+    (description "TSLib is a cross-platform library that provides access to
+touchscreen devices and the ability to apply filters to their input events.")
+    (home-page "http://www.tslib.org/")
+    (license license:lgpl2.1+)))
+
 (define-public libmpeg3
   (package
     (name "libmpeg3")
-- 
2.26.2


[-- Attachment #1.1.11: 0027-gnu-Add-flux.patch --]
[-- Type: text/x-patch, Size: 2487 bytes --]

From ac054a47a0d8cee58fd4d459de200b89bea82c0d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 13 Jun 2020 09:02:06 -0400
Subject: [PATCH 27/58] gnu: Add flux.

* gnu/packages/graphics.scm (flux): New variable.
---
 gnu/packages/graphics.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 664e3fab45..e1fb49d611 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages ghostscript)
@@ -61,6 +62,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages jemalloc)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -78,6 +80,7 @@
   #:use-module (gnu packages video)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xdisorg)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
@@ -88,6 +91,32 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public flux
+  (package
+    (name "flux")
+    (version "0.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/deniskropp/flux.git")
+         (commit "e45758a")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "11f3ypg0sdq5kj69zgz6kih1yrzgm48r16spyvzwvlswng147410"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Interface description language")
+    (description "Flux is an interface description language used by DirectFB.
+Fluxcomp compiles .flux files to .cpp or .c files.")
+    (home-page "http://www.directfb.org/")
+    (license license:lgpl2.1+))) ; Same as DirectFB
+
 (define-public fox
   (package
     (name "fox")
-- 
2.26.2


[-- Attachment #1.1.12: 0028-gnu-Add-libtimidity.patch --]
[-- Type: text/x-patch, Size: 1775 bytes --]

From b7e2cd73adc1a1719c1d8034174b064c1811aac7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 13 Jun 2020 09:39:04 -0400
Subject: [PATCH 28/58] gnu: Add libtimidity.

* gnu/packages/audio.scm (libtimidity): New variable.
---
 gnu/packages/audio.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 4f1667b9d5..783196061e 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -126,6 +126,35 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
+(define-public libtimidity
+  (package
+    (name "libtimidity")
+    (version "0.2.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sourceforge.net/projects/" name "/files/"
+                       name "/" version "/" name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0p2px0m907gi1zpdr0l9adq25jl89j85c11ag9s2g4yc6n1nhgfm"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f))   ; Tests require the package's own 'play' binary
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (synopsis "MIDI to WAVE converter library")
+    (description "LibTiMidity is a MIDI to WAVE converter library that uses
+Gravis Ultrasound-compatible patch files to generate digital audio data from
+General MIDI files.")
+    (home-page "http://libtimidity.sourceforge.net/")
+    (license
+     ;; This project is dual-licensed.
+     ;; Either of the following licenses can be exercised.
+     (list
+      license:lgpl2.1+
+      license:artistic2.0))))
+
 (define-public vo-amrwbenc
   (package
     (name "vo-amrwbenc")
-- 
2.26.2


[-- Attachment #1.1.13: 0029-gnu-Add-directfb.patch --]
[-- Type: text/x-patch, Size: 4172 bytes --]

From 286f4117f2802dccd5fc13158365fca88de8724a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 13 Jun 2020 10:45:16 -0400
Subject: [PATCH 29/58] gnu: Add directfb.

* gnu/packages/graphics.scm (directfb): New variable.
---
 gnu/packages/graphics.scm | 74 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index e1fb49d611..69eb7b00a7 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -45,6 +45,7 @@
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages cdrom)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
@@ -57,12 +58,14 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages graphviz)
+  #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages mp3)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -78,6 +81,7 @@
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xdisorg)
@@ -117,6 +121,76 @@ Fluxcomp compiles .flux files to .cpp or .c files.")
     (home-page "http://www.directfb.org/")
     (license license:lgpl2.1+))) ; Same as DirectFB
 
+(define-public directfb
+  (package
+    (name "directfb")
+    (version "1.7.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/deniskropp/DirectFB.git")
+         (commit "DIRECTFB_1_7_7")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0bs3yzb7hy3mgydrj8ycg7pllrd2b6j0gxj596inyr7ihssr3i0y"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-configure-during-bootstrap
+           (lambda _
+             (substitute* "autogen.sh"
+               (("^.*\\$srcdir/configure.*") ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("ffmpeg" ,ffmpeg)
+       ("freetype" ,freetype)
+       ("glu" ,glu)
+       ("gstreamer" ,gstreamer)
+       ("imlib2" ,imlib2)
+       ("jasper" ,jasper)
+       ("jpeg" ,libjpeg-turbo)
+       ("libcddb" ,libcddb)
+       ("libdrm" ,libdrm)
+       ("libtimidity" ,libtimidity)
+       ("linux-headers" ,linux-libre-headers)
+       ("mad" ,libmad)
+       ("mng" ,libmng)
+       ("mpeg2" ,libmpeg2)
+       ("mpeg3" ,libmpeg3)
+       ("opengl" ,mesa)
+       ("png" ,libpng)
+       ("sdl" ,sdl)
+       ("svg" ,librsvg)
+       ("tiff" ,libtiff)
+       ("tslib" ,tslib)
+       ("vdpau" ,libvdpau)
+       ("vorbisfile" ,libvorbis)
+       ("wayland" ,wayland)
+       ("webp" ,libwebp)
+       ("x11" ,libx11)
+       ("xcomposite" ,libxcomposite)
+       ("xext" ,libxext)
+       ("xproto" ,xorgproto)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("flux" ,flux)))
+    (synopsis "DFB Graphics Library")
+    (description "DirectFB is a graphics library which was designed with embedded
+systems in mind.  It offers maximum hardware accelerated performance at a
+minimum of resource usage and overhead.")
+    (home-page "http://www.directfb.org/")
+    (license license:lgpl2.1+)))
+
 (define-public fox
   (package
     (name "fox")
-- 
2.26.2


[-- Attachment #1.1.14: 0030-gnu-Add-faac.patch --]
[-- Type: text/x-patch, Size: 1566 bytes --]

From ee070b29cea93c7ec4640353af173521f5f9998b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 14 Jun 2020 01:31:46 -0400
Subject: [PATCH 30/58] gnu: Add faac.

* gnu/packages/audio.scm (faac): New variable.
---
 gnu/packages/audio.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 783196061e..304cc15165 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -126,6 +126,34 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
+(define-public faac
+  (package
+    (name "faac")
+    (version "1.30")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sourceforge.net/projects/faac/files/faac-src/"
+                       "faac-1.30/faac-1_30.tar.gz/download"))
+       (sha256
+        (base32 "1lmj0dib3mjp84jhxc5ddvydkzzhb0gfrdh3ikcidjlcb378ghxd"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Freeware Advanced Audio Coder")
+    (description "FAAC is an MPEG-4 and MPEG-2 AAC encoder.")
+    (home-page "https://www.audiocoding.com/faac.html")
+    (license
+     (list
+      ;; Newer code.
+      license:lgpl2.0+
+      ;; Older code.
+      license:gpl2+))))
+
 (define-public libtimidity
   (package
     (name "libtimidity")
-- 
2.26.2


[-- Attachment #1.1.15: 0031-gnu-faad2-Update-to-2.8.8.patch --]
[-- Type: text/x-patch, Size: 2121 bytes --]

From d258adea8766a7b2c5670b73cf3f70aa4599876e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 14 Jun 2020 01:39:05 -0400
Subject: [PATCH 31/58] gnu: faad2: Update to 2.8.8.

* gnu/packages/audio.scm (faad2): Update package definition.
[version]: Update to 2.8.8.
[source]<origin>[sha256]: Modify base32.
[synopsis]: Modify.
[description]: Modify.
[license]: Update to gpl2+.
---
 gnu/packages/audio.scm | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 304cc15165..50f6c44290 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1359,22 +1359,21 @@ also play midifiles using a Soundfont.")
 (define-public faad2
   (package
     (name "faad2")
-    (version "2.8.6")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://sourceforge/faac/faad2-src/faad2-"
-                                  (version-major+minor version) ".0/"
-                                  "faad2-" version ".tar.gz"))
-              (sha256
-               (base32
-                "089zqykqgmmysznvk0bi2pfvdqwclnn540d0zks83sv2pynpfjb5"))))
+    (version "2.8.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/faac/faad2-src/faad2-"
+                       (version-major+minor version) ".0/"
+                       "faad2-" version ".tar.gz"))
+       (sha256
+        (base32 "0va284hndhn0ynm4lyn219qw4y8wa4agfkqgwlaji7bqp6nkyp4q"))))
     (build-system gnu-build-system)
+    (synopsis "Freeware Advanced Audio Decoder")
+    (description "FAAD2 is a MPEG-4 and MPEG-2 AAC decoder.")
     (home-page "https://www.audiocoding.com/faad2.html")
-    (synopsis "MPEG-4 and MPEG-2 AAC decoder")
-    (description
-     "FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,
-PS, and DAB+.")
-    (license license:gpl2)))
+    (license license:gpl2+)))
 
 (define-public faust
   (package
-- 
2.26.2


[-- Attachment #1.1.16: 0032-gnu-Add-flite.patch --]
[-- Type: text/x-patch, Size: 1805 bytes --]

From 74c3d4dbc13b8b014991578f08d1b62cc43c2b66 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 14 Jun 2020 02:39:41 -0400
Subject: [PATCH 32/58] gnu: Add flite.

* gnu/packages/speech.scm (flite): New variable.
---
 gnu/packages/speech.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index c9c1eaa8d9..78a13df9f2 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -50,6 +50,34 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages textutils))
 
+(define-public flite
+  (package
+    (name "flite")
+    (version "2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "http://www.festvox.org/" name "/packed/" name
+                       "-" version "/" name "-" version "-release.tar.bz2"))
+       (sha256
+        (base32 "119b7l7pjb1l5raqq24p8rmhdqni49vjh2mgdryrfr575rm3yg67"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("perl" ,perl)))
+    (inputs
+     `(("alsa" ,alsa-lib)))
+    (synopsis "Speech synthesis system")
+    (description "Flite (festival-lite) is a small, fast run-time text to speech
+synthesis engine developed at CMU and primarily designed for small embedded
+machines and/or large servers.  It is designed as an alternative text to speech
+synthesis engine to Festival for voices built using the FestVox suite of voice
+building tools.")
+    (home-page "http://www.festvox.org/flite/index.html")
+    (license (license:non-copyleft "file://COPYING"))))
+
 (define-public espeak
   (package
     (name "espeak")
-- 
2.26.2


[-- Attachment #1.1.17: 0033-gnu-Add-libvideogfx.patch --]
[-- Type: text/x-patch, Size: 1927 bytes --]

From e77c1722dd4f69f9743ebd1d5c25f76cfc5aad5f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 14 Jun 2020 05:03:08 -0400
Subject: [PATCH 33/58] gnu: Add libvideogfx.

* gnu/packages/video.scm (libvideogfx): New variable.
---
 gnu/packages/video.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 1fd4e2c010..abeea4c5a5 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -167,6 +167,40 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public libvideogfx
+  (package
+    (name "libvideogfx")
+    (version "1.0.9")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/farindk/libvideogfx.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "154b0j8cfg879pg08xcbwvbz8z9nrfnyj31i48vxir1psas70ynq"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
+    (inputs
+     `( ;; XXX: Build fails with ffmpeg.
+       ;;("ffmpeg" ,ffmpeg)
+       ("jpeg" ,libjpeg-turbo)
+       ;; XXX: Build fails with libpng.
+       ;;("png" libpng)
+       ("x11" ,libx11)
+       ("xext" ,libxext)))
+    (synopsis "Video processing library")
+    (description "LibVideoGfx is a C++ library for low-level video processing.
+It aims at speeding up the development process for image and video processing
+applications by providing high-level classes for commonly required tasks.")
+    (home-page "https://github.com/farindk/libvideogfx")
+    (license license:lgpl2.1+)))
+
 (define-public tslib
   (package
     (name "tslib")
-- 
2.26.2


[-- Attachment #1.1.18: 0034-gnu-Add-libde265.patch --]
[-- Type: text/x-patch, Size: 2052 bytes --]

From 60148b1ebfeebe0776a5c49d32a47aba5f038848 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 14 Jun 2020 05:14:58 -0400
Subject: [PATCH 34/58] gnu: Add libde265.

* gnu/packages/video.scm (libde265): New variable.
---
 gnu/packages/video.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index abeea4c5a5..aee032bd4c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -201,6 +201,45 @@ applications by providing high-level classes for commonly required tasks.")
     (home-page "https://github.com/farindk/libvideogfx")
     (license license:lgpl2.1+)))
 
+(define-public libde265
+  (package
+    (name "libde265")
+    (version "1.0.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/strukturag/libde265.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1qisj8ryzbknam3hk81rq70fsd9mcpxm898bqygvbsmbwyvmz3pg"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `( ;; XXX: Build fails with libvideogfx.
+       ;;("libvideogfx" ,libvideogfx)
+       ("qt" ,qtbase)
+       ("sdl" ,sdl)
+       ("swscale" ,ffmpeg)))
+    (synopsis "H.265 video codec implementation")
+    (description "Libde265 is an implementation of the h.265 video codec.  It is
+written from scratch and has a plain C API to enable a simple integration into
+other software.")
+    (home-page "https://www.libde265.org/")
+    (license
+     (list
+      ;; Applications.
+      license:expat
+      ;; Library.
+      license:lgpl3+))))
+
 (define-public tslib
   (package
     (name "tslib")
-- 
2.26.2


[-- Attachment #1.1.19: 0035-gnu-Add-libmms.patch --]
[-- Type: text/x-patch, Size: 1380 bytes --]

From 2f10cf64ba03189e3a0deac94cd171b951a0838c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 14 Jun 2020 05:29:52 -0400
Subject: [PATCH 35/58] gnu: Add libmms.

* gnu/packages/video.scm (libmms): New variable.
---
 gnu/packages/video.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index aee032bd4c..d20d2e1105 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -167,6 +167,25 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public libmms
+  (package
+    (name "libmms")
+    (version "0.6.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sourceforge.net/projects/" name "/files/"
+                       name "/" version "/" name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0kvhxr5hkabj9v7ah2rzkbirndfqdijd9hp8v52c1z6bxddf019w"))))
+    (build-system gnu-build-system)
+    (synopsis "MMS stream protocol library")
+    (description "Libmms is a library for streaming media files using the mmst
+and mmsh protocols.")
+    (home-page "https://sourceforge.net/projects/libmms/")
+    (license license:lgpl2.1+)))
+
 (define-public libvideogfx
   (package
     (name "libvideogfx")
-- 
2.26.2


[-- Attachment #1.1.20: 0036-gnu-Add-schroedinger.patch --]
[-- Type: text/x-patch, Size: 2497 bytes --]

From 8017e0ff6b62d38fa2fa5d1079c7109bb1f7b73e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 14 Jun 2020 06:30:17 -0400
Subject: [PATCH 36/58] gnu: Add schroedinger.

* gnu/packages/video.scm (schroedinger): New variable.
---
 gnu/packages/video.scm | 49 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index d20d2e1105..bdba104c05 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -167,6 +167,55 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public schroedinger
+  (package
+    (name "schroedinger")
+    (version "1.0.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://launchpad.net/" name "/trunk/" version
+                       "/+download/" name "-" version ".tar.gz"))
+       (sha256
+        (base32 "04prr667l4sn4zx256v1z36a0nnkxfdqyln48rbwlamr6l3jlmqy"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'move-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
+    (native-inputs
+     `(("dash" ,dash)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glew" ,glew)
+       ("opengl" ,mesa)))
+    (propagated-inputs
+     `(("orc" ,orc)))
+    (synopsis "Dirac video codec")
+    (description "Schroedinger is a project implementing the Dirac video codec in
+ANSI C code.  It is meant to be highly optimized and portable.  It is developed
+as a joint effort between the BBC and Fluendo.")
+    (home-page "https://launchpad.net/schroedinger")
+    (license
+     ;; This library is licensed under 4 different licenses,
+     ;; and you can choose to use it under the terms of any one of them.
+     (list
+      license:gpl2+
+      license:lgpl2.0+
+      license:expat
+      license:mpl1.1))))
+
 (define-public libmms
   (package
     (name "libmms")
-- 
2.26.2


[-- Attachment #1.1.21: 0037-gnu-Add-libquicktime.patch --]
[-- Type: text/x-patch, Size: 1997 bytes --]

From 6a404e468476632362c60c5ef2e7a2a943d03c79 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 14 Jun 2020 06:46:31 -0400
Subject: [PATCH 37/58] gnu: Add libquicktime.

* gnu/packages/video.scm (libquicktime): New variable.
---
 gnu/packages/video.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index bdba104c05..d9c6b4ef93 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -216,6 +216,45 @@ as a joint effort between the BBC and Fluendo.")
       license:expat
       license:mpl1.1))))
 
+(define-public libquicktime
+  (package
+    (name "libquicktime")
+    (version "1.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sourceforge.net/projects/" name "/files/"
+                       name "/" version "/" name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0s3kshzl3zfjw3phzv73r91fkr9z8q8kc3dhsys4f4xk6ff3alqw"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("doxygen" ,doxygen)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ;; XXX: Build fails with ffmpeg.
+       ;;("ffmpeg" ,ffmpeg)
+       ("gtk+-2" ,gtk+-2)
+       ("lame" ,lame)
+       ("libdv" ,libdv)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libpng" ,libpng)
+       ("libvorbis" ,libvorbis)
+       ("opengl" ,mesa)
+       ("schroedinger" ,schroedinger)
+       ("x11" ,libx11)
+       ("x264" ,libx264)
+       ("xaw" ,libxaw)
+       ("xv" ,libxv)))
+    (synopsis "Quick Time Library")
+    (description "The goal of this project is to enhance the quicktime4linux
+library.")
+    (home-page "http://libquicktime.sourceforge.net/")
+    (license license:lgpl2.1+)))
+
 (define-public libmms
   (package
     (name "libmms")
-- 
2.26.2


[-- Attachment #1.1.22: 0038-gnu-Add-mjpegtools.patch --]
[-- Type: text/x-patch, Size: 1670 bytes --]

From ae87e89c55247e874eafbf27d2b60a4b5328eee2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 14 Jun 2020 06:51:43 -0400
Subject: [PATCH 38/58] gnu: Add mjpegtools.

* gnu/packages/video.scm (mjpegtools): New variable.
---
 gnu/packages/video.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index d9c6b4ef93..ad34a4a310 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -255,6 +255,32 @@ library.")
     (home-page "http://libquicktime.sourceforge.net/")
     (license license:lgpl2.1+)))
 
+(define-public mjpegtools
+  (package
+    (name "mjpegtools")
+    (version "2.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sourceforge.net/projects/" name "/files/"
+                       name "/" version "/" name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0kvhxr5hkabj9v7ah2rzkbirndfqdijd9hp8v52c1z6bxddf019w"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("gtk+-2" ,gtk+-2)
+       ("libdv" ,libdv)
+       ("libpng" ,libpng)
+       ("libquicktime" ,libquicktime)
+       ("sdl" ,sdl)))
+    (synopsis "Tools for handling MPEG")
+    (description "Mjpeg tools is a suite of programs which support video capture,
+editing, playback, and compression to MPEG of MJPEG video.  Edit, play and
+compression software is hardware independent.")
+    (home-page "http://mjpeg.sourceforge.net/")
+    (license license:gpl2+)))
+
 (define-public libmms
   (package
     (name "libmms")
-- 
2.26.2


[-- Attachment #1.1.23: 0039-gnu-Add-mediasdk.patch --]
[-- Type: text/x-patch, Size: 2151 bytes --]

From 35f22cc61fe57399bcb8ebadf68e6e82e6e83916 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 15 Jun 2020 02:19:52 -0400
Subject: [PATCH 39/58] gnu: Add mediasdk.

* gnu/packages/video.scm (mediasdk): New variable.
---
 gnu/packages/video.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ad34a4a310..fd688b0906 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -167,6 +167,48 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public mediasdk
+  (package
+    (name "mediasdk")
+    (version "20.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Intel-Media-SDK/MediaSDK.git")
+         (commit (string-append "intel-" name "-" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0blwcxr5j8762nylx2cxrq0h53bpgnk859dbs6crq4wr9fcxlx9z"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-DENABLE_X11=ON"
+        "-DENABLE_X11_DRI3=ON"
+        "-DENABLE_WAYLAND=ON"
+        "-DENABLE_TEXTLOG=ON"
+        "-DENABLE_STAT=ON"
+        "-DBUILD_TESTS=ON"
+        "-DBUILD_TOOLS=ON")
+       ;; XXX: RUNPATH lacks entries for some libraries.
+       #:validate-runpath? #f))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("libdrm" ,libdrm)
+       ("libva" ,libva)
+       ("pciaccess" ,libpciaccess)
+       ("wayland" ,wayland)
+       ("x11" ,libx11)))
+    (synopsis "Intel Media SDK")
+    (description "MediaSDK provides a plain C API to access hardware-accelerated
+video decode, encode and filtering on Intel's Gen graphics hardware platforms.")
+    (home-page "http://mediasdk.intel.com/")
+    (license (license:non-copyleft "file://LICENSE"))))
+
 (define-public schroedinger
   (package
     (name "schroedinger")
-- 
2.26.2


[-- Attachment #1.1.24: 0040-gnu-Add-libofa.patch --]
[-- Type: text/x-patch, Size: 11738 bytes --]

From 9fd0ab99df6a385e337cf29e06f9727ba3d335af Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 16 Jun 2020 12:21:56 -0400
Subject: [PATCH 40/58] gnu: Add libofa.

* gnu/packages/audio.scm (libofa): New variable.
---
 gnu/packages/audio.scm             | 31 ++++++++++++++++++++
 gnu/packages/patches/libofa-1.diff | 39 ++++++++++++++++++++++++++
 gnu/packages/patches/libofa-2.diff | 20 +++++++++++++
 gnu/packages/patches/libofa-3.diff | 16 +++++++++++
 gnu/packages/patches/libofa-4.diff | 14 ++++++++++
 gnu/packages/patches/libofa-5.diff | 45 ++++++++++++++++++++++++++++++
 gnu/packages/patches/libofa-6.diff | 20 +++++++++++++
 gnu/packages/patches/libofa-7.diff | 15 ++++++++++
 gnu/packages/patches/libofa-8.diff | 27 ++++++++++++++++++
 gnu/packages/patches/libofa-9.diff | 18 ++++++++++++
 10 files changed, 245 insertions(+)
 create mode 100644 gnu/packages/patches/libofa-1.diff
 create mode 100644 gnu/packages/patches/libofa-2.diff
 create mode 100644 gnu/packages/patches/libofa-3.diff
 create mode 100644 gnu/packages/patches/libofa-4.diff
 create mode 100644 gnu/packages/patches/libofa-5.diff
 create mode 100644 gnu/packages/patches/libofa-6.diff
 create mode 100644 gnu/packages/patches/libofa-7.diff
 create mode 100644 gnu/packages/patches/libofa-8.diff
 create mode 100644 gnu/packages/patches/libofa-9.diff

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 50f6c44290..df1f071925 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -126,6 +126,37 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
+(define-public libofa
+  (package
+    (name "libofa")
+    (version "0.9.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://storage.googleapis.com/"
+                       "google-code-archive-downloads/v2/code.google.com/"
+                       "musicip-libofa/" name "-" version ".tar.gz"))
+       (sha256
+        (base32 "184ham039l7lwhfgg0xr2vch2xnw1lwh7sid432mh879adhlc5h2"))
+       (patches
+        (search-patches "libofa-1.diff" "libofa-2.diff" "libofa-3.diff"
+                        "libofa-4.diff" "libofa-5.diff" "libofa-6.diff"
+                        "libofa-7.diff" "libofa-8.diff" "libofa-9.diff"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("curl" ,curl)
+       ("expat" ,expat)))
+    (propagated-inputs
+     `(("fftw" ,fftw)))
+    (synopsis "Open Fingerprint Architecture")
+    (description "LibOFA is an audio fingerprint library, created and provided
+by MusicIP.")
+    (home-page "https://code.google.com/archive/p/musicip-libofa/")
+    (license license:gpl2+)))
+
 (define-public faac
   (package
     (name "faac")
diff --git a/gnu/packages/patches/libofa-1.diff b/gnu/packages/patches/libofa-1.diff
new file mode 100644
index 0000000000..85646fbcee
--- /dev/null
+++ b/gnu/packages/patches/libofa-1.diff
@@ -0,0 +1,39 @@
+Description: fix building over GCC 4.1.
+Author: Lukáš Lalinský <lalinsky@gmail.com>
+Last-Update: 2006-07-23
+Index: libofa-0.9.3/lib/JAMA/tnt_math_utils.h
+===================================================================
+--- libofa-0.9.3.orig/lib/JAMA/tnt_math_utils.h
++++ libofa-0.9.3/lib/JAMA/tnt_math_utils.h
+@@ -20,6 +20,15 @@ inline const _Tp& max(const _Tp& __a, co
+ namespace TNT
+ {
+ /**
++	@returns the absolute value of a real (no-complex) scalar.
++*/
++template <class Real>
++Real abs(const Real &a)
++{
++	return  (a > 0 ? a : -a);
++}
++
++/**
+ 	@returns hypotenuse of real (non-complex) scalars a and b by 
+ 	avoiding underflow/overflow
+ 	using (a * sqrt( 1 + (b/a) * (b/a))), rather than
+@@ -56,15 +65,6 @@ Scalar max(const Scalar &a, const Scalar
+ }
+ */
+ 
+-/**
+-	@returns the absolute value of a real (no-complex) scalar.
+-*/
+-template <class Real>
+-Real abs(const Real &a)
+-{
+-	return  (a > 0 ? a : -a);
+-}
+-
+ }
+ #endif
+ /* MATH_UTILS_H */
diff --git a/gnu/packages/patches/libofa-2.diff b/gnu/packages/patches/libofa-2.diff
new file mode 100644
index 0000000000..43e23c7015
--- /dev/null
+++ b/gnu/packages/patches/libofa-2.diff
@@ -0,0 +1,20 @@
+Description: fix an issue.
+Author: Lukáš Lalinský <lalinsky@gmail.com>
+Last-Update: 2006-08-22
+Index: libofa-0.9.3/examples/wavefile.cpp
+===================================================================
+--- libofa-0.9.3.orig/examples/wavefile.cpp
++++ libofa-0.9.3/examples/wavefile.cpp
+@@ -42,7 +42,11 @@ AudioData* loadWaveFile(char *file) {
+     int srate = 0;
+     int channels = 0;
+ 
+-    int fd = open(file, O_RDONLY | 0x8000);
++#ifdef WIN32
++    int fd = open(file, O_RDONLY | O_BINARY);
++#else
++    int fd = open(file, O_RDONLY);
++#endif
+     if (fd == -1)
+ 	return 0;
+ 
diff --git a/gnu/packages/patches/libofa-3.diff b/gnu/packages/patches/libofa-3.diff
new file mode 100644
index 0000000000..9a0efde52f
--- /dev/null
+++ b/gnu/packages/patches/libofa-3.diff
@@ -0,0 +1,16 @@
+Description: fix an issue.
+Author: Lukáš Lalinský <lalinsky@gmail.com>
+Last-Update: 2006-08-27
+Index: libofa-0.9.3/examples/protocol.cpp
+===================================================================
+--- libofa-0.9.3.orig/examples/protocol.cpp
++++ libofa-0.9.3/examples/protocol.cpp
+@@ -258,7 +258,7 @@ bool retrieve_metadata(string client_key
+     }
+     // printf("response: %s\n\n", response.c_str());
+ 
+-    unsigned int q = response.find("<?xml");
++    string::size_type q = response.find("<?xml");
+     if (q != string::npos) {
+         response = response.substr(q);
+     }
diff --git a/gnu/packages/patches/libofa-4.diff b/gnu/packages/patches/libofa-4.diff
new file mode 100644
index 0000000000..18a28df7ef
--- /dev/null
+++ b/gnu/packages/patches/libofa-4.diff
@@ -0,0 +1,14 @@
+Description: remove -lexpat from libofa.pc. (Closes: #417389)
+Author: Lukáš Lalinský <lalinsky@gmail.com>
+Last-Update: 2007-05-19
+Index: libofa-0.9.3/libofa.pc.in
+===================================================================
+--- libofa-0.9.3.orig/libofa.pc.in
++++ libofa-0.9.3/libofa.pc.in
+@@ -8,5 +8,5 @@ Description: The Open Fingerprint Archit
+ URL: http://www.musicdns.org/
+ Version: @VERSION@
+ Requires: fftw3
+-Libs: -L${libdir} -lofa -lexpat -lm
++Libs: -L${libdir} -lofa -lm
+ Cflags: -I${includedir}
diff --git a/gnu/packages/patches/libofa-5.diff b/gnu/packages/patches/libofa-5.diff
new file mode 100644
index 0000000000..4aa712320c
--- /dev/null
+++ b/gnu/packages/patches/libofa-5.diff
@@ -0,0 +1,45 @@
+Description: fix FTBFS with GCC 4.3. (Closes: #417355)
+Author: Martin Michlmayr <tbm@cyrius.com>
+Last-Update: 2007-04-02
+
+Description: add a missing include. (Closes: #441557)
+Author: Brian M. Carlson <sandals@crustytoothpaste.ath.cx>
+Last-Update: 2007-12-29
+
+Index: libofa-0.9.3/lib/signal_op.cpp
+===================================================================
+--- libofa-0.9.3.orig/lib/signal_op.cpp
++++ libofa-0.9.3/lib/signal_op.cpp
+@@ -12,6 +12,7 @@
+ // DATE CREATED: 1/12/06
+ 
+ 
++#include <cstdlib>
+ #include <math.h>
+ #include "signal_op.h"
+ #include "AFLIB/aflibConverter.h"
+Index: libofa-0.9.3/examples/example.cpp
+===================================================================
+--- libofa-0.9.3.orig/examples/example.cpp
++++ libofa-0.9.3/examples/example.cpp
+@@ -8,6 +8,8 @@
+ -------------------------------------------------------------------*/
+ 
+ #include "protocol.h"
++#include <cctype>
++#include <string.h>
+ 
+ AudioData* loadWaveFile(char *file);
+ AudioData* loadDataUsingLAME(char *file);
+Index: libofa-0.9.3/examples/protocol.cpp
+===================================================================
+--- libofa-0.9.3.orig/examples/protocol.cpp
++++ libofa-0.9.3/examples/protocol.cpp
+@@ -8,6 +8,7 @@
+ -------------------------------------------------------------------*/
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <cstring>
+ #include <string>
+ #include <map>
+ #include <expat.h>
diff --git a/gnu/packages/patches/libofa-6.diff b/gnu/packages/patches/libofa-6.diff
new file mode 100644
index 0000000000..473750bc3c
--- /dev/null
+++ b/gnu/packages/patches/libofa-6.diff
@@ -0,0 +1,20 @@
+From: Martin Michlmayr <tbm@cyrius.com>
+Subject: FTBFS with GCC 4.4: missing #include
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504902
+Forwarded: no
+---
+ examples/example.cpp |    1 +
+ 1 file changed, 1 insertion(+)
+
+Index: libofa-0.9.3/examples/example.cpp
+===================================================================
+--- libofa-0.9.3.orig/examples/example.cpp
++++ libofa-0.9.3/examples/example.cpp
+@@ -8,6 +8,7 @@
+ -------------------------------------------------------------------*/
+ 
+ #include "protocol.h"
++#include <cstdio>
+ #include <cctype>
+ #include <string.h>
+ 
diff --git a/gnu/packages/patches/libofa-7.diff b/gnu/packages/patches/libofa-7.diff
new file mode 100644
index 0000000000..6b1e824fad
--- /dev/null
+++ b/gnu/packages/patches/libofa-7.diff
@@ -0,0 +1,15 @@
+Description: Fix FTBFS due to unexisting and useless include. (Closes: #637896)
+Author: Regis Boudin <regis@debian.org>
+Last-Update: 2011-10-03
+Index: libofa-0.9.3/examples/protocol.cpp
+===================================================================
+--- libofa-0.9.3.orig/examples/protocol.cpp
++++ libofa-0.9.3/examples/protocol.cpp
+@@ -13,7 +13,6 @@
+ #include <map>
+ #include <expat.h>
+ #include <curl/curl.h>
+-#include <curl/types.h>
+ #include <curl/easy.h>
+ 
+ using namespace std;
diff --git a/gnu/packages/patches/libofa-8.diff b/gnu/packages/patches/libofa-8.diff
new file mode 100644
index 0000000000..ad61573578
--- /dev/null
+++ b/gnu/packages/patches/libofa-8.diff
@@ -0,0 +1,27 @@
+Description: ftbfs with GCC-4.7. (Closes: #667250)
+Author: Matthias Klose <doko@debian.org>
+Last-Update: 2012-04-17
+Index: libofa-0.9.3/examples/uselame.cpp
+===================================================================
+--- libofa-0.9.3.orig/examples/uselame.cpp
++++ libofa-0.9.3/examples/uselame.cpp
+@@ -11,6 +11,7 @@
+ #include "windows.h"
+ #else
+ #include <sys/wait.h>
++#include <unistd.h>
+ #endif
+ 
+ AudioData *loadWaveFile(char *file);
+Index: libofa-0.9.3/examples/wavefile.cpp
+===================================================================
+--- libofa-0.9.3.orig/examples/wavefile.cpp
++++ libofa-0.9.3/examples/wavefile.cpp
+@@ -11,6 +11,7 @@
+ #include "io.h"
+ #endif
+ #include <fcntl.h>
++#include <unistd.h>
+ 
+ static bool readBytes(int fd, unsigned char *buf, int size) {
+     int ct = 0;
diff --git a/gnu/packages/patches/libofa-9.diff b/gnu/packages/patches/libofa-9.diff
new file mode 100644
index 0000000000..738597b519
--- /dev/null
+++ b/gnu/packages/patches/libofa-9.diff
@@ -0,0 +1,18 @@
+Description: use new macro for initializing libltdl
+ Use LTDL_INIT([convenience]) instead of AC_LIBLTDL_CONVENIENCE to fix FTBFS
+ while autoreconfing.
+Author: Logan Rosen <logan@ubuntu.com>
+Last-Update: <2014-01-04>
+Index: libofa-0.9.3/configure.in
+===================================================================
+--- libofa-0.9.3.orig/configure.in
++++ libofa-0.9.3/configure.in
+@@ -28,7 +28,7 @@ dnl Checks for programs.
+ AC_PREREQ(2.52)
+ AC_PROG_AWK
+ AC_PROG_CC
+-AC_LIBLTDL_CONVENIENCE
++LTDL_INIT([convenience])
+ AM_PROG_LIBTOOL
+ AC_SUBST(LIBTOOL_DEPS)  
+ AC_PROG_CXX
-- 
2.26.2


[-- Attachment #1.1.25: 0041-gnu-Add-libopenmpt.patch --]
[-- Type: text/x-patch, Size: 1860 bytes --]

From 46e168f1399884358d355e5bf6f1fd51f8b87c70 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 16 Jun 2020 13:51:51 -0400
Subject: [PATCH 41/58] gnu: Add libopenmpt.

* gnu/packages/audio.scm (libopenmpt): New variable.
---
 gnu/packages/audio.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index df1f071925..8beb4a8398 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -126,6 +126,40 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
+(define-public libopenmpt
+  (package
+    (name "libopenmpt")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://download.openmpt.org/archive/" name "/src/"
+                       name "-" version "+release.autotools.tar.gz"))
+       (sha256
+        (base32 "0zl3djy9z7cpqk8g8pxrzmmikxsskb0y5qdabg6c683j7x5abjs3"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("flac" ,flac)
+       ("portaudio" ,portaudio)
+       ("pulseaudio" ,pulseaudio)
+       ("sdl2" ,sdl2)
+       ("sndfile" ,libsndfile)))
+    (propagated-inputs
+     `(("vorbis" ,libvorbis)
+       ("mpg123" ,mpg123)
+       ("zlib" ,zlib)))
+    (synopsis "Audio tracking library")
+    (description "LibOpenMPT is a cross-platform C++ and C module playback
+library.  It is based on the player code of the Open ModPlug Tracker project.")
+    (home-page "https://openmpt.org/")
+    (license (license:non-copyleft "file://LICENSE"))))
+
 (define-public libofa
   (package
     (name "libofa")
-- 
2.26.2


[-- Attachment #1.1.26: 0042-gnu-Add-opensles.patch --]
[-- Type: text/x-patch, Size: 2129 bytes --]

From 950e20952825170d3d24fae976d99d9bbe06dd6b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 17 Jun 2020 08:03:35 -0400
Subject: [PATCH 42/58] gnu: Add opensles.

* gnu/packages/audio.scm (opensles): New variable.
---
 gnu/packages/audio.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 8beb4a8398..993ee64455 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -112,6 +112,7 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
@@ -126,6 +127,32 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
+(define-public opensles
+  (package
+    (name "opensles")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/KhronosGroup/OpenSL-ES-Registry.git")
+         (commit "ea5104b")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0j5bm7h3ahz66f23i9abwc0y10agfkpksnj6y078x2nichq66h4f"))))
+    (build-system copy-build-system)
+    (synopsis "Embedded Audio Acceleration")
+    (description "OpenSLES is a royalty-free, cross-platform,
+hardware-accelerated audio API tuned for embedded systems.  It provides a
+standardized, high-performance, low-latency method to access audio
+functionality for developers of native applications on embedded mobile
+multimedia devices, enabling straightforward cross-platform deployment of
+hardware and software audio capabilities, reducing implementation effort, and
+promoting the market for advanced audio.")
+    (home-page "https://www.khronos.org/opensles/")
+    (license (license:non-copyleft "Refer individual files"))))
+
 (define-public libopenmpt
   (package
     (name "libopenmpt")
-- 
2.26.2


[-- Attachment #1.1.27: 0043-gnu-Add-lksctp-tools.patch --]
[-- Type: text/x-patch, Size: 1948 bytes --]

From a24c295775edcf71916f7c6d987c74abcf9e3fd3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 17 Jun 2020 09:58:49 -0400
Subject: [PATCH 43/58] gnu: Add lksctp-tools.

* gnu/packages/networking.scm (lksctp-tools): New variable.
---
 gnu/packages/networking.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 339aa9ab38..c11e3a5bba 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -129,6 +129,41 @@
   #:use-module (gnu packages xml)
   #:use-module (ice-9 match))
 
+(define-public lksctp-tools
+  (package
+    (name "lksctp-tools")
+    (version "1.0.18")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/sctp/lksctp-tools.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1x4fwzrlzvfa3vcpja97m8w5g9ir2zrh4zs7zksminrnmdrs0dsr"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("linux-headers" ,linux-libre-headers)))
+    (synopsis "Linux SCTP helper library")
+    (description "Lksctp-tools project provides a user space library for SCTP
+(libsctp) including C language header files (netinet/sctp.h) for accessing SCTP
+specific application programming interfaces not provided by the standard
+sockets, and also some helper utilities around SCTP.")
+    (home-page "http://lksctp.sourceforge.net/")
+    (license
+     (list
+      ;; Library.
+      license:lgpl2.1+
+      ;; Others.
+      license:gpl2+))))
+
 (define-public nanomsg
   (package
     (name "nanomsg")
-- 
2.26.2


[-- Attachment #1.1.28: 0044-gnu-Add-srt.patch --]
[-- Type: text/x-patch, Size: 2648 bytes --]

From 3ba833d7d6bbed44cfb44429da56f84f6ba36cdf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 17 Jun 2020 13:00:23 -0400
Subject: [PATCH 44/58] gnu: Add srt.

* gnu/packages/networking.scm (srt): New variable.
---
 gnu/packages/networking.scm | 43 +++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index c11e3a5bba..fffcf4f1a5 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -121,14 +121,57 @@
   #:use-module (gnu packages shells)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages ssh)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages valgrind)
+  #:use-module (gnu packages version-control)
   #:use-module (gnu packages web)
   #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages xml)
   #:use-module (ice-9 match))
 
+(define-public srt
+  (package
+    (name "srt")
+    (version "1.4.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Haivision/srt.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "01xaq44j95kbgqfl41pnybvqy0yq6wd4wdw88ckylzf0nzp977xz"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        (string-append "-DCMAKE_INSTALL_BINDIR="
+                       (assoc-ref %outputs "out") "/bin")
+        (string-append "-DCMAKE_INSTALL_LIBDIR="
+                       (assoc-ref %outputs "out") "/lib")
+        (string-append "-DINSTALL_SHARED_DIR="
+                       (assoc-ref %outputs "out") "/lib")
+        (string-append "-DCMAKE_INSTALL_INCLUDEDIR="
+                       (assoc-ref %outputs "out") "/include")
+        "-DENABLE_UNITTESTS=ON"
+        "-DENABLE_CODE_COVERAGE=ON")))
+    (native-inputs
+     `(("git" ,git-minimal)
+       ("gtest" ,googletest)
+       ("pkg-config" ,pkg-config)
+       ("tclsh" ,tcl)))
+    (propagated-inputs
+     `(("openssl" ,openssl)))
+    (synopsis "Secure Reliable Transport")
+    (description "SRT is a transport technology that optimizes streaming
+performance across unpredictable networks, such as the Internet.")
+    (home-page "https://www.srtalliance.org/")
+    (license license:mpl2.0)))
+
 (define-public lksctp-tools
   (package
     (name "lksctp-tools")
-- 
2.26.2


[-- Attachment #1.1.29: 0045-gnu-Add-svt-hevc.patch --]
[-- Type: text/x-patch, Size: 1774 bytes --]

From 01e1f8eeb2688c960dfa861945bd4691e598f8b0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 17 Jun 2020 13:22:49 -0400
Subject: [PATCH 45/58] gnu: Add svt-hevc.

* gnu/packages/video.scm (svt-hevc): New variable.
---
 gnu/packages/video.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index fd688b0906..2bb4c77f39 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -167,6 +167,34 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public svt-hevc
+  (package
+    (name "svt-hevc")
+    (version "1.4.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/OpenVisualCloud/SVT-HEVC.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1sqh3dciqm2p1b66kngcpxqy5fx3ramxlxy8gfcbdwn2i3rsqhs7"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("yasm" ,yasm)))
+    (synopsis "SVT HEVC encoder")
+    (description "Scalable Video Technology (SVT) is a software-based video
+coding technology that is highly optimized for Intel's Xeon processors.  Using
+the SVT-HEVC encoder, it is possible to spread video encoding processing across
+multiple Intel's Xeon processors to achieve a real advantage of processing
+efficiency.")
+    (home-page "https://01.org/svt")
+    (license (license:non-copyleft "file://LICENSE.md"))))
+
 (define-public mediasdk
   (package
     (name "mediasdk")
-- 
2.26.2


[-- Attachment #1.1.30: 0046-gnu-Add-tinyalsa.patch --]
[-- Type: text/x-patch, Size: 2617 bytes --]

From fca9377762504f4fb70bc1427335dafbed4b0fe5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 17 Jun 2020 15:07:02 -0400
Subject: [PATCH 46/58] gnu: Add tinyalsa.

* gnu/packages/audio.scm (tinyalsa): New variable.
---
 gnu/packages/audio.scm | 37 ++++++++++++++++++++-----------------
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 993ee64455..17991c43b7 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -127,31 +127,34 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
-(define-public opensles
+(define-public tinyalsa
   (package
-    (name "opensles")
-    (version "1.1.0")
+    (name "tinyalsa")
+    (version "1.1.1")
     (source
      (origin
        (method git-fetch)
        (uri
         (git-reference
-         (url "https://github.com/KhronosGroup/OpenSL-ES-Registry.git")
-         (commit "ea5104b")))
+         (url "https://github.com/tinyalsa/tinyalsa.git")
+         (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0j5bm7h3ahz66f23i9abwc0y10agfkpksnj6y078x2nichq66h4f"))))
-    (build-system copy-build-system)
-    (synopsis "Embedded Audio Acceleration")
-    (description "OpenSLES is a royalty-free, cross-platform,
-hardware-accelerated audio API tuned for embedded systems.  It provides a
-standardized, high-performance, low-latency method to access audio
-functionality for developers of native applications on embedded mobile
-multimedia devices, enabling straightforward cross-platform deployment of
-hardware and software audio capabilities, reducing implementation effort, and
-promoting the market for advanced audio.")
-    (home-page "https://www.khronos.org/opensles/")
-    (license (license:non-copyleft "Refer individual files"))))
+        (base32 "0ajyvml5bnzvhiyyrn42gqwgg23ssxkfh09rvsnywhzxhd0xai4h"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))
+       #:make-flags
+       (list
+        (string-append "PREFIX=" (assoc-ref %outputs "out")))))
+    (synopsis "ALSA interfacing library")
+    (description "TinyALSA is a small library to interface with ALSA in the
+Linux kernel.")
+    (home-page "https://github.com/tinyalsa/tinyalsa")
+    (license (license:non-copyleft "file://NOTICE"))))
 
 (define-public libopenmpt
   (package
-- 
2.26.2


[-- Attachment #1.1.31: 0047-gnu-Add-transcode.patch --]
[-- Type: text/x-patch, Size: 3896 bytes --]

From 9244d35ef12b4bd975f2bcd3a5e485aaa8bf7d20 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 17 Jun 2020 16:50:58 -0400
Subject: [PATCH 47/58] gnu: Add transcode.

* gnu/packages/video.scm (transcode): New variable.
---
 gnu/packages/video.scm | 102 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 2bb4c77f39..e4cfcdfe74 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -167,6 +167,108 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public transcode
+  (package
+    (name "transcode")
+    (version "1.1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sources.archlinux.org/other/community/"
+                       name "/" name "-" version ".tar.bz2"))
+       (sha256
+        (base32 "14ha9xjsjrj131f35jd56z5v1jb4rbsrj1nril5shqnxw3c74khy"))
+       (patches
+        (search-patches "transcode-ffmpeg.patch"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--enable-libv4l2"
+        "--enable-libmpeg2"
+        "--enable-libmpeg2convert"
+        "--enable-v4l"
+        ;; XXX: Not available.
+        ;;"--enable-bktr"
+        ;;"--enable-sunau"
+        "--enable-oss"
+        "--enable-alsa"
+        ;; XXX: Not available.
+        ;;"--enable-libpostproc"
+        "--enable-freetype2"
+        "--enable-xvid"
+        "--enable-x264"
+        "--enable-ogg"
+        "--enable-vorbis"
+        "--enable-theora"
+        ;; XXX: Not available.
+        ;;"--enable-pvm3"
+        "--enable-libdv"
+        "--enable-libquicktime"
+        "--enable-lzo"
+        "--enable-a52"
+        "--enable-faac"
+        "--enable-libxml2"
+        ;; XXX: Not available.
+        ;;"--enable-ibp"
+        ;;"--enable-mjpegtools"
+        "--enable-sdl"
+        "--enable-imagemagick"
+        ;; XXX: Not available.
+        ;;"--enable-libjpegmmx"
+        "--enable-libjpeg"
+        ;; XXX: Not available.
+        ;;"--enable-bsdav"
+        ;;"--enable-pv3"
+        ;;"--enable-nuv"
+        )))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("iconv" ,libiconv)
+       ("libtool" ,libtool)
+       ("libxml2" ,libxml2)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("faac" ,faac)
+       ("ffmpeg" ,ffmpeg)
+       ("freetype" ,freetype)
+       ("imagemagick" ,imagemagick)
+       ("lame" ,lame)
+       ("liba52" ,liba52)
+       ("libdv" ,libdv)
+       ("libdvdread" ,libdvdread)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libmpeg2" ,libmpeg2)
+       ("libogg" ,libogg)
+       ("libquicktime" ,libquicktime)
+       ("libtheora" ,libtheora)
+       ("libvorbis" ,libvorbis)
+       ("lzo" ,lzo)
+       ("mjepgtools" ,mjpegtools)
+       ("sdl" ,sdl)
+       ("v4l-utils" ,v4l-utils)
+       ("x11" ,libx11)
+       ("x264" ,libx264)
+       ("xaw" ,libxaw)
+       ("xext" ,libxext)
+       ("xpm" ,libxpm)
+       ("xv" ,libxv)
+       ("xvid" ,xvid)
+       ("zlib" ,zlib)))
+    (synopsis "Audio/Video Transcoder")
+    (description "Transcode is a fast, versatile and command-line based
+audio/video everything to everything converter primarily focussed on producing
+AVI video files with MP3 audio, but also including a program to read all the
+video and audio streams from a DVD.")
+    (home-page
+     "http://linuxfromscratch.org/blfs/view/svn/multimedia/transcode.html")
+    (license license:gpl2+)))
+
 (define-public svt-hevc
   (package
     (name "svt-hevc")
-- 
2.26.2


[-- Attachment #1.1.32: 0048-gnu-Add-vo-aacenc.patch --]
[-- Type: text/x-patch, Size: 1365 bytes --]

From 3f49b0393cb26eb88fe9efc0f25853a3a62de36b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 18 Jun 2020 06:14:20 -0400
Subject: [PATCH 48/58] gnu: Add vo-aacenc.

* gnu/packages/audio.scm (vo-aacenc): New variable.
---
 gnu/packages/audio.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 17991c43b7..caeaffff55 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -127,6 +127,25 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
+(define-public vo-aacenc
+  (package
+    (name "vo-aacenc")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sourceforge.net/projects/opencore-amr/files/"
+                       name "/" name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0dhghm3c8pqrriwwyj5x9i0yf52fmdfijbgqqkvqvwarldvp86p5"))))
+    (build-system gnu-build-system)
+    (synopsis "VisualOn AAC Encoder")
+    (description "VO-AACENC is the VisualOn implementation of Advanced Audio
+Coding (AAC) encoder.")
+    (home-page "https://sourceforge.net/projects/opencore-amr/")
+    (license license:asl2.0)))
+
 (define-public tinyalsa
   (package
     (name "tinyalsa")
-- 
2.26.2


[-- Attachment #1.1.33: 0049-gnu-Add-webrtc-audio-processing.patch --]
[-- Type: text/x-patch, Size: 1477 bytes --]

From 6dc93ef31c2ecca66182222638a1d92c790c3bf9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 18 Jun 2020 06:55:01 -0400
Subject: [PATCH 49/58] gnu: Add webrtc-audio-processing.

* gnu/packages/audio.scm (webrtc-audio-processing): New variable.
---
 gnu/packages/audio.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index caeaffff55..b63279f8a6 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -127,6 +127,26 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
+(define-public webrtc-audio-processing
+  (package
+    (name "webrtc-audio-processing")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "http://freedesktop.org/software/pulseaudio/"
+                       name "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0"))))
+    (build-system gnu-build-system)
+    (synopsis "WebRTC's Audio Processing Library")
+    (description "WebRTC-Audio-Processing library based on Google's
+implementation of WebRTC.")
+    (home-page
+     "https://freedesktop.org/software/pulseaudio/webrtc-audio-processing/")
+    (license (license:non-copyleft "file://COPYING"))))
+
 (define-public vo-aacenc
   (package
     (name "vo-aacenc")
-- 
2.26.2


[-- Attachment #1.1.34: 0050-gnu-Add-wildmidi.patch --]
[-- Type: text/x-patch, Size: 1877 bytes --]

From b34d5c89db9df4b63906e6b716610de4d423efe1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 18 Jun 2020 09:25:50 -0400
Subject: [PATCH 50/58] gnu: Add wildmidi.

* gnu/packages/audio.scm (wildmidi): New variable.
---
 gnu/packages/audio.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index b63279f8a6..5490e66288 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -127,6 +127,43 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
+(define-public wildmidi
+  (package
+    (name "wildmidi")
+    (version "0.4.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Mindwerks/wildmidi.git")
+         (commit (string-append name "-" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "01f4a9c5xlap5a4pkfnlgkzk5pjlk43zkq6fnw615ghya04g6hrl"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        "-DWANT_ALSA=ON"
+        "-DWANT_OSS=ON"
+        "-DWANT_OPENAL=ON"
+        "-DWANT_DEVTEST=ON")))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("openal" ,openal)))
+    (synopsis "Software Synthesizer")
+    (description "WildMIDI is a simple software midi player which has a core
+softsynth library that can be use with other applications.")
+    (home-page "https://www.mindwerks.net/projects/wildmidi/")
+    (license
+     (list
+      ;; Library.
+      license:lgpl3+
+      ;; Player.
+      license:gpl3+))))
+
 (define-public webrtc-audio-processing
   (package
     (name "webrtc-audio-processing")
-- 
2.26.2


[-- Attachment #1.1.35: 0051-gnu-Add-zxing-cpp.patch --]
[-- Type: text/x-patch, Size: 1532 bytes --]

From bf481717c8a0b306c532eb5d3cc170c1581f4324 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 18 Jun 2020 10:04:15 -0400
Subject: [PATCH 51/58] gnu: Add zxing-cpp.

* gnu/packages/aidc.scm (zxing-cpp): New variable.
---
 gnu/packages/aidc.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index 5648f5a9ec..4921ae03a1 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -37,8 +37,30 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages video)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu))
 
+(define-public zxing-cpp
+  (package
+    (name "zxing-cpp")
+    (version "1.0.8")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/nu-book/zxing-cpp.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "011sq8wcjfxbnd8sj6bf2fgkamlp8gj6q835g61c952npvwsnl71"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (synopsis "C++ port of ZXing")
+    (description "ZXing-CPP is a barcode scanning library.")
+    (home-page "https://github.com/nu-book/zxing-cpp")
+    (license license:asl2.0)))
 
 (define-public barcode
   (package
-- 
2.26.2


[-- Attachment #1.1.36: 0052-gnu-Add-iqa.patch --]
[-- Type: text/x-patch, Size: 1964 bytes --]

From 4fdfc0999a8f16d563a6651875859973af798b1c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 18 Jun 2020 12:29:16 -0400
Subject: [PATCH 52/58] gnu: Add iqa.

* gnu/packages/image.scm (iqa): New variable.
---
 gnu/packages/image.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 24f1b1570c..a7b3bf6d31 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -91,6 +91,38 @@
   #:use-module (guix deprecation)
   #:use-module (srfi srfi-1))
 
+(define-public iqa
+  (package
+    (name "iqa")
+    (version "1.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sourceforge.net/projects/iqa/files/"
+                       "1.1.2%20Release/iqa_1.1.2_src.tar.gz/download"))
+       (sha256
+        (base32 "00mgwy031ammab6bwmd1whhvqv3fxy1cs1igabq0n3ag12zhjs77"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lib (string-append out "/lib")))
+               (install-file "build/debug/libiqa.a" lib)
+               #t))))))
+    (synopsis "Image Quality Assessment")
+    (description "IQA is a C library for objectively measuring image/video
+quality.  It implements many popular algorithms, such as MS-SSIM, MS-SSIM*,
+SIMM, MSE, and PSNR.  It is designed to be fast, accurate, and reliable.  All
+code is Valgrind-clean and unit tested.")
+    (home-page "https://sourceforge.net/projects/iqa/")
+    (license license:bsd-4)))
+
 (define-public libpng
   (package
    (name "libpng")
-- 
2.26.2


[-- Attachment #1.1.37: 0053-gnu-Add-rtmpdump.patch --]
[-- Type: text/x-patch, Size: 1862 bytes --]

From 3e032569d0dfe0b2f5b184b65f5534532abda5f3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 18 Jun 2020 12:33:53 -0400
Subject: [PATCH 53/58] gnu: Add rtmpdump.

* gnu/packages/networking.scm (rtmpdump): New variable.
---
 gnu/packages/networking.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index fffcf4f1a5..14c98ab1b5 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -131,6 +131,41 @@
   #:use-module (gnu packages xml)
   #:use-module (ice-9 match))
 
+(define-public rtmpdump
+  (package
+    (name "rtmpdump")
+    (version "2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://rtmpdump.mplayerhq.hu/download/"
+                       name "-" version ".tgz"))
+       (sha256
+        (base32 "0b2b49a57kpz9gi8dx1x3cs8b0gjx8x0c89x0q96kkl2knlvff7g"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:make-flags
+       (list
+        (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (inputs
+     `(("openssl" ,openssl-1.0)
+       ("zlib" ,zlib)))
+    (synopsis "Tools and library for handling RTMP streams")
+    (description "RTMPdump is a toolkit for RTMP streams.  All forms of RTMP are
+supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.")
+    (home-page "https://rtmpdump.mplayerhq.hu/")
+    (license
+     (list
+      ;; Library.
+      license:lgpl2.1+
+      ;; Others.
+      license:gpl2+))))
+
 (define-public srt
   (package
     (name "srt")
-- 
2.26.2


[-- Attachment #1.1.38: 0054-gnu-Add-libnice.patch --]
[-- Type: text/x-patch, Size: 3623 bytes --]

From f16e64e5afee6d70814cbf9b5730cb1b00f7589f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 18 Jun 2020 20:38:35 -0400
Subject: [PATCH 54/58] gnu: Add libnice.

* gnu/packages/networking.scm (libnice): New variable.
---
 gnu/packages/networking.scm | 57 +++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 14c98ab1b5..dd1a65430d 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -63,6 +63,7 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
@@ -92,6 +93,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libevent)
@@ -103,6 +105,7 @@
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages nettle)
   #:use-module (gnu packages openldap)
+  #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
@@ -131,6 +134,60 @@
   #:use-module (gnu packages xml)
   #:use-module (ice-9 match))
 
+(define-public libnice
+  (package
+    (name "libnice")
+    (version "0.1.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://libnice.freedesktop.org/releases/"
+                       name "-" version ".tar.gz"))
+       (sha256
+        (base32 "09lm0rxwvbr53svi3inaharlq96iwbs3s6957z69qp4bqpga0lhr"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dgtk_doc=enabled")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'move-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
+    (native-inputs
+     `(("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("gstreamer" ,gstreamer)
+       ("gst-plugins-base" ,gst-plugins-base)
+       ("libnsl" ,libnsl)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("glib-networking" ,glib-networking)
+       ("gnutls" ,gnutls)))
+    (synopsis "GLib ICE implementation")
+    (description "LibNice is a library that implements the Interactive
+Connectivity Establishment (ICE) standard (RFC 5245 & RFC 8445).  It provides a
+GLib-based library, libnice, as well as GStreamer elements to use it.")
+    (home-page "https://libnice.freedesktop.org/")
+    (license
+     ;; This project is dual-licensed.
+     (list
+      license:lgpl2.1+
+      license:mpl1.1))))
+
 (define-public rtmpdump
   (package
     (name "rtmpdump")
-- 
2.26.2


[-- Attachment #1.1.39: 0055-gnu-Add-openni2.patch --]
[-- Type: text/x-patch, Size: 2551 bytes --]

From 5970d09c8db16c565ccdf9e3964829affdab2f6c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 18 Jun 2020 21:05:20 -0400
Subject: [PATCH 55/58] gnu: Add openni2.

* gnu/packages/gstreamer.scm (openni2): New variable.
---
 gnu/packages/gstreamer.scm | 40 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 3c79f9bf16..4974ad9485 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -54,9 +54,11 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages graphics)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages iso-codes)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages libunwind)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
@@ -84,6 +86,44 @@
   #:use-module (gnu packages assembly)
   #:use-module (gnu packages xml))
 
+(define-public openni2
+  (package
+    (name "openni2")
+    (version "2.2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/occipital/OpenNI2.git")
+         (commit (string-append "v" version "-debian"))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0mfnyzpq53wnzgjfx91xcbx0nrl0lp1vrk1rk20a3gb3kshsr675"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (native-inputs
+     `(("graphviz" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("freeglut3" ,freeglut)
+       ("libudev" ,eudev)
+       ("libusb" ,libusb)
+       ("openjdk" ,openjdk14)
+       ("openjdk:jdk" ,openjdk14 "jdk")))
+    (synopsis "Framework for sensor-based 'Natural Interaction")
+    (description "OpenNI is a framework for getting data to support
+'Natural Interaction', i.e. skeleton tracking, gesture tracking, and similar
+ways of getting data from humans.  It provides the interface for physical devices
+and for middleware components.")
+    (home-page "https://structure.io/openni")
+    (license license:asl2.0)))
+
 (define-public libdc1394
   (package
     (name "libdc1394")
-- 
2.26.2


[-- Attachment #1.1.40: 0056-gnu-gst-plugins-bad-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 11903 bytes --]

From 8d47e7bc65fa241e761e8a723a147f9c097f66d2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 19 Jun 2020 18:48:19 -0400
Subject: [PATCH 56/58] gnu: gst-plugins-bad: Update package definition.

* gnu/packages/gstreamer.scm (gst-plugins-base): Update package definition.
[outputs]: New output 'doc'.
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>['patch-docbook-xml]: New phase.
['pre-check]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, gettext-minimal, gsettings-desktop-schemas,
perl, libxml2 and xorg-server-for-tests.
[inputs]: Add bzip2, cairo, ccextractor, chromaprint, directfb, faac,
flite, glib, glib-networking, glu, gsm, iqa, lcms, libaom, libbs2b, libdc1394,
libdca, libde265, libdrm, libexif, libfdk, libgme, libmfx, libmms, libmpcdec,
libnice, libofa, libopenmpt, libtiff, libva, libx11, libxcb, libxext, libxshm, lilv,
lv2, mjpegtools, nettle, opencv, openh264, openni2, pango, rtmpdump,
sbc, sctp, spandsp, srt, svt-hevc, transcode, v4l-utils, vo-aacenc, vo-amrwbenc,
vulkan-headers, vulkan-loader, webrtc-audio-processing, wildmidi,
wpebackend-fdo, zbar and zxing-cpp.
[propagated-inputs]: Add gstreamer and gst-plugins-base.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gstreamer.scm | 171 ++++++++++++++++++++++++++++---------
 1 file changed, 130 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 4974ad9485..2465e97ae8 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -35,6 +35,7 @@
   #:use-module (guix build-system meson)
   #:use-module (guix utils)
   #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
@@ -49,6 +50,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -57,6 +59,7 @@
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages image-processing)
   #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages java)
   #:use-module (gnu packages libunwind)
@@ -65,10 +68,13 @@
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages music)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages nettle)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages photo)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages rdf)
@@ -76,13 +82,17 @@
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages speech)
   #:use-module (gnu packages python)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages telephony)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
+  #:use-module (gnu packages vulkan)
+  #:use-module (gnu packages webkit)
   #:use-module (gnu packages assembly)
   #:use-module (gnu packages xml))
 
@@ -671,91 +681,170 @@ model to base your own plug-in on, here it is.")
   (package
     (name "gst-plugins-bad")
     (version "1.16.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://gstreamer.freedesktop.org/src/"
-                                  name "/" name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://gstreamer.freedesktop.org/src/"
+                       name "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi"))))
     (build-system meson-build-system)
     (arguments
-     `(#:phases
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
        (modify-phases %standard-phases
-         ,@(if (string-prefix? "arm" (or (%current-target-system)
-                                         (%current-system)))
-               ;; Disable test that fails on ARMv7.
-               ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1188
-               `((add-after 'unpack 'disable-asfmux-test
-                   (lambda _
-                     (substitute* "tests/check/meson.build"
-                       (("\\[\\['elements/asfmux\\.c'\\]\\],")
-                        ""))
-                     #t)))
-               '())
-         (add-after 'unpack 'disable-failing-test
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* '("libs/compiling.sgml"
+                              "libs/gst-plugins-bad-libs-docs.sgml"
+                              "plugins/gst-plugins-bad-plugins-docs.sgml")
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'unpack 'disable-failing-tests
            (lambda _
-             ;; FIXME: Why is this failing.
              (substitute* "tests/check/meson.build"
-               ((".*elements/dash_mpd\\.c.*")
+               (("\\[\\['elements/msdkh264enc.c'\\], not have_msdk, \\[msdk_dep\\]\\],")
+                "")
+               (("\\[\\['elements/dash_mpd.c'\\], not xml2_dep.found\\(\\), \\[xml2_dep\\]\\],")
+                "")
+               (("\\[\\['elements/webrtcbin.c'\\], not libnice_dep.found\\(\\), \\[gstwebrtc_dep\\]\\],")
                 ""))
+             #t))
+         (add-before
+             'check 'pre-check
+           (lambda _
+             ;; Tests require a running X server.
+             (system "Xvfb :1 +extension GLX &")
+             (setenv "DISPLAY" ":1")
+             ;; Tests write to $HOME.
+             (setenv "HOME" (getcwd))
+             ;; Tests look for $XDG_RUNTIME_DIR.
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
              #t)))))
-    (propagated-inputs
-     `(("gst-plugins-base" ,gst-plugins-base)))
     (native-inputs
-     `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
-       ;; TODO: Enable documentation for 1.18.
-       ;;("gtk-doc" ,gtk-doc)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("perl" ,perl)
        ("pkg-config" ,pkg-config)
-       ("python" ,python)))
+       ("python-wrapper" ,python-wrapper)
+       ("xorg-server" ,xorg-server-for-tests)))
     (inputs
-     ;; XXX: The following dependencies are missing:
-     ;;  vo-amrwbenc, vo-aacenc, bs2b, chromaprint, directfb, daala, libdts,
-     ;;  faac, flite, libgsm, libde265, libmms, libmimic, mjpegtools,
-     ;;  mpeg2enc, libofa, opencv, openh264, openni2, libtimemmgr, wildmidi,
-     ;;  openspc, gme, sbc, schroedinger, zbar, librtmp, spandsp
      `(("bluez" ,bluez)
+       ("bzip2" ,bzip2)
+       ("cairo" ,cairo)
+       ("ccextractor" ,ccextractor)
+       ("chromaprint" ,chromaprint)
        ("curl" ,curl)
+       ("directfb" ,directfb)
+       ;; TODO: Package dssim.
+       ;;("dssim" ,dssim)
+       ("faac" ,faac)
        ("faad2" ,faad2)
+       ;; XXX: Build fails with flite.
+       ;;("flite" ,flite)
        ("fluidsynth" ,fluidsynth)
+       ("glib" ,glib)
+       ("glib-networking" ,glib-networking)
+       ("glu" ,glu)
+       ("gsm" ,gsm)
        ("gtk+" ,gtk+)
+       ("iqa" ,iqa)
        ("ladspa" ,ladspa)
+       ("lcms" ,lcms)
+       ("libaom" ,libaom)
        ("libass" ,libass)
+       ("libbs2b" ,libbs2b)
+       ("libdc1394" ,libdc1394)
+       ("libdca" ,libdca)
+       ("libde265" ,libde265)
+       ("libdrm" ,libdrm)
        ("libdvdnav" ,libdvdnav)
        ("libdvdread" ,libdvdread)
+       ("libexif" ,libexif)
+       ("libfdk" ,libfdk)
        ("libgcrypt" ,libgcrypt)
+       ("libgme" ,libgme)
        ("libgudev" ,libgudev)
        ("libkate" ,libkate)
+       ("libmfx" ,mediasdk)
+       ("libmms" ,libmms)
        ("libmodplug" ,libmodplug)
+       ("libmpcdec" ,libmpcdec)
+       ("libnice" ,libnice)
+       ("libofa" ,libofa)
+       ("libopenmpt" ,libopenmpt)
        ("librsvg" ,librsvg)
        ("libsndfile" ,libsndfile)
        ("libsrtp" ,libsrtp)
        ("libssh2" ,libssh2)
+       ("libtiff" ,libtiff)
        ("libusb" ,libusb)
+       ("libva" ,libva)
        ("libvdpau" ,libvdpau)
        ("libwebp" ,libwebp)
+       ("libx11" ,libx11)
+       ("libxcb" ,libxcb)
+       ("libxext" ,libxext)
+       ("libxkbcommon" ,libxkbcommon)
        ("libxml2" ,libxml2)
+       ("libxshm" ,libxshmfence)
+       ("lilv" ,lilv)
        ("lrdf" ,lrdf)
+       ("lv2" ,lv2)	
        ("mesa" ,mesa)
+       ("mjpegtools" ,mjpegtools)
        ("neon" ,neon)
+       ("nettle" ,nettle)
        ("openal" ,openal)
+       ("opencv" ,opencv)
        ("openexr" ,openexr)
+       ("openh264" ,openh264)
        ("openjpeg" ,openjpeg)
+       ("openni2" ,openni2)
        ("openssl" ,openssl)
        ("opus" ,opus)
        ("orc" ,orc)
-       ;("qtbase" ,qtbase)
-       ;("qtdeclarative" ,qtdeclarative)
-       ;("qtx11extras" ,qtx11extras)
+       ("pango" ,pango)
+       ("rtmp" ,rtmpdump)
+       ("sbc" ,sbc)
+       ("sctp" ,lksctp-tools)
        ("soundtouch" ,soundtouch)
+       ("spandsp" ,spandsp)
+       ("srt" ,srt)
+       ("svthevcenc" ,svt-hevc)
+       ("tinyalsa" ,tinyalsa)
+       ("transcode" ,transcode)
+       ("v4l" ,v4l-utils)
+       ("voaacenc", vo-aacenc)
+       ("voamrwbenc" ,vo-amrwbenc)
+       ("vulkan-headers" ,vulkan-headers)
+       ("vulkan-loader" ,vulkan-loader)
        ("x265" ,x265)
-       ("wayland" ,wayland)))
+       ("wayland" ,wayland)
+       ("webrtcdsp" ,webrtc-audio-processing)
+       ("wildmidi" ,wildmidi)
+       ("wpebackend-fdo" ,wpebackend-fdo)
+       ;;("wpewebkit" ,wpewebkit)
+       ("zbar" ,zbar)
+       ("zxing" ,zxing-cpp)))
+    (propagated-inputs
+     `(("gstreamer" ,gstreamer)
+       ("gst-plugins-base" ,gst-plugins-base)))
+    (synopsis "GStreamer plugins and helper libraries")
+    (description "Gst-Plugins-Bad are Bad with a capital B.  They look fine on
+the outside, and might even appear to get the job done, but at the end of the
+day they're a black sheep.  Without a golden-haired angel to watch over them,
+they'll probably land in an unmarked grave at the final showdown.")
     (home-page "https://gstreamer.freedesktop.org/")
-    (synopsis "Plugins for the GStreamer multimedia library")
-    (description
-     "GStreamer Bad Plug-ins is a set of plug-ins whose quality aren't up to
-par compared to the rest.")
     (license license:lgpl2.0+)))
 
 (define-public gst-plugins-ugly
-- 
2.26.2


[-- Attachment #1.1.41: 0057-gnu-gst-plugins-ugly-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 4701 bytes --]

From 0109580032805d61700513aa5aee0891fed96b3c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 19 Jun 2020 18:53:51 -0400
Subject: [PATCH 57/58] gnu: gst-plugins-ugly: Update package definition.

* gnu/packages/gstreamer.scm (gst-plugins-ugly): Update package definition.
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>['patch-docbook-xml]: New phase.
['pre-check]: New phase.
[native-inputs]: Add docbook-xml, gettext-minimal, gsettings-desktop-schemas,
perl and xorg-server-for-tests.
[inputs]: Add glib, glib-networking and opencore-amr. Remove gst-plugins-base.
[propagated-inputs]: Add gstreamer and gst-plugins-base.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gstreamer.scm | 66 +++++++++++++++++++++++++++++---------
 1 file changed, 50 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 2465e97ae8..fab789d571 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -854,32 +854,66 @@ they'll probably land in an unmarked grave at the final showdown.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://gstreamer.freedesktop.org/src/"
-                           name "/" name "-" version ".tar.xz"))
+       (uri
+        (string-append "https://gstreamer.freedesktop.org/src/"
+                       name "/" name "-" version ".tar.xz"))
        (sha256
-        (base32
-         "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m"))))
+        (base32 "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m"))))
     (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "plugins/gst-plugins-ugly-plugins-docs.sgml"
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-before
+             'check 'pre-check
+           (lambda _
+             ;; Tests require a running X server.
+             (system "Xvfb :1 +extension GLX &")
+             (setenv "DISPLAY" ":1")
+             ;; Tests write to $HOME.
+             (setenv "HOME" (getcwd))
+             ;; Tests look for $XDG_RUNTIME_DIR.
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             #t)))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)
+       ("xorg-server" ,xorg-server-for-tests)))
     (inputs
-     `(("gst-plugins-base" ,gst-plugins-base)
+     `(("glib" ,glib)
+       ("glib-networking" ,glib-networking)
        ("liba52" ,liba52)
        ("libcdio" ,libcdio)
+       ("libdvdread" ,libdvdread)
        ("libmpeg2" ,libmpeg2)
        ("libdvdread" ,libdvdread)
        ("libx264" ,libx264)
-       ;; TODO:
-       ;; * opencore-amr (for the AMR-NB decoder and encoder and the
-       ;;   AMR-WB decoder) <http://sourceforge.net/projects/opencore-amr/>
+       ("opencore-amr" ,opencore-amr)
        ("orc" ,orc)))
-    (native-inputs
-     `(("glib:bin" ,glib "bin")
-       ("pkg-config" ,pkg-config)
-       ("python-wrapper" ,python-wrapper)))
+    (propagated-inputs
+     `(("gstreamer" ,gstreamer)
+       ("gst-plugins-base" ,gst-plugins-base)))
+    (synopsis "GStreamer plugins and helper libraries")
+    (description "Gst-Plugins-Ugly are the ones that might have a patent noose
+around their neck, or a lock-up license, or any other problem that makes you
+think twice about shipping them.")
     (home-page "https://gstreamer.freedesktop.org/")
-    (synopsis "GStreamer plugins from the \"ugly\" set")
-    (description "GStreamer Ugly Plug-ins.  This set contains those plug-ins
-which the developers consider to have good quality code but that might pose
-distribution problems in some jurisdictions, e.g. due to patent threats.")
     (license license:lgpl2.0+)))
 
 (define-public gst-libav
-- 
2.26.2


[-- Attachment #1.1.42: 0058-gnu-gst-libav-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 4389 bytes --]

From a412459054b7ad00738dc66cb2035638f9c11b3c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 19 Jun 2020 19:11:28 -0400
Subject: [PATCH 58/58] gnu: gst-libav: Update package definition.

* gnu/packages/gstreamer.scm (gst-libav): Update package definition.
[arguments]<#:phases>['patch-docbook-xml]: New phase.
[native-inputs]: Add docbook-xml, perl and ruby.
[inputs]: Remove gst-plugins-base, orc and zlib.
[propagated-inputs]: Add gstreamer and gst-plugins-base.
[synopsis]: Modify.
[description]: Modify.
[license]: Change from gpl2+ to lgpl2.0+.
---
 gnu/packages/gstreamer.scm | 66 +++++++++++++++++++++++---------------
 1 file changed, 40 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index fab789d571..a166c90f10 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -85,6 +85,7 @@
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages speech)
   #:use-module (gnu packages python)
   #:use-module (gnu packages ssh)
@@ -902,7 +903,6 @@ they'll probably land in an unmarked grave at the final showdown.")
        ("libcdio" ,libcdio)
        ("libdvdread" ,libdvdread)
        ("libmpeg2" ,libmpeg2)
-       ("libdvdread" ,libdvdread)
        ("libx264" ,libx264)
        ("opencore-amr" ,opencore-amr)
        ("orc" ,orc)))
@@ -920,35 +920,49 @@ think twice about shipping them.")
   (package
     (name "gst-libav")
     (version "1.16.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://gstreamer.freedesktop.org/src/" name "/"
-                    name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1wpfilc98bad9nsv3y1qapxp35dvn2mvwvrmqwrsj58cf09gc967"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  ;; Drop bundled ffmpeg.
-                  (delete-file-recursively "gst-libs/ext/libav")
-                  #t))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://gstreamer.freedesktop.org/src/" name "/"
+         name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1wpfilc98bad9nsv3y1qapxp35dvn2mvwvrmqwrsj58cf09gc967"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Drop bundled ffmpeg.
+           (delete-file-recursively "gst-libs/ext/libav")
+           #t))))
     (build-system meson-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "plugins/gst-libav-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
-     `(("pkg-config" ,pkg-config)
-       ("python" ,python)))
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("ruby" ,ruby)))
     (inputs
-     `(("gst-plugins-base" ,gst-plugins-base)
-       ("ffmpeg" ,ffmpeg)
-       ("orc" ,orc)
-       ("zlib" ,zlib)))
+     `(("ffmpeg" ,ffmpeg)))
+    (propagated-inputs
+     `(("gstreamer" ,gstreamer)
+       ("gst-plugins-base" ,gst-plugins-base)))
+    (synopsis "GStreamer plugins and helper libraries")
+    (description "Gst-Libav contains a GStreamer plugin for using the encoders,
+decoders, muxers, and demuxers provided by FFmpeg.")
     (home-page "https://gstreamer.freedesktop.org/")
-    (synopsis "Plugins for the GStreamer multimedia library")
-    (description
-     "This GStreamer plugin supports a large number of audio and video
-compression formats through the use of the libav library.")
-    (license license:gpl2+)))
+    (license license:lgpl2.0+)))
 
 (define-public gst-editing-services
   (package
-- 
2.26.2


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2020-06-19 23:39 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-06  9:13 Raghav Gururajan
2020-05-06 14:19 ` Ludovic Courtès
2020-05-06 15:05   ` Gábor Boskovits
2020-05-06 15:49 ` Ricardo Wurmus
2020-05-06 16:03   ` Raghav Gururajan
2020-05-06 15:52 ` sirgazil
2020-05-06 16:04   ` Raghav Gururajan
2020-05-06 17:22 ` Jan Nieuwenhuizen
2020-05-06 17:23   ` Raghav Gururajan
2020-05-20 13:34 ` Raghav Gururajan
2020-05-20 13:51   ` Pierre Neidhardt
2020-05-20 13:57     ` Raghav Gururajan
2020-05-20 14:06       ` Pierre Neidhardt
2020-05-21  9:08   ` Efraim Flashner
2020-05-22 11:18     ` Raghav Gururajan
2020-05-22 11:25   ` Raghav Gururajan
2020-05-23 14:26     ` Raghav Gururajan
2020-05-25 20:08       ` Danny Milosavljevic
2020-05-28 17:11         ` Raghav Gururajan
2020-05-28 17:10       ` Raghav Gururajan
2020-05-28 18:23         ` Danny Milosavljevic
2020-05-29 21:01           ` Raghav Gururajan
2020-05-29 23:02             ` Danny Milosavljevic
2020-05-29 20:54         ` Raghav Gururajan
2020-05-29 21:08           ` Raghav Gururajan
2020-05-30 20:30             ` Raghav Gururajan
2020-05-31 13:31               ` Danny Milosavljevic
2020-06-10 13:12                 ` Raghav Gururajan
2020-06-04 18:31               ` Raghav Gururajan
2020-06-04 18:52                 ` Vincent Legoll
2020-06-10 13:06                   ` Raghav Gururajan
2020-06-04 18:57                 ` Danny Milosavljevic
2020-06-14 13:31                 ` Raghav Gururajan
2020-06-19 23:37                   ` Raghav Gururajan [this message]
2020-06-24 22:40                     ` Danny Milosavljevic
2020-07-04 10:37                       ` Raghav Gururajan
2020-07-04 11:14                         ` Raghav Gururajan
2020-07-06  1:36                           ` Raghav Gururajan
2020-07-06 19:24                           ` Danny Milosavljevic
2020-07-06 19:56                             ` Efraim Flashner
2020-07-05 19:25                         ` Danny Milosavljevic
2020-07-06  5:05                           ` Raghav Gururajan
2020-07-13 13:45                             ` Ludovic Courtès
2020-07-13 13:50                               ` Raghav Gururajan
2020-07-16  1:21                             ` Raghav Gururajan
2020-07-17 12:38                               ` Danny Milosavljevic
2020-07-18 13:29                                 ` Raghav Gururajan
2020-07-18 14:12                                   ` Danny Milosavljevic
2020-07-18 19:27                                     ` Raghav Gururajan
2020-07-18 20:18                                       ` Raghav Gururajan
2020-07-19 11:43                                         ` Danny Milosavljevic
2020-07-19 19:21                                         ` Danny Milosavljevic
2020-07-19 19:22                                   ` Danny Milosavljevic
2020-07-20  1:54                                     ` Raghav Gururajan
2020-07-24 18:29                                       ` Raghav Gururajan
2020-07-25  8:15                                         ` Raghav Gururajan
2020-07-25  8:18                                           ` Raghav Gururajan
2020-07-25  8:24                                             ` Raghav Gururajan
2020-07-25  9:12                                               ` Raghav Gururajan
2020-07-27 16:11                                                 ` Raghav Gururajan
2020-07-30 23:51                                                   ` Raghav Gururajan
2020-08-02  7:32                                                   ` Raghav Gururajan
2020-08-03 22:29                                                     ` Danny Milosavljevic
2020-08-04 10:22                                                       ` Raghav Gururajan
2020-08-04 22:50                                                         ` Raghav Gururajan
2020-08-05 15:14                                                           ` Danny Milosavljevic
2020-08-07  2:14                                                             ` Raghav Gururajan
2020-08-09 22:28                                                               ` Danny Milosavljevic
2020-08-11 10:38                                                                 ` Raghav Gururajan
2020-08-12  4:05                                                                   ` Raghav Gururajan
2020-08-12  4:11                                                                     ` Raghav Gururajan
2020-08-12  8:02                                                                       ` Danny Milosavljevic
2020-08-19 15:06                                                                         ` Raghav Gururajan
2020-08-22 14:48                                                                           ` Pierre Neidhardt
2020-08-24  3:18                                                                           ` Maxim Cournoyer
2020-08-14 14:24                                                               ` [20.08.2020 Hartmut Goebel
2020-08-14 14:28                                                                 ` [20.08.2020 Raghav Gururajan
2020-06-24 11:37                   ` [OUTREACHY]: Integration of desktop environments into GNU Guix Danny Milosavljevic
2020-06-25  4:04                     ` Raghav Gururajan
2020-06-25 11:47                       ` Danny Milosavljevic
2020-06-28  5:56                         ` Raghav Gururajan
2020-06-25 11:52                       ` Danny Milosavljevic
2020-05-25 19:58     ` Danny Milosavljevic
2020-05-25 20:00     ` Danny Milosavljevic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b8c0ab3a-857f-c4f0-f614-936e9ffd1e28@disroot.org \
    --to=raghavgururajan@disroot.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

unofficial mirror of guix-devel@gnu.org 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/guix-devel/0 guix-devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-devel guix-devel/ https://yhetil.org/guix-devel \
		guix-devel@gnu.org
	public-inbox-index guix-devel

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.devel
	nntp://news.gmane.io/gmane.comp.gnu.guix.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git