bug#32478: pcscd service activation causes boot failure

2018-08-20 Thread Chris Marusich
Hi Ludo and Arun,

l...@gnu.org (Ludovic Courtès) writes:

>> ERROR: In procedure dynamic-func:
>> In procedure dynamic-pointer: Symbol not found: strverscmp
>
> This is because (guix utils) pulls in lots of things that are not really
> meant to be used on the “build side” (a misnomer in this case, but you
> see what I mean ;-)).  Here, it assumes that dlopen support is available
> but it’s not because the activation snippet runs on the
> statically-linked Guile.

That makes sense.  I keep forgetting about this.  :-) Thank you for
reminding me!

> I think “TODO: Deduplicate” would be enough as a comment, or at least
> something more concise like “XXX: We cannot use (guix utils) because it
> requires a dynamically-linked Guile, hence the duplicate
> ‘switch-symlinks’.”  I leave it up to you!

Yes, I agree.  I'll simplify the comment.  I included the long comment
mainly in the hopes that somebody would be able to help me understand
why it wasn't working.

Arun Isaac  writes:

>> Commit de30205ba0f63eb987097a9f47b6e4fd38cd9044 added a pcscd service
>> (hooray!).  However, its activation procedure doesn't always work.  The
>> system test passes, and the activation procedure works the first time
>> you boot, but if you reboot, it will fail because the symlink it creates
>> already exists.  The attached patch fixes the problem.
>
> Thanks for catching and fixing this! I am still in the process of
> building and testing your patch. I ran out of memory and had to `guix
> gc' and rebuild again. As you said, it takes a while. But, your patch
> LGTM. Please go ahead and push to master at your discretion, after
> addressing Ludo's feedback.

OK!  I've rewritten the comment as Ludo suggested and committed this to
master as 6fb6ac6857df31c55a640eead2a5f79edd7dab14.

Now, I'll close this bug report.

-- 
Chris


signature.asc
Description: PGP signature


bug#32377: guix gc -> build failed: executing SQLite statement: FOREIGN KEY constraint failed

2018-08-20 Thread Benjamin Slade
Hello,

I have since re-installed Guix on a different (larger) drive on the same
machine.

 > That happens with ‘guix gc’ without any options?  Do all runs of ‘guix
 > gc’ fail like this?

 > Does ‘guix gc --verify’ (not ‘--verify=xyz’) fail as well?

I tried various combinations/option of `guix gc`; whatever ones failed
with that message always failed with that message. I *think* (but am not
certain) that `guix gc --verify` may have not given any output, but
running it in any case did not affect `guix gc` producing the error
message.

I don't know if it was connected, but I also found that `/gnu` was
trying to use more than twice the number of available inodes.

[On my new install, I have not had these issues, though `/gnu` does seem
to use a worrying number of inodes:

Filesystem   Inodes   IUsedIFree IUse% Mounted on
/dev/sda2   6553600 4052120  2501480   62% /

versus lots of free space remaining:

Filesystem Type  Size  Used Avail Use% Mounted on
/dev/sda2  ext4   98G   40G   54G  43% /

]

 —Ben


On 2018-08-19T08:08:08-0600, Ludovic Courtès  wrote:

 > Hello,

 > Benjamin Slade  skribis:

 > > I'm running the latest GuixSD, and when I run:
 > >
 > > `guix gc`
 > >
 > > I get the error:
 > > build failed: executing SQLite statement: FOREIGN KEY constraint failed


--
Benjamin Slade - https://babbagefiles.xyz
  `(pgp_fp: ,(21BA 2AE1 28F6 DF36 110A 0E9C A320 BBE8 2B52 EE19))
'(sent by mu4e on Emacs running under GNU/Linux . https://gnu.org )
   `(Choose Linux ,(Choose Freedom) . https://linux.com )





bug#32360: gst-plugins-base has test failures (when built as a dependency)

2018-08-20 Thread Ricardo Wurmus


Leo Famulari  writes:

> Here is a patch that excludes Opus when building gst-plugins-base on and
> for 32-bit systems. I think it's not so bad to be missing support for
> Opus in this context until the underlying bug is fixed.

I agree.  The patch looks good to me.
Shall we rename this bug and keep track of this problem here?

--
Ricardo






bug#32458: Acknowledgement (SDL SEGFAULTs on foreign distro)

2018-08-20 Thread Marius Bakke
Hello again,

Just a quick feedback on the bisect script:

Tim Gesthuizen  writes:

> #!/bin/sh
> 
> cd $HOME/src/guix/build
> (cd ..; ./bootstrap) || exit 125
> (../configure --localstatedir=/var && make -j8) || exit 125
> PATH=$(./pre-inst-env guix build teeworlds | grep  /gnu/store | tail -n 1) || 
> exit 125
> $PATH/bin/teeworlds || exit 1

I suggest not running "./bootstrap" and "./configure" in between runs.
"make" will invoke ./configure (with current parameters) if necessary.

Then it can be reduced to a two-liner:



test.sh
Description: Bourne shell script

Again, nice work; I look forward to fix this bug :-)


signature.asc
Description: PGP signature


bug#32458: Acknowledgement (SDL SEGFAULTs on foreign distro)

2018-08-20 Thread Marius Bakke
Hello Tim,

Thanks a lot for this debugging work!

Tim Gesthuizen  writes:

> I tried to bisect the bug by building Guix from git.
> You find the script I used as well as some information about the bisect
> attached (full log is 17MB so I copied the most important things).

[...]

> There are only 'skip'ped commits left to test.
> The first bad commit could be any of:

[...]

> We cannot bisect more!
> bisect run cannot continue any more
>
> Bisect Rest (31)

We had a private conversation about this on IRC and I think the reason
you had to skip these commits were because of ABI issues in the git
checkout (incompatible Guile objects).

Current Guix actually warns about it and tells you what to do (very
nice!), but that does not work when bisecting this deep :-)

The surefire approach is to run "make clean-go".  That will almost
certainly get Guix building again, but you also have to compile all the
Scheme code anew.  You could first try something along the lines of
"rm gnu/{services,system,tests}{,/}*.go && make" to save (or waste :-P)
a little time.

Hope this helps!  I think we are almost there.  :-)


signature.asc
Description: PGP signature


bug#32456: Guile failed to call package-derivation without pre-inst-env

2018-08-20 Thread Oleg Pykhalov
Hello Ludovic,

Thank you for taking a look.

l...@gnu.org (Ludovic Courtès) writes:

> Oleg Pykhalov  skribis:
>
>> I have an issue with ‘package-derivation’ procedure.  When I use Guile
>> from my user's profile I get an error but not when I use ‘pre-inst-env’.
>>
>> The %load-path is differ only in /home/natsu/src/guix when pre-inst-env.
>>
>> guix (GNU Guix) 689aacc12f1d9c0b511e2010185b2e7a80de5201
>>
>> natsu@magnolia ~$ guile
>> GNU Guile 2.2.4
>> …
>> scheme@(guile-user)> (use-modules (guix) (guix ui) (guix store))
>> scheme@(guile-user)> (define c (open-connection))
>> scheme@(guile-user)> (package-derivation c (@@ (gnu packages base) hello))
>> guix/store.scm:928:31: In procedure add-to-store: Throw to key
>> `srfi-34' with args `(#> "regular file expected" status: 1] 28703c0>)'.
>> Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
>
> It might be that the Guix in $GUILE_LOAD_PATH is broken in some way.
> Can you check which one that is?

Sure, I hope the following output is what you mean.  Let me know if you
want another information, please.
--8<---cut here---start->8---
natsu@magnolia ~/src/guix$ for path in $(printenv GUILE_LOAD_PATH | tr ':' 
'\n'); do echo -e "\n"; env GUILE_LOAD_PATH=$path pr
intenv GUILE_LOAD_PATH; env GUILE_LOAD_PATH=$path guile -c '(use-modules (guix) 
(guix ui) (guix store)) (format #t "~s~%" (pack
age-derivation (open-connection) (@@ (gnu packages base) hello)))'; done


/home/natsu/.guix-profile/share/guile/site/2.2
Backtrace:
In guix/packages.scm:
   923:16 19 (expand-input # # …)
   878:14 18 (cache! # # …)
In unknown file:
  17 (_ # # #)
In guix/packages.scm:
  1202:22 16 (thunk)
  1135:25 15 (bag->derivation # #< …)
In srfi/srfi-1.scm:
   592:29 14 (map1 (("source" #) …))
   592:17 13 (map1 (("make" #) …))
In guix/packages.scm:
   923:16 12 (expand-input # # …)
   878:14 11 (cache! # # …)
In unknown file:
  10 (_ # # #)
In guix/packages.scm:
  1202:22  9 (thunk)
In guix/derivations.scm:
  1242:24  8 (build-expression->derivation # …)
  1004:18  7 (imported-files # ((. #) …) …)
In srfi/srfi-1.scm:
   592:29  6 (map1 (("guix/build/gnu-build-system.scm" . "/home/…") …))
   592:29  5 (map1 (("guix/build/utils.scm" . "/home/natsu/.guix…") …))
   592:29  4 (map1 (("guix/build/gremlin.scm" . "/home/natsu/.gu…") …))
   592:17  3 (map1 (("guix/elf.scm" . "/home/natsu/.guix-profile/s…")))
In guix/derivations.scm:
  1007:31  2 (_ _)
In guix/store.scm:
   948:24  1 (_ # "elf.scm" #f "sha256" …)
   928:31  0 (add-to-store # _ #f "sha…" …)

guix/store.scm:928:31: In procedure add-to-store:
Throw to key `srfi-34' with args `(#)'.


/run/current-system/profile/share/guile/site/2.2
# 
/gnu/store/bihfrh609gkxb9dp7n96wlpigiv3krfy-hello-2.10 4c6e500>


/home/natsu/.guix-profile/share/guile/site/2.2
Backtrace:
In guix/packages.scm:
   923:16 19 (expand-input # # …)
   878:14 18 (cache! # # …)
In unknown file:
  17 (_ # # #)
In guix/packages.scm:
  1202:22 16 (thunk)
  1135:25 15 (bag->derivation # #< …)
In srfi/srfi-1.scm:
   592:29 14 (map1 (("source" #) …))
   592:17 13 (map1 (("make" #) …))
In guix/packages.scm:
   923:16 12 (expand-input # # …)
   878:14 11 (cache! # # …)
In unknown file:
  10 (_ # # #)
In guix/packages.scm:
  1202:22  9 (thunk)
In guix/derivations.scm:
  1242:24  8 (build-expression->derivation # …)
  1004:18  7 (imported-files # ((. #) …) …)
In srfi/srfi-1.scm:
   592:29  6 (map1 (("guix/build/gnu-build-system.scm" . "/home/…") …))
   592:29  5 (map1 (("guix/build/utils.scm" . "/home/natsu/.guix…") …))
   592:29  4 (map1 (("guix/build/gremlin.scm" . "/home/natsu/.gu…") …))
   592:17  3 (map1 (("guix/elf.scm" . "/home/natsu/.guix-profile/s…")))
In guix/derivations.scm:
  1007:31  2 (_ _)
In guix/store.scm:
   948:24  1 (_ # "elf.scm" #f "sha256" …)
   928:31  0 (add-to-store # _ #f "sha…" …)

guix/store.scm:928:31: In procedure add-to-store:
Throw to key `srfi-34' with args `(#)'.


/run/current-system/profile/share/guile/site/2.2
# 
/gnu/store/bihfrh609gkxb9dp7n96wlpigiv3krfy-hello-2.10 3933960>
--8<---cut here---end--->8---

Oleg.


signature.asc
Description: PGP signature


bug#32478: pcscd service activation causes boot failure

2018-08-20 Thread Arun Isaac


> Commit de30205ba0f63eb987097a9f47b6e4fd38cd9044 added a pcscd service
> (hooray!).  However, its activation procedure doesn't always work.  The
> system test passes, and the activation procedure works the first time
> you boot, but if you reboot, it will fail because the symlink it creates
> already exists.  The attached patch fixes the problem.

Thanks for catching and fixing this! I am still in the process of
building and testing your patch. I ran out of memory and had to `guix
gc' and rebuild again. As you said, it takes a while. But, your patch
LGTM. Please go ahead and push to master at your discretion, after
addressing Ludo's feedback.





bug#32439: guix pull as root generates too many errors.

2018-08-20 Thread fis trivial

Ludovic Courtès writes:

> Hello,
>
> fis trivial  skribis:
>
>> Leo Famulari writes:
>>
>>> On Tue, Aug 14, 2018 at 07:41:14PM +, fis trivial wrote:
 Running guix pull -l as root user generates many warnings and errors. I
 attached the first 1000 lines of stderr logging in this mail.

>>>
 ;;; WARNING: loading compiled file 
 /root/.config/guix/current-17-link/lib/guile/2.2/site-ccache/guix/ui.go 
 failed:
 ;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
 "\x7fELF\x02\x01\x01??\x00\x00\x00\x00\x00\x00\x00\x00"
>>>
>>> I'm not an expert on Guile or the new `guix pull`. However, I think that
>>> `guix pull` takes its Guile from the environment, because `guix pull -l`
>>> doesn't work for me when there is no Guile in PATH.
>>>
>>> Those errors look like a mismatch between Guile versions 2.0 and 2.2.
>>> Which Guile do you have available in the environment where you see that
>>> error?
>>
>> As root user, it's guile@2.0.14. Indeed, installing guile@2.2.4 from Guix 
>> fixes
>> the problem. Thanks for your insight. :)
>
> What command did you run to get the errors about?  Could you also show:
>
>   which guix
>   echo $GUILE_LOAD_PATH
>   echo $GUILE_LOAD_COMPILED_PATH
>
> ?
>

I tried the following commands after switching back the package profile to
previous state.

$ which guix
/root/.config/guix/current/bin/guix

$ echo $GUILE_LOAD_PATH
/root/.guix-profile/share/guile/site/2.2

$ echo $GUILE_LOAD_COMPILED_PATH
/root/.guix-profile/lib/guile/2.2/site-ccache:/root/.guix-profile/share/guile/site/2.2

But I can't reproduce the bug now since I cleaned up all profiles in pull.

> The new ‘guix pull’ provides a “self-contained Guix” in the sense that
> it brings all its dependencies, including Guile.  If you look at the top
> of the ‘guix’ file, you’ll see that it specifies exactly the Guile
> version that it needs:
>
> --8<---cut here---start->8---
> $ head -1 ~/.config/guix/current/bin/guix
> #!/gnu/store/p9wm67w3rfw3hlb9iljgvsfn84mz4w9d-guile-2.2.4/bin/guile 
> --no-auto-compile
> --8<---cut here---end--->8---
>
> Thus, Guile version mismatches like you experienced should normally not
> happen.
>
> Thanks for your report,
> Ludo’.

Thanks.

-- 
Jiaming


bug#32058: [PATCH] gnu: mysql: Fix build.

2018-08-20 Thread Tobias Geerinckx-Rice

Marius Bakke wrote:

Tobias Geerinckx-Rice  writes:


[...]


* gnu/packages/databases.scm (boost-for-mysql): New variable.
(mysql)[inputs]: Use that instead of the regular boost.
[arguments]: Remove now-unnecessary ‘patch-boost-version’ 
phase.


Ouch.  Boost is a *huge* library, but now that we no longer use 
the
MySQL package as the main MySQL library (e.g. for Qt), giving it 
a

different boost version seems reasonable to me.


Pushed in 7cbf06d8c2935abfc6c688cf3f9b99e0e5393960,
bumped in 8ecf3f7ea515d555e978bea3c1610d44345a44ee.

Thanks!

T G-R





bug#32478: pcscd service activation causes boot failure

2018-08-20 Thread Ludovic Courtès
Hello,

Chris Marusich  skribis:

> The attached patch fixes the issue by using an idempotent procedure to
> create the symlink.  If there are no objections, I'll push the patch to
> master about 24 hours from now.  There is a fairly long comment in my
> patch because although I wanted to re-use the switch-symlinks procedure
> from (guix utils), I couldn't figure out how to do it.  Ideas regarding
> this are welcome!  To be specific, I tried to use (guix utils), but then
> I got the following error message at boot time (see my comment for more
> information):
>
> loading '/gnu/store/f4ng1dlpm7q74vssbb049vpf2gvw3n3r-system/boot'...
> [2.175072] random: fast init done
> making '/gnu/store/f4ng1dlpm7q74vssbb049vpf2gvw3n3r-system' the current 
> system..
> .
> setting up setuid programs in '/run/setuid-programs'...
> populating /etc from /gnu/store/n6cwz1hlmjylva2xrv61njl68g6c8k5l-etc...
> usermod: no changes
> usermod: no changes
> usermod: no changes
> ERROR: In procedure dynamic-func:
> In procedure dynamic-pointer: Symbol not found: strverscmp

This is because (guix utils) pulls in lots of things that are not really
meant to be used on the “build side” (a misnomer in this case, but you
see what I mean ;-)).  Here, it assumes that dlopen support is available
but it’s not because the activation snippet runs on the
statically-linked Guile.

> From 3fa1e930b827aebca2dbbfe84c36cf203f15afda Mon Sep 17 00:00:00 2001
> From: Chris Marusich 
> Date: Mon, 20 Aug 2018 00:16:06 -0700
> Subject: [PATCH] gnu: services: Fix pcscd activation bug.
>
> * gnu/services/security-token.scm (pcscd-activation): Idempotently create the
> /var/lib/pcsc symlink so that it does not fail when it already exists.

LGTM!

> + (with-imported-modules (source-module-closure
> + '((guix build utils)))
> +   #~(begin
> +   (use-modules (guix build utils))
> +   ;; This switch-symlinks procedure was copied from (guix utils).  
> It
> +   ;; would be nice to re-use the procedure from that module, but if
> +   ;; we add that module to this gexp's imported modules and try to
> +   ;; use it, then this activation gexp can fail when it runs.  To be
> +   ;; specific, if you try to use (guix utils) and then build a VM
> +   ;; with a pcscd-service-type using "guix system vm-image", then
> +   ;; when you boot the VM, it will fail.  It fails because (guix
> +   ;; utils) dynamically links glibc's strverscmp function when
> +   ;; defining the version-compare procedure, and for some reason
> +   ;; strverscmp can't be found.  Perhaps there's a way to fix or
> +   ;; avoid this, but since we don't need the version-compare
> +   ;; procedure here, anyway, it's simpler to just define our own
> +   ;; switch-symlinks procedure instead.
> +   (define (switch-symlinks link target)
> + (let ((pivot (string-append link ".new")))
> +   (symlink target pivot)
> +   (rename-file pivot link)))

I think “TODO: Deduplicate” would be enough as a comment, or at least
something more concise like “XXX: We cannot use (guix utils) because it
requires a dynamically-linked Guile, hence the duplicate
‘switch-symlinks’.”  I leave it up to you!

Thanks,
Ludo’.





bug#32458: Acknowledgement (SDL SEGFAULTs on foreign distro)

2018-08-20 Thread Tim Gesthuizen
I tried to bisect the bug by building Guix from git.
You find the script I used as well as some information about the bisect
attached (full log is 17MB so I copied the most important things).


test.sh
Description: application/shellscript
There are only 'skip'ped commits left to test.
The first bad commit could be any of:
68adf4a840b200a585f5428cc3657cba117ba9a6
e0c9aed8206c455dde393d1a1c3e2ac4b3615c30
6069bb0ab4ce5ff25d235288bc005b7ec55b75a1
a3be2ac9f95c632a6d5f20790b8b2f6450d6f6e7
543689f3fdae7ec746817b44cae777408733b16f
fa497c73acb1b8307ebb81ef8acd4de1a2e4fde9
7e0f04635b942e572ee2fed8ddb756b047117265
87dc306bfe48469d33b4d0fa9d2ee7e66e56acbf
1fbad3ad224a92c8e2562b4f16ec20d8e9615fac
db481977615de3ebf7faff16edb938d3461ca486
0ed990530f08ceb1545a44b523661888f82a29a0
a06e52279a223ff2d132e5ecefc0ebe73f51d4d7
0b5c2fc338ba0e37679afb9964700219b06498d8
aac2006d8276ac7ed3876b879f1816e57379aa25
7d475dd4ece966faae71323f309b65314b27a5a3
91d84ac898f7e09cc17f869ef6d56232db013625
06dbfb5d197db7502ed65c1019e96f3f02c34b7a
9a1f92a6e02c28767cc77437ba29fb82271652c4
02fcc6f240946cfd51bfe548e260b2f3150f0ab4
77c74789d4ce7b8201f947cb688b80efe7a774ec
bd1efded37107cfffe69cc7e9730acf8ba2957a7
eb6a5dab5cf0f85fbc4eda4b6f7956eed464c3cf
4bbd92076af9fedc99b9369151e067db653869d0
bba29e106b55152f70f7cec745e24bc077e9a797
cf0d6d836730f7bdc714ecfa4287f72e029b9970
e688bfc033160e0f614bf99f3c74dcb34b427d20
d54303215e93bb3c89a94daaa56324c703d717a1
ffc43471afa6da50e02a12433ea9626aea586f35
5318b103ff277efbac248a066d162589a9083baa
b5724230fed2d043206df20d12a45bb962b7ee77
a032b4454b3fc67e11e9fc2d8c2345288065fa29
We cannot bisect more!
bisect run cannot continue any more

Bisect Rest (31)
a032b4454 * bad Merge branch 'master' into staging
b5724230f * skip-b5724230fed2d043206df20d12a45bb962b7ee77 gnu: bluez: Update to 
5.50.
ffc43471a * skip-ffc43471afa6da50e02a12433ea9626aea586f35 gnu: meson: Update to 
0.46.1.
e688bfc03 * skip-e688bfc033160e0f614bf99f3c74dcb34b427d20 gnu: libepoxy: Update 
to 1.5.2.
4bbd92076 * skip-4bbd92076af9fedc99b9369151e067db653869d0 gnu: libdmx: Update 
to 1.1.4.
bd1efded3 * skip-bd1efded37107cfffe69cc7e9730acf8ba2957a7 gnu: xkbcomp: Update 
to 1.4.2.
77c74789d * skip-77c74789d4ce7b8201f947cb688b80efe7a774ec gnu: 
xf86-video-mach64: Update to 6.9.6.
9a1f92a6e * skip-9a1f92a6e02c28767cc77437ba29fb82271652c4 gnu: mesa: Update to 
18.0.5.
91d84ac89 * skip-91d84ac898f7e09cc17f869ef6d56232db013625 gnu: libinput: Update 
to 1.11.0.
0b5c2fc33 * skip-0b5c2fc338ba0e37679afb9964700219b06498d8 gnu: doxygen: Update 
to 1.8.14.
a06e52279 * skip-a06e52279a223ff2d132e5ecefc0ebe73f51d4d7 gnu: mesa: Restore 
wayland platform.
1fbad3ad2 * skip-1fbad3ad224a92c8e2562b4f16ec20d8e9615fac gnu: postgresql: Use 
INVOKE.
7e0f04635 * skip-7e0f04635b942e572ee2fed8ddb756b047117265 gnu: postgresql: 
Update to 10.4 [fixes CVE-2018-1115].
fa497c73a * skip-fa497c73acb1b8307ebb81ef8acd4de1a2e4fde9 gnu: libdrm: Update 
to 2.4.92.
a3be2ac9f * skip-a3be2ac9f95c632a6d5f20790b8b2f6450d6f6e7 gnu: xorg-server: 
Update to 1.20.0.
68adf4a84 * skip-68adf4a840b200a585f5428cc3657cba117ba9a6 gnu: 
wayland-protocols: Update to 1.14.
e0c9aed82 * skip-e0c9aed8206c455dde393d1a1c3e2ac4b3615c30 gnu: mesa: Update to 
18.0.4.
6069bb0ab * skip-6069bb0ab4ce5ff25d235288bc005b7ec55b75a1 gnu: tzdata: Update 
to 2018e.
543689f3f * skip-543689f3fdae7ec746817b44cae777408733b16f gnu: python-mako: 
Update to 1.0.7.
87dc306bf * skip-87dc306bfe48469d33b4d0fa9d2ee7e66e56acbf gnu: libaio: Update 
to 0.3.111.
db4819776 * skip-db481977615de3ebf7faff16edb938d3461ca486 gnu: mesa: Update to 
18.0.2.
0ed990530 * skip-0ed990530f08ceb1545a44b523661888f82a29a0 gnu: 
zathura-pdf-poppler: Update to 0.2.9.
aac2006d8 * skip-aac2006d8276ac7ed3876b879f1816e57379aa25 gnu: 
zathura-pdf-mupdf: Update to 0.3.3.
7d475dd4e * skip-7d475dd4ece966faae71323f309b65314b27a5a3 gnu: zathura-djvu: 
Update to 0.2.8.
06dbfb5d1 * skip-06dbfb5d197db7502ed65c1019e96f3f02c34b7a gnu: zathura-ps: 
Update to 0.2.6.
02fcc6f24 * skip-02fcc6f240946cfd51bfe548e260b2f3150f0ab4 gnu: zathura-cb: 
Update to 0.1.8.
eb6a5dab5 * skip-eb6a5dab5cf0f85fbc4eda4b6f7956eed464c3cf gnu: zathura: Update 
to 0.3.9.
bba29e106 * skip-bba29e106b55152f70f7cec745e24bc077e9a797 gnu: girara: Update 
to 0.2.9.
cf0d6d836 * skip-cf0d6d836730f7bdc714ecfa4287f72e029b9970 gnu: meson: Update to 
0.46.0.
d54303215 * skip-d54303215e93bb3c89a94daaa56324c703d717a1 @ gnu: gtk+: Update 
to 3.22.30.
5318b103f * skip-5318b103ff277efbac248a066d162589a9083baa gnu: libepoxy: Update 
to 1.5.1.

Bisect Log (44)
git bisect start 'master' '5ae27f577'
8d4805ba2 bad services: cuirass: Put data in /var/lib to avoid removal at boot.
5ae27f577 good gnu: gcc-toolchain: Add version 8.

git bisect bad 9f2adb2f19db6d2e2234df15b0e24c5d01b9181c
9f2adb2f1 bad gnu: emacs-pulseaudio-control: Update to 20180627.

git bisect good 9866825961cbffa6a05f685d9cc71388d21a0a68
986682596 good gnu: emacs-biblio: Add missing dependencies.

git bisect bad f7e248396ba698b7de99414039d9db02050bc7d3
f7e248396 

bug#30785: Man pages truncated, repeated

2018-08-20 Thread Pierre Neidhardt
The 'man' program from the 'man-db' Guix package has an issue with UTF-8
man pages: the page is truncated and sometimes the truncation is
repeated a couple of times.

The bug does not occur when non-ASCII characters are removed.
I haven't tried with other non-ASCII encodings.

There must be something wrong with the way we package man-db.

See https://lists.gnu.org/archive/html/help-guix/2018-05/msg00084.html
for a discussion.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


bug#32480: Truncated/repeating utf-8 man pages

2018-08-20 Thread Pierre Neidhardt
The 'man' program from the 'man-db' Guix package has an issue with UTF-8
man pages: the page is truncated and sometimes the truncation is
repeated a couple of times.

The bug does not occur when non-ASCII characters are removed.
I haven't tried with other non-ASCII encodings.

There must be something wrong with the way we package man-db.

See https://lists.gnu.org/archive/html/help-guix/2018-05/msg00084.html
for a discussion.


signature.asc
Description: PGP signature


bug#32473: Broken menu entry in manual, section 4.1

2018-08-20 Thread Ludovic Courtès
Hello Hiphish,

HiPhish  skribis:

> I noticed a broken menu entry in the Info version of the Guix manual: the 
> node 
> `Defining Packages` (4.1) has an extra space between the last word and the 
> closing colons:
>
>   * package Reference ::  The package data type

Oops, I’ve fixed this now in guix.texi (commit
fa4ebd2f08d0acc25feca827f7e43e8774843a10).

> The standalone Info reader tolerates it, but not the Info.vim reader, which 
> considers the space to be part of the target node name. Neither the Texinfo 
> manual (section 4.9) nor the Info manual seem to allow for this extra space, 
> so it looks like a bug in the manual to me.

Would it make sense for Info.vim to be bug-compatible?

Thanks for your report,
Ludo’.





bug#32456: Guile failed to call package-derivation without pre-inst-env

2018-08-20 Thread Ludovic Courtès
Hi,

Oleg Pykhalov  skribis:

> I have an issue with ‘package-derivation’ procedure.  When I use Guile
> from my user's profile I get an error but not when I use ‘pre-inst-env’.
>
> The %load-path is differ only in /home/natsu/src/guix when pre-inst-env.
>
> guix (GNU Guix) 689aacc12f1d9c0b511e2010185b2e7a80de5201
>
> natsu@magnolia ~$ guile
> GNU Guile 2.2.4
> …
> scheme@(guile-user)> (use-modules (guix) (guix ui) (guix store))
> scheme@(guile-user)> (define c (open-connection))
> scheme@(guile-user)> (package-derivation c (@@ (gnu packages base) hello))
> guix/store.scm:928:31: In procedure add-to-store: Throw to key `srfi-34' with 
> args `(# status: 1] 28703c0>)'.
> Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.

It might be that the Guix in $GUILE_LOAD_PATH is broken in some way.
Can you check which one that is?

Thanks,
Ludo’.





bug#32439: guix pull as root generates too many errors.

2018-08-20 Thread Ludovic Courtès
Hello,

fis trivial  skribis:

> Leo Famulari writes:
>
>> On Tue, Aug 14, 2018 at 07:41:14PM +, fis trivial wrote:
>>> Running guix pull -l as root user generates many warnings and errors. I
>>> attached the first 1000 lines of stderr logging in this mail.
>>>
>>
>>> ;;; WARNING: loading compiled file 
>>> /root/.config/guix/current-17-link/lib/guile/2.2/site-ccache/guix/ui.go 
>>> failed:
>>> ;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
>>> "\x7fELF\x02\x01\x01??\x00\x00\x00\x00\x00\x00\x00\x00"
>>
>> I'm not an expert on Guile or the new `guix pull`. However, I think that
>> `guix pull` takes its Guile from the environment, because `guix pull -l`
>> doesn't work for me when there is no Guile in PATH.
>>
>> Those errors look like a mismatch between Guile versions 2.0 and 2.2.
>> Which Guile do you have available in the environment where you see that
>> error?
>
> As root user, it's guile@2.0.14. Indeed, installing guile@2.2.4 from Guix 
> fixes
> the problem. Thanks for your insight. :)

What command did you run to get the errors about?  Could you also show:

  which guix
  echo $GUILE_LOAD_PATH
  echo $GUILE_LOAD_COMPILED_PATH

?

The new ‘guix pull’ provides a “self-contained Guix” in the sense that
it brings all its dependencies, including Guile.  If you look at the top
of the ‘guix’ file, you’ll see that it specifies exactly the Guile
version that it needs:

--8<---cut here---start->8---
$ head -1 ~/.config/guix/current/bin/guix
#!/gnu/store/p9wm67w3rfw3hlb9iljgvsfn84mz4w9d-guile-2.2.4/bin/guile 
--no-auto-compile
--8<---cut here---end--->8---

Thus, Guile version mismatches like you experienced should normally not
happen.

Thanks for your report,
Ludo’.





bug#32385: no code for module (guix build utils) - info-dir.drv - e921234d02 (master)

2018-08-20 Thread Ludovic Courtès
Chris Marusich  skribis:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> What version of Guile did you use to compile Guix?
>>
>> (If you used ‘guix pull’, then Guile 2.2.4 was used.)
>
> Yes, I believe it was Guile 2.2.4.  I reported the bug on August 6th.
> The last time I ran "guix pull" before reporting the bug was on July
> 29th.

If you obtained Guix via ‘guix pull’, then it was definitely compiled
with Guile 2.2.4, meaning Guile still has this bug.  That’s what I
wanted to know.

Thanks,
Ludo’.





bug#32478: pcscd service activation causes boot failure

2018-08-20 Thread Chris Marusich
Hi,

Commit de30205ba0f63eb987097a9f47b6e4fd38cd9044 added a pcscd service
(hooray!).  However, its activation procedure doesn't always work.  The
system test passes, and the activation procedure works the first time
you boot, but if you reboot, it will fail because the symlink it creates
already exists.  The attached patch fixes the problem.

To reproduce the bug, use the attached operating system configuration
file (bare-bones.scm), and run:

  guix system vm-image bare-bones.scm

This takes a long time to finish (up to a few hours, depending on your
system).  Once it's done, copy the image out of the store:

  cp $the_store_path /tmp/qemu-image

Then run it:

  sudo qemu-system-x86_64 -smp cpus=1 -net user -net nic,model=virtio 
-enable-kvm  -m 2048 /tmp/qemu-image 

Observe how the VM boots successfully.  Now log in as root (no password)
and reboot.  Observe that the boot process fails now because the symlink
created by the pcscd activation service already exists.

The attached patch fixes the issue by using an idempotent procedure to
create the symlink.  If there are no objections, I'll push the patch to
master about 24 hours from now.  There is a fairly long comment in my
patch because although I wanted to re-use the switch-symlinks procedure
from (guix utils), I couldn't figure out how to do it.  Ideas regarding
this are welcome!  To be specific, I tried to use (guix utils), but then
I got the following error message at boot time (see my comment for more
information):

--8<---cut here---start->8---
loading '/gnu/store/f4ng1dlpm7q74vssbb049vpf2gvw3n3r-system/boot'...
[2.175072] random: fast init done
making '/gnu/store/f4ng1dlpm7q74vssbb049vpf2gvw3n3r-system' the current system..
.
setting up setuid programs in '/run/setuid-programs'...
populating /etc from /gnu/store/n6cwz1hlmjylva2xrv61njl68g6c8k5l-etc...
usermod: no changes
usermod: no changes
usermod: no changes
ERROR: In procedure dynamic-func:
In procedure dynamic-pointer: Symbol not found: strverscmp

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
GNU Guile 2.2.3
Copyright (C) 1995-2017 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guix utils)> ,bt
In gnu/build/linux-boot.scm:
   530:13 22 (_)
In unknown file:
  21 (primitive-load "/gnu/store/f4ng1dlpm7q74vssbb049vpf2gv·")
In ice-9/eval.scm:
619:8 20 (_ #f)
In unknown file:
  19 (primitive-load "/gnu/store/b6yg0pkp835a3zky9sj53yyjxac·")
In ice-9/boot-9.scm:
   260:13 18 (for-each # _)
In unknown file:
  17 (primitive-load "/gnu/store/v42zaw2hjwxy5wnd0dwa6j245nr·")
In ice-9/eval.scm:
   721:20 16 (primitive-eval (begin (use-modules (guix build #) #) ·))
In ice-9/psyntax.scm:
  1235:36 15 (expand-top-sequence ((begin (use-modules (# # ·) ·) ·)) ·)
  1182:24 14 (parse _ (("placeholder" placeholder)) ((top) #(# # ·)) ·)
  1182:24 13 (parse _ (("placeholder" placeholder)) ((top) #(# # ·)) ·)
   285:10 12 (parse _ (("placeholder" placeholder)) (()) _ c (eval) ·)
In ice-9/boot-9.scm:
  3365:20 11 (process-use-modules _)
   222:29 10 (map1 (((guix build utils)) ((guix utils
   222:17  9 (map1 (((guix utils
  3366:31  8 (_ ((guix utils)))
  2788:17  7 (resolve-interface (guix utils) #:select _ #:hide _ # _ ·)
  2714:10  6 (_ (guix utils) _ _ #:ensure _)
  2982:16  5 (try-module-autoload _ _)
   2312:4  4 (save-module-excursion #)
  3002:22  3 (_)
In unknown file:
   2 (primitive-load-path "guix/utils" #)
In guix/utils.scm:
   485:24  1 (_)
In unknown file:
   0 (dynamic-func "strverscmp" #)
scheme@(guix utils)> [   53.048203] random: crng init done
--8<---cut here---end--->8---

To be clear, the above stack trace is NOT related to the bug I am
reporting.  It's just a different problem that made it difficult to
re-use switch-symlinks from (guix utils), which is why in my fix I
decided to just copy the switch-symlinks definition verbatim.

-- 
Chris


bare-bones.scm
Description: Binary data
From 3fa1e930b827aebca2dbbfe84c36cf203f15afda Mon Sep 17 00:00:00 2001
From: Chris Marusich 
Date: Mon, 20 Aug 2018 00:16:06 -0700
Subject: [PATCH] gnu: services: Fix pcscd activation bug.

* gnu/services/security-token.scm (pcscd-activation): Idempotently create the
/var/lib/pcsc symlink so that it does not fail when it already exists.
---
 gnu/services/security-token.scm | 36 +
 1 file changed, 28 insertions(+), 8 deletions(-)

diff --git a/gnu/services/security-token.scm b/gnu/services/security-token.scm
index 7e7ea54a5..8bea49538 100644
--- a/gnu/services/security-token.scm
+++ b/gnu/services/security-token.scm
@@ -20,6 +20,7 @@
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:use-module (gnu