Hi, On Sat, 10 Nov 2018 21:42:38 +0100 swedebugia wrote: > I need help. > > It fails with > > starting phase `install' > running "python setup.py" with command "install" and parameters > ("--prefix=/gnu/store/v8kzgqs1jdfg7wzqr9c02719ada6x8bm-ufw-0.35" > "--single-version-externally-managed" "--root=/" "--root=/") > Found > '/gnu/store/8assqq8vmmvn09cysg5nm3kf2075hvxd-iptables-1.6.2/sbin/iptables' > version '1.6.2\n'' > usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] >    or: -c --help [cmd1 cmd2 ...] >    or: -c --help-commands >    or: -c cmd --help > > error: option --single-version-externally-managed not recognized > > This option comes from the python-build-system. Yes, and it elaborates (in guix/guix/build/python-build-system.scm): >;; Pip behaves a bit different then easy_install: it always executes >;; "setup.py" with the option "--single-version-externally-managed" set. This >;; makes setuptools' "install" command run the original "install" command >;; instead of the "easy_install" command, so no .pth file (and no site.py) >;; will be created. The "site-packages" directory only contains the package >;; and the related .egg-info directory. >;; >;; This is exactly what we need for Guix and this is what we mimic in the >;; install phase below. >(define* (install #:key outputs (configure-flags '()) use-setuptools? > #:allow-other-keys) > "Install a given Python package." > (let* ((out (assoc-ref outputs "out")) > (params (append (list (string-append "--prefix=" out)) > (if use-setuptools? ^---- Aha! > ;; distutils does not accept these flags > > (list "--single-version-externally-managed" > "--root=/") > '()) > configure-flags))) > (call-setuppy "install" params use-setuptools?) > #t)) Try specifying (arguments `(#:use-setuptools? #f)) in the package. But if ufw doesn't use "--single-version-externally-managed", that implies that ufw is not available on PyPI. Weird.