bug#55709: R texinfo documents are not showing up for me

2022-06-04 Thread Kyle Andrews


I had a really hard time getting ~guix gc --verify=contents,repair~ to
actually fix the problem and get commands like emacs to run.

Nothing worked until I mounted /gnu/store as read write and removed the
zeroed file completely for that particular gtk+3.24.30 folder, removed
the ~guix/store/.links~ folder, and then finally reran the ~guix gc ...~
command. That was after doing a fsck as well.

Hat tip to Tobias for spending a good chunk of saturday helping me
through this. He though this might be related to issue 50121 after I
referred him to it.

Cheers,

Kyle

Liliana Marie Prikler  writes:

> Am Dienstag, dem 31.05.2022 um 10:37 +0200 schrieb Maxime Devos:
>> (Is there a method to verify and repair a _single_ store item instead
>> of the whole store?).
> I think the syntax for that'd be ‘[sudo] guix build --repair
> STORE_ITEM’.
>
> Cheers






bug#55488: bug#55707: syslogd logging kernel messages slowly?

2022-06-04 Thread Ludovic Courtès
Ludovic Courtès  skribis:

>   2. Explicitly disable syncing for some of the log files by prepending
>  a hyphen right before the file name in syslogd.conf (info
>  "(inetutils) syslogd invocation").

Tried this (in addition to ‘fdatasync’):

--8<---cut here---start->8---
(define %default-syslog.conf
  (plain-file "syslog.conf" "
 # Log all error messages, authentication messages of
 # level notice or higher and anything of level err or
 # higher to the console.
 # Don't log private authentication messages!
 *.alert;auth.notice;authpriv.none  -/dev/console

 # Log anything (except mail) of level info or higher.
 # Don't log private authentication messages!
 *.info;mail.none;authpriv.none  /var/log/messages

 *.=debug   -/var/log/debug

 # Same, in a different place.
 *.info;mail.none;authpriv.none -/dev/tty12

 # The authpriv file has restricted access.
 authpriv.*  /var/log/secure

 # Log all the mail messages in one place.
 mail.* -/var/log/maillog
"))
--8<---cut here---end--->8---

In addition to the hyphens, notice that now only debugging info goes to
/var/log/debug (previously everything going to /var/log/messages would
also go to /var/log/debug, which is kinda silly).

This halves the number of ‘fdatasync’ calls and thus doubles the
throughput, but we’re still spending ~0.1s on ‘fdatasync’ for each line,
which is slow.

So the next solution is to not ‘fdatasync’ on /var/log/messages either:

--8<---cut here---start->8---
(define %default-syslog.conf
  (plain-file "syslog.conf" "
 # Log all error messages, authentication messages of
 # level notice or higher and anything of level err or
 # higher to the console.
 # Don't log private authentication messages!
 *.alert;auth.notice;authpriv.none  -/dev/console

 # Log anything (except mail) of level info or higher.
 # Don't log private authentication messages!
 *.info;mail.none;authpriv.none -/var/log/messages

 # Log \"debug\"-level entries and nothing else.
 *.=debug   -/var/log/debug

 # Same, in a different place.
 *.info;mail.none;authpriv.none -/dev/tty12

 # The authpriv file has restricted access.
 # 'fsync' the file after each line.
 authpriv.*  /var/log/secure

 # Log all the mail messages in one place.
 mail.* -/var/log/maillog
"))
--8<---cut here---end--->8---

With this, the system boots much more quickly.

I’m tempted to commit the above syslog.conf.  From a look at the code
and doc, it seems that neither rsyslog nor systemd-journald does
anything like “fsync after each logged line”, so the config above sounds
like a reasonable default (at any rate, the current default is
definitely unreasonable on slow spinning disks).

I’m curious to see if it fixes your other boot-up issues, timeouts and
all, Luis.

Ludo’.





bug#55707: syslogd logging kernel messages slowly?

2022-06-04 Thread Ludovic Courtès
Ludovic Courtès  skribis:

>   1. Use ‘fdatasync’ rather than ‘fsync’;

Turns out ‘fdatasync’ is about as expensive:

--8<---cut here---start->8---
   1234:301   19:22:00 fdatasync(6) = 0 <0.398749>
   1236:301   19:22:01 fdatasync(5) = 0 <0.198520>
   1243:301   19:22:01 fdatasync(6) = 0 <0.231935>
   1245:301   19:22:01 fdatasync(5) = 0 <0.183503>
   1252:301   19:22:01 fdatasync(6) = 0 <0.230854>
   1254:301   19:22:02 fdatasync(5) = 0 <0.248839>
   1261:301   19:22:02 fdatasync(6) = 0 <0.181513>
   1263:301   19:22:02 fdatasync(5) = 0 <0.141267>
   1270:301   19:22:02 fdatasync(6) = 0 <0.131548>
   1272:301   19:22:02 fdatasync(5) = 0 <0.124369>
   1279:301   19:22:02 fdatasync(6) = 0 <0.121414>
--8<---cut here---end--->8---

Tested with:

--8<---cut here---start->8---
(define inetutils/fdatasync
  (package/inherit inetutils
(version (string-append (package-version inetutils) ".fdatasync"))
(source (origin
  (inherit (package-source inetutils))
  (modules '((guix build utils)))
  (snippet
   '(substitute* "src/syslogd.c"
  (("fsync") "fdatasync")))
--8<---cut here---end--->8---

It still makes more sense than ‘fsync’ though.

Ludo’.





bug#55707: bug#55488: GDM, GNOME: Can't start desktop session after upgrade

2022-06-04 Thread Ludovic Courtès
Hi,

Ludovic Courtès  skribis:

> Here’s another debugging trick; would be great if you could try this:
>
> (define strace-syslogd
>   (program-file "strace-syslogd"
> #~(apply execl #$(file-append strace "/bin/strace")
>  "strace" ;argv[0]
>  "-f" "-Tt" "-o" "/syslogd.log" "-s" "80"
>  #$(file-append inetutils "/libexec/syslogd")
>  (cdr (command-line)
>
>
> and then:
>
> (modify-services %desktop-services
>   (syslog-service-type
>_ => (syslog-configuration
>  (syslogd strace-syslogd
>
> This creates a log file, /syslogd.log, which will allow us to see the
> time it takes syslogd to read from /proc/kmsg and hopefully to determine
> the origin of delays.

I tried this on a machine I have access to that exhibits this slowness,
and here’s what I get (excerpt that spans 2+ seconds of syslogd
activity):

--8<---cut here---start->8---
328   18:46:13 openat(AT_FDCWD, "/dev/console", O_WRONLY|O_CREAT|O_APPEND, 
0644) = 4 <0.99>
328   18:46:13 openat(AT_FDCWD, "/var/log/messages", O_WRONLY|O_CREAT|O_APPEND, 
0644) = 5 <0.75>
328   18:46:13 ioctl(5, TCGETS, 0x7ffe23d6c930) = -1 ENOTTY (Inappropriate 
ioctl for device) <0.000261>
328   18:46:13 openat(AT_FDCWD, "/var/log/debug", O_WRONLY|O_CREAT|O_APPEND, 
0644) = 6 <0.000201>
328   18:46:13 ioctl(6, TCGETS, 0x7ffe23d6c930) = -1 ENOTTY (Inappropriate 
ioctl for device) <0.000138>
328   18:46:13 openat(AT_FDCWD, "/dev/tty12", O_WRONLY|O_CREAT|O_APPEND, 0644) 
= 7 <0.001059>
328   18:46:13 ioctl(7, TCGETS, {B38400 opost isig icanon echo ...}) = 0 
<0.000101>
328   18:46:13 openat(AT_FDCWD, "/var/log/secure", O_WRONLY|O_CREAT|O_APPEND, 
0644) = 8 <0.77>
328   18:46:13 ioctl(8, TCGETS, 0x7ffe23d6c930) = -1 ENOTTY (Inappropriate 
ioctl for device) <0.39>
328   18:46:13 openat(AT_FDCWD, "/var/log/maillog", O_WRONLY|O_CREAT|O_APPEND, 
0644) = 9 <0.70>

[…]

328   18:46:13 read(3, "<5>[0.00] Linux version 5.17.11-gnu (guix@guix) 
(gcc (GCC) 10.3.0, GNU l"..., 1024) = 981 <0.83>
328   18:46:13 rt_sigprocmask(SIG_BLOCK, [HUP ALRM], [], 8) = 0 <0.59>
322   18:46:13 +++ exited with 0 +++
328   18:46:13 newfstatat(AT_FDCWD, "/etc/localtime", {st_mode=S_IFREG|0444, 
st_size=2962, ...}, 0) = 0 <0.49>
328   18:46:13 writev(7, [{iov_base="Jun  4 18:46:13", iov_len=15}, {iov_base=" 
", iov_len=1}, {iov_base="localhost", iov_len=9}, {iov_base=" ", iov_len=1}, 
{iov_base="vmunix: [0.00] Linux version 5.17.11-gnu (guix@guix) (gcc 
(GCC) 10.3.0, "..., iov_len=124}, {iov_base="\r\n", iov_len=2}], 6) = 152 
<0.86>
328   18:46:13 fsync(7) = -1 EINVAL (Invalid argument) 
<0.36>
328   18:46:13 writev(6, [{iov_base="Jun  4 18:46:13", iov_len=15}, {iov_base=" 
", iov_len=1}, {iov_base="localhost", iov_len=9}, {iov_base=" ", iov_len=1}, 
{iov_base="vmunix: [0.00] Linux version 5.17.11-gnu (guix@guix) (gcc 
(GCC) 10.3.0, "..., iov_len=124}, {iov_base="\n", iov_len=1}], 6) = 151 
<0.63>
328   18:46:13 fsync(6) = 0 <0.380857>
328   18:46:13 writev(5, [{iov_base="Jun  4 18:46:13", iov_len=15}, {iov_base=" 
", iov_len=1}, {iov_base="localhost", iov_len=9}, {iov_base=" ", iov_len=1}, 
{iov_base="vmunix: [0.00] Linux version 5.17.11-gnu (guix@guix) (gcc 
(GCC) 10.3.0, "..., iov_len=124}, {iov_base="\n", iov_len=1}], 6) = 151 
<0.79>
328   18:46:13 fsync(5) = 0 <0.131763>
328   18:46:13 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 <0.000213>
328   18:46:13 rt_sigprocmask(SIG_BLOCK, [HUP ALRM], [], 8) = 0 <0.000160>
328   18:46:13 newfstatat(AT_FDCWD, "/etc/localtime", {st_mode=S_IFREG|0444, 
st_size=2962, ...}, 0) = 0 <0.49>
328   18:46:13 writev(7, [{iov_base="Jun  4 18:46:13", iov_len=15}, {iov_base=" 
", iov_len=1}, {iov_base="localhost", iov_len=9}, {iov_base=" ", iov_len=1}, 
{iov_base="vmunix: [0.00] Command line: 
BOOT_IMAGE=/gnu/store/w8py29cnikbg69jvxhxb3"..., iov_len=314}, 
{iov_base="\r\n", iov_len=2}], 6) = 342 <0.000123>
328   18:46:13 fsync(7) = -1 EINVAL (Invalid argument) 
<0.40>
328   18:46:13 writev(6, [{iov_base="Jun  4 18:46:13", iov_len=15}, {iov_base=" 
", iov_len=1}, {iov_base="localhost", iov_len=9}, {iov_base=" ", iov_len=1}, 
{iov_base="vmunix: [0.00] Command line: 
BOOT_IMAGE=/gnu/store/w8py29cnikbg69jvxhxb3"..., iov_len=314}, {iov_base="\n", 
iov_len=1}], 6) = 341 <0.74>
328   18:46:13 fsync(6) = 0 <0.23>
328   18:46:13 writev(5, [{iov_base="Jun  4 18:46:13", iov_len=15}, {iov_base=" 
", iov_len=1}, {iov_base="localhost", iov_len=9}, {iov_base=" ", iov_len=1}, 
{iov_base="vmunix: [0.00] Command line: 
BOOT_IMAGE=/gnu/store/w8py29cnikbg69jvxhxb3"..., iov_len=314}, {iov_base="\n", 
iov_len=1}], 6) = 341 <0.000156>
328   18:46:13 fsync(5) = 0 <0.099143>
328   18:46:14 r

bug#55793: Issue with elfutils libdw pkg-config's inputs

2022-06-04 Thread Ioannis Kappas
Hi,

there appears to be an issue with the elfutils package that is missing
a dependency after it is installed.

To reproduce, on a profile without `xz' installed:

$ guix install elfutils
$ pkg-config --cflags libdw

Package liblzma was not found in the pkg-config search path.
Perhaps you should add the directory containing `liblzma.pc'
to the PKG_CONFIG_PATH environment variable
Package 'liblzma', required by 'libdw', not found

or using gstreamer which depends on elfutils

$ guix shell --check gstreamer pkg-config --pure
$ pkg-config --cflags libdw
Package liblzma was not found in the pkg-config search path.
Perhaps you should add the directory containing `liblzma.pc'
to the PKG_CONFIG_PATH environment variable
Package 'liblzma', required by 'libdw', not found

This is because elfutils has discovered an installation of the `xz'
library during the configure phase (log @
http://ci.guix.gnu.org/log/jp6027624wl2f4xx5yz1vjzd2b9yvwl9-elfutils-0.183)

...
  checking for library containing gzdirect... -lz
  checking for library containing BZ2_bzdopen... -lbz2
  checking for library containing lzma_auto_decoder... -llzma
  checking for library containing ZSTD_decompress... no
...

even though it is not part of the package inputs

gnu/packages/elf.scm:
(define-public elfutils
  (package
   (name "elfutils")
   (version "0.183")
   ;; ...
   (native-inputs (list m4))
   (inputs (list zlib))
   ;; ...
   ))

The `xz' package is most likely coming as an implicit input from the
commencement module's %final-inputs and thus picked up by the
configure script, but is never propagated.

Assuming the above analysis is correct, potential solutions could be:

1. Declare `xz` as a propagated input in elfutils.
2. Pass --without-lzma to the configure script.
3. Change the build scripts so that build inputs that are only used
for unpacking sources are only visible to unpack phase.

Looking closer at the configure output, it appears there is an
additional implicit input that is picked up by the configure script
`bzip2`, thus this should also be considered.

Furthermore, the configure script recommends that all compression
methods should be installed

RECOMMENDED FEATURES (should all be yes)
  gzip support   : yes
  bzip2 support  : yes
  lzma/xz support: yes
  zstd support   : no
  libstdc++ demangle support : yes
  File textrel check : yes
  Symbol versioning  : yes

so perhaps option#1 above should be the preferred solution, and should
 also include zstd as a dep? If so, I've created the following draft
to demonstrate its use

>From 158b3f67fdd43b4e9b6ac1d46d27169e4f67c4de Mon Sep 17 00:00:00 2001
Subject: [PATCH] Include elfutils recommended inputs for libdw pc

---
 gnu/packages/elf.scm | 4 
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 414d6a2856..cfe3bd466a 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -109,6 +109,10 @@ (define-public elfutils

 (native-inputs (list m4))
 (inputs (list zlib))
+;; libdw dependencies
+(propagated-inputs `(("xz" ,xz)
+ ("lbzip2" ,lbzip2)
+ ("zstd:lib" ,zstd "lib")))
 (home-page "https://sourceware.org/elfutils/";)
 (synopsis "Collection of utilities and libraries to handle ELF files and
 DWARF data")
-- 
2.34.0

Testing with gstreamer

$ pre-inst-env guix shell --check gstreamer pkg-config --pure
guix shell: checking the environment variables visible from shell '/bin/bash'...
guix shell: All is good!  The shell gets correct environment variables.

$ pkg-config --cflags libdw
-I/gnu/store/yvf3j3gd3321k9n1wd9ycfaz7blbp8v6-elfutils-0.183/include
-I/gnu/store/aggsb6j1svxp70xlll4rqnx5f2pzz794-xz-5.2.5/include
-I/gnu/store/3x3dl71d4xm6y4hjwq110hmfyfx0xc6j-zstd-1.5.0-lib/include
-I/gnu/store/yvf3j3gd3321k9n1wd9ycfaz7blbp8v6-elfutils-0.183/include
-I/gnu/store/8qv5kb2fgm4c3bf70zcg9l6hkf3qzpw9-zlib-1.2.11/include

Thanks





bug#55657: libgccjit is unusable

2022-06-04 Thread Liliana Marie Prikler
Am Samstag, dem 04.06.2022 um 14:25 + schrieb Tobias Geerinckx-
Rice:
> Meant to include link to
> https://github.com/flatwhatson/guix-channel/blob/657da22f0229b978b7bf4e4d476f59f17f6a175f/flat/packages/gcc.scm#L27
>  which is where the majic happens
I'm not personally using that channel, but I noticed this issue by
trying to adapt that recipe towards master.  Now there's a chance that
I've made an error in my copypasta game, but I'm pretty sure the
current state of libgccjit is not a good one regardless.

Cheers





bug#55776: maven-core fails to build

2022-06-04 Thread Dr. Arne Babenhauserheide

Julien Lepiller  writes:
> What I did instead is, since jdom wants to set more features than
> supported in the driver, to add dummy support for all these additional
> features by just not throwing the exception. It's not very satisfying,
> but it works and we don't keep a vulnerable jdom around. With the
> attached patch, I built up to maven.

Thank you!

The patch looks clear enough — will you push it?

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de


signature.asc
Description: PGP signature


bug#55776: maven-core fails to build

2022-06-04 Thread Remco van 't Veer
2022/06/04 15:47, Julien Lepiller:

> So I figured I could fix java-plexus-component-metadata that we use to
> generate some xml files during the build of maven. jdom is one of its
> inputs. Adding another jdom to the native inputs would probably not fix
> the issue.

Reverting the jdom upgrade patch, I did get mave-core to build.  I admit
I did not try running it.  My interest in maven is as a dependency to
clojure-tools, I don't really know how to test maven is actually working
by itself.

> What I did instead is, since jdom wants to set more features than
> supported in the driver, to add dummy support for all these additional
> features by just not throwing the exception. It's not very satisfying,
> but it works and we don't keep a vulnerable jdom around. With the
> attached patch, I built up to maven.

Smart!  I look forward to seeing your patch land in the main branch.

Cheers,
Remco





bug#55657: libgccjit is unusable

2022-06-04 Thread Tobias Geerinckx-Rice via Bug reports for GNU Guix
Meant to include link to 
https://github.com/flatwhatson/guix-channel/blob/657da22f0229b978b7bf4e4d476f59f17f6a175f/flat/packages/gcc.scm#L27
 which is where the majic happens

Kind regards,

T G-R

Sent on the go.  Excuse or enjoy my brevity.





bug#55657: libgccjit is unusable

2022-06-04 Thread Tobias Geerinckx-Rice via Bug reports for GNU Guix
Lily,

I think a lot of people are using emacs-native-comp from here: 
https://github.com/flatwhatson/guix-channel/blob/master/flat/packages/emacs.scm

I don't know if I've updated mine since your failed experiments, but it has 
worked forever...

Kind regards,

T G-R

Sent on the go.  Excuse or enjoy my brevity.





bug#55657: libgccjit is unusable

2022-06-04 Thread Remco van 't Veer
2022/05/26 15:07, Liliana Marie Prikler:

> Hi Guix,
>
> with the release of Emacs 28.1, there has been some demand to enable
> native-compilation.  While trying to set that up, I've come to realize
> that no matter how I slice it, I can't make libgccjit usable.

The guixrus channel has an emacs which seems to support gccjit.  I have
not tried it myself.

  https://git.sr.ht/~whereiseveryone/guixrus/

Especially:

  
https://git.sr.ht/~whereiseveryone/guixrus/tree/master/item/guixrus/packages/emacs.scm
  
https://git.sr.ht/~whereiseveryone/guixrus/tree/master/item/guixrus/packages/gcc.scm

Maybe you can borrow some knowledge there? ;-)

Cheers,
Remco





bug#55776: maven-core fails to build

2022-06-04 Thread Julien Lepiller
Le Sat, 04 Jun 2022 12:25:21 +0200,
Remco van 't Veer  a écrit :

> I did some digging and found this regression is caused by commit:
> 
>  6068b83b82475566acd4162467bcf54270f338f9
>  "gnu: java-jdom: Update to 2.0.6.1 [fixes CVE-2021-33813]."
> 
> Apparently the fix for this issue causes jdom to be very strict;
> 
> > java.io.IOException: Invalid input descriptor for merge:
> > /tmp/plexus-metadata3957336728290309540xml -->
> > http://xml.org/sax/features/external-general-entities feature
> > http://xml.org/sax/features/external-general-entities not supported
> > for SAX driver org.codehaus.plexus.metadata.merge.Driver  
> 
> Which sound familiar when looking at that CVE
> (https://github.com/advisories/GHSA-2363-cqg2-863c):
> 
> > An XXE issue in SAXBuilder in JDOM through 2.0.6 allows attackers to
> > cause a denial of service via a crafted HTTP request. At this time
> > there is not released fixed version of JDOM. As a workaround, to
> > avoid external entities being expanded, one can call
> > builder.setExpandEntities(false) and they won't be expanded.  
> 
> I dunno how to fix this though, I'm just a curious guixer.  Easiest
> path seems to be to make a new java-jdom-2.0.6 var and use that as a
> native-input for maven.  Would that be an acceptable solution?
> 
> Cheers,
> Remco
> 

Like you say, the issue is with the new jdom. Believe it or not, but
between 2.0.6 and 2.0.6.1 there's some breakage (and > 1 year of
changes, too)!

So I figured I could fix java-plexus-component-metadata that we use to
generate some xml files during the build of maven. jdom is one of its
inputs. Adding another jdom to the native inputs would probably not fix
the issue.

What I did instead is, since jdom wants to set more features than
supported in the driver, to add dummy support for all these additional
features by just not throwing the exception. It's not very satisfying,
but it works and we don't keep a vulnerable jdom around. With the
attached patch, I built up to maven.
>From 2523b6c6b3f81f8a86b7c768dfed9dae97978e93 Mon Sep 17 00:00:00 2001
From: Julien Lepiller 
Date: Sat, 4 Jun 2022 15:41:41 +0200
Subject: [PATCH] gnu: java-plexus-component-metadata: Fix package.

* gnu/packages/java.scm (java-plexus-component-metadat): Apply fix for
  newer jdom.
---
 gnu/packages/java.scm | 8 
 1 file changed, 8 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 336e84e3e5..f475f7c270 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4537,6 +4537,14 @@ (define-public java-plexus-component-metadata-1.7
  (copy-recursively "src/main/resources"
"build/classes/")
  #t))
+ (add-before 'build 'fix-jdom
+   (lambda _
+ ;; The newer version of jdom now sets multiple features by default
+ ;; that are not supported.
+ ;; Skip these features
+ (substitute* "src/main/java/org/codehaus/plexus/metadata/merge/MXParser.java"
+   (("throw new XmlPullParserException\\(\"unsupporte feature \"\\+name\\);")
+"// skip"
  (add-before 'check 'fix-test-location
(lambda _
  (substitute* '("src/test/java/org/codehaus/plexus/metadata/DefaultComponentDescriptorWriterTest.java"
-- 
2.35.1



bug#55776: maven-core fails to build

2022-06-04 Thread Remco van 't Veer
I did some digging and found this regression is caused by commit:

 6068b83b82475566acd4162467bcf54270f338f9
 "gnu: java-jdom: Update to 2.0.6.1 [fixes CVE-2021-33813]."

Apparently the fix for this issue causes jdom to be very strict;

> java.io.IOException: Invalid input descriptor for merge:
> /tmp/plexus-metadata3957336728290309540xml -->
> http://xml.org/sax/features/external-general-entities feature
> http://xml.org/sax/features/external-general-entities not supported
> for SAX driver org.codehaus.plexus.metadata.merge.Driver

Which sound familiar when looking at that CVE
(https://github.com/advisories/GHSA-2363-cqg2-863c):

> An XXE issue in SAXBuilder in JDOM through 2.0.6 allows attackers to
> cause a denial of service via a crafted HTTP request. At this time
> there is not released fixed version of JDOM. As a workaround, to avoid
> external entities being expanded, one can call
> builder.setExpandEntities(false) and they won't be expanded.

I dunno how to fix this though, I'm just a curious guixer.  Easiest path
seems to be to make a new java-jdom-2.0.6 var and use that as a
native-input for maven.  Would that be an acceptable solution?

Cheers,
Remco





bug#55449: [PATCH] gnu: recutils: Use correct bash headers.

2022-06-04 Thread Liliana Marie Prikler
* gnu/packages/databases.scm (recutils)[arguments]: Convert to G-Expressions.
Drop gratuitous dirname.
[native-inputs]: Drop labels.  Move bash:include...
[inputs]: ... here.  Also add regular bash.
---
 gnu/packages/databases.scm | 19 ---
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 09d825af3e..5cd8cc2fa3 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1527,20 +1527,17 @@ (define-public recutils
 (build-system gnu-build-system)
 (arguments
  (list #:configure-flags
-   '(list "--disable-static"
-  (string-append "--with-bash-headers="
- (dirname (search-input-directory
-   %build-inputs
-   "include/bash"))
+   #~(list "--disable-static"
+   (string-append "--with-bash-headers="
+  (search-input-directory %build-inputs
+  "include/bash")
 (native-inputs
- ;; XXX Without labels, the default 'configure phase picks the wrong 
"bash".
- `(("bc" ,bc)
-   ("bash:include" ,bash "include")
-   ("check" ,check-0.14)
-   ("pkg-config" ,pkg-config)))
+ (list bc check-0.14 pkg-config))
 (inputs
  ;; TODO: Add more optional inputs.
- (list curl
+ (list bash ; /bin/bash for native compilation
+   `(,bash "include")
+   curl
libgcrypt
`(,util-linux "lib")))
 (synopsis "Manipulate plain text files as databases")
-- 
2.36.1