Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] My ebuild insists to remove a target
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
SDD701
n00b
n00b


Joined: 18 Feb 2023
Posts: 20

PostPosted: Tue Jul 23, 2024 4:14 pm    Post subject: [SOLVED] My ebuild insists to remove a target Reply with quote

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
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2418

PostPosted: Tue Jul 23, 2024 4:27 pm    Post subject: Re: My ebuild insists to remove a target Reply with quote

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
View user's profile Send private message
SDD701
n00b
n00b


Joined: 18 Feb 2023
Posts: 20

PostPosted: Tue Jul 23, 2024 4:32 pm    Post subject: Re: My ebuild insists to remove a target Reply with quote

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
View user's profile Send private message
genterminl
Guru
Guru


Joined: 12 Feb 2005
Posts: 527
Location: Connecticut, USA

PostPosted: Tue Jul 23, 2024 5:26 pm    Post subject: Reply with quote

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
View user's profile Send private message
SDD701
n00b
n00b


Joined: 18 Feb 2023
Posts: 20

PostPosted: Tue Jul 23, 2024 5:35 pm    Post subject: Reply with quote

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
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22648

PostPosted: Tue Jul 23, 2024 5:51 pm    Post subject: Reply with quote

If you add --autounmask=n, does that change the error message?
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2418

PostPosted: Tue Jul 23, 2024 6:22 pm    Post subject: Re: My ebuild insists to remove a target Reply with quote

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
View user's profile Send private message
SDD701
n00b
n00b


Joined: 18 Feb 2023
Posts: 20

PostPosted: Wed Jul 24, 2024 9:41 am    Post subject: Reply with quote

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
View user's profile Send private message
SDD701
n00b
n00b


Joined: 18 Feb 2023
Posts: 20

PostPosted: Wed Jul 24, 2024 9:45 am    Post subject: Reply with quote

I have

Code:
x11-wm/qtile python_targets_pypy3


in package.use btw
Back to top
View user's profile Send private message
SDD701
n00b
n00b


Joined: 18 Feb 2023
Posts: 20

PostPosted: Wed Jul 24, 2024 9:47 am    Post subject: Reply with quote

Oh I got it, cffi doesn't have pypy use expand, I'll try to add it and post the results
Back to top
View user's profile Send private message
SDD701
n00b
n00b


Joined: 18 Feb 2023
Posts: 20

PostPosted: Wed Jul 24, 2024 9:58 am    Post subject: Reply with quote

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
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2418

PostPosted: Wed Jul 24, 2024 11:31 am    Post subject: Reply with quote

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
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2728
Location: Here and Away Again

PostPosted: Wed Jul 24, 2024 12:23 pm    Post subject: Reply with quote

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
View user's profile Send private message
genterminl
Guru
Guru


Joined: 12 Feb 2005
Posts: 527
Location: Connecticut, USA

PostPosted: Wed Jul 24, 2024 2:52 pm    Post subject: Reply with quote

except virtualx is added again right before the #.
Back to top
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2728
Location: Here and Away Again

PostPosted: Wed Jul 24, 2024 3:17 pm    Post subject: Reply with quote

genterminl wrote:
except virtualx is added again right before the #.

So it is!

Missed that quite completely.
_________________
Kindest of regardses.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum