Re: Using Racket's raco on on Guix(SD)

2018-05-22 Thread Ricardo Wurmus

Christopher Lemmer Webber  writes:

> Hello all!  Sorry for the cross-post, but I've been doing more
> development in Racket lately from GuixSD... and who wouldn't want a
> scheme-based distribution and a scheme language's tooling to get along
> better?
>
> Unfortunately when I try to install packages with "raco pkg install"
> I get errors like the following:
>
> open-output-file: cannot open output file
>   path: 
> /gnu/store/wnqdzv3f0i86nk3nq15aavpb7kg7fbwx-racket-6.11/share/racket/collects/racket/compiled/tmp15189875891518987589961
>   system error: Read-only file system; errno=30

[…]

“call-with-atomic-output-file” in ’collects/racket/file.rkt“ attempts to
create a temporary file in whatever the result of ‘(path-only path)’ is,
or in the current directory.

What file is it trying to compile?

> My guess is that the Guix package has something misconfigured so that
> this compilation directory is set to the wrong place, but what?

The root of this path appears to be ‘collectsdir’, which is set up at
‘configure’ time.  This directory seems to be correct, because it
contains Racket modules.  We would only need to ensure that compilation
does not use this directory by default.

I’m guessing that this is controlled by ‘do-get-compilation-dir+name’ in
‘collects/compiler/compilation-path.rkt’.

Does this make any sense?

--
Ricardo





Install new package in current generation?

2018-05-22 Thread Jone
Now:

guix package -i PACKAGE  # -> creating new generation
guix package -d  # remove all generations, except current
guix gc

- not so good: first creating new generation, and next delete all
others (I absolutely do not need a rollback).

Maybe some other way?



Re: Conflict resolution (gtk, wayland)

2018-05-22 Thread Rutger Helling
I've just applied the patch to staging, thanks!

Regarding the Wayland issue, it seems to have something to do with the
Mesa update to the 18.x series. I've tried building master with a
cherry-picked Mesa update and had the same problem. Maybe the newer
wayland-egl is the problem. The problem's also still there after
applying this new staging patch.

That's why I speculate it has something to do with the mutter and
gnome-shell components being too old (not 100% sure).

On Tue, 22 May 2018 17:55:49 +0200
Marius Bakke  wrote:

> Rutger Helling  writes:
> 
> > I've created a patch to update Mesa on staging, along with removing
> > wayland-egl from it. I can confirm I can still start GNOME on
> > Wayland manually after rebuilding with this patch.  
> 
> Excellent, thanks!
> 
> > Should I apply this to staging now? It's been two weeks since the
> > last commit to staging, and a merge doesn't seem to be happening
> > anytime soon.  
> 
> Hydra is currently busy with 'core-updates'.  In the mean time, please
> queue up patches on 'staging' so we can start it as soon as
> core-updates is merged.  The patch LGTM!
> 
> > On an unpleasant side-note, certain things are completely broken on
> > GNOME on Wayland with staging. Menus and buttons don't work
> > anymore. I suspect this is because our mutter and gnome-shell
> > packages are too old (3.24.x instead of 3.28.x).  
> 
> Does GNOME on Wayland work on current 'master'?  The only real
> difference on staging (apart from this patch) is GTK+ 3.22.30, which
> is fairly uneventful:
> 
> https://ftp.acc.umu.se/pub/gnome/sources/gtk+/3.22/gtk+-3.22.30.news
> 
> But perhaps they removed some other interfaces when adding xdg-shell
> support?



pgp5dLJyN3KNi.pgp
Description: OpenPGP digital signature


Re: Conflict resolution (gtk, wayland)

2018-05-22 Thread Marius Bakke
Rutger Helling  writes:

> I've created a patch to update Mesa on staging, along with removing
> wayland-egl from it. I can confirm I can still start GNOME on Wayland
> manually after rebuilding with this patch.

Excellent, thanks!

> Should I apply this to staging now? It's been two weeks since the last
> commit to staging, and a merge doesn't seem to be happening anytime
> soon.

Hydra is currently busy with 'core-updates'.  In the mean time, please
queue up patches on 'staging' so we can start it as soon as core-updates
is merged.  The patch LGTM!

> On an unpleasant side-note, certain things are completely broken on
> GNOME on Wayland with staging. Menus and buttons don't work anymore. I
> suspect this is because our mutter and gnome-shell packages are too old
> (3.24.x instead of 3.28.x).

Does GNOME on Wayland work on current 'master'?  The only real
difference on staging (apart from this patch) is GTK+ 3.22.30, which is
fairly uneventful:

https://ftp.acc.umu.se/pub/gnome/sources/gtk+/3.22/gtk+-3.22.30.news

But perhaps they removed some other interfaces when adding xdg-shell
support?


signature.asc
Description: PGP signature


Re: Nitrokey and udev rules

2018-05-22 Thread Marius Bakke
Pierre Neidhardt  writes:

> I'm trying to use my nitrokey on GuixSD.
>
> --8<---cut here---start->8---
>> gpg --card-status
> gpg: selecting openpgp failed: No such device
> gpg: OpenPGP card not available: No such device
> --8<---cut here---end--->8---
>
> It turns out that the nitrokey needs some udev rules to be driven by
> gpg:
>
>   
> https://www.nitrokey.com/documentation/installation#p:nitrokey-start:linux
>
> Thus I tried to configure the following rule:
>
> --8<---cut here---start->8---
> (define %nitrokey-udev-rule
>   (udev-rule
>"41-nitrokey.rules"
>(string-append "ACTION==\"add\", SUBSYSTEM==\"usb\", "
>   "ATTR{idVendor}==\"20a0\", ATTR{idProduct}==\"4211\", "
>   "ENV{ID_SMARTCARD_READER}=\"1\", 
> ENV{ID_SMARTCARD_READER_DRIVER}=\"gnupg\", GROUP+=\"users\", 
> TAG+=\"uaccess\"")))

The 'uaccess' builtin is not currently supported by eudev and elogind.

As a workaround you can try e.g. 'GROUP+="gpg", MODE=”0660″'.

I suspect you may also need 'pcscd' which we currently don't have a
service for.


signature.asc
Description: PGP signature


Re: On network management and documenting nmcli

2018-05-22 Thread Pierre Neidhardt

swedebugia  writes:

> Perhaps a new guix command is needed for this e.g.:
>
> % guix show %default-services

I like this!

-- 
Pierre Neidhardt


signature.asc
Description: PGP signature


Re: Nitrokey and udev rules

2018-05-22 Thread Pierre Neidhardt

Indeed, `guix system reconfigure` shows my 41-nitrokey rule.
Does anyone know how to further debug udev rules?

-- 
Pierre Neidhardt

Silence is the element in which great things fashion themselves.
-- Thomas Carlyle


signature.asc
Description: PGP signature


Re: Nitrokey and udev rules

2018-05-22 Thread Ricardo Wurmus

Pierre Neidhardt  writes:

