GNU bug report logs - #68250
[PATCH v2] gnu: mpv: Fix pkgconfig file.

Previous Next

Package: guix-patches;

Reported by: Hilton Chain <hako <at> ultrarare.space>

Date: Fri, 5 Jan 2024 05:08:02 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 68250 in the body.
You can then email your comments to 68250 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#68250; Package guix-patches. (Fri, 05 Jan 2024 05:08:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hilton Chain <hako <at> ultrarare.space>:
New bug report received and forwarded. Copy sent to lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, jgart <at> dismail.de, guix-patches <at> gnu.org. (Fri, 05 Jan 2024 05:08:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: guix-patches <at> gnu.org
Cc: Hilton Chain <hako <at> ultrarare.space>
Subject: [PATCH] gnu: Add libmpv.
Date: Fri,  5 Jan 2024 13:06:17 +0800
* gnu/packages/video.scm (libmpv): New variable.
(mpv)[arguments]<#:configure-flags>: Remove libmpv library.
(celluloid,mpv-mpris)[inputs]: Replace mpv with libmpv.
* gnu/packages/kde-plasma.scm (plasmatube)[inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-mpv)[inputs]: Likewise.

Change-Id: I7c0a808f9d54f9bfd98b3d2632316c7d58b67896
---
 gnu/packages/kde-plasma.scm |  2 +-
 gnu/packages/python-xyz.scm |  2 +-
 gnu/packages/video.scm      | 24 ++++++++++++++++++++----
 3 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 331ab28cd1..0527fa136a 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1611,12 +1611,12 @@ (define-public plasmatube
      (list kconfig
            kirigami
            ki18n
+           libmpv
            qtbase-5
            qtdeclarative-5
            qtmultimedia-5
            qtquickcontrols2-5
            qtsvg-5
-           mpv
            youtube-dl))
     (home-page "https://apps.kde.org/plasmatube/")
     (synopsis "Kirigami YouTube video player")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2afce6c667..b23eaaadfc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -33948,7 +33948,7 @@ (define-public python-mpv
                    (setenv "HOME" (getcwd)))))))
     (native-inputs
      (list python-xvfbwrapper)) ; needed for tests only
-    (inputs (list mpv))
+    (inputs (list libmpv))
     (propagated-inputs (list python-pillow)) ; for raw screenshots
     (home-page "https://github.com/jaseg/python-mpv")
     (synopsis "Python interface to the mpv media player")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 6da4897a57..b532181225 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -867,7 +867,7 @@ (define-public celluloid
       pkg-config
       python-wrapper))             ; for generate-authors.py
     (inputs
-     (list gtk libadwaita libepoxy mpv))
+     (list gtk libadwaita libepoxy libmpv))
     (home-page "https://github.com/celluloid-player/celluloid")
     (synopsis "GTK+ frontend for the mpv media player")
     (description "Celluloid is a simple GTK+ frontend for the mpv media player.
@@ -2367,8 +2367,7 @@ (define-public mpv
               ;; Set PYTHONHASHSEED as a workaround for deterministic results.
               (setenv "PYTHONHASHSEED" "1"))))
       #:configure-flags
-      #~(list "-Dlibmpv=true"
-              "-Dcdda=enabled"
+      #~(list "-Dcdda=enabled"
               "-Ddvdnav=enabled"
               "-Dbuild-date=false")))
     (native-inputs
@@ -2422,6 +2421,23 @@ (define-public mpv
 projects while introducing many more.")
     (license license:gpl2+)))
 
+(define-public libmpv
+  (package
+    (inherit mpv)
+    (name "libmpv")
+    (arguments
+     (substitute-keyword-arguments (package-arguments mpv)
+       ((#:configure-flags flags ''())
+        #~(cons* "-Dcplayer=false"
+                 "-Dlibmpv=true"
+                 #$flags))))
+    (native-inputs
+     (modify-inputs (package-native-inputs mpv)
+       (delete "perl" "python-docutils")))
+    (propagated-inputs (package-inputs mpv))
+    (inputs '())
+    (synopsis "mpv media player client library")))
+
 (define-public smplayer
   (package
     (name "smplayer")
@@ -2524,7 +2540,7 @@ (define-public mpv-mpris
     (native-inputs
      (list pkg-config))
     (inputs
-     (list ffmpeg glib mpv))
+     (list ffmpeg glib libmpv))
     (home-page "https://github.com/hoyon/mpv-mpris")
     (synopsis "MPRIS plugin for mpv")
     (description "This package provides an @dfn{MPRIS} (Media Player Remote

base-commit: be1d05c10766a979dd0720b677889ed950d3b895
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#68250; Package guix-patches. (Fri, 05 Jan 2024 05:10:03 GMT) Full text and rfc822 format available.

Message #8 received at 68250 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: Andrew Tropin <andrew <at> trop.in>
Cc: 68044 <at> debbugs.gnu.org, Josselin Poiret <dev <at> jpoiret.xyz>,
 Zheng Junjie <zhengjunjie <at> iscas.ac.cn>, 68250 <at> debbugs.gnu.org,
 67814 <at> debbugs.gnu.org
Subject: Re: bug#67814: [PATCH 0/3] gnu: mpv: Update to 0.37.0.
Date: Fri, 05 Jan 2024 13:09:17 +0800
Hi,

On Mon, 25 Dec 2023 19:33:41 +0800,
Andrew Tropin wrote:
>
> Hi Hilton!
>
> It seem the mpv update breaks mpv-mpris build.  I didn't dive into
> issue yet, only tried to revert this patch.

It's because mpv's pkgconfig file (for libmpv) now includes all its
dependencies in Requires.private.  Sorry that I didn't check all the
dependent packages.

Josselin has sent bug#68044, which adds mpv's inputs to mpv-mpris.

However there're actually other packages depend on libmpv, so I think
the proper fix is to split libmpv from the mpv package and propagate
inputs in a new package (as mpv users are likely to include mpv in
their profiles, thus these propagated inputs are usually unwanted).

I tried to add a "lib" output for mpv first but there would be cycles.
As a result, I disabled libmpv in mpv, added a libmpv package which
inherits from mpv, and sent it to bug#68250.

Thanks




Information forwarded to hako <at> ultrarare.space, iyzsong <at> member.fsf.org, lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, jgart <at> dismail.de, andrew <at> trop.in, dev <at> jpoiret.xyz, zhengjunjie <at> iscas.ac.cn, guix-patches <at> gnu.org:
bug#68250; Package guix-patches. (Sat, 06 Jan 2024 04:30:01 GMT) Full text and rfc822 format available.

Message #11 received at 68250 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: 68250 <at> debbugs.gnu.org
Cc: Hilton Chain <hako <at> ultrarare.space>,
 宋文武 <iyzsong <at> member.fsf.org>
Subject: [PATCH v2] gnu: mpv: Fix pkgconfig file.
Date: Sat,  6 Jan 2024 12:23:49 +0800
This is a follow-up to ce7b2b57aa6da0ceace94ea5fb42392c7ff97d53.

* gnu/packages/video.scm (mpv)[arguments]<#:phases>: Add 'fix-mpv.pc.

Suggested-by: 宋文武 <iyzsong <at> member.fsf.org>
Change-Id: I9826d5d6c957ca3022fa326aee111edb533f05bc
---
 gnu/packages/video.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e70aa5352e..10d46db38b 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2365,7 +2365,13 @@ (define-public mpv
               ;; and passed as linker flags, but the order in which they are added
               ;; varies.  See <https://github.com/mpv-player/mpv/issues/7855>.
               ;; Set PYTHONHASHSEED as a workaround for deterministic results.
-              (setenv "PYTHONHASHSEED" "1"))))
+              (setenv "PYTHONHASHSEED" "1")))
+          ;; mpv.pc is generated by meson.  libmpv's headers don't actually
+          ;; require these dependencies so it's safe to remove these two fields.
+          (add-after 'install 'fix-mpv.pc
+            (lambda _
+              (substitute* (string-append #$output "/lib/pkgconfig/mpv.pc")
+                (("^(Requires|Libs)\\.private:.*") "")))))
       #:configure-flags
       #~(list "-Dlibmpv=true"
               "-Dcdda=enabled"

base-commit: c0e21e523d93081153a2ffc91e5a9f06afe62b91
--
2.41.0




Changed bug title to '[PATCH v2] gnu: mpv: Fix pkgconfig file.' from '[PATCH] gnu: Add libmpv.' Request was from Hilton Chain <hako <at> ultrarare.space> to control <at> debbugs.gnu.org. (Sat, 06 Jan 2024 04:33:01 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#68250; Package guix-patches. (Wed, 10 Jan 2024 18:25:02 GMT) Full text and rfc822 format available.

Message #16 received at 68250 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Hilton Chain <hako <at> ultrarare.space>, 68250 <at> debbugs.gnu.org
Cc: 宋文武 <iyzsong <at> member.fsf.org>,
 Munyoki Kilyungi <me <at> bonfacemunyoki.com>,
 Zheng Junjie <zhengjunjie <at> iscas.ac.cn>, Lars-Dominik Braun <lars <at> 6xq.net>,
 Andrew Tropin <andrew <at> trop.in>, Hilton Chain <hako <at> ultrarare.space>,
 jgart <jgart <at> dismail.de>, Marius Bakke <marius <at> gnu.org>
Subject: Re: [bug#68250] [PATCH v2] gnu: mpv: Fix pkgconfig file.
Date: Wed, 10 Jan 2024 19:24:16 +0100
[Message part 1 (text/plain, inline)]
Hi Hilton,

Hilton Chain <hako <at> ultrarare.space> writes:

> This is a follow-up to ce7b2b57aa6da0ceace94ea5fb42392c7ff97d53.
>
> * gnu/packages/video.scm (mpv)[arguments]<#:phases>: Add 'fix-mpv.pc.

Does this completely replace the previous patch, instead of augmenting it?

Best,
-- 
Josselin Poiret
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#68250; Package guix-patches. (Sat, 13 Jan 2024 06:49:01 GMT) Full text and rfc822 format available.

Message #19 received at 68250 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: Josselin Poiret <dev <at> jpoiret.xyz>
Cc: 宋文武 <iyzsong <at> member.fsf.org>,
 68250 <at> debbugs.gnu.org, Munyoki Kilyungi <me <at> bonfacemunyoki.com>,
 Zheng Junjie <zhengjunjie <at> iscas.ac.cn>, Lars-Dominik Braun <lars <at> 6xq.net>,
 Andrew Tropin <andrew <at> trop.in>, jgart <jgart <at> dismail.de>,
 Marius Bakke <marius <at> gnu.org>
Subject: Re: [bug#68250] [PATCH v2] gnu: mpv: Fix pkgconfig file.
Date: Sat, 13 Jan 2024 14:48:35 +0800
Hi Josselin,

On Thu, 11 Jan 2024 02:24:16 +0800,
Josselin Poiret wrote:
>
> [1  <text/plain (quoted-printable)>]
> Hi Hilton,
>
> Hilton Chain <hako <at> ultrarare.space> writes:
>
> > This is a follow-up to ce7b2b57aa6da0ceace94ea5fb42392c7ff97d53.
> >
> > * gnu/packages/video.scm (mpv)[arguments]<#:phases>: Add 'fix-mpv.pc.
>
> Does this completely replace the previous patch, instead of augmenting it?

Yes!  I should clarify this before.




Information forwarded to guix-patches <at> gnu.org:
bug#68250; Package guix-patches. (Fri, 19 Jan 2024 02:06:01 GMT) Full text and rfc822 format available.

Message #22 received at 68250 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Hilton Chain <hako <at> ultrarare.space>
Cc: 宋文武 <iyzsong <at> member.fsf.org>, 68250 <at> debbugs.gnu.org,
 Munyoki Kilyungi <me <at> bonfacemunyoki.com>,
 Zheng Junjie <zhengjunjie <at> iscas.ac.cn>, Lars-Dominik Braun <lars <at> 6xq.net>,
 Josselin Poiret <dev <at> jpoiret.xyz>, Andrew Tropin <andrew <at> trop.in>,
 jgart <jgart <at> dismail.de>, Marius Bakke <marius <at> gnu.org>
Subject: Re: bug#68250: [PATCH v2] gnu: mpv: Fix pkgconfig file.
Date: Thu, 18 Jan 2024 21:05:41 -0500
Hi,

Hilton Chain <hako <at> ultrarare.space> writes:

> This is a follow-up to ce7b2b57aa6da0ceace94ea5fb42392c7ff97d53.
>
> * gnu/packages/video.scm (mpv)[arguments]<#:phases>: Add 'fix-mpv.pc.
>
> Suggested-by: 宋文武 <iyzsong <at> member.fsf.org>
> Change-Id: I9826d5d6c957ca3022fa326aee111edb533f05bc
> ---
>  gnu/packages/video.scm | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index e70aa5352e..10d46db38b 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -2365,7 +2365,13 @@ (define-public mpv
>                ;; and passed as linker flags, but the order in which they are added
>                ;; varies.  See <https://github.com/mpv-player/mpv/issues/7855>.
>                ;; Set PYTHONHASHSEED as a workaround for deterministic results.
> -              (setenv "PYTHONHASHSEED" "1"))))
> +              (setenv "PYTHONHASHSEED" "1")))
> +          ;; mpv.pc is generated by meson.  libmpv's headers don't actually
> +          ;; require these dependencies so it's safe to remove these two fields.
> +          (add-after 'install 'fix-mpv.pc
> +            (lambda _
> +              (substitute* (string-append #$output "/lib/pkgconfig/mpv.pc")
> +                (("^(Requires|Libs)\\.private:.*") "")))))
>        #:configure-flags
>        #~(list "-Dlibmpv=true"
>                "-Dcdda=enabled"

I've just seen this, after pushing a hot fix as
f3fdb4e041cb5740ba0b38b9ad017571f8414d33, which propagates all listed
libraries in Requires.private.

I suppose that someone wanting to build something statically from mpv
would benefit from having the original mpv.pc file without
modifications.

Perhaps we can try it out for a bit, and if the propagation causes
problems, we can fall-back to this change here?

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#68250; Package guix-patches. (Thu, 01 Feb 2024 05:03:02 GMT) Full text and rfc822 format available.

Message #25 received at 68250 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 宋文武 <iyzsong <at> member.fsf.org>,
 68250 <at> debbugs.gnu.org, Munyoki Kilyungi <me <at> bonfacemunyoki.com>,
 Zheng Junjie <zhengjunjie <at> iscas.ac.cn>, Lars-Dominik Braun <lars <at> 6xq.net>,
 Josselin Poiret <dev <at> jpoiret.xyz>, Andrew Tropin <andrew <at> trop.in>,
 jgart <jgart <at> dismail.de>, Marius Bakke <marius <at> gnu.org>
Subject: Re: bug#68250: [PATCH v2] gnu: mpv: Fix pkgconfig file.
Date: Thu, 01 Feb 2024 13:01:59 +0800
Hi Maxim,

On Fri, 19 Jan 2024 10:05:41 +0800,
Maxim Cournoyer wrote:
>
> Hi,
>
> Hilton Chain <hako <at> ultrarare.space> writes:
>
> > This is a follow-up to ce7b2b57aa6da0ceace94ea5fb42392c7ff97d53.
> >
> > * gnu/packages/video.scm (mpv)[arguments]<#:phases>: Add 'fix-mpv.pc.
> >
> > Suggested-by: 宋文武 <iyzsong <at> member.fsf.org>
> > Change-Id: I9826d5d6c957ca3022fa326aee111edb533f05bc
> > ---
> >  gnu/packages/video.scm | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> > index e70aa5352e..10d46db38b 100644
> > --- a/gnu/packages/video.scm
> > +++ b/gnu/packages/video.scm
> > @@ -2365,7 +2365,13 @@ (define-public mpv
> >                ;; and passed as linker flags, but the order in which they are added
> >                ;; varies.  See <https://github.com/mpv-player/mpv/issues/7855>.
> >                ;; Set PYTHONHASHSEED as a workaround for deterministic results.
> > -              (setenv "PYTHONHASHSEED" "1"))))
> > +              (setenv "PYTHONHASHSEED" "1")))
> > +          ;; mpv.pc is generated by meson.  libmpv's headers don't actually
> > +          ;; require these dependencies so it's safe to remove these two fields.
> > +          (add-after 'install 'fix-mpv.pc
> > +            (lambda _
> > +              (substitute* (string-append #$output "/lib/pkgconfig/mpv.pc")
> > +                (("^(Requires|Libs)\\.private:.*") "")))))
> >        #:configure-flags
> >        #~(list "-Dlibmpv=true"
> >                "-Dcdda=enabled"
>
> I've just seen this, after pushing a hot fix as
> f3fdb4e041cb5740ba0b38b9ad017571f8414d33, which propagates all listed
> libraries in Requires.private.
>
> I suppose that someone wanting to build something statically from mpv
> would benefit from having the original mpv.pc file without
> modifications.
>
> Perhaps we can try it out for a bit, and if the propagation causes
> problems, we can fall-back to this change here?


