Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
${PYTHON_MULTI_USEDEP}'s value comes from where?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
z4
n00b
n00b


Joined: 21 Jul 2019
Posts: 19

PostPosted: Sat Mar 14, 2020 2:01 am    Post subject: ${PYTHON_MULTI_USEDEP}'s value comes from where? Reply with quote

Now I feel like I'm down in the belly of the beast:

Code:
net-print/hplip/hplip-3.19.12-r1.ebuild:

...
>=dev-python/pillow-3.1.1[${PYTHON_MULTI_USEDEP}]
...

And this becomes a USE flag issue when I try to emerge hplip:

Code:
emerge net-print/hplip:0
Calculating dependencies
 * IMPORTANT: 6 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

. ... done!
[ebuild  N     ] dev-python/olefile-0.46  USE="-doc" PYTHON_TARGETS="python2_7 python3_6 (-pypy3) (-python3_7) (-python3_8)"
[ebuild  N     ] dev-python/pillow-6.2.2  USE="jpeg tiff truetype webp zlib -doc -examples -imagequant -jpeg2k -lcms -test -tk" PYTHON_TARGETS="python2_7 python3_6 (-python3_7) (-python3_8)"
[ebuild  N     ] net-analyzer/net-snmp-5.8-r3  USE="X bzip2 ipv6 mysql python ssl tcpd zlib -doc -elf -kmem -libressl -lm-sensors -mfd-rewrites -minimal -netlink -pci -perl -rpm (-selinux) -smux -ucd-compat" PYTHON_SINGLE_TARGET="python2_7"
[ebuild  N     ] media-gfx/xsane-0.999-r2  USE="gimp jpeg nls png -lcms -ocr -tiff"
[ebuild  N     ] dev-python/reportlab-3.5.13-r1  USE="-doc -examples" PYTHON_TARGETS="python2_7 python3_6 (-python3_7) (-python3_8)"
[ebuild  N     ] net-print/hplip-3.19.12-r1  USE="X hpcups qt5 scanner snmp -doc -fax -hpijs -kde -libnotify -libressl -libusb0 -minimal -parport -policykit -static-ppds" PYTHON_SINGLE_TARGET="python3_6 (-python3_7)"

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by dev-python/reportlab-3.5.13-r1::gentoo
# required by net-print/hplip-3.19.12-r1::gentoo[-minimal,scanner,python_single_target_python3_6]
# required by net-print/hplip:0 (argument)
>=dev-python/pillow-6.2.2 truetype tiff

So how does ${PYTHON_MULTI_USEDEP} expand out to truetype tiff?

I know how to solve it...the message is perfectly clear and like so many others...I set the USE flags for pillow to include "truetype tiff", but how would I be able to know that by code inspection? I don't even know where to begin to look. Clearly there is a method by which the emerge tool made the determination that pillow needs "truetype tiff" for hplip's sake, but "tiff" and "truetype" don't even appear in hplip's ebuild file, and are optional in pillow's ebuild file and lead to tests regarding jpeb,zlib and tiff, so I'm just wondering, what's the chain of events that leads

[${PYTHON_MULTI_USEDEP}] --> [truetype, tiff]

for pillow pulled in by hplip.
Back to top
View user's profile Send private message
turtles
Veteran
Veteran


Joined: 31 Dec 2004
Posts: 1394

PostPosted: Sat Mar 14, 2020 4:21 am    Post subject: Reply with quote

The eclass can be found at:
Code:
cat /usr/portage/eclass/python-single-r1.eclass


https://devmanual.gentoo.org/eclass-reference/python-single-r1.eclass/index.html
_________________
Donate to Gentoo
Back to top
View user's profile Send private message
Juippisi
Developer
Developer


Joined: 30 Sep 2005
Posts: 454
Location: /home

PostPosted: Sat Mar 14, 2020 6:57 am    Post subject: Reply with quote

You can follow the chain. hplip requires reportlab, and reportlab has unconditional dependency for
Code:
dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]


https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-python/reportlab/reportlab-3.5.13-r1.ebuild#n21

EDIT: What profile are you using? Looks to me these should be pretty default and not needed to add per package.use. Seems like you have some global USEs that conflict with those requirements. It's nothing fatal, just configuration I guess.
Back to top
View user's profile Send private message
z4
n00b
n00b


Joined: 21 Jul 2019
Posts: 19

PostPosted: Sat Mar 14, 2020 3:26 pm    Post subject: Reply with quote

Thank You...that makes sense now. I didn't check for reportlab's dependencies because it didn't occur to me that it too has a dependency on pillow, as pillow was already getting pulled in by hplip.

Anyway, one thing I'm noticing more and more is the '(-)' and '(+)' symbols in the dependency. Could someone please point me a man page or explanation for these? Half my problem is I'm not 100% fluent in the meaning of these tokens. I'm guessing it has to do with USE flag masks or something...

I'm using
Code:
# eselect profile show
Current /etc/portage/make.profile symlink:
  default/linux/amd64/17.1


profile, though I am now switching back to
Quote:
default/linux/amd64/17.1/desktop
as I'm finding the non-desktop profile requires more extensive manipulation of USE flags than in which I care to engage for this system.

Since you asked about my profile, I might as well throw this out there: in a different build, I wanted to build a pure server system with zero graphics libraries, and am finding it a little more challenging than I thought it would be. I wanted to start with the non-desktop profile and I build with [-X], etc. but some graphics-related libraries are still sneaking-in (libX... type stuff). Is there a profile and set of masks/flags to facilitate that?
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 15294

PostPosted: Sat Mar 14, 2020 4:25 pm    Post subject: Reply with quote

z4 wrote:
Anyway, one thing I'm noticing more and more is the '(-)' and '(+)' symbols in the dependency. Could someone please point me a man page or explanation for these?
You want man 5 ebuild, section Atom USE defaults. Depending on your proficiency with ebuilds, you may need to read the preceding section Atom USE too.

If that's not clear, post back and someone can try to elaborate.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo 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