Je voudrais utiliser gtk-enabled opencv avec python 3 à l'intérieur d'un shell nix.Comment activer une dépendance de construction optionnelle en utilisant nix-shell?
Je suis en mesure de lancer un environnement python3/OpenCV permis non-gtk avec:
nix-shell --pure -p python35Packages.opencv3
Cependant, les commandes que les fenêtres ouvertes échouent:
[nix-shell:~/src/nixpkgs/pkgs/development/libraries/opencv]$ python
Python 3.5.3 (default, Jan 17 2017, 07:57:56)
[GCC 5.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.namedWindow("foo")
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /tmp/nix-build-opencv-3.2.0.drv-0/opencv-3.2.0-src/modules/highgui/src/window.cpp, line 565
Dans la définition du paquet dans /nixpkgs/pkgs/development/libraries/opencv/3.x.nix
, il sont les paramètres de fonction enableGtk2
et enableGtk3
qui activent la dépendance facultative dans la génération.
J'ai lu plusieurs didacticiels nix et la définition de la syntaxe entière pour le langage.
Mise en service d'une dépendance optionnelle est assez fondamentale, donc je pensais que ce serait faisable à l'aide des outils de ligne de commande, à savoir nix-shell
. Quelqu'un sait comment cela est fait?