Then we should follow the approach in v1 to add libmpv as a separate package.
I'll send v3 later.

Thanks




Information forwarded to guix-patches <at> gnu.org:
bug#68250; Package guix-patches. (Mon, 05 Feb 2024 19:39:02 GMT) Full text and rfc822 format available.

Message #28 received at 68250 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Hilton Chain <hako <at> ultrarare.space>
Cc: 宋文武 <iyzsong <at> member.fsf.org>, 68250 <at> debbugs.gnu.org,
 Munyoki Kilyungi <me <at> bonfacemunyoki.com>,
 Zheng Junjie <zhengjunjie <at> iscas.ac.cn>, Lars-Dominik Braun <lars <at> 6xq.net>,
 Josselin Poiret <dev <at> jpoiret.xyz>, Andrew Tropin <andrew <at> trop.in>,
 jgart <jgart <at> dismail.de>, Marius Bakke <marius <at> gnu.org>
Subject: Re: bug#68250: [PATCH v2] gnu: mpv: Fix pkgconfig file.
Date: Mon, 05 Feb 2024 14:37:56 -0500
Hi Hilton,

[...]

>> I've just seen this, after pushing a hot fix as
>> f3fdb4e041cb5740ba0b38b9ad017571f8414d33, which propagates all listed
>> libraries in Requires.private.
>>
>> I suppose that someone wanting to build something statically from mpv
>> would benefit from having the original mpv.pc file without
>> modifications.
>>
>> Perhaps we can try it out for a bit, and if the propagation causes
>> problems, we can fall-back to this change here?
>
>
> Then we should follow the approach in v1 to add libmpv as a separate package.
> I'll send v3 later.

