guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Packaging ufw


From: Danny Milosavljevic
Subject: Re: Packaging ufw
Date: Sat, 10 Nov 2018 22:25:59 +0100

Hi,

On Sat, 10 Nov 2018 21:42:38 +0100
swedebugia <address@hidden> 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.

Attachment: pgpVg2SNISgVE.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]