diff mbox series

[bug#68718,v2] gnu: elfutils: Move inputs to propagated-inputs.

Message ID ef3fb5da37a548d196be711273498929b3ee91f0.1717085316.git.olivier.dion@polymtl.ca
State New
Headers show
Series [bug#68718,v2] gnu: elfutils: Move inputs to propagated-inputs. | expand

Commit Message

Olivier Dion May 30, 2024, 4:09 p.m. UTC
From: Olivier Dion <olivier.dion@polymtl.ca>

zlib and liblzma are required in `lib/pkgconfig/{libdw,libelf}.pc'.
Thus, `lib/pkgconfig/liblzma.pc' and `lib/pkgconfig/zlib.pc' from the xz
and zlib packages must be propagated for pkg-config to work on libdw and
libelf.

* gnu/packages/elf.scm (elfutils): Move packages ...
[inputs]: ... from here ...
[propagated-inputs]: ... to here.

Change-Id: Ic89d226b2392fe821b207302d3b386f9633b981a
---
 gnu/packages/elf.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)


base-commit: c2cb630061d937e26bcbd5ae7962f692f640a4ee

Comments

Maxim Cournoyer May 31, 2024, 3:13 a.m. UTC | #1
Hi,

odion@efficios.com writes:

> From: Olivier Dion <olivier.dion@polymtl.ca>
>
> zlib and liblzma are required in `lib/pkgconfig/{libdw,libelf}.pc'.
> Thus, `lib/pkgconfig/liblzma.pc' and `lib/pkgconfig/zlib.pc' from the xz
> and zlib packages must be propagated for pkg-config to work on libdw and
> libelf.
>
> * gnu/packages/elf.scm (elfutils): Move packages ...
> [inputs]: ... from here ...
> [propagated-inputs]: ... to here.

I've reworded the GNU ChangeLog part like:

* gnu/packages/elf.scm (elfutils)
[inputs]: Turn into...
[propagated-inputs]: ... this field.

> Change-Id: Ic89d226b2392fe821b207302d3b386f9633b981a
> ---
>  gnu/packages/elf.scm | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
> index a100038f14..484f8dfc2c 100644
> --- a/gnu/packages/elf.scm
> +++ b/gnu/packages/elf.scm
> @@ -138,7 +138,11 @@ (define-public elfutils
>               '()))))
>  
>      (native-inputs (list m4))
> -    (inputs (list xz zlib))
> +    ;; zlib and liblzma are required in `lib/pkgconfig/{libdw,libelf}.pc'.
> +    ;; Thus, `lib/pkgconfig/liblzma.pc' and `lib/pkgconfig/zlib.pc' from the
> +    ;; xz and zlib packages must be propagated for pkg-config to work on libdw
> +    ;; and libelf.
> +    (propagated-inputs (list xz zlib))

And simplified this to:

    (propagated-inputs (list xz zlib))  ;in Requires of libdw.pc, libelf.pc

and...

Actually, these are in 'Requires.private', which ought to be only useful
for static compilation (though these would be consulted for Cflags since
there's no Cflags.private in pkg-config).

pkgconf handles this better than pkg-config, letting you do without
propagation here, as long as the libs are found in a standard include
path and you are building a shared library.

I think with the planned switch to pkgconf, we probably should avoid
propagation here unless really necessary; do you have a failing example
at hand?
diff mbox series

Patch

diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index a100038f14..484f8dfc2c 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -138,7 +138,11 @@  (define-public elfutils
              '()))))
 
     (native-inputs (list m4))
-    (inputs (list xz zlib))
+    ;; zlib and liblzma are required in `lib/pkgconfig/{libdw,libelf}.pc'.
+    ;; Thus, `lib/pkgconfig/liblzma.pc' and `lib/pkgconfig/zlib.pc' from the
+    ;; xz and zlib packages must be propagated for pkg-config to work on libdw
+    ;; and libelf.
+    (propagated-inputs (list xz zlib))
     (home-page "https://sourceware.org/elfutils/")
     (synopsis "Collection of utilities and libraries to handle ELF files and
 DWARF data")