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/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))
paul$ cat /data/paul/sourceCode/nixpkgs/pkgs/development/libraries/opencascade/oce.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.