Actually I don't think we need to split out a library for mpv here;
there are two things we can do in the short term:

1. Build MPV strictly as a shared library (-Dbuild=shared) or something
in Meson.  Then Meson doesn't output all these Requires.private
dependencies, which are only useful for static linking, and which
pkg-config confusingly uses for its --exists check.

2. On core-updates, I've been experimenting with replacing pkg-config
with pkgconf, which seems to be designed better for avoiding the above
pkg-config's pitfall.  Currently stuck on a hard to understand cycle.

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#68250; Package guix-patches. (Mon, 26 Feb 2024 16:04:02 GMT) Full text and rfc822 format available.

Message #31 received at 68250 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Hilton Chain <hako <at> ultrarare.space>
Cc: 宋文武 <iyzsong <at> member.fsf.org>, 68250 <at> debbugs.gnu.org,
 Munyoki Kilyungi <me <at> bonfacemunyoki.com>, Lars-Dominik Braun <lars <at> 6xq.net>,
 Zheng Junjie <zhengjunjie <at> iscas.ac.cn>, Josselin Poiret <dev <at> jpoiret.xyz>,
 Andrew Tropin <andrew <at> trop.in>, jgart <jgart <at> dismail.de>,
 Marius Bakke <marius <at> gnu.org>
Subject: Re: bug#68250: [PATCH v2] gnu: mpv: Fix pkgconfig file.
Date: Mon, 26 Feb 2024 11:01:31 -0500
Hi Hilton,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Hi Hilton,
>
> [...]
>
>>> I've just seen this, after pushing a hot fix as
>>> f3fdb4e041cb5740ba0b38b9ad017571f8414d33, which propagates all listed
>>> libraries in Requires.private.
>>>
>>> I suppose that someone wanting to build something statically from mpv
>>> would benefit from having the original mpv.pc file without
>>> modifications.
>>>
>>> Perhaps we can try it out for a bit, and if the propagation causes
>>> problems, we can fall-back to this change here?
>>
>>
>> Then we should follow the approach in v1 to add libmpv as a separate package.
>> I'll send v3 later.
>
> Actually I don't think we need to split out a library for mpv here;
> there are two things we can do in the short term:
>
> 1. Build MPV strictly as a shared library (-Dbuild=shared) or something
> in Meson.  Then Meson doesn't output all these Requires.private
> dependencies, which are only useful for static linking, and which
> pkg-config confusingly uses for its --exists check.
>
> 2. On core-updates, I've been experimenting with replacing pkg-config
> with pkgconf, which seems to be designed better for avoiding the above
> pkg-config's pitfall.  Currently stuck on a hard to understand cycle.

I've implemented 2. above; see: <https://issues.guix.gnu.org/68813>,
which removes the need to propagate pkg-config *.private fields, which
should only be needed when doing static builds.

I'm thus closing this issue.  Let me know if I've missed anything!

-- 
Thanks,
Maxim




bug closed, send any further explanations to 68250 <at> debbugs.gnu.org and Hilton Chain <hako <at> ultrarare.space> Request was from Maxim Cournoyer <maxim.cournoyer <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 26 Feb 2024 16:04:03 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#68250; Package guix-patches. (Tue, 27 Feb 2024 02:16:02 GMT) Full text and rfc822 format available.

Message #36 received at 68250 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 宋文武 <iyzsong <at> member.fsf.org>,
 68250 <at> debbugs.gnu.org, Munyoki Kilyungi <me <at> bonfacemunyoki.com>,
 Lars-Dominik Braun <lars <at> 6xq.net>, Zheng Junjie <zhengjunjie <at> iscas.ac.cn>,
 Josselin Poiret <dev <at> jpoiret.xyz>, Andrew Tropin <andrew <at> trop.in>,
 jgart <jgart <at> dismail.de>, Marius Bakke <marius <at> gnu.org>
Subject: Re: bug#68250: [PATCH v2] gnu: mpv: Fix pkgconfig file.
Date: Tue, 27 Feb 2024 09:31:36 +0800
Hi Maxim,