> I'm trying to use my nitrokey on GuixSD.
>
> --8<---cut here---start->8---
>> gpg --card-status
> gpg: selecting openpgp failed: No such device
> gpg: OpenPGP card not available: No such device
> --8<---cut here---end--->8---
>
> It turns out that the nitrokey needs some udev rules to be driven by
> gpg:
>
>   
> https://www.nitrokey.com/documentation/installation#p:nitrokey-start:linux
>
> Thus I tried to configure the following rule:
>
> --8<---cut here---start->8---
> (define %nitrokey-udev-rule
>   (udev-rule
>"41-nitrokey.rules"
>(string-append "ACTION==\"add\", SUBSYSTEM==\"usb\", "
>   "ATTR{idVendor}==\"20a0\", ATTR{idProduct}==\"4211\", "
>   "ENV{ID_SMARTCARD_READER}=\"1\", 
> ENV{ID_SMARTCARD_READER_DRIVER}=\"gnupg\", GROUP+=\"users\", 
> TAG+=\"uaccess\"")))
>
> ; ...
>  (modify-services
>%desktop-services
>(udev-service-type config =>
>   (udev-configuration
>(inherit config)
>(rules (append (udev-configuration-rules config)
>   (list %nitrokey-udev-rule))
> --8<---cut here---end--->8---

This looks correct to me.  I do something similar for udev rules for my
digital oscilloscope, the Axoloti audio development board, and an AVR
programmer.

> I've tried the "plugdev" (as suggested on the website) and "users"
> GROUP, to no avail: I get the same error from `gpg --card-status`.
>
> I tried testing the rule with udevadm:
>
> --8<---cut here---start->8---
> sudo udevadm test ${udevadm info -q path -n /dev/bus/usb/001/008}
[…]
> Reading rules file: 
> /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/[…]
[…]
> As you can see, 41-nitrokey.rules does not show here.  In fact I can't
> find it on the filesystem.  I don't understand how GuixSD manages the
> udev rules.  Am I missing something?

FWIW, udevadm on my machine also doesn’t show all udev rules, because it
only seems to look in the rules.d directory of the eudev package.  When
you reconfigure your system you actually get a directory like this:

   /gnu/store/crjkqwqsc42sq8zmd1slgpb4jhx9h524-udev-rules/lib/udev/rules.d/

that is the union of all rules, including your custom rules.

--
Ricardo





Nitrokey and udev rules

2018-05-22 Thread Pierre Neidhardt

I'm trying to use my nitrokey on GuixSD.

--8<---cut here---start->8---
> gpg --card-status
gpg: selecting openpgp failed: No such device
gpg: OpenPGP card not available: No such device
--8<---cut here---end--->8---

It turns out that the nitrokey needs some udev rules to be driven by
gpg:


https://www.nitrokey.com/documentation/installation#p:nitrokey-start:linux

Thus I tried to configure the following rule:

--8<---cut here---start->8---
(define %nitrokey-udev-rule
  (udev-rule
   "41-nitrokey.rules"
   (string-append "ACTION==\"add\", SUBSYSTEM==\"usb\", "
  "ATTR{idVendor}==\"20a0\", ATTR{idProduct}==\"4211\", "
  "ENV{ID_SMARTCARD_READER}=\"1\", 
ENV{ID_SMARTCARD_READER_DRIVER}=\"gnupg\", GROUP+=\"users\", 
TAG+=\"uaccess\"")))

; ...
 (modify-services
   %desktop-services
   (udev-service-type config =>
  (udev-configuration
   (inherit config)
   (rules (append (udev-configuration-rules config)
  (list %nitrokey-udev-rule))
--8<---cut here---end--->8---

I've tried the "plugdev" (as suggested on the website) and "users"
GROUP, to no avail: I get the same error from `gpg --card-status`.

I tried testing the rule with udevadm:

--8<---cut here---start->8---
sudo udevadm test ${udevadm info -q path -n /dev/bus/usb/001/008}
calling: test
version 3.2.5
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:  3
file size: 7431994 bytes
header size 80 bytes
strings1901394 bytes
nodes  5530520 bytes
Load module index
timestamp of 
'/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/etc/udev/rules.d' 
changed
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/50-udev-default.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-block.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-drm.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-evdev.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-sensor.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-serial.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/64-btrfs.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/70-mouse.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/70-touchpad.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/75-net-description.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/78-sound-card.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/80-drivers.rules
Reading rules file: 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/80-net-name-slot.rules
rules contain 24576 bytes tokens (2048 * 12 bytes), 8930 bytes strings
1035 strings (15626 bytes), 649 de-duplicated (7083 bytes), 387 trie nodes used
IMPORT builtin 'usb_id' 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/50-udev-default.rules:13
IMPORT builtin 'hwdb' 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/50-udev-default.rules:13
MODE 0664 
/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/50-udev-default.rules:43
handling device node '/dev/bus/usb/001/008', devnum=c189:7, mode=0664, uid=0, 
gid=0
preserve permissions 

Re: Conflict resolution (gtk, wayland)

2018-05-22 Thread Rutger Helling
I've created a patch to update Mesa on staging, along with removing
wayland-egl from it. I can confirm I can still start GNOME on Wayland
manually after rebuilding with this patch.

Should I apply this to staging now? It's been two weeks since the last
commit to staging, and a merge doesn't seem to be happening anytime
soon.

On an unpleasant side-note, certain things are completely broken on
GNOME on Wayland with staging. Menus and buttons don't work anymore. I
suspect this is because our mutter and gnome-shell packages are too old
(3.24.x instead of 3.28.x).

On Thu, 17 May 2018 16:13:28 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> Hi,
> 
> Rutger Helling  skribis:
> 
> > It's because Wayland recently absorbed libwayland-egl. See:
> > https://lists.freedesktop.org/archives/wayland-devel/2018-April/037767.html
> >
> > Specifically:
> > "libwayland-egl is now part of libwayland, and will presumably be
> > removed from mesa in the not too distant future."  
> 
> Thanks for the info.
> 
> On our next MESA update, we should probably explicitly remove
> libwayland-egl from MESA if upstream hasn’t done it yet.
> 
> Ludo’.

From b786aaa2f8353d6bf9fbcf3b8ce77af765392ed5 Mon Sep 17 00:00:00 2001
From: Rutger Helling 
Date: Tue, 22 May 2018 02:22:30 +0200
Subject: [PATCH] gnu: mesa: Update to 18.0.4.

* gnu/packages/gl.scm (mesa): Update to 18.0.4.
[source]: Remove mesa-wayland-egl-symbols-check-mips.patch.
[arguments]: Remove wayland from --with-platforms configure flag.
* gnu/local.mk: Remove mesa-wayland-egl-symbols-check-mips.patch.
* gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch: Remove file.
---
 gnu/local.mk  |  1 -
 gnu/packages/gl.scm   |  9 -
 .../mesa-wayland-egl-symbols-check-mips.patch | 15 ---
 3 files changed, 4 insertions(+), 21 deletions(-)
 delete mode 100644 gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 7b8ddad83..7b0de9e10 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -917,7 +917,6 @@ dist_patch_DATA =		\
   %D%/packages/patches/mcrypt-CVE-2012-4426.patch			\
   %D%/packages/patches/mcrypt-CVE-2012-4527.patch			\
   %D%/packages/patches/mesa-skip-disk-cache-test.patch		\
-  %D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch	\
   %D%/packages/patches/meson-for-build-rpath.patch		\
   %D%/packages/patches/metabat-fix-compilation.patch		\
   %D%/packages/patches/mhash-keygen-test-segfault.patch		\
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 441d4646e..dcd647202 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -224,7 +224,7 @@ also known as DXTn or DXTC) for Mesa.")
 (define-public mesa
   (package
 (name "mesa")
-(version "18.0.2")
+(version "18.0.4")
 (source
   (origin
 (method url-fetch)
@@ -236,10 +236,9 @@ also known as DXTn or DXTC) for Mesa.")
   version "/mesa-" version ".tar.xz")))
 (sha256
  (base32
-  "1cz7p4b4yy201djzv3s28zx27f5cqwv0zgzqp5lcaba8d2bibylq"))
+  "03wjlb5qy1mn8d6zm0q1pq35x60agrfxyh9bmq6w59ghrvkwyfqz"))
 (patches
- (search-patches "mesa-wayland-egl-symbols-check-mips.patch"
- "mesa-skip-disk-cache-test.patch"
+ (search-patches "mesa-skip-disk-cache-test.patch"
 (build-system gnu-build-system)
 (propagated-inputs
   `(;; The following are in the Requires.private field of gl.pc.
@@ -284,7 +283,7 @@ also known as DXTn or DXTC) for Mesa.")
   '("--with-gallium-drivers=i915,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
  ;; Enable various optional features.  TODO: opencl requires libclc,
  ;; omx requires libomxil-bellagio
- "--with-platforms=x11,drm,wayland,surfaceless"
+ "--with-platforms=x11,drm,surfaceless"
  "--enable-glx-tls";Thread Local Storage, improves performance
  ;; "--enable-opencl"
  ;; "--enable-omx"
diff --git a/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch b/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch
deleted file mode 100644
index aa2278697..0
--- a/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Fix 'wayland-egl-symbols-check' on mips64el-linux, where an additional symbol
-(_ftext) is present in libwayland-egl.so.
-
-Patch by Mark H Weaver 
-
 mesa-12.0.1/src/egl/wayland/wayland-egl/wayland-egl-symbols-check.orig	2016-01-18 02:39:25.0 -0500
-+++ mesa-12.0.1/src/egl/wayland/wayland-egl/wayland-egl-symbols-check	2016-10-24 16:25:07.110721426 -0400
-@@ -7,6 +7,7 @@
- wl_egl_window_destroy
- wl_egl_window_get_attached_size
- _fini
-+_ftext
- _init
- EOF
- done)
-- 
2.17.0



pgpIdMjB462YE.pgp
Description: OpenPGP digital signature