diff mbox series

[bug#57975] gnu: rust-libz-sys-1: Do not remove zlib-ng sources.

Message ID 20220921093527.4907-1-rekado@elephly.net
State Accepted
Headers show
Series [bug#57975] gnu: rust-libz-sys-1: Do not remove zlib-ng sources. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Ricardo Wurmus Sept. 21, 2022, 9:35 a.m. UTC
* gnu/packages/crates-io.scm (rust-libz-sys-1)[source]: Only delete bundled
zlib sources.
---
 gnu/packages/crates-io.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

M Sept. 21, 2022, 10:15 a.m. UTC | #1
On 21-09-2022 11:35, Ricardo Wurmus wrote:
> * gnu/packages/crates-io.scm (rust-libz-sys-1)[source]: Only delete bundled
> zlib sources.
> ---
>   gnu/packages/crates-io.scm | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 42a44a2930..f7703f9295 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -32568,9 +32568,9 @@ (define-public rust-libz-sys-1
>             "1q25cb8vs113si7q2p0innhi8jk0wpq37hqi2wcc219hcmw43cr3"))
>           (modules '((guix build utils)))
>           (snippet
> -         '(begin (delete-file-recursively "src/zlib")
> -                 (delete-file-recursively "src/zlib-ng")
> -                 #t))))
> +         ;; Do not delete zlib-ng, because we have no native library
> +         ;; for it.
> +         '(delete-file-recursively "src/zlib"))))

According to the README, zlib and zlib-ng are supposed to be compatible, 
so zlib-ng should be removable (as long as dependents don't enable 
zlib-ng, but that can be patched out).

Additionally, using zlib-ng can cause problems if the application also 
links to the regular zlib:

README.md ‘and as long as you don't also dynamically pull in a copy of
stock zlib (which will produce conflicting symbols)’

Proposal: keep removing zlib-ng, and modify the enabled features in 
whatever crate or Rust application asks for zlib-ng.

Greetings,
Maxime.
Ricardo Wurmus Sept. 21, 2022, 10:27 a.m. UTC | #2
Maxime Devos <maximedevos@telenet.be> writes:

> Proposal: keep removing zlib-ng, and modify the enabled features in
> whatever crate or Rust application asks for zlib-ng.

Thanks, I’ll give that a try by patching the target application.
Ricardo Wurmus Sept. 21, 2022, 10:10 p.m. UTC | #3
Ricardo Wurmus <rekado@elephly.net> writes:

> Maxime Devos <maximedevos@telenet.be> writes:
>
>> Proposal: keep removing zlib-ng, and modify the enabled features in
>> whatever crate or Rust application asks for zlib-ng.
>
> Thanks, I’ll give that a try by patching the target application.

Patching the package to not request the zlib-ng feature works, so I
retract this patch.  Thanks again for the hint!
diff mbox series

Patch

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 42a44a2930..f7703f9295 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -32568,9 +32568,9 @@  (define-public rust-libz-sys-1
           "1q25cb8vs113si7q2p0innhi8jk0wpq37hqi2wcc219hcmw43cr3"))
         (modules '((guix build utils)))
         (snippet
-         '(begin (delete-file-recursively "src/zlib")
-                 (delete-file-recursively "src/zlib-ng")
-                 #t))))
+         ;; Do not delete zlib-ng, because we have no native library
+         ;; for it.
+         '(delete-file-recursively "src/zlib"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs