Re: getting started with guix import nix

2016-12-19 Thread Paul Garlick
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:

> 
> $ 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.

Re: Broken guix pull

2016-12-19 Thread Leo Famulari
On Mon, Dec 19, 2016 at 11:34:22AM +, Dmitri Anikin wrote:
> December 18, 2016 9:16 PM, "Leo Famulari"  wrote:
> >> When I try guix pull, it fails everytime on
> >> 
> >> Found valid signature for 
> >> /gnu/store/myf7zgkj7x70gy6nf47kppva612zzbgm-module-import-compiled
> >> From 
> >> https://mirror.hydra.gnu.org/nar/myf7zgkj7x70gy6nf47kppva612zzbgm-module-import-compiled
> >> Downloading myf7zg...-module-import-compiled (381KiB installed)...
> >> module-import-compiled 15KiB/s 00:06 | 92KiB transferred
> >> hash mismatch in downloaded path
> >> `/gnu/store/myf7zgkj7x70gy6nf47kppva612zzbgm-module-import-compiled': 
> >> expected
> >> e7e6fcf7f72f965d9ae46c6bfb759651d1b9f17ad19928cafa5c08405d7b14b9, got
> >> 19d0c0bc67c3adf21b276d5c56edc582b0cc172eac71a1d51a3f0538d791
> > Can you try running the guix-daemon with
> > '--substitute-urls=https://hydra.gnu.org', in case the problem is stale
> > data on the mirror?
> 
> Yes, this helped. Thanks

Great! Once you've successfully run `guix pull`, please try removing
that option from your guix-daemon and restart it.

hydra.gnu.org can't handle everybody connecting to it directly, so we
default to using the mirror.

If necessary, most Guix commands that build packages take the
'--substitute-urls' option on the command line:

https://www.gnu.org/software/guix/manual/guix.html#Common-Build-Options



Re: string-append plus package

2016-12-19 Thread Ludovic Courtès
Hartmut Goebel  skribis:

> Am 19.12.2016 um 10:47 schrieb Ludovic Courtès:
>> The result of ‘file-append’ is not a string, but ‘string-append’ expects
>> two strings, hence the error.
>>
>> ‘file-append’ returns a “string-valued gexp”.  This is to say that, in a
>> staging context, it will produce a string.  For example:
>>
>>   (scheme-file "foo" #~(foo bar #$(file-append nginx "/foo/bar")))
>>
>> leads to a file “foo” containing:
>>
>>   (foo bar "/gnu/store/…-nginx-1.2.3/foo/bar")
>
> Thanks for the explanation (which to be frank would take me some time to
> understand).
>
> Please reread you answer from the point of view of an administrator or
> somebody else who is not a Scheme programmer. Somebody who just wants to
> get some system up an running. He would answer like this:
>
> Parton? What? "string-valued gexp", "staging context"? I do not
> care. I simply want to get the path to a file within a package.
>
> Whatever you write above may be correct and may be understandable for
> every Scheme programmer. But this is discouraging for everybody who does
> not want to become a Scheme expert for administering his/her systems.
>
> I already wasted about an hour just to try to get this path! This is crap!

I agree!  The first two lines were all you wanted to know; the rest was
for you as someone who contributes to Scheme—I would not give that
explanation to someone who’s just trying to get nginx up and running.

As for the specifics of why ‘nginx-configuration’ makes this use case
complicated, I think we discussed it on guix-devel before, and there was
probably an action item, but “someone” just needs to make it happen or
at least to keep track of it.

HTH!  :-)

Ludo’.



Re: Broken guix pull

2016-12-19 Thread Dmitri Anikin
December 18, 2016 9:16 PM, "Leo Famulari"  wrote:
> On Sun, Dec 18, 2016 at 08:20:57PM +, Dmitri Anikin wrote:
> 
>> Hello,
>> 
>> When I try guix pull, it fails everytime on
>> 
>> Found valid signature for 
>> /gnu/store/myf7zgkj7x70gy6nf47kppva612zzbgm-module-import-compiled
>> From 
>> https://mirror.hydra.gnu.org/nar/myf7zgkj7x70gy6nf47kppva612zzbgm-module-import-compiled
>> Downloading myf7zg...-module-import-compiled (381KiB installed)...
>> module-import-compiled 15KiB/s 00:06 | 92KiB transferred
>> hash mismatch in downloaded path
>> `/gnu/store/myf7zgkj7x70gy6nf47kppva612zzbgm-module-import-compiled': 
>> expected
>> e7e6fcf7f72f965d9ae46c6bfb759651d1b9f17ad19928cafa5c08405d7b14b9, got
>> 19d0c0bc67c3adf21b276d5c56edc582b0cc172eac71a1d51a3f0538d791
>> fetching path 
>> `/gnu/store/sk9gij7yiqka9lqymh27wzlcp7r5si2b-module-import-compiled'...
>> killing process 13703
>> guix pull: error: build failed: some substitutes for the outputs of 
>> derivation
>> `/gnu/store/i2rwqg7iys5d31lqjw3qz0gb24z138n7-module-import-compiled.drv' 
>> failed (usually happens
>> due to networking issues); try `--fallback' to build derivation from source
> 
> Can you try running the guix-daemon with
> '--substitute-urls=https://hydra.gnu.org', in case the problem is stale
> data on the mirror?

Yes, this helped. Thanks