Subject: Re: bug#50476: [PATCH 00/10] Update guile-dbi and guile-dbd-*

From: Ludovic Courtès <[email-masked]>
Date: Tue, 21 Sep 2021 14:53:47 +0200

Hello!

Arun Isaac <[email-masked]> skribis:

> * gnu/packages/guile-xyz.scm (guile-dbi)[arguments]: Do not set LDFLAGS and
> RPATH in #:make-flags.
> [inputs]: Remove guile-dbd-sqlite3 and guile-dbd-postgresql.
> [native-search-paths]: Add LD_LIBRARY_PATH.

[...]

> +    (native-search-paths
> +     (list (search-path-specification
> +            (variable "LD_LIBRARY_PATH")
> +            (files '("lib")))))))

I think we should not add LD_LIBRARY_PATH as a search path spec as it
can have undesirable side effects; it’s just too broad and risky.

The difficulty here is that we want guile-dbi to be able to find its
guile-dbd-* plugins, right?  The previous method, which was to set the
RUNPATH of guile-dbi pointing to guile-dbd-*, sounds preferable to me:
it’s localized and does the job.

The downside of the RUNPATH method is that these are no longer really
“plugins”: you end up pulling them whether or not you use them.  Perhaps
you were concerned about the closure size?

If that really is a concern, I’d recommend taking a different approach,
such as using/defining a dedicated search path variable.

WDYT?

Thanks,
Ludo’.