GNU bug report logs - #78301
[PATCH] gnu: guile-mqtt: Patch extension path.

Previous Next

Package: guix-patches;

Reported by: Evgeny Pisemsky <mail <at> pisemsky.site>

Date: Wed, 7 May 2025 15:19:01 UTC

Severity: normal

Tags: patch

Done: Z572 <zhengjunjie <at> iscas.ac.cn>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Z572 <z572 <at> z572.online>
To: Evgeny Pisemsky <mail <at> pisemsky.site>
Cc: 78301 <at> debbugs.gnu.org
Subject: [bug#78301] [PATCH] gnu: guile-mqtt: Patch extension path.
Date: Thu, 08 May 2025 00:51:30 +0800
[Message part 1 (text/plain, inline)]
Evgeny Pisemsky <mail <at> pisemsky.site> writes:

> Z572 <z572 <at> z572.online> writes:
>
>> else if no "mosquitto" in inputs
>
> I don't get it.
>
> It is in inputs.

for example, If I use the following codes
```
(define-public mosquitto-with-something
  (package
    (inherit mosquitto)
    (name "mosquitto-with-something")
    ...
    (license (list license:epl1.0 license:edl1.0))))

(define-public guile-mqtt-with-something
  (package (inherit guile-mqtt)
           (name "guile-mqtt-with-something")
           ...
           (inputs (list mosquitto-with-v))))
```


guix build guile-mqtt-with-something will success, but if you see
share/guile/site/3.0/ffi/mosquitto.scm,

```
(define (foreign-pointer-search name)
  (let loop ((libs (list #f "#f/lib/libmosquitto")))
    (cond
      ((null? libs) (error "no library for ~s" name))
      ((false-if-exception (foreign-library-pointer (car libs) name)))
      (else (loop (cdr libs))))))
```

This will cause problems. It is best to report an error during
build. A better approach is to use search-input-file. Instead of relying
on names, look up /lib/libmosquitto.so.



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

This bug report was last modified 14 days ago.

Previous Next


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