On Tue, 27 Feb 2024 00:01:31 +0800,
Maxim Cournoyer wrote:
>
> Hi Hilton,
>
> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:
>
> > Hi Hilton,
> >
> > [...]
> >
> >>> I've just seen this, after pushing a hot fix as
> >>> f3fdb4e041cb5740ba0b38b9ad017571f8414d33, which propagates all listed
> >>> libraries in Requires.private.
> >>>
> >>> I suppose that someone wanting to build something statically from mpv
> >>> would benefit from having the original mpv.pc file without
> >>> modifications.
> >>>
> >>> Perhaps we can try it out for a bit, and if the propagation causes
> >>> problems, we can fall-back to this change here?
> >>
> >>
> >> Then we should follow the approach in v1 to add libmpv as a separate package.
> >> I'll send v3 later.
> >
> > Actually I don't think we need to split out a library for mpv here;
> > there are two things we can do in the short term:
> >
> > 1. Build MPV strictly as a shared library (-Dbuild=shared) or something
> > in Meson.  Then Meson doesn't output all these Requires.private
> > dependencies, which are only useful for static linking, and which
> > pkg-config confusingly uses for its --exists check.
> >
> > 2. On core-updates, I've been experimenting with replacing pkg-config
> > with pkgconf, which seems to be designed better for avoiding the above
> > pkg-config's pitfall.  Currently stuck on a hard to understand cycle.
>
> I've implemented 2. above; see: <https://issues.guix.gnu.org/68813>,
> which removes the need to propagate pkg-config *.private fields, which
> should only be needed when doing static builds.
>
> I'm thus closing this issue.  Let me know if I've missed anything!


Great to see!  Thank you very much!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 27 Mar 2024 11:24:14 GMT) Full text and rfc822 format available.

This bug report was last modified 121 days ago.

Previous Next


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