Gentoo Archives: gentoo-dev

From: Andrey Grozin <grozin@×××××××××××××××××.org>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] sci-geosciences/routino: DISTUTILS_USE_SETUPTOOLS=no -> DISTUTILS_USE_PEP517=?
Date: Thu, 16 Feb 2023 13:45:21
Message-Id: 2ee1fae9-2fa8-99f8-9fe4-b03834a3bbd6@woodpecker.gentoo.org
1 Hello *,
2
3 sci-geosciences/routino has the USE flag python.
4 I've just changed
5 PYTHON_COMPAT=( python3_{9..10} )
6 to
7 PYTHON_COMPAT=( python3_{9..11} )
8 in sci-geosciences/routino, routino[python] builds fine. The ebuild
9 contains the lines
10
11 DISTUTILS_USE_SETUPTOOLS=no
12 PYTHON_COMPAT=( python3_{9..11} )
13 inherit toolchain-funcs distutils-r1
14
15 and pkgcheck scan complains that it is not PEP517. I've tried to change
16 DISTUTILS_USE_SETUPTOOLS=no
17 to
18 DISTUTILS_USE_PEP517=setuptools
19 But then emerging routino[python] leads to lots of strange things:
20
21 * python3_9: running distutils-r1_run_phase python_install
22 python3.9 setup.py install
23 /usr/lib/python3.9/site-packages/setuptools/command/install.py:34:
24 SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build
25 and pip and other standards-based tools.
26 warnings.warn(
27 /usr/lib/python3.9/site-packages/setuptools/command/easy_install.py:144:
28 EasyInstallDeprecationWarning: easy_install command is deprecated. Use
29 build and pip and other standards-based tools.
30 warnings.warn(
31 * ACCESS DENIED: open_wr:
32 /usr/lib/python3.9/site-packages/test-easy-install-190.write-test
33 error: can't create or remove files in install directory
34
35 The following error occurred while trying to add or remove files in the
36 installation directory:
37
38 [Errno 13] Permission denied:
39 '/usr/lib/python3.9/site-packages/test-easy-install-190.write-test'
40
41 The installation directory you specified (via --install-dir, --prefix, or
42 the distutils default setting) was:
43
44 /usr/lib/python3.9/site-packages/
45
46 Perhaps your account does not have write access to this directory? If the
47 installation directory is a system-owned directory, you may need to sign
48 in
49 as the administrator or "root" account. If you do not have administrative
50 access to this machine, you may wish to choose a different installation
51 directory, preferably one that is listed in your PYTHONPATH environment
52 variable.
53
54 For information on other options, you may wish to consult the
55 documentation at:
56
57 https://setuptools.pypa.io/en/latest/deprecated/easy_install.html
58
59 Please make the appropriate changes for your system and try again.
60
61 * ERROR: sci-geosciences/routino-3.3.3-r4::grozin failed (install phase):
62 * (no error message)
63 *
64 * Call stack:
65 * ebuild.sh, line 136: Called src_install
66 * environment, line 3349: Called distutils-r1_src_install
67 * environment, line 1553: Called _distutils-r1_run_foreach_impl
68 'python_install'
69 * environment, line 690: Called python_foreach_impl
70 'distutils-r1_run_phase' 'python_install'
71 * environment, line 3027: Called multibuild_foreach_variant
72 '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_install'
73 * environment, line 2586: Called _multibuild_run
74 '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_install'
75 * environment, line 2584: Called _python_multibuild_wrapper
76 'distutils-r1_run_phase' 'python_install'
77 * environment, line 1022: Called distutils-r1_run_phase
78 'python_install'
79 * environment, line 1511: Called python_install
80 * environment, line 3161: Called esetup.py 'install'
81 * environment, line 2118: Called die
82 * The specific snippet of code:
83 * "${@}" || die -n;
84
85 So,
86 setup.py install is deprecated
87 easy_install command is deprecated
88 and it tries to install test-easy-install-190.write-test to some strange
89 place. Any idea what I should use in DISTUTILS_USE_PEP517?
90
91 Andrey