* getting started with guix import nix
@ 2016-12-13 12:36 Paul Garlick
2016-12-13 23:37 ` Ludovic Courtès
0 siblings, 1 reply; 7+ messages in thread
From: Paul Garlick @ 2016-12-13 12:36 UTC (permalink / raw)
To: help-guix
[-- Attachment #1: Type: text/plain, Size: 4405 bytes --]
Hi,
I am attempting to package the OpenCASCADE-OCE library for Guix using
the Nix opencascade_oce package as a starting point. I have a standard
Guix installation, a standard Nix installation plus the Guix source to
work on separately. opencascade_oce is not installed in the Nix store.
The Nix setup is:
$ echo $NIX_PATH
nixpkgs=/home/paul/.nix-defexpr/channels/nixpkgs
$ which nix-instantiate
/home/paul/.nix-profile/bin/nix-instantiate
I try:
$ export NIX_REMOTE=daemon
$ ./pre-inst-env guix import nix $HOME/.nix-defexpr/channels/nixpkgs
opencascade_oce
i get:
;;; SSAX warning: Skipping PI: xml
trace: lib.zip is deprecated, use lib.zipAttrsWith instead
trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
Backtrace:
In guix/import/snix.scm:
190: 19 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 18 [loop #<input: #{read pipe}# 10> () ...]
190: 17 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 16 [loop #<input: #{read pipe}# 10> () ...]
190: 15 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 14 [loop #<input: #{read pipe}# 10> () ...]
190: 13 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 12 [loop #<input: #{read pipe}# 10> () ...]
190: 11 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 10 [loop #<input: #{read pipe}# 10> () ...]
190: 9 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 8 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 7 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 6 [handle-start-tag function #<input: #{read pipe}# 10> ...]
In sxml/upstream/SSAX.scm:
1523: 5 [#<procedure fda8a0 at sxml/upstream/SSAX.scm:1522:1 (tag-head
port elems entities namespaces)> function ...]
1246: 4 [#<procedure 16e2800 at sxml/upstream/SSAX.scm:1233:2 (port
entities)> #<input: #{read pipe}# 10> ...]
1190: 3 [read-attrib-value #\" #<input: #{read pipe}# 10> () ()]
In sxml/ssax/input-parse.scm:
103: 2 [next-token () (#\" #\space #\newline ...) ...]
In ice-9/rdelim.scm:
88: 1 [read-delimited "\" \n\t\r<&" #<input: #{read pipe}# 10> peek]
In unknown file:
?: 0 [%read-delimited! "\" \n\t\r<&" ...]
ERROR: In procedure %read-delimited!:
ERROR: Throw to key `vm-error' with args `(vm-run "VM: Stack overflow"
())'.
Backtrace:
In guix/import/snix.scm:
190: 19 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 18 [loop #<input: #{read pipe}# 10> () ...]
190: 17 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 16 [loop #<input: #{read pipe}# 10> () ...]
190: 15 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 14 [loop #<input: #{read pipe}# 10> () ...]
190: 13 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 12 [loop #<input: #{read pipe}# 10> () ...]
190: 11 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 10 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 9 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
pairs>)]
190: 8 [handle-start-tag function #<input: #{read pipe}# 10> ...]
In sxml/upstream/SSAX.scm:
1523: 7 [#<procedure fda8a0 at sxml/upstream/SSAX.scm:1522:1 (tag-head
port elems entities namespaces)> function ...]
1246: 6 [#<procedure 16e2800 at sxml/upstream/SSAX.scm:1233:2 (port
entities)> #<input: #{read pipe}# 10> ...]
1190: 5 [read-attrib-value #\" #<input: #{read pipe}# 10> () ()]
In sxml/ssax/input-parse.scm:
103: 4 [next-token () (#\" #\space #\newline ...) ...]
In ice-9/rdelim.scm:
88: 3 [read-delimited "\" \n\t\r<&" #<input: #{read pipe}# 10> peek]
In unknown file:
?: 2 [%read-delimited! "\" \n\t\r<&" ...]
In ice-9/boot-9.scm:
108: 1 [#<procedure e06100 at ice-9/boot-9.scm:100:6 (thrown-k .
args)> vm-error ...]
68: 0 [abort-to-prompt catch14 vm-error vm-run "VM: Stack overflow"
()]
ice-9/boot-9.scm:68:2: In procedure abort-to-prompt:
ice-9/boot-9.scm:68:2: Throw to key `vm-error' with args `(vm-run "VM:
Stack overflow" ())'.
paul$ error: stack overflow (possible infinite recursion)
I can see references to snix.scm but I am not sure how to interpret the
error output. Bug or operator error?##SELECTION_END##
Best,
Paul.
[-- Attachment #2: Type: text/html, Size: 5862 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: getting started with guix import nix
2016-12-13 12:36 getting started with guix import nix Paul Garlick
@ 2016-12-13 23:37 ` Ludovic Courtès
2016-12-14 16:53 ` Paul Garlick
2016-12-15 12:33 ` Paul Garlick
0 siblings, 2 replies; 7+ messages in thread
From: Ludovic Courtès @ 2016-12-13 23:37 UTC (permalink / raw)
To: Paul Garlick; +Cc: help-guix
Hello!
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
> I am attempting to package the OpenCASCADE-OCE library for Guix using
> the Nix opencascade_oce package as a starting point. I have a standard
> Guix installation, a standard Nix installation plus the Guix source to
> work on separately. opencascade_oce is not installed in the Nix store.
> The Nix setup is:
>
> $ echo $NIX_PATH
> nixpkgs=/home/paul/.nix-defexpr/channels/nixpkgs
>
> $ which nix-instantiate
> /home/paul/.nix-profile/bin/nix-instantiate
>
> I try:
>
> $ export NIX_REMOTE=daemon
> $ ./pre-inst-env guix import nix $HOME/.nix-defexpr/channels/nixpkgs
> opencascade_oce
You’re doing it right. Here I get:
--8<---------------cut here---------------start------------->8---
$ NIX_REMOTE=daemon ./pre-inst-env guix import nix /data/src/nixpkgs/ opencascade_oce
;;; SSAX warning: Skipping PI: xml
trace: lib.zip is deprecated, use lib.zipAttrsWith instead
trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
trace: `types.list' is deprecated; use `types.listOf' instead
;; converted from /data/src/nixpkgs/pkgs/development/libraries/opencascade/oce.nix:5
(package
(name "opencascade-oce")
(version "0.16")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/tpaviot/oce/archive/OCE-"
version
".tar.gz"))
(sha256
(base32
"05bmg1cjz827bpq8s0hp96byirm4c3zc9vx26qz76kjsg8ry87w4"))))
(build-system gnu-build-system)
(inputs
`(("cmake" ,cmake)
("freetype" ,freetype)
("ftgl" ,ftgl)
("qt" ,qt)
("libtool" ,libtool)
("libXmu" ,libXmu)
("file" ,file)
("tk" ,tk)
("tcl" ,tcl)
("mesa" ,mesa)))
(home-page "http://www.opencascade.org/")
(synopsis
"Open CASCADE Technology, libraries for 3D modeling and numerical simulation")
(description #f)
(license #f))
$ git describe
v0.11.0-3412-ge8a463e
$ (cd /data/src/nixpkgs/ ; git describe)
release-16.03-start-8750-gdde259d
--8<---------------cut here---------------end--------------->8---
> i get:
>
> ;;; SSAX warning: Skipping PI: xml
>
> trace: lib.zip is deprecated, use lib.zipAttrsWith instead
> trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
> Backtrace:
> In guix/import/snix.scm:
> 190: 19 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
> pairs>)]
> 190: 18 [loop #<input: #{read pipe}# 10> () ...]
> 190: 17 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
> pairs>)]
> 190: 16 [loop #<input: #{read pipe}# 10> () ...]
> 190: 15 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
> pairs>)]
> 190: 14 [loop #<input: #{read pipe}# 10> () ...]
> 190: 13 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
> pairs>)]
> 190: 12 [loop #<input: #{read pipe}# 10> () ...]
> 190: 11 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
> pairs>)]
> 190: 10 [loop #<input: #{read pipe}# 10> () ...]
> 190: 9 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
> pairs>)]
> 190: 8 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
> pairs>)]
> 190: 7 [loop #<input: #{read pipe}# 10> () #f (() . #<vhash 1c6c320 5
> pairs>)]
> 190: 6 [handle-start-tag function #<input: #{read pipe}# 10> ...]
> In sxml/upstream/SSAX.scm:
> 1523: 5 [#<procedure fda8a0 at sxml/upstream/SSAX.scm:1522:1 (tag-head
> port elems entities namespaces)> function ...]
> 1246: 4 [#<procedure 16e2800 at sxml/upstream/SSAX.scm:1233:2 (port
> entities)> #<input: #{read pipe}# 10> ...]
> 1190: 3 [read-attrib-value #\" #<input: #{read pipe}# 10> () ()]
> In sxml/ssax/input-parse.scm:
> 103: 2 [next-token () (#\" #\space #\newline ...) ...]
> In ice-9/rdelim.scm:
> 88: 1 [read-delimited "\" \n\t\r<&" #<input: #{read pipe}# 10> peek]
> In unknown file:
> ?: 0 [%read-delimited! "\" \n\t\r<&" ...]
>
> ERROR: In procedure %read-delimited!:
> ERROR: Throw to key `vm-error' with args `(vm-run "VM: Stack overflow"
It may be that we’re not getting the same XML output from
‘nix-instantiate’ and that somehow confuses the XML parser in your case.
To investigate, you’d need to run the same ‘nix-instantiate’ command
that snix.scm invokes, same its XML output, and then try parsing it with
‘xml->sxml’ from (sxml simple).
HTH!
Ludo’.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: getting started with guix import nix
2016-12-13 23:37 ` Ludovic Courtès
@ 2016-12-14 16:53 ` Paul Garlick
2016-12-15 12:33 ` Paul Garlick
1 sibling, 0 replies; 7+ messages in thread
From: Paul Garlick @ 2016-12-14 16:53 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: help-guix
[-- Attachment #1: Type: text/plain, Size: 1218 bytes --]
Thank you, Ludo.
I have:
$ git describe
v0.11.0-3373-g2df3d14
My Nixpkgs directory is not managed by git. It was installed by the Nix install script. It seems to have the same structure as the Github repository:
$ ls /home/paul/.nix-defexpr/channels/nixpkgs
doc maintainers pkgs README.md svn-revision
lib nixos COPYING default.nix
> It may be that we’re not getting the same XML output from
> ‘nix-instantiate’ and that somehow confuses the XML parser in your
> case.
>
> To investigate, you’d need to run the same ‘nix-instantiate’ command
> that snix.scm invokes, same its XML output, and then try parsing it
> with
> ‘xml->sxml’ from (sxml simple).
>
Following the snix.scm code, I have tried:
$ nix-instantiate --strict --eval --xml -A opencascade_oce
/home/paul/.nix-defexpr/channels/nixpkgs
This command sends xml to standard output for a few minutes, before I
kill the process. Is it common for this process to need a long time?
I have noticed in the Nix manual this comment on the --strict option:
Warning: This option can cause non-termination, because lazy
data structures can be infinitely large.
Maybe this is a Nix problem?
Paul.
[-- Attachment #2: Type: text/html, Size: 1749 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: getting started with guix import nix
2016-12-13 23:37 ` Ludovic Courtès
2016-12-14 16:53 ` Paul Garlick
@ 2016-12-15 12:33 ` Paul Garlick
2016-12-19 9:43 ` Ludovic Courtès
1 sibling, 1 reply; 7+ messages in thread
From: Paul Garlick @ 2016-12-15 12:33 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: help-guix
[-- Attachment #1: Type: text/plain, Size: 750 bytes --]
I have tried updating my local <nixpkgs> directory with 'nix-channel
--update'.
No change; the full nix-instantiate command does not terminate.
The git commit of <nixpkgs> (in /home/paul/.nix-
defexpr/channels/nixpkgs/.version-suffix) is now 497e6d2.
Also, if I remove '--strict' from the nix-instantiate command I get:
<?xml version='1.0' encoding='utf-8'?>
<expr>
<derivation>
<repeated />
</derivation>
</expr>
Terse##SELECTION_END##! but at least the process completes.
I have noticed that the non-termination problem is not confined to the
opencascage_oce package. If I try
$ nix-instantiate --strict --eval --xml -A guile /home/paul/.nix-
defexpr/channels/nixpkgs
that does not terminate either.
Best,
Paul.
[-- Attachment #2: Type: text/html, Size: 1167 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: getting started with guix import nix
2016-12-15 12:33 ` Paul Garlick
@ 2016-12-19 9:43 ` Ludovic Courtès
2016-12-19 16:08 ` Paul Garlick
0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2016-12-19 9:43 UTC (permalink / raw)
To: Paul Garlick; +Cc: help-guix
Hi!
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
> I have noticed that the non-termination problem is not confined to the
> opencascage_oce package. If I try
>
> $ nix-instantiate --strict --eval --xml -A guile
> /home/paul/.nix-defexpr/channels/nixpkgs
>
> that does not terminate either.
Does it just take long, or does it simply not terminate?
I get:
--8<---------------cut here---------------start------------->8---
$ time NIX_REMOTE=daemon nix-instantiate -A guile /data/src/nixpkgs --strict --eval --xml | wc -c
trace: lib.zip is deprecated, use lib.zipAttrsWith instead
trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
trace: `types.list' is deprecated; use `types.listOf' instead
7786158
real 0m0.668s
user 0m0.348s
sys 0m0.160s
$ (cd /data/src/nixpkgs/; git describe)
release-16.03-start-8750-gdde259d
$ nix-instantiate --version
nix-instantiate (Nix) 1.11.2
--8<---------------cut here---------------end--------------->8---
As you can see it produces 7 MiB of XML data, but that’s pretty fast.
HTH,
Ludo’.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: getting started with guix import nix
2016-12-19 9:43 ` Ludovic Courtès
@ 2016-12-19 16:08 ` Paul Garlick
2016-12-19 20:56 ` Ludovic Courtès
0 siblings, 1 reply; 7+ messages in thread
From: Paul Garlick @ 2016-12-19 16:08 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: help-guix
[-- Attachment #1: Type: text/plain, Size: 3611 bytes --]
Hi Ludo,
> >
> > I have noticed that the non-termination problem is not confined to
> > the
> > opencascage_oce package. If I try
> >
> > $ nix-instantiate --strict --eval --xml -A guile
> > /home/paul/.nix-defexpr/channels/nixpkgs
> >
> > that does not terminate either.
> Does it just take long, or does it simply not terminate?
After a few (approximately five) minutes the process is still producing
xml. Looking at the output, after killing the process, there is a
large amount of blank space plus the occasional line of xml, such as:
<function column="15" line="47"
path="/nix/store/k3jqgxqfwg6q9bgkys63c25lbjprl3gq-nixpkgs-
17.03pre96825.497e6d2/nixpkgs/lib/types.nix">
>
> $ nix-instantiate --version
> nix-instantiate (Nix) 1.11.2
>
>
For my nix installation:
$ nix-instantiate --version
nix-instantiate (Nix) 1.11.4
Also, I have cloned the nixpkgs repository so that I can change the
version more easily. To set the nixpkgs directory to be the same
version as the version you are using:
$ git checkout dde259d
Then I get the same output:
$ export NIX_REMOTE=daemon
$ ./pre-inst-env guix import nix /data/paul/sourceCode/nixpkgs
opencascade_oce
;;; SSAX warning: Skipping PI: xml
trace: lib.zip is deprecated, use lib.zipAttrsWith instead
trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
trace: `types.list' is deprecated; use `types.listOf' instead
;; converted from
/data/paul/sourceCode/nixpkgs/pkgs/development/libraries/opencascade/oc
e.nix:5
(package
(name "opencascade-oce")
(version "0.16")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/tpaviot/oce/archive/OCE-"
version
".tar.gz"))
(sha256
(base32
"05bmg1cjz827bpq8s0hp96byirm4c3zc9vx26qz76kjsg8ry87w4"))))
(build-system gnu-build-system)
(inputs
`(("cmake" ,cmake)
("freetype" ,freetype)
("ftgl" ,ftgl)
("qt" ,qt)
("libtool" ,libtool)
("libXmu" ,libXmu)
("file" ,file)
("tk" ,tk)
("tcl" ,tcl)
("mesa" ,mesa)))
(home-page "http://www.opencascade.org/")
(synopsis
"Open CASCADE Technology, libraries for 3D modeling and numerical
simulation")
(description #f)
(license #f))
paul$ cat
/data/paul/sourceCode/nixpkgs/pkgs/development/libraries/opencascade/oc
e.nix
{stdenv, fetchurl, mesa, tcl, tk, file, libXmu, cmake, libtool, qt4,
ftgl, freetype}:
stdenv.mkDerivation rec {
name = "opencascade-oce-0.16";
src = fetchurl {
url = https://github.com/tpaviot/oce/archive/OCE-0.16.tar.gz;
sha256 = "05bmg1cjz827bpq8s0hp96byirm4c3zc9vx26qz76kjsg8ry87w4";
};
buildInputs = [ mesa tcl tk file libXmu libtool qt4 ftgl freetype
cmake ];
preConfigure = ''
cmakeFlags="$cmakeFlags -DOCE_INSTALL_PREFIX=$out"
'';
# https://bugs.freedesktop.org/show_bug.cgi?id=83631
NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY";
enableParallelBuilding = true;
meta = {
description = "Open CASCADE Technology, libraries for 3D modeling
and numerical simulation";
homepage = http://www.opencascade.org/;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}
This is almost usable, except the version of the file oce.nix has
changed since the dde259d commit. Also, it may be nix-instantiate does
not terminate for many other packages in recent versions of nixpkgs.
Best,
Paul.
[-- Attachment #2: Type: text/html, Size: 5892 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: getting started with guix import nix
2016-12-19 16:08 ` Paul Garlick
@ 2016-12-19 20:56 ` Ludovic Courtès
0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2016-12-19 20:56 UTC (permalink / raw)
To: Paul Garlick; +Cc: help-guix
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
>> > I have noticed that the non-termination problem is not confined to
>> > the
>> > opencascage_oce package. If I try
>> >
>> > $ nix-instantiate --strict --eval --xml -A guile
>> > /home/paul/.nix-defexpr/channels/nixpkgs
>> >
>> > that does not terminate either.
>> Does it just take long, or does it simply not terminate?
> After a few (approximately five) minutes the process is still producing
> xml. Looking at the output, after killing the process, there is a
> large amount of blank space plus the occasional line of xml, such as:
> <function column="15" line="47"
> path="/nix/store/k3jqgxqfwg6q9bgkys63c25lbjprl3gq-nixpkgs-
> 17.03pre96825.497e6d2/nixpkgs/lib/types.nix">
OK.
> $ ./pre-inst-env guix import nix /data/paul/sourceCode/nixpkgs
> opencascade_oce
> ;;; SSAX warning: Skipping PI: xml
> trace: lib.zip is deprecated, use lib.zipAttrsWith instead
> trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
> trace: `types.list' is deprecated; use `types.listOf' instead
> ;; converted from
> /data/paul/sourceCode/nixpkgs/pkgs/development/libraries/opencascade/oc
> e.nix:5
> (package
> (name "opencascade-oce")
Good!
> This is almost usable, except the version of the file oce.nix has
> changed since the dde259d commit. Also, it may be nix-instantiate does
> not terminate for many other packages in recent versions of nixpkgs.
Indeed, with Nixpkgs 16.09-beta-6955-g0c7afce, ‘guix import nix’ crashes
with a stack overflow in the XML parser after a few seconds. Likewise:
--8<---------------cut here---------------start------------->8---
$ time NIX_REMOTE=daemon nix-instantiate -A guile /data/src/nixpkgs --strict --eval --xml | wc -c
trace: lib.zip is deprecated, use lib.zipAttrsWith instead
trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
error: stack overflow (possible infinite recursion)
1055021551
real 0m5.959s
user 0m5.660s
sys 0m0.700s
--8<---------------cut here---------------end--------------->8---
IOW, it crashes after having spit 1 GB of XML. Woow. :-)
Could you report it to the Nix folks?
Now, I don’t think ‘guix import nix’ is that important to be honest. I
think its value decreases as the number of packages in Guix increases.
Also, all it gives is a rough template and not the harder details; so
you may find that packaging OpenCascade won’t take much longer without
‘guix import nix’.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-12-19 20:57 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-13 12:36 getting started with guix import nix Paul Garlick
2016-12-13 23:37 ` Ludovic Courtès
2016-12-14 16:53 ` Paul Garlick
2016-12-15 12:33 ` Paul Garlick
2016-12-19 9:43 ` Ludovic Courtès
2016-12-19 16:08 ` Paul Garlick
2016-12-19 20:56 ` Ludovic Courtès
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).