GNU bug report logs - #54744
[PATCH] Update gstreamer and its families to 1.20.1.

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Zhu Zihao <all_but_last@HIDDEN>; Keywords: patch; dated Wed, 6 Apr 2022 03:44:01 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.

Message received at 54744 <at> debbugs.gnu.org:


Received: (at 54744) by debbugs.gnu.org; 6 Apr 2022 10:06:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 06 06:06:03 2022
Received: from localhost ([127.0.0.1]:57019 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1nc2Y6-0004Ec-M1
	for submit <at> debbugs.gnu.org; Wed, 06 Apr 2022 06:06:03 -0400
Received: from mailrelay.tugraz.at ([129.27.2.202]:26934)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <liliana.prikler@HIDDEN>) id 1nc2Y4-0004E9-EP
 for 54744 <at> debbugs.gnu.org; Wed, 06 Apr 2022 06:06:01 -0400
Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101])
 by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4KYKsJ3tLmz3xNK;
 Wed,  6 Apr 2022 12:05:56 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at;
 s=mailrelay; t=1649239556;
 bh=p/z7o7mk6JOCzC83bjiGgocxOgogjZBuKLPk8Mrz09c=;
 h=Subject:From:To:Cc:Date:In-Reply-To:References;
 b=ic2xLSG0CBusftKMZDvlTexSaHbrNNPJINtBlg+LOUbedZySN6QtG9740tbURZ0NL
 FlmIr8kqT7K/YTPue14EUCa73ne9FVllc/85sX4MJ7m4gterNJPVwUWyUGxI/xav5T
 a8p5Ni0z6Z7u2cQY5S5/WfjnHvex5vgbE1NSEx4Y=
Message-ID: <1b4e9351aef38bba2b0a7f6fd10d385dadf7d785.camel@HIDDEN>
Subject: Re: [PATCH] Update gstreamer and its families to 1.20.1.
From: Liliana Marie Prikler <liliana.prikler@HIDDEN>
To: Zhu Zihao <all_but_last@HIDDEN>
Date: Wed, 06 Apr 2022 12:05:55 +0200
In-Reply-To: <86czhud07t.fsf@HIDDEN>
References: <86bkxeop1g.fsf@HIDDEN>
 <2a54af688cb50fc4bdaa96650be5718d12d420f0.camel@HIDDEN>
 <86czhud07t.fsf@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.42.1 
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ
X-Spam-Scanner: SpamAssassin 3.003001 
X-Spam-Score-relay: -1.9
X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 54744
Cc: 54744 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Am Mittwoch, dem 06.04.2022 um 17:16 +0800 schrieb Zhu Zihao:
> 
> Liliana Marie Prikler <liliana.prikler@HIDDEN> writes:
> > > * gnu/packages/gstreamer.scm (%gstreamer-version): New variable.
> > I don't think that's necessary or even beneficial.  Drop it.
> > Ditto for all the packages referencing it.
> 
> Good. From my view this can ensure packager to update every package
> of gstreamer, not only a part of them. Gstreamer now use a monorepo
> for all its components, they'll also have regular release cycle for
> all components.
Can't really say that the monorepo is a good idea nor condemn it
without knowing the motivations behind, but let's hope that things
still build in isolation.  As for updating, the new variable does more
harm than good.  It forces every build to break when actually the build
would have been sane.  IMHO you should instead leave compatibility
breaking changes to upstream.

> > > * gnu/packages/gstreamer.scm (gst-plugins-good): Update to
> > > 1.20.1.
> > > [...]
> > > [propagated-inputs]: Remove unnecessary propagation.
> > Do gst-plugins-good really no longer depend on the base plugins?
> > 
> > > * gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to
> > > 1.20.1.
> > > [...]
> > > [propagated-inputs]: Remove unnecessary propagation.
> > Idem.
> > 
> > > * gnu/packages/gstreamer.scm (gst-libav): Update to 1.20.1.
> > > [...]
> > > [propagated-inputs]: Remove unnecessary propagation.
> > Ibidem.
> 
> I checked the ugly and good and gst-libav, they do rely on
> gst-plugins-base, but no propagation needed. I don't find a reason
> that they really requires propagation, because their content just a
> so file.
> Gstreamer in Nixpkgs also don't have propagations for above packages.
I personally found that missing these GstElements at runtime can screw
you up.  If that is no longer the case, then fair enough, but you need
to prove that by launching a gst pipeline using a plugin from e.g. gst-
plugins-good without having gst-plugins-base in your GST paths.

> For necessary propgations like gst-plugins-bad(header or gi), I've
> added some comments.
That is always welcome.

> > 
> > > (gst-plugins/selection): Remove because it's not useful in
> > > packaging and requires extra maintenance.
> > > * gnu/packages/video.scm (pitivi)[inputs]: Use gst-plugins-bad.
> > Packages that only require some bad plugins and can exactly state
> > which should not be forced to pull in all of them.  The bad plugins
> > are explicitly named bad, because they're bad.  Enabling any of
> > them beyond necessity should be an active choice of the user.
> > 
> > 
> > > * gnu/packages/webkit.scm (webkitgtk):
> > > [inputs]: Add gst-plugins-bad. It provides gstreamer-parsecodec.
> > My, what a perfect use case for gst-plugins/selection that would
> > be.  Note, that gratuitous media codecs are an additional attack
> > surface.
> > 
> > Cheers
> 
> I'll investigate into it.
> 
> Currently I only see pitivi use gst-plugins/selection.  Many packages
> use gst-plugins-bad directly. 
Whether to use gst-plugins-bad or a selection of it is a per-package
decision.  It depends on whether upstream communicates clearly which
plugins they need or whether you'd have to pull hairs out of their
noses to do so.  In the latter case, it's likelier that they include it
just because they can and will introduce more dependencies on it as
time marches forward.
For most packages not using it, there might however just be a
historical reason – gst-plugins/selection has not existed for that
long.  If you feel it is underused, you might want to search for
packages that (like Pitivi) provide a clear description of what they
need.

> BTW, how to maintain changes for a long patches series like this in
> the review phase? It's quite annoying when I make some minor changes
> but I have to re-sent all patches to the mail list.
Ideally, you would send them one by one using `git send-email'.  Then
you can send a v2 for an individual patch.  Note that excessive use of
minor changes might however annoy both reviewers and infrastructure (I
hear there's a patchwork instance somewhere actually building these
packages).  In my opinion it would be wiser to let it sit for a while,
collect opinions, and then formulate a v2 with all of those in mind.

Note that in your case, v2 should also be sent to staging, i.e. [PATCH
staging v2].

Cheers




Information forwarded to guix-patches@HIDDEN:
bug#54744; Package guix-patches. Full text available.

Message received at 54744 <at> debbugs.gnu.org:


Received: (at 54744) by debbugs.gnu.org; 6 Apr 2022 09:35:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 06 05:35:07 2022
Received: from localhost ([127.0.0.1]:56950 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1nc24A-00019c-Us
	for submit <at> debbugs.gnu.org; Wed, 06 Apr 2022 05:35:07 -0400
Received: from mail-m975.mail.163.com ([123.126.97.5]:41584)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <all_but_last@HIDDEN>) id 1nc247-00018v-6A
 for 54744 <at> debbugs.gnu.org; Wed, 06 Apr 2022 05:35:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;
 s=s110527; h=From:Subject:Date:Message-ID:MIME-Version; bh=qr8B8
 iOL2s3pYVNdnHOm4rCqVYbjULQvBPv9lPEIHZM=; b=D5wmtcWsd8LA4kPXc35h6
 ora75lsst7oJ2iu65KRIGSCPnkmBkVNNYw81SllHwC9gcKKLBrJZDiexEKOWPsIi
 t6gtT6tB09ZtoznoY3UsVQvk2qzzZuh4+IHPuzMCUOIby/fWtKnf/WGAM3nkUwAk
 SOA9o69+rYg3PSN85D1Wpg=
Received: from asus-laptop (unknown [163.125.202.150])
 by smtp5 (Coremail) with SMTP id HdxpCgDHRfa7Xk1idCdYAg--.19423S2;
 Wed, 06 Apr 2022 17:34:52 +0800 (CST)
References: <86bkxeop1g.fsf@HIDDEN>
 <2a54af688cb50fc4bdaa96650be5718d12d420f0.camel@HIDDEN>
User-agent: mu4e 1.6.10; emacs 27.2
From: Zhu Zihao <all_but_last@HIDDEN>
To: Liliana Marie Prikler <liliana.prikler@HIDDEN>
Subject: Re: [PATCH] Update gstreamer and its families to 1.20.1.
Date: Wed, 06 Apr 2022 17:16:54 +0800
In-reply-to: <2a54af688cb50fc4bdaa96650be5718d12d420f0.camel@HIDDEN>
Message-ID: <86czhud07t.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
X-CM-TRANSID: HdxpCgDHRfa7Xk1idCdYAg--.19423S2
X-Coremail-Antispam: 1Uf129KBjvJXoW7ZrWrtF4fur4kCFWUZFWUJwb_yoW5JFyxpF
 43JF4rtr1ktFyrAwsIyw1fCr1fXF48AFWrXa43ury5Cr45GFZYva4jqF4rCF1xGF9Yvw42
 9anIgF4Uu345ZaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zR53k_UUUUU=
X-Originating-IP: [163.125.202.150]
X-CM-SenderInfo: pdoosuxxwbztlvw6il2tof0z/1tbiFBzar1aEABjBogAAsU
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 54744
Cc: 54744 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable


Liliana Marie Prikler <liliana.prikler@HIDDEN> writes:
>> * gnu/packages/gstreamer.scm (%gstreamer-version): New variable.
> I don't think that's necessary or even beneficial.  Drop it.
> Ditto for all the packages referencing it.

Good. From my view this can ensure packager to update every package of
gstreamer, not only a part of them. Gstreamer now use a monorepo for all
its components, they'll also have regular release cycle for all
components.

>> * gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.20.1.
>> [...]
>> [propagated-inputs]: Remove unnecessary propagation.
> Do gst-plugins-good really no longer depend on the base plugins?
>
>> * gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.20.1.
>> [...]
>> [propagated-inputs]: Remove unnecessary propagation.
> Idem.
>
>> * gnu/packages/gstreamer.scm (gst-libav): Update to 1.20.1.
>> [...]
>> [propagated-inputs]: Remove unnecessary propagation.
> Ibidem.

I checked the ugly and good and gst-libav, they do rely on
gst-plugins-base, but no propagation needed. I don't find a reason that
they really requires propagation, because their content just a so file.
Gstreamer in Nixpkgs also don't have propagations for above packages.

For necessary propgations like gst-plugins-bad(header or gi), I've added
some comments.

>> (gst-plugins/selection): Remove because it's not useful in packaging
>> and requires extra maintenance.
>> * gnu/packages/video.scm (pitivi)[inputs]: Use gst-plugins-bad.
> Packages that only require some bad plugins and can exactly state which
> should not be forced to pull in all of them.  The bad plugins are
> explicitly named bad, because they're bad.  Enabling any of them beyond
> necessity should be an active choice of the user.
>
>> * gnu/packages/webkit.scm (webkitgtk):
>> [inputs]: Add gst-plugins-bad. It provides gstreamer-parsecodec.
> My, what a perfect use case for gst-plugins/selection that would be.=20
> Note, that gratuitous media codecs are an additional attack surface.
>
> Cheers

I'll investigate into it.

Currently I only see pitivi use gst-plugins/selection. Many package use
gst-plugins-bad directly.=20

BTW, how to maintain changes for a long patches series like this in the
review phase? It's quite annoying when I make some minor changes but I
have to re-sent all patches to the mail list.
=2D-=20
Retrieve my PGP public key:

  gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iIoEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYk1ephUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/kh4wD/YtNF4fsC79jykc+qUiKo3hmuelLi
Vs9ndQqgcj38wKoA+IslcMwiPNP+AAHt+Ss/AGpKTO/UxLSZmp6LmbWgtwA=
=We/V
-----END PGP SIGNATURE-----
--=-=-=--





Information forwarded to guix-patches@HIDDEN:
bug#54744; Package guix-patches. Full text available.

Message received at 54744 <at> debbugs.gnu.org:


Received: (at 54744) by debbugs.gnu.org; 6 Apr 2022 05:56:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 06 01:56:53 2022
Received: from localhost ([127.0.0.1]:56686 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1nbyez-0003Zg-Fp
	for submit <at> debbugs.gnu.org; Wed, 06 Apr 2022 01:56:53 -0400
Received: from mailrelay.tugraz.at ([129.27.2.202]:16587)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <liliana.prikler@HIDDEN>) id 1nbyex-0003ZX-FB
 for 54744 <at> debbugs.gnu.org; Wed, 06 Apr 2022 01:56:52 -0400
Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101])
 by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4KYDKr32LTz3xdn;
 Wed,  6 Apr 2022 07:56:48 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at;
 s=mailrelay; t=1649224608;
 bh=Z4TnURxeCzMZgn1VNddANBMsi/Paj3Tc/o/aJ0EYFas=;
 h=Subject:From:To:Date:In-Reply-To:References;
 b=ZL5XzRGHIUDSWHOwhNPKnMZ8/rfAD8qCKqroCuyhfgsIpVHgM4ZccuRCYtI26y8rg
 7VINbiZqwHgJ645R6fOjB1HcOAi14sSffq9fvHTvVQ/0Qn/Cs3lsaQ0LVTP8hXVmv1
 wVst1m+9pNzfufNtpxXM42SovFfpWrZjOfa33a04=
Message-ID: <2a54af688cb50fc4bdaa96650be5718d12d420f0.camel@HIDDEN>
Subject: Re: [PATCH] Update gstreamer and its families to 1.20.1.
From: Liliana Marie Prikler <liliana.prikler@HIDDEN>
To: Zhu Zihao <all_but_last@HIDDEN>, 54744 <at> debbugs.gnu.org
Date: Wed, 06 Apr 2022 07:56:48 +0200
In-Reply-To: <86bkxeop1g.fsf@HIDDEN>
References: <86bkxeop1g.fsf@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.42.1 
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ
X-Spam-Scanner: SpamAssassin 3.003001 
X-Spam-Score-relay: -1.9
X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 54744
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Am Mittwoch, dem 06.04.2022 um 11:38 +0800 schrieb Zhu Zihao:
> 
> Here's a series of patches that updates gstreamer to 1.20.1.
> 
> `guix refresh gstreamer -l` shows that triggers 900+ rebuilds, I'm not
> sure every packages depends on gstreamer is tested and worked well. 
> Currently only webkitgtk is tested.
Indeed, gstreamer updates go to staging.

> * gnu/packages/gstreamer.scm (%gstreamer-version): New variable.
I don't think that's necessary or even beneficial.  Drop it.
Ditto for all the packages referencing it.

> * gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.20.1.
> [...]
> [propagated-inputs]: Remove unnecessary propagation.
Do gst-plugins-good really no longer depend on the base plugins?

> * gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.20.1.
> [...]
> [propagated-inputs]: Remove unnecessary propagation.
Idem.

> * gnu/packages/gstreamer.scm (gst-libav): Update to 1.20.1.
> [...]
> [propagated-inputs]: Remove unnecessary propagation.
Ibidem.

> (gst-plugins/selection): Remove because it's not useful in packaging
> and requires extra maintenance.
> * gnu/packages/video.scm (pitivi)[inputs]: Use gst-plugins-bad.
Packages that only require some bad plugins and can exactly state which
should not be forced to pull in all of them.  The bad plugins are
explicitly named bad, because they're bad.  Enabling any of them beyond
necessity should be an active choice of the user.

> * gnu/packages/webkit.scm (webkitgtk):
> [inputs]: Add gst-plugins-bad. It provides gstreamer-parsecodec.
My, what a perfect use case for gst-plugins/selection that would be. 
Note, that gratuitous media codecs are an additional attack surface.

Cheers




Information forwarded to guix-patches@HIDDEN:
bug#54744; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 6 Apr 2022 03:43:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 05 23:43:23 2022
Received: from localhost ([127.0.0.1]:56596 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1nbwZi-0008E9-E0
	for submit <at> debbugs.gnu.org; Tue, 05 Apr 2022 23:43:23 -0400
Received: from lists.gnu.org ([209.51.188.17]:51810)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <all_but_last@HIDDEN>) id 1nbwZd-0008Dx-W6
 for submit <at> debbugs.gnu.org; Tue, 05 Apr 2022 23:43:17 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:50944)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <all_but_last@HIDDEN>)
 id 1nbwZa-0006ow-3p
 for guix-patches@HIDDEN; Tue, 05 Apr 2022 23:43:13 -0400
Received: from mail-m975.mail.163.com ([123.126.97.5]:29145)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <all_but_last@HIDDEN>) id 1nbwZQ-0000sa-9q
 for guix-patches@HIDDEN; Tue, 05 Apr 2022 23:43:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;
 s=s110527; h=From:Subject:Date:Message-ID:MIME-Version; bh=Gww6L
 AveKJn3FgP7jMkDLT3/tX9CZPMCjBZdZnOMla0=; b=EZVrUhzClyN0qTiZQmyR/
 wkbz5aeSTnMicw8o6PlzQSS8wPdLtcmbdPlbm0XeUelhzPcN/OM8TL7IPwtnuV45
 +sCppCS9tB/QSQRHmlG4SwhRCU71zmslGotnzkO1v+P0wkxJiISjXTEVaHM90ZV9
 6bXymCbUZSVgStcSxzmjXw=
Received: from asus-laptop (unknown [163.125.202.150])
 by smtp5 (Coremail) with SMTP id HdxpCgCHBvc8DE1iBQQ1Ag--.15181S2;
 Wed, 06 Apr 2022 11:42:53 +0800 (CST)
User-agent: mu4e 1.6.10; emacs 27.2
From: Zhu Zihao <all_but_last@HIDDEN>
To: guix-patches@HIDDEN
Subject: [PATCH] Update gstreamer and its families to 1.20.1.
Date: Wed, 06 Apr 2022 11:38:34 +0800
Message-ID: <86bkxeop1g.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-CM-TRANSID: HdxpCgCHBvc8DE1iBQQ1Ag--.15181S2
X-Coremail-Antispam: 1Uf129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73
 VFW2AGmfu7bjvjm3AaLaJ3UbIYCTnIWIevJa73UjIFyTuYvjxU8hL0DUUUU
X-Originating-IP: [163.125.202.150]
X-CM-SenderInfo: pdoosuxxwbztlvw6il2tof0z/xtbBPQzar2AY-nSwZgABsh
Received-SPF: pass client-ip=123.126.97.5; envelope-from=all_but_last@HIDDEN;
 helo=mail-m975.mail.163.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.4 (--)

--=-=-=
Content-Type: multipart/signed; boundary="==-=-=";
	micalg=pgp-sha256; protocol="application/pgp-signature"

--==-=-=
Content-Type: text/plain


Here's a series of patches that updates gstreamer to 1.20.1.

`guix refresh gstreamer -l` shows that triggers 900+ rebuilds, I'm not
sure every packages depends on gstreamer is tested and worked well.
Currently only webkitgtk is tested.


--==-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iIsEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYk0MOxUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/n9UAEA7TQ8/XLe+uDzdgv8nsDru8XXry2A
9y7/yJPpqz1B724A/3mzQv17jenynocC0gfqejYs7nJVeDroJnXJvj3VJ6QK
=zZkM
-----END PGP SIGNATURE-----
--==-=-=--

--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0001-gnu-gstreamer-docs-Update-to-1.20.1.patch

From 5ad6187b41bd197573e24058accaf780dcb37035 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@HIDDEN>
Date: Mon, 4 Apr 2022 09:20:12 +0800
Subject: [PATCH 01/10] gnu: gstreamer-docs: Update to 1.20.1.

* gnu/packages/gstreamer.scm (%gstreamer-version): New variable.
(gstreamer-docs): Update to 1.20.1.
[source]: Use %gstreamer-version.
[arguments]: Use G-expressions.
---
 gnu/packages/gstreamer.scm | 39 ++++++++++++++++++++------------------
 1 file changed, 21 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 8ff8e6242b..883baea458 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -28,6 +28,7 @@
 
 (define-module (gnu packages gstreamer)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -401,10 +402,12 @@ (define-public orc
     ;; under the 3-clause BSD license, the rest is under 2-clause BSD license.
     (license (list license:bsd-2 license:bsd-3))))
 
+(define %gstreamer-version "1.20.1")
+
 (define-public gstreamer-docs
   (package
     (name "gstreamer-docs")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -412,25 +415,25 @@ (define-public gstreamer-docs
                     "/gstreamer-docs-" version ".tar.xz"))
               (sha256
                (base32
-                "1xvqrqv1zxqdpvd02dvr0xspk30c8b940vvnr9x75a08nx0x75xh"))))
+                "1brngvhp8k1hdh82g2mcqa5dnb2b68wc4m4jlras6fmr6cyjzn6x"))))
     (build-system trivial-build-system)
     (arguments
-     `(#:modules ((guix build utils))
-       #:builder
-       (begin
-         (use-modules ((guix build utils)))
-         (let* ((source (assoc-ref %build-inputs "source"))
-                (tar (assoc-ref %build-inputs "tar"))
-                (xz (assoc-ref %build-inputs "xz"))
-                (out (assoc-ref %outputs "out"))
-                (books (string-append out "/share/devhelp/books")))
-           (setenv "PATH" (string-append xz "/bin"))
-           (mkdir-p books)
-           (with-directory-excursion books
-             (invoke (string-append tar "/bin/tar") "-xvf" source
-                     "--strip-components=3"
-                     (string-append ,name "-" ,version
-                                    "/devhelp/books/GStreamer")))))))
+     (list
+      #:modules '((guix build utils))
+      #:builder
+      #~(begin
+          (use-modules ((guix build utils)))
+          (let* ((source (assoc-ref %build-inputs "source"))
+                 (tar (assoc-ref %build-inputs "tar"))
+                 (xz (assoc-ref %build-inputs "xz"))
+                 (books (string-append #$output "/share/devhelp/books")))
+            (setenv "PATH" (string-append xz "/bin"))
+            (mkdir-p books)
+            (with-directory-excursion books
+              (invoke (string-append tar "/bin/tar") "-xvf" source
+                      "--strip-components=3"
+                      (string-append #$name "-" #$version
+                                     "/devhelp/books/GStreamer")))))))
     (native-inputs
      (list tar xz))
     (home-page "https://gstreamer.freedesktop.org/")
-- 
2.34.0


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0002-gnu-gstreamer-Update-to-1.20.1.patch

From 6fb757e726236e2f07798aae012db9f68d2b3d35 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@HIDDEN>
Date: Mon, 4 Apr 2022 11:51:19 +0800
Subject: [PATCH 02/10] gnu: gstreamer: Update to 1.20.1.

* gnu/packages/gstreamer.scm (%common-gstreamer-phases): Use G-expressions.
(gstreamer): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[arguments]: Use G-expressions.
<phases>: Remove workaround for gstreamer bug because it's fixed by upstream.
[native-inputs]: Use label-less style inputs.
---
 gnu/packages/gstreamer.scm | 72 ++++++++++++++++----------------------
 1 file changed, 30 insertions(+), 42 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 883baea458..02972f4e1a 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -456,18 +456,19 @@ (define-public gstreamer-docs
 
 ;; Increase the test timeouts to accommodate slow or busy machines.
 (define %common-gstreamer-phases
-  '((add-after 'unpack 'increase-test-timeout
-      (lambda _
-        (substitute* "tests/check/meson.build"
-          (("'CK_DEFAULT_TIMEOUT', '[0-9]*'")
-           "'CK_DEFAULT_TIMEOUT', '600'")
-          (("timeout ?: .*\\)")
-           "timeout: 90 * 60)"))))))
+  (list
+   #~(add-after 'unpack 'increase-test-timeout
+       (lambda _
+         (substitute* "tests/check/meson.build"
+           (("'CK_DEFAULT_TIMEOUT', '[0-9]*'")
+            "'CK_DEFAULT_TIMEOUT', '600'")
+           (("timeout ?: .*\\)")
+            "timeout: 90 * 60)"))))))
 
 (define-public gstreamer
   (package
     (name "gstreamer")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source
      (origin
        (method url-fetch)
@@ -476,33 +477,20 @@ (define-public gstreamer
              version ".tar.xz"))
        (sha256
         (base32
-         "02p8my6dzmm4rvd93s3qnh8w5bm9bh4f7gdydbsvnn9llqr251jm"))))
+         "0cghi6n4nhdbajz3wqcgbh5xm94myvnqgsi9g2bz9n1s9904l2fy"))))
     (build-system meson-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases
-         ;; FIXME: Since switching to the meson-build-system, two tests
-         ;; started failing on i686.  See
-         ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/499>.
-         ,@(if (string-prefix? "i686" (or (%current-target-system)
-                                          (%current-system)))
-               `((add-after 'unpack 'disable-some-tests
-                   (lambda _
-                     (substitute* "tests/check/gst/gstsystemclock.c"
-                       (("tcase_add_test \\(tc_chain, test_stress_cleanup_unschedule.*")
-                        "")
-                       (("tcase_add_test \\(tc_chain, test_stress_reschedule.*")
-                        "")))))
-               '())
-         (add-after 'unpack 'disable-problematic-tests
-           (lambda _
-             ;; Disable the 'pipelines-seek' test, which appears to be load
-             ;; sensitive (see:
-             ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/854).
-             (substitute* "tests/check/meson.build"
-               ((".*'pipelines/seek.c'.*")
-                "")))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases
+          (add-after 'unpack 'disable-problematic-tests
+            (lambda _
+              ;; Disable the 'pipelines-seek' test, which appears to be load
+              ;; sensitive (see:
+              ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/854).
+              (substitute* "tests/check/meson.build"
+                ((".*'pipelines/seek.c'.*") "")))))))
     (propagated-inputs
      ;; In gstreamer-1.0.pc:
      ;;   Requires: glib-2.0, gobject-2.0
@@ -510,15 +498,15 @@ (define-public gstreamer
      (list elfutils ; libdw
            glib libunwind))
     (native-inputs
-     `(("bash-completion" ,bash-completion)
-       ("bison" ,bison)
-       ("flex" ,flex)
-       ("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python-wrapper" ,python-wrapper)))
+     (list bash-completion
+           bison
+           flex
+           gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           perl
+           pkg-config
+           python-wrapper))
     (inputs
      (list gmp libcap
            ;; For tests.
-- 
2.34.0


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0003-gnu-gst-plugins-base-Update-to-1.20.1.patch

From 2be2f280a25609e0235a9cffb67fda249d962b8e Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@HIDDEN>
Date: Mon, 4 Apr 2022 12:02:30 +0800
Subject: [PATCH 03/10] gnu: gst-plugins-base: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-plugins-base): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[propagated-inputs]: Propagates libgudev.
Use label-less style inputs.
[inputs]: Use label-less style inputs.
[native-inputs]: Ditto.
[arguments]: Use G-expressions.
---
 gnu/packages/gstreamer.scm | 145 +++++++++++++++++++------------------
 1 file changed, 73 insertions(+), 72 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 02972f4e1a..aabed346a6 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -533,86 +533,87 @@ (define-public gstreamer
 (define-public gst-plugins-base
   (package
     (name "gst-plugins-base")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source
      (origin
-      (method url-fetch)
-      (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
-                          name "-" version ".tar.xz"))
-      (sha256
-       (base32
-        "18vg8kk7p2p8za8zaqg0v7z6898yw5a3b12vvl7xn02pb3s7l2wn"))))
+       (method url-fetch)
+       (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0162ly7pscymq6bsf1d5fva2k9s16zvfwyi1q6z4yfd97d0sdn4n"))))
     (build-system meson-build-system)
     (propagated-inputs
-     `(("glib" ,glib)              ;required by gstreamer-sdp-1.0.pc
-       ("gstreamer" ,gstreamer)    ;required by gstreamer-plugins-base-1.0.pc
-       ;; wayland-client.h is referred to in
-       ;; include/gstreamer-1.0/gst/gl/wayland/gstgldisplay_wayland.h
-       ("wayland" ,wayland)
-       ;; XXX: Do not enable Orc optimizations on ARM systems because
-       ;; it leads to two test failures.
-       ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/683
-       ,@(if (string-prefix? "arm" (or (%current-target-system)
-                                       (%current-system)))
-             '()
-             `(("orc" ,orc)))))         ;required by gstreamer-audio-1.0.pc
+     (append
+      ;; FIXME: propagates all package referenced in .pc files. 
+      (list glib                    ;required by gstreamer-sdp-1.0.pc
+            gstreamer               ;required by gstreamer-plugins-base-1.0.pc
+            libgudev                ;required by gstreamer-gl-1.0.pc
+            ;; wayland-client.h is referred to in
+            ;; include/gstreamer-1.0/gst/gl/wayland/gstgldisplay_wayland.h
+            wayland)
+      ;; XXX: Do not enable Orc optimizations on ARM systems because
+      ;; it leads to two test failures.
+      (if (string-prefix? "arm"
+                          (or (%current-target-system)
+                              (%current-system)))
+          '()
+          (list orc)))) ;required by gstreamer-audio-1.0.pc
     (inputs
      ;; TODO: Add libvorbisidec
-     `(("cdparanoia" ,cdparanoia)
-       ("pango" ,pango)
-       ("libogg" ,libogg)
-       ("libtheora" ,libtheora)
-       ("libvorbis" ,libvorbis)
-       ("libx11" ,libx11)
-       ("zlib" ,zlib)
-       ("libXext" ,libxext)
-       ("libxv" ,libxv)
-       ("alsa-lib" ,alsa-lib)
-       ("opus" ,opus)
-       ("graphene" ,graphene)
-       ("iso-codes" ,iso-codes)
-       ("libgudev" ,libgudev)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libvisual" ,libvisual)
-       ("mesa" ,mesa)
-       ("wayland-protocols" ,wayland-protocols)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("python-wrapper" ,python-wrapper)
-       ("gettext" ,gettext-minimal)
-       ("xorg-server" ,xorg-server-for-tests)))
+     (list cdparanoia
+           pango
+           libogg
+           libtheora
+           libvorbis
+           libx11
+           zlib
+           libxext
+           libxv
+           alsa-lib
+           opus
+           graphene
+           iso-codes
+           libgudev
+           libjpeg-turbo
+           libpng
+           libvisual
+           mesa
+           wayland-protocols))
+    (native-inputs (list pkg-config
+                         `(,glib "bin")
+                         gobject-introspection
+                         python-wrapper
+                         gettext-minimal
+                         xorg-server-for-tests))
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases
-         (add-after 'unpack 'disable-problematic-tests
-           (lambda _
-             (substitute* "tests/check/meson.build"
-               ;; This test causes nondeterministic failures (see:
-               ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/950).
-               ((".*'elements/appsrc.c'.*")
-                ""))))
-         (add-before 'configure 'patch
-           (lambda _
-             (substitute* "tests/check/libs/pbutils.c"
-               (("/bin/sh") (which "sh")))))
-         (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"))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases
+          (add-after 'unpack 'disable-problematic-tests
+            (lambda _
+              (substitute* "tests/check/meson.build"
+                ;; This test causes nondeterministic failures (see:
+                ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/950).
+                ((".*'elements/appsrc.c'.*") ""))))
+          (add-before 'configure 'patch
+            (lambda _
+              (substitute* "tests/check/libs/pbutils.c"
+                (("/bin/sh") (which "sh")))))
+          (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"))))))
     (home-page "https://gstreamer.freedesktop.org/")
-    (synopsis
-     "Plugins for the GStreamer multimedia library")
+    (synopsis "Plugins for the GStreamer multimedia library")
     (description "This package provides an essential exemplary set of plug-ins
 for the GStreamer multimedia library.")
     (license license:lgpl2.0+)))
-- 
2.34.0


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0004-gnu-gst-plugins-good-Update-to-1.20.1.patch

From 15aae76aed129ed87b38348f8a6ebf27ee300642 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@HIDDEN>
Date: Mon, 4 Apr 2022 13:56:24 +0800
Subject: [PATCH 04/10] gnu: gst-plugins-good: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[arguements]: Use G-expressions.
<phases>: Add 'absolutize-libsoup-library' to embbed abosulute path to libsoup
into the source.
[propagated-inputs]: Remove unnecessary propagation.
[native-inputs]: Use label-less style inputs.
[inputs]: Ditto.
* gnu/packages/patches/gst-plugins-good-fix-test.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove corresponding entry.
---
 gnu/local.mk                                  |   1 -
 gnu/packages/gstreamer.scm                    | 145 ++++++++++--------
 .../patches/gst-plugins-good-fix-test.patch   |  94 ------------
 3 files changed, 79 insertions(+), 161 deletions(-)
 delete mode 100644 gnu/packages/patches/gst-plugins-good-fix-test.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a704161abc..da38c87b4c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1221,7 +1221,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/gspell-dash-test.patch			\
-  %D%/packages/patches/gst-plugins-good-fix-test.patch		\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
   %D%/packages/patches/guile-2.2-skip-so-test.patch             \
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index aabed346a6..3c3f914245 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -621,7 +621,7 @@ (define-public gst-plugins-base
 (define-public gst-plugins-good
   (package
     (name "gst-plugins-good")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source
      (origin
        (method url-fetch)
@@ -629,76 +629,89 @@ (define-public gst-plugins-good
         (string-append
          "https://gstreamer.freedesktop.org/src/" name "/"
          name "-" version ".tar.xz"))
-       (patches (search-patches "gst-plugins-good-fix-test.patch"))
        (sha256
-        (base32 "0svrapawych2s3lm4lx3x023zxq5kcx50jnfmh0qigszfskyxbis"))))
+        (base32 "1al4f35mx41cy2h6agvmsqkjfchsyfs0iyxzpv6pnl0xh9pqfriw"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-       #:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases
-         (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)))))
+     (list
+      #:glib-or-gtk? #t              ; To wrap binaries and/or compile schemas
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases
+
+          ;; In https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/c3455def2e7bd09a7c3806283ceb69d0bef24869
+          ;; gst-plugins-good will dlopen libsoup at runtime instead of link
+          ;; to it. Patch the full library path of libsoup to avoid
+          ;; fiddle around with LD_LIBRARY_PATH environment variable.
+          (add-after 'unpack 'absolutize-libsoup-library
+            (lambda* (#:key inputs #:allow-other-keys)
+              (define libsoup
+                (search-input-file inputs "lib/libsoup-3.0.so"))
+
+              (substitute* "ext/soup/gstsouploader.c"
+                (("(#define LIBSOUP_3_SONAME ).+$" _ prefix)
+                 (string-append prefix "\"" libsoup "\"\n")))))
+          (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
-     `(("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)
-       ("xmllint" ,libxml2)
-       ("xorg-server" ,xorg-server-for-tests)))
+     (list gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           gsettings-desktop-schemas
+           perl
+           pkg-config
+           python-wrapper
+           libxml2
+           xorg-server-for-tests))
     (inputs
-     `(("aalib" ,aalib)
-       ("bzip2" ,bzip2)
-       ("cairo" ,cairo)
-       ("flac" ,flac)
-       ("librsvg" ,(librsvg-for-system))
-       ("glib" ,glib)
-       ("glib-networking" ,glib-networking)
-       ("glu" ,glu)
-       ("gtk+" ,gtk+)
-       ("jack" ,jack-2)
-       ("lame" ,lame)
-       ("libavc1394" ,libavc1394)
-       ("libcaca" ,libcaca)
-       ("libdv" ,libdv)
-       ("libgudev" ,libgudev)
-       ("libiec61883" ,libiec61883)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libshout" ,libshout)
-       ("libsoup" ,libsoup)
-       ("libvpx" ,libvpx)
-       ("libx11" ,libx11)
-       ("libxdamage" ,libxdamage)
-       ("libxfixes" ,libxfixes)
-       ("libxext" ,libxext)
-       ("libxshm" ,libxshmfence)
-       ("mesa" ,mesa)
-       ("mpg123" ,mpg123)
-       ("orc" ,orc)
-       ("pulseaudio" ,pulseaudio)
-       ("speex" ,speex)
-       ("taglib" ,taglib)
-       ("twolame" ,twolame)
-       ("v4l-utils" ,v4l-utils)
-       ("wavpack" ,wavpack)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     (list gstreamer gst-plugins-base))
+     (list aalib
+           bzip2
+           cairo
+           flac
+           (librsvg-for-system)
+           glib
+           glib-networking
+           glu
+           gstreamer
+           gst-plugins-base
+           gtk+
+           jack-2
+           lame
+           libavc1394
+           libcaca
+           libdv
+           libgudev
+           libiec61883
+           libjpeg-turbo
+           libpng
+           libshout
+           libsoup
+           libvpx
+           libx11
+           libxdamage
+           libxfixes
+           libxext
+           libxshmfence
+           mesa
+           mpg123
+           orc
+           pulseaudio
+           speex
+           taglib
+           twolame
+           v4l-utils
+           wavpack
+           zlib))
     (synopsis "GStreamer plugins and helper libraries")
     (description "GStreamer-Plugins-Good is a collection of plug-ins you'd want
 to have right next to you on the battlefield.  Shooting sharp and making no
diff --git a/gnu/packages/patches/gst-plugins-good-fix-test.patch b/gnu/packages/patches/gst-plugins-good-fix-test.patch
deleted file mode 100644
index 38ec0ba802..0000000000
--- a/gnu/packages/patches/gst-plugins-good-fix-test.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-Fix a broken test:
-
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803
-
-Patches copied from upstream source repository:
-
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/2ce5909f3a0b0da3abb7b794215d6b8b72a3b7fa
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/f5310ce346180a717f091f2f09bcbb3ddfb15436
-
-From 2ce5909f3a0b0da3abb7b794215d6b8b72a3b7fa Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@HIDDEN>
-Date: Thu, 12 Nov 2020 23:38:21 +0000
-Subject: [PATCH 1/2] tests: qtdemux: fix crash on 32-bit architectures
-
-Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815>
----
- tests/check/elements/qtdemux.c | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/tests/check/elements/qtdemux.c b/tests/check/elements/qtdemux.c
-index 5271c6576..0c748278b 100644
---- a/tests/check/elements/qtdemux.c
-+++ b/tests/check/elements/qtdemux.c
-@@ -797,9 +797,10 @@ GST_START_TEST (test_qtdemux_pad_names)
-       "protection-system", G_TYPE_STRING,
-       "9a04f079-9840-4286-ab92-e65be0885f95", NULL);
-   caps =
--      gst_caps_new_simple ("video/quicktime", "variant", G_TYPE_STRING,
--      "mss-fragmented", "timesacle", G_TYPE_UINT64, 10000000, "media-caps",
--      GST_TYPE_CAPS, mediacaps, NULL);
-+      gst_caps_new_simple ("video/quicktime",
-+      "variant", G_TYPE_STRING, "mss-fragmented",
-+      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
-   event = gst_event_new_caps (caps);
-@@ -852,9 +853,10 @@ GST_START_TEST (test_qtdemux_pad_names)
-       "protection-system", G_TYPE_STRING,
-       "9a04f079-9840-4286-ab92-e65be0885f95", NULL);
-   caps =
--      gst_caps_new_simple ("video/quicktime", "variant", G_TYPE_STRING,
--      "mss-fragmented", "timesacle", G_TYPE_UINT64, 10000000, "media-caps",
--      GST_TYPE_CAPS, mediacaps, NULL);
-+      gst_caps_new_simple ("video/quicktime",
-+      "variant", G_TYPE_STRING, "mss-fragmented",
-+      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
-   event = gst_event_new_caps (caps);
--- 
-2.30.0
-
-
-From f5310ce346180a717f091f2f09bcbb3ddfb15436 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@HIDDEN>
-Date: Thu, 12 Nov 2020 23:39:21 +0000
-Subject: [PATCH 2/2] tests: qtdemux: fix typo in caps field
-
-timesacle -> timescale
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815>
----
- tests/check/elements/qtdemux.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/check/elements/qtdemux.c b/tests/check/elements/qtdemux.c
-index 0c748278b..4a14c45c0 100644
---- a/tests/check/elements/qtdemux.c
-+++ b/tests/check/elements/qtdemux.c
-@@ -799,7 +799,7 @@ GST_START_TEST (test_qtdemux_pad_names)
-   caps =
-       gst_caps_new_simple ("video/quicktime",
-       "variant", G_TYPE_STRING, "mss-fragmented",
--      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "timescale", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-       "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
-@@ -855,7 +855,7 @@ GST_START_TEST (test_qtdemux_pad_names)
-   caps =
-       gst_caps_new_simple ("video/quicktime",
-       "variant", G_TYPE_STRING, "mss-fragmented",
--      "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-+      "timescale", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000),
-       "media-caps", GST_TYPE_CAPS, mediacaps, NULL);
- 
-   /* Send segment event* */
--- 
-2.30.0
-
-- 
2.34.0


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0005-gnu-gst-plugins-bad-Update-to-1.20.1.patch

From dff111ac950ed03613ed5d56a9eaba3e260b5b9a Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@HIDDEN>
Date: Mon, 4 Apr 2022 14:34:10 +0800
Subject: [PATCH 05/10] gnu: gst-plugins-bad: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-plugins-bad): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[arguments]: Use G-expressions.
[native-inputs]: Use label-less style inputs.
[inputs]: Ditto.
(gst-plugins/selection): Remove because it's not useful in packaging and
requires extra maintenance.
* gnu/packages/video.scm (pitivi)[inputs]: Use gst-plugins-bad.
---
 gnu/packages/gstreamer.scm | 352 +++++++++++++++++--------------------
 gnu/packages/video.scm     |   5 +-
 2 files changed, 167 insertions(+), 190 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 3c3f914245..24afc36347 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -724,14 +724,14 @@ (define libsoup
 (define-public gst-plugins-bad
   (package
     (name "gst-plugins-bad")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source (origin
               (method url-fetch)
               (uri (string-append "https://gstreamer.freedesktop.org/src/"
                                   name "/" name "-" version ".tar.xz"))
               (sha256
                (base32
-                "13k7mm2wmsbhd04a20v9lj4afpf0w33ambpwlrw8bl7hjhxr4r51"))
+                "0j1q89dl8369djibc5p27lyj8y8p4maplmdzlryvrw0ib77w5lq9"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -739,175 +739,177 @@ (define-public gst-plugins-bad
                   (delete-file-recursively "ext/sctp/usrsctp")))))
     (build-system meson-build-system)
     (arguments
-     `(#:configure-flags '("-Dsctp-internal-usrsctp=disabled")
-       #:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-       #:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-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'\\]\\],")
-                        "")))))
-               '())
-         (add-after 'unpack 'adjust-tests
-           (lambda* (#:key native-inputs inputs #:allow-other-keys)
-             (let ((gst-plugins-good (assoc-ref (or native-inputs inputs)
-                                                "gst-plugins-good")))
-               (substitute* "tests/check/meson.build"
-                 ;; Make gst-plugin-good available for tests, see
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1426
-                 (("'GST_PLUGIN_SYSTEM_PATH_1_0', ''")
-                  (string-append "'GST_PLUGIN_SYSTEM_PATH_1_0', '"
-                                 gst-plugins-good "/lib/gstreamer-1.0'"))
+     (list
+      #:configure-flags #~(list "-Dsctp-internal-usrsctp=disabled")
+      #:glib-or-gtk? #t              ; To wrap binaries and/or compile schemas
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-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
+                 (list
+                  #~(add-after 'unpack 'disable-asfmux-test
+                      (lambda _
+                        (substitute* "tests/check/meson.build"
+                          (("\\[\\['elements/asfmux\\.c'\\]\\],")
+                           "")))))
+                 '())
+          (add-after 'unpack 'adjust-tests
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (let ((gst-plugins-good #$(this-package-native-input
+                                         "gst-plugins-good")))
+                (substitute* "tests/check/meson.build"
+                  ;; Make gst-plugin-good available for tests, see
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1426
+                  (("'GST_PLUGIN_SYSTEM_PATH_1_0', ''")
+                   (string-append "'GST_PLUGIN_SYSTEM_PATH_1_0', '"
+                                  gst-plugins-good "/lib/gstreamer-1.0'"))
 
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
-                 ((".*elements/msdkh264enc\\.c.*") "")
-                 ((".*elements/svthevcenc\\.c.*") "")
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+                  ((".*elements/msdkh264enc\\.c.*") "")
+                  ((".*elements/svthevcenc\\.c.*") "")
 
-                 ;; The 'elements_shm.test_shm_live' test sometimes times out
-                 ;; (see:
-                 ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790).
-                 ((".*'elements/shm\\.c'.*") "")
+                  ;; The 'elements_shm.test_shm_live' test sometimes times out
+                  ;; (see:
+                  ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790).
+                  ((".*'elements/shm\\.c'.*") "")
 
-                 ;; FIXME: Why is this failing.
-                 ((".*elements/dash_mpd\\.c.*") "")
+                  ;; FIXME: Why is this failing.
+                  ((".*elements/dash_mpd\\.c.*") "")
 
-                 ;; These tests are flaky and occasionally time out:
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/932
-                 ((".*elements/curlhttpsrc\\.c.*") "")
-                 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
-                 ((".*elements/dtls\\.c.*") ""))
-               (substitute* "tests/check/elements/zxing.c"
-                 ;; zxing 1.2.0 seemingly changed the type representation of
-                 ;; the EAN_13 structure; disable it.
-                 ((".*\"EAN_13\".*")
-                  "")))))
-         (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"))))))
+                  ;; These tests are flaky and occasionally time out:
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/932
+                  ((".*elements/curlhttpsrc\\.c.*") "")
+                  ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
+                  ((".*elements/dtls\\.c.*") ""))
+                (substitute* "tests/check/elements/zxing.c"
+                  ;; zxing 1.2.0 seemingly changed the type representation of
+                  ;; the EAN_13 structure; disable it.
+                  ((".*\"EAN_13\".*")
+                   "")))))
+          (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"))))))
     (propagated-inputs
-     (list gstreamer gst-plugins-base))
+     (list gstreamer gst-plugins-base)) ;referenced in its headers
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")         ; for glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("gst-plugins-good" ,gst-plugins-good) ;for tests
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("xorg-server" ,xorg-server-for-tests)))
+     (list gettext-minimal
+           `(,glib "bin") ; for glib-mkenums, etc.
+           gobject-introspection
+           gsettings-desktop-schemas
+           gst-plugins-good ;for tests
+           perl
+           pkg-config
+           python-wrapper
+           xorg-server-for-tests))
     (inputs
-     `(("bluez" ,bluez)
-       ("bzip2" ,bzip2)
-       ("cairo" ,cairo)
-       ;; ("ccextractor" ,ccextractor)
-       ("chromaprint" ,chromaprint)
-       ("curl" ,curl)
-       ("directfb" ,directfb)
-       ;;("dssim" ,dssim)
-       ("faac" ,faac)
-       ("faad2" ,faad2)
-       ("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)
-       ("opensles" ,opensles)
-       ("openssl" ,openssl)
-       ("opus" ,opus)
-       ("orc" ,orc)
-       ("pango" ,pango)
-       ("rtmp" ,rtmpdump)
-       ("sbc" ,sbc)
-       ("sctp" ,lksctp-tools)
-       ("soundtouch" ,soundtouch)
-       ("spandsp" ,spandsp)
-       ("srt" ,srt)
-       ("svthevcenc" ,svt-hevc)
-       ("tinyalsa" ,tinyalsa)
-       ("transcode" ,transcode)
-       ("usrsctp" ,usrsctp)
-       ("v4l" ,v4l-utils)
-       ("voaacenc", vo-aacenc)
-       ("voamrwbenc" ,vo-amrwbenc)
-       ("vulkan-headers" ,vulkan-headers)
-       ("vulkan-loader" ,vulkan-loader)
-       ("x265" ,x265)
-       ("wayland" ,wayland)
-       ("webrtcdsp" ,webrtc-audio-processing)
-       ("wildmidi" ,wildmidi)
-       ("wpebackend-fdo" ,wpebackend-fdo)
-       ("zbar" ,zbar)
-       ("zxing" ,zxing-cpp-1.2)))
+     (list bluez
+           bzip2
+           cairo
+           ;; ("ccextractor" ,ccextractor)
+           chromaprint
+           curl
+           directfb
+           ;;("dssim" ,dssim)
+           faac
+           faad2
+           flite
+           fluidsynth
+           glib
+           glib-networking
+           glu
+           gsm
+           gtk+
+           iqa
+           ladspa
+           lcms
+           libaom
+           libass
+           libbs2b
+           libdc1394
+           libdca
+           libde265
+           libdrm
+           libdvdnav
+           libdvdread
+           libexif
+           libfdk
+           libgcrypt
+           libgme
+           libgudev
+           libkate
+           mediasdk
+           libmms
+           libmodplug
+           libmpcdec
+           libnice
+           libofa
+           libopenmpt
+           librsvg
+           libsndfile
+           libsrtp
+           libssh2
+           libtiff
+           libusb
+           libva
+           libvdpau
+           libwebp
+           libx11
+           libxcb
+           libxext
+           libxkbcommon
+           libxml2
+           libxshmfence
+           lilv
+           lrdf
+           lv2
+           mesa
+           mjpegtools
+           neon
+           nettle
+           openal
+           ;; ("opencv" ,opencv)
+           openexr
+           openh264
+           openjpeg
+           ;; ("openni2" ,openni2)
+           opensles
+           openssl
+           opus
+           orc
+           pango
+           rtmpdump
+           sbc
+           lksctp-tools
+           soundtouch
+           spandsp
+           srt
+           svt-hevc
+           tinyalsa
+           transcode
+           usrsctp
+           v4l-utils
+           vo-aacenc
+           vo-amrwbenc
+           vulkan-headers
+           vulkan-loader
+           x265
+           wayland
+           webrtc-audio-processing
+           wildmidi
+           wpebackend-fdo
+           zbar
+           zxing-cpp-1.2))
     (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "Plugins for the GStreamer multimedia library")
     (description
@@ -1037,28 +1039,6 @@ (define-public gst-editing-services
 non-linear editors.")
     (license license:gpl2+)))
 
-(define-public gst-plugins/selection
-  (lambda* (pkg #:key plugins configure-flags)
-    "Build PKG with only PLUGINS enabled.  Optionally, if CONFIGURE-FLAGS are
-given, also pass them to the build system instead of the ones used by PKG."
-    (package/inherit pkg
-      (arguments
-       (substitute-keyword-arguments (package-arguments pkg)
-         ((#:configure-flags flags `(,@(or configure-flags '())))
-          `(append
-            (list
-             ,@(map (lambda (plugin)
-                      (string-append "-D" plugin "=enabled"))
-                    plugins))
-            (list ,@(or configure-flags flags))))
-          ((#:phases phases)
-           `(modify-phases ,phases
-              (add-after 'unpack 'disable-auto-plugins
-                (lambda _
-                  (substitute* "meson_options.txt"
-                    (("'auto'") "'disabled'"))
-                  #t)))))))))
-
 (define-public python-gst
   (package
     (name "python-gst")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index dc05c0a222..0b6c20b08a 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -4419,10 +4419,7 @@ (define-public pitivi
             gstreamer
             gst-plugins-base
             gst-plugins-good
-            (gst-plugins/selection gst-plugins-bad #:plugins
-                                   '("debugutils" "transcode")
-                                   #:configure-flags
-                                   '("-Dintrospection=enabled"))
+            gst-plugins-bad
             gst-libav
             gsound
             gtk+
-- 
2.34.0


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0006-gnu-gst-plugins-ugly-Update-to-1.20.1.patch

From 1ac989e625704471a72d170fc219cdc10ef8b626 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@HIDDEN>
Date: Mon, 4 Apr 2022 14:37:05 +0800
Subject: [PATCH 06/10] gnu: gst-plugins-ugly: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[arguments]: Use G-expressions.
[propagated-inputs]: Remove unnecessary propagation.
[native-inputs]: Use label-less style inputs.
---
 gnu/packages/gstreamer.scm | 55 +++++++++++++++++++-------------------
 1 file changed, 28 insertions(+), 27 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 24afc36347..3cdd118565 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -920,7 +920,7 @@ (define-public gst-plugins-bad
 (define-public gst-plugins-ugly
   (package
     (name "gst-plugins-ugly")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source
      (origin
        (method url-fetch)
@@ -928,33 +928,36 @@ (define-public gst-plugins-ugly
         (string-append "https://gstreamer.freedesktop.org/src/"
                        name "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "1nb6kz3gbn8r0sld6xkm16qpgyb2bvhafb7sff9rgagqk0z80cnz"))))
+        (base32 "06fvgyjwcf4paqxgp1xmgd0d0glkxys7n818526k10wrw92m20s2"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-       #:phases
-       (modify-phases %standard-phases
-         ,@%common-gstreamer-phases
-         (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"))))))
+     (list
+      #:glib-or-gtk? #t              ; To wrap binaries and/or compile schemas
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases
+          (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"))))))
     (native-inputs
-     `(("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)))
+     (list gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           gsettings-desktop-schemas
+           gstreamer
+           gst-plugins-base
+           perl
+           pkg-config
+           python-wrapper
+           xorg-server-for-tests))
     (inputs
      (list glib
            glib-networking
@@ -965,8 +968,6 @@ (define-public gst-plugins-ugly
            libx264
            opencore-amr
            orc))
-    (propagated-inputs
-     (list gstreamer 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
-- 
2.34.0


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0007-gnu-gst-libav-Update-to-1.20.1.patch

From 5092ba4cbaf12402c2dba6273ed7d3b4fff375fe Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@HIDDEN>
Date: Mon, 4 Apr 2022 14:38:11 +0800
Subject: [PATCH 07/10] gnu: gst-libav: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-libav): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[propagated-inputs]: Remove unnecessary propagation.
---
 gnu/packages/gstreamer.scm | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 3cdd118565..4dad4514da 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -978,7 +978,7 @@ (define-public gst-plugins-ugly
 (define-public gst-libav
   (package
     (name "gst-libav")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source
      (origin
        (method url-fetch)
@@ -987,14 +987,12 @@ (define-public gst-libav
          "https://gstreamer.freedesktop.org/src/" name "/"
          name "-" version ".tar.xz"))
        (sha256
-        (base32 "0j55jgk9sbhinfx2gsg21q609x6yzrixrn5xxlxd378fj6500bl2"))))
+        (base32 "1iwz7928yi48xia5kfkj54x5dfmhbj25g9125vainpmp6fv1z9wi"))))
     (build-system meson-build-system)
     (native-inputs
      (list perl pkg-config python-wrapper ruby))
     (inputs
-     (list ffmpeg))
-    (propagated-inputs
-     (list gstreamer gst-plugins-base))
+     (list ffmpeg gstreamer 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.")
-- 
2.34.0


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0008-gnu-python-gst-Update-to-1.20.1.patch

From b893ccbbf7693d139590de5644d00b0304acadb3 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@HIDDEN>
Date: Mon, 4 Apr 2022 18:05:59 +0800
Subject: [PATCH 08/10] gnu: python-gst: Update to 1.20.1.

* gnu/packages/gstreamer.scm (python-gst): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[arguments]:
<configure-flags>: Add missing slash.
[propagated-inputs]: propagates gstreamer.
---
 gnu/packages/gstreamer.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 4dad4514da..d96a07cc33 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -1041,7 +1041,7 @@ (define-public gst-editing-services
 (define-public python-gst
   (package
     (name "python-gst")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1049,7 +1049,7 @@ (define-public python-gst
                     "gst-python-" version ".tar.xz"))
               (sha256
                (base32
-                "0lmwwmr3wm56qlrdrb0d5cpmqxkcmarz61wmp1nrv5852f3qadjk"))))
+                "08ll518b15r9ipssrcc0iq5kr0lx4cf3b0k9ihfricrxmagxav5s"))))
     (build-system meson-build-system)
     (arguments
      `(#:modules ((guix build meson-build-system)
@@ -1060,11 +1060,11 @@ (define-public python-gst
        #:configure-flags
        (list (string-append
               "-Dpygi-overrides-dir="
-              (python:site-packages %build-inputs %outputs) "gi/overrides"))))
+              (python:site-packages %build-inputs %outputs) "/gi/overrides"))))
     (native-inputs
      (list pkg-config python))
     (propagated-inputs
-     (list gst-plugins-base python-pygobject))
+     (list gstreamer gst-plugins-base python-pygobject))
     (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "GStreamer GObject Introspection overrides for Python")
     (description
-- 
2.34.0


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0009-gnu-webkitgtk-Fix-build-failed-against-gstreamer-1.2.patch

From 1bd254d7544db7633d2c34313b0e95b92adf1c91 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@HIDDEN>
Date: Tue, 5 Apr 2022 00:14:56 +0800
Subject: [PATCH 09/10] gnu: webkitgtk: Fix build failed against gstreamer
 1.20.

* gnu/packages/webkit.scm (webkitgtk):
[inputs]: Add gst-plugins-bad. It provides gstreamer-parsecodec.
---
 gnu/packages/webkit.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index f79d6bd4f6..67df4c297e 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -326,6 +326,7 @@ (define-public webkitgtk
        ("enchant" ,enchant)
        ("geoclue" ,geoclue)
        ("gst-plugins-base" ,gst-plugins-base)
+       ("gst-plugins-bad" ,gst-plugins-bad)
        ("gtk+-2" ,gtk+-2)
        ("harfbuzz" ,harfbuzz)
        ("hyphen" ,hyphen)
-- 
2.34.0


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0010-gnu-gst-editing-services-Update-to-1.20.1.patch

From 70ea4b4c8085fce957557a9df2a44ab217ffaf78 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@HIDDEN>
Date: Wed, 6 Apr 2022 11:31:00 +0800
Subject: [PATCH 10/10] gnu: gst-editing-services: Update to 1.20.1.

* gnu/packages/gstreamer.scm (gst-editing-services): Update to 1.20.1.
[version]: Use `%gstreamer-version` variable.
[source]: Generate download URL by package name.
[arguments]: Use G-expressions.
[native-inputs]: Use label-less input style.
---
 gnu/packages/gstreamer.scm | 35 +++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index d96a07cc33..ef0b1d1ead 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -1002,35 +1002,38 @@ (define-public gst-libav
 (define-public gst-editing-services
   (package
     (name "gst-editing-services")
-    (version "1.18.5")
+    (version %gstreamer-version)
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "https://gstreamer.freedesktop.org/src/" name "/"
-                    "gst-editing-services-" version ".tar.xz"))
+                    name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1x8db4021qv4ypq1g6n5q2awrb7glr4xp1h650c3w7q59lwsix4a"))))
+                "1ps887yyj6jkj8a2613n43b4fbvynxwryinxvavi00cfnlhipkka"))))
     (build-system meson-build-system)
     (arguments
-     ;; FIXME: 16/22 failing tests.
-     `(#:tests? #f
-       #:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-       #:phases (modify-phases %standard-phases
-                  ,@%common-gstreamer-phases)))
+     (list
+      ;; FIXME: 16/22 failing tests.
+      #:tests? #f
+      #:glib-or-gtk? #t              ; To wrap binaries and/or compile schemas
+      #:phases
+      #~(modify-phases %standard-phases
+          #$@%common-gstreamer-phases)))
     (propagated-inputs
      (list gstreamer gst-plugins-base))
     (inputs
      (list glib glib-networking gtk+ libxml2))
     (native-inputs
-     `(("flex" ,flex)
-       ("gobject-introspection" ,gobject-introspection)
-       ("glib:bin" ,glib "bin")
-       ("gst-plugins-bad" ,gst-plugins-bad)
-       ("gst-plugins-good" ,gst-plugins-good)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)))
+     (list flex
+           gobject-introspection
+           `(,glib "bin")
+           ;; gst-devtools
+           gst-plugins-bad
+           gst-plugins-good
+           perl
+           pkg-config
+           python-wrapper))
     (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "GStreamer library for non-linear editors")
     (description
-- 
2.34.0


--=-=-=
Content-Type: text/plain


-- 
Retrieve my PGP public key:

  gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao

--=-=-=--





Acknowledgement sent to Zhu Zihao <all_but_last@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#54744; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Wed, 6 Apr 2022 10:15:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.