View previous topic :: View next topic |
Author |
Message |
SDD701 n00b
Joined: 18 Feb 2023 Posts: 20
|
Posted: Tue Jul 23, 2024 4:14 pm Post subject: [SOLVED] My ebuild insists to remove a target |
|
|
Hi. I want to write a ebuild for qtile on pypy. When I try to emerge I get Quote: | The following USE changes are necessary to proceed: >=x11-wm/qtile-9999 -python_targets_pypy3 | What could be wrong? Pypy is unmasked in profile and another ebuilds using pypy as a target is emerging
In case you need to see the ebuild:
Code: | # Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=standalone
PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 virtualx #pypi virtualx
DESCRIPTION="A full-featured, hackable tiling window manager written in Python"
HOMEPAGE="https://qtile.org/"
# https://github.com/qtile/qtile/
# https://pypi.org/project/qtile/
if [[ "${PV}" = *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/qtile/${PN}.git"
else
SRC_URI="https://github.com/qtile/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
S="${WORKDIR}/${PN}-source"
KEYWORDS="~amd64 ~riskv"
fi
LICENSE="MIT"
SLOT="0"
IUSE="pulseaudio wayland"
RDEPEND="
>=dev-python/cairocffi-1.6.0[${PYTHON_USEDEP}]
>=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
dev-python/dbus-next[${PYTHON_USEDEP}]
dev-python/pygobject[${PYTHON_USEDEP}]
>=dev-python/xcffib-1.4.0[${PYTHON_USEDEP}]
x11-libs/cairo[X,xcb(+)]
x11-libs/libnotify[introspection]
x11-libs/pango
pulseaudio? (
dev-python/pulsectl-asyncio[${PYTHON_USEDEP}]
)
wayland? (
>=dev-python/pywayland-0.4.17[${PYTHON_USEDEP}]
>=dev-python/pywlroots-0.17[${PYTHON_USEDEP}]
)
" #media-sound/pulseaudio
BDEPEND="
dev-python/cffi[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/setuptools-scm[${PYTHON_USEDEP}]
test? (
dev-python/libcst[${PYTHON_USEDEP}]
media-gfx/imagemagick[X]
x11-base/xorg-server[xephyr,xvfb]
)
wayland? (
>=dev-python/pywayland-0.4.17[${PYTHON_USEDEP}]
>=dev-python/pywlroots-0.17[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
python_prepare_all() {
sed -e "s/can_import(\"wlroots.ffi_build\")/$(usex wayland True False)/" \
-i setup.py || die
# some tests expect bin/qtile
#mkdir bin || die
cat >> bin/qtile <<-EOF || die
#!/bin/sh
exec qtile "\${@}"
EOF
chmod +x bin/qtile || die
distutils-r1_python_prepare_all
}
src_compile() {
local -x CFFI_TMPDIR=${T}
distutils-r1_src_compile
}
src_test() {
virtx distutils-r1_src_test
}
python_test() {
local EPYTEST_DESELECT=(
# mypy stuff
test/test_check.py
test/migrate/test_check_migrations.py
# TODO: this test clearly requires x11 — so why is wayland
# variant being run?
'test/backend/x11/test_window.py::test_urgent_hook_fire[wayland-2]'
)
# force usage of built module
rm -rf libqtile || die
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local -x TZ=UTC
nonfatal epytest --backend=x11 $(usev wayland '--backend=wayland') ||
die -n "Tests failed with ${EPYTHON}"
}
python_install_all() {
local DOCS=( CHANGELOG README.rst )
distutils-r1_python_install_all
insinto /usr/share/xsessions
doins resources/qtile.desktop
insinto /usr/share/wayland-sessions
doins resources/qtile-wayland.desktop
#exeinto /etc/X11/Sessions
#newexe "${FILESDIR}"/${PN}-session-r1 ${PN}
} |
Last edited by SDD701 on Wed Jul 24, 2024 9:58 am; edited 1 time in total |
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2398
|
Posted: Tue Jul 23, 2024 4:27 pm Post subject: Re: My ebuild insists to remove a target |
|
|
SDD701 wrote: | Hi. I want to write a ebuild for qtile on pypy. When I try to emerge I get Quote: | The following USE changes are necessary to proceed: >=x11-wm/qtile-9999 -python_targets_pypy3 | What could be wrong? Pypy is unmasked in profile and another ebuilds using pypy as a target is emerging
|
Share the whole output. There should be sever other lines clarifying what requires it.
Best Regards,
Georgi |
|
Back to top |
|
|
SDD701 n00b
Joined: 18 Feb 2023 Posts: 20
|
Posted: Tue Jul 23, 2024 4:32 pm Post subject: Re: My ebuild insists to remove a target |
|
|
logrusx wrote: | SDD701 wrote: | Hi. I want to write a ebuild for qtile on pypy. When I try to emerge I get Quote: | The following USE changes are necessary to proceed: >=x11-wm/qtile-9999 -python_targets_pypy3 | What could be wrong? Pypy is unmasked in profile and another ebuilds using pypy as a target is emerging
|
Share the whole output. There should be sever other lines clarifying what requires it.
Best Regards,
Georgi |
Quote: |
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 1.13 s (backtrack: 0/20).
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by =x11-wm/qtile-9999 (argument)
>=x11-wm/qtile-9999 -python_targets_pypy3
Would you like to add these changes to your config files? [Yes/No] / |
Pretty much it, I've tried backtracking but it doesn't help |
|
Back to top |
|
|
genterminl Guru
Joined: 12 Feb 2005 Posts: 527 Location: Connecticut, USA
|
Posted: Tue Jul 23, 2024 5:26 pm Post subject: |
|
|
I'm no python expert, but that error looks like it wants "-python_targets_pypy3" note the minus sign. That doesn't make sense if you are trying to use Pypy. However, you have commented out pypy on the inherit line - is that intentional? |
|
Back to top |
|
|
SDD701 n00b
Joined: 18 Feb 2023 Posts: 20
|
Posted: Tue Jul 23, 2024 5:35 pm Post subject: |
|
|
genterminl wrote: | I'm no python expert, but that error looks like it wants "-python_targets_pypy3" note the minus sign. That doesn't make sense if you are trying to use Pypy. |
That's the point. The suggestion is the opposite thing I want to do
genterminl wrote: | However, you have commented out pypy on the inherit line - is that intentional? |
Correct me if I wrong, but if you are talking about this line:
Code: | inherit distutils-r1 virtualx #pypi virtualx |
Yes, it's intentional and it's not pypy, it's PYPI(https://pypi.org/). I've commented because with it Qtile is failing to megre, probably because of lacking of the signatures on PYPI when I get the source from git but not from release |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22618
|
Posted: Tue Jul 23, 2024 5:51 pm Post subject: |
|
|
If you add --autounmask=n, does that change the error message? |
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2398
|
Posted: Tue Jul 23, 2024 6:22 pm Post subject: Re: My ebuild insists to remove a target |
|
|
SDD701 wrote: | logrusx wrote: | SDD701 wrote: | Hi. I want to write a ebuild for qtile on pypy. When I try to emerge I get Quote: | The following USE changes are necessary to proceed: >=x11-wm/qtile-9999 -python_targets_pypy3 | What could be wrong? Pypy is unmasked in profile and another ebuilds using pypy as a target is emerging
|
Share the whole output. There should be sever other lines clarifying what requires it.
Best Regards,
Georgi |
Quote: |
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 1.13 s (backtrack: 0/20).
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by =x11-wm/qtile-9999 (argument)
>=x11-wm/qtile-9999 -python_targets_pypy3
Would you like to add these changes to your config files? [Yes/No] / |
Pretty much it, I've tried backtracking but it doesn't help |
What was the command? Did you pass -v switch to portage? Still looks somehow incomplete. I guess your ebuild requires something with pypy3 but it's not. This might trigger a whole chain of packages needed to be recompiled for pypy3 if there are ones that support only single python implementation:
https://projects.gentoo.org/python/guide/eclass.html#single-impl-vs-multi-impl
Also what Hu said - if you didn't explicitly unmask pypy3 use flag, I think it's profile masked.
Best Regards,
Georgi |
|
Back to top |
|
|
SDD701 n00b
Joined: 18 Feb 2023 Posts: 20
|
Posted: Wed Jul 24, 2024 9:41 am Post subject: |
|
|
After running:
Code: | doas emerge --ask --verbose --autounmask=n qtile |
I get:
Quote: |
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 57.90 s (backtrack: 0/20).
emerge: there are no ebuilds built with USE flags to satisfy ">=dev-python/cffi-1.1.0:=[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?]".
!!! One of the following packages is required to complete your request:
- x11-wm/qtile-9999::exilay (Change USE: -python_targets_pypy3)
(dependency required by "x11-wm/qtile-9999::exilay" [ebuild])
(dependency required by "qtile" [argument]) |
|
|
Back to top |
|
|
SDD701 n00b
Joined: 18 Feb 2023 Posts: 20
|
Posted: Wed Jul 24, 2024 9:45 am Post subject: |
|
|
I have
Code: | x11-wm/qtile python_targets_pypy3 |
in package.use btw |
|
Back to top |
|
|
SDD701 n00b
Joined: 18 Feb 2023 Posts: 20
|
Posted: Wed Jul 24, 2024 9:47 am Post subject: |
|
|
Oh I got it, cffi doesn't have pypy use expand, I'll try to add it and post the results |
|
Back to top |
|
|
SDD701 n00b
Joined: 18 Feb 2023 Posts: 20
|
Posted: Wed Jul 24, 2024 9:58 am Post subject: |
|
|
Copying ebuilds for cffi, dbus-next and pywlroots and adding pypy3 to PYTHON_COMPAT solved the conflict. Maybe I should consider to make an issue on bugzilla because pypy is supported by qtile dev team accordig to their docs, so it's a legitimate way to use it |
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2398
|
Posted: Wed Jul 24, 2024 11:31 am Post subject: |
|
|
SDD701 wrote: | After running:
Code: | doas emerge --ask --verbose --autounmask=n qtile |
I get:
Quote: |
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 57.90 s (backtrack: 0/20).
emerge: there are no ebuilds built with USE flags to satisfy ">=dev-python/cffi-1.1.0:=[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?]".
!!! One of the following packages is required to complete your request:
- x11-wm/qtile-9999::exilay (Change USE: -python_targets_pypy3)
(dependency required by "x11-wm/qtile-9999::exilay" [ebuild])
(dependency required by "qtile" [argument]) |
|
Passing deep and changed use might have generated more meaningful output.
Nevertheless, I'm glad you were able to figure it out.
Best Regards,
Georgi |
|
Back to top |
|
|
Chiitoo Administrator
Joined: 28 Feb 2010 Posts: 2727 Location: Here and Away Again
|
Posted: Wed Jul 24, 2024 12:23 pm Post subject: |
|
|
SDD701 wrote: | genterminl wrote: | However, you have commented out pypy on the inherit line - is that intentional? |
Correct me if I wrong, but if you are talking about this line:
Code: | inherit distutils-r1 virtualx #pypi virtualx |
Yes, it's intentional and it's not pypy, it's PYPI(https://pypi.org/). I've commented because with it Qtile is failing to megre, probably because of lacking of the signatures on PYPI when I get the source from git but not from release |
In case not obvious and intentional as well, I believe that also comments out 'virtualx', so at least 'src_test()' might be interesting. :] _________________ Kindest of regardses. |
|
Back to top |
|
|
genterminl Guru
Joined: 12 Feb 2005 Posts: 527 Location: Connecticut, USA
|
Posted: Wed Jul 24, 2024 2:52 pm Post subject: |
|
|
except virtualx is added again right before the #. |
|
Back to top |
|
|
Chiitoo Administrator
Joined: 28 Feb 2010 Posts: 2727 Location: Here and Away Again
|
Posted: Wed Jul 24, 2024 3:17 pm Post subject: |
|
|
genterminl wrote: | except virtualx is added again right before the #. |
So it is!
Missed that quite completely. _________________ Kindest of regardses. |
|
Back to top |
|
|
|