View previous topic :: View next topic |
Author |
Message |
iandoug l33t
Joined: 11 Feb 2005 Posts: 816 Location: Cape Town, South Africa
|
Posted: Mon Aug 03, 2020 1:07 pm Post subject: Which creates more chaos? |
|
|
Python or Haskell?
I'm getting tired of dealing with their breakages.
</rant>
Cheers, Ian _________________ Asus X570-PRO, Ryzen 7 5800X, GeForce GTX 1650, 32 GB RAM | Asus Sabertooth P990, AMD FX-8150, GeForce GTX 560, 16GB Ram
Last edited by iandoug on Mon Aug 03, 2020 1:19 pm; edited 1 time in total |
|
Back to top |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Mon Aug 03, 2020 1:10 pm Post subject: |
|
|
And perl. |
|
Back to top |
|
|
proteusx Guru
Joined: 21 Jan 2008 Posts: 338
|
Posted: Mon Aug 03, 2020 1:42 pm Post subject: |
|
|
Perl I can cope with.
Python with their python[_single]_target_python{2_7, 3_{6..9}} use flags, and their convoluted eclasses are a source of perpetual grief.
As for haskel I only wish I could have pandoc without the crazy haskell menagerie. |
|
Back to top |
|
|
iandoug l33t
Joined: 11 Feb 2005 Posts: 816 Location: Cape Town, South Africa
|
Posted: Mon Aug 03, 2020 2:05 pm Post subject: |
|
|
proteusx wrote: | Perl I can cope with.
Python with their python[_single]_target_python{2_7, 3_{6..9}} use flags, and their convoluted eclasses are a source of perpetual grief.
As for haskel I only wish I could have pandoc without the crazy haskell menagerie. |
Perl used to cause me some grief when dealing with modules I had installed from CPAN, but not lately.
Thanks for solving the puzzle as to why I have Haskell on my system in the first place. Was about to do a bunch of equerys to trace back to the culprit.
Guess I can't uninstall pandoc. Probably we need a replacement written in a less-problematic language.
Mmm...
Code: |
trooper ~ # equery depends app-text/pandoc
* These packages depend on app-text/pandoc:
|
But I'm sure there are things that use it even if they don't require it...
Cheers, Ian _________________ Asus X570-PRO, Ryzen 7 5800X, GeForce GTX 1650, 32 GB RAM | Asus Sabertooth P990, AMD FX-8150, GeForce GTX 560, 16GB Ram |
|
Back to top |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Mon Aug 03, 2020 2:20 pm Post subject: |
|
|
proteusx wrote: | Python with their python[_single]_target_python{2_7, 3_{6..9}} use flags, and their convoluted eclasses are a source of perpetual grief. |
From your mouth to God's ear! |
|
Back to top |
|
|
proteusx Guru
Joined: 21 Jan 2008 Posts: 338
|
Posted: Mon Aug 03, 2020 5:27 pm Post subject: |
|
|
@iandoug
Unfortunately I can find no other utility that can do document conversions like Pandoc. |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8933
|
Posted: Mon Aug 03, 2020 5:57 pm Post subject: |
|
|
proteusx wrote: | Python with their python[_single]_target_python{2_7, 3_{6..9}} use flags, and their convoluted eclasses are a source of perpetual grief. |
Of course what you fail to mention is that you fight the concept instead of understanding it once and for all.
My whole python configuration consumes exactly two lines in /etc/portage/package.use, and that's only necessary because I care to run a more recent version than default, in order to work towards stabilisation for the users. |
|
Back to top |
|
|
proteusx Guru
Joined: 21 Jan 2008 Posts: 338
|
Posted: Mon Aug 03, 2020 7:10 pm Post subject: |
|
|
@asturm
Suppose one wants to know the dependencies of, say, ipython
Code: | # qdepends ipython
dev-python/ipython-7.16.1: >=dev-python/sphinx-2[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] >=dev-python/setuptools-42.0.2[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-python/traitlets[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] >=dev-python/ipykernel-5.1.0[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-lang/python:3.8[readline,sqlite,threads(+)] dev-python/jedi[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-python/qtconsole[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-lang/python:3.6[readline,sqlite,threads(+)] dev-python/setuptools[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] >=dev-python/ipyparallel-6.2.3[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-python/pickleshare[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] <dev-python/prompt_toolkit-3.1[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] >=dev-lang/python-exec-2:2/2=[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] >=dev-python/prompt_toolkit-2[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-python/notebook[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-python/backcall[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-python/pygments[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-python/widgetsnbextension[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-python/decorator[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-python/ipywidgets[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-python/pexpect[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] dev-python/matplotlib[python_targets_python3_6(+),python_targets_python3_8(+),-python_single_target_python3_6(+),-python_single_target_python3_7(+),-python_single_target_python3_8(+)] | Are you telling me that you can make sense out of this elegance?
EDIT.
P.S. Reading the ebuild is equally unrevealing because of the ${PYTHON_USEDEP}, ${PYTHON_MULTI_USEDEP}, etc., that need to be expanded to reveal the dependencies. |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8933
|
Posted: Mon Aug 03, 2020 8:53 pm Post subject: |
|
|
So you're really criticising qdepends then? Just use `equery g` instead.
proteusx wrote: | P.S. Reading the ebuild is equally unrevealing because of the ${PYTHON_USEDEP}, ${PYTHON_MULTI_USEDEP}, etc., that need to be expanded to reveal the dependencies. |
All you need to check is the ebuild's PYTHON_COMPAT... don't make it look more complicated than it really is. Only when you actually *write* the ebuild do you need to check the dependency for using PYTHON_MULTI_USEDEP or not. |
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Mon Aug 03, 2020 10:07 pm Post subject: |
|
|
Gentoo's insistence on accumulating every python package and slot currently in the main tree with no good story for outsourcing that burden to whoever actually uses them was a technical debt it'll never be rid of.
Look at perl for comparison: you have a System Perl like RHEL (but up to date and a complete install, unlike redhat) and you can install App-{perlbrew,cpanminus} for anything else. There are perl packages/apps in tree, but they aren't there for their own sake. |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21490
|
Posted: Tue Aug 04, 2020 2:01 am Post subject: |
|
|
I would be happier if Portage could handle updating the python targets on a given ebuild without reinstalling all the unchanged data, but overall, I like that Python is slotted. It allows me to install a very recent Python, and packages that have been updated to that Python, as soon as the specific things I want are ready. There is no need to rebuild everything and drop the old Python immediately. In contrast, since Perl is not slotted, I need to reinstall everything Perl related for the new subslot on each major perl upgrade. This means suspending all the system processes that might use Perl, updating everything in one big step, then resuming those processes. For Python, provided the dependency data is correct, I can install all the packages for the new version before making /usr/bin/python point to it, so everything runs smoothly during the update.
In criticising one approach versus the other, it is also important to distinguish which use case(s) you dislike. For example, do you object to the scheduling (too fast or too slow) of updates, to the (lack of) ease reading the state, to the (lack of) ease of using Portage and related tools to handle the updates, etc.? The convoluted output from the dependency data is a bit hard to read, but I gladly accept that for the benefits that come from having Python slotted and able to handle incrementally rolling out updates. |
|
Back to top |
|
|
iandoug l33t
Joined: 11 Feb 2005 Posts: 816 Location: Cape Town, South Africa
|
Posted: Tue Aug 04, 2020 6:09 am Post subject: |
|
|
My rant was directed more at the people managing the languages upstream, than at the Gentoo devs, who have a hard time dealing with the chaos upstream.
In particular, yesterday the Haskell subsystem threw up a whole bunch of blockers, which triggered me... a few years back they did the same thing, and we are all familiar with the recent Python mess.
Even PHP decided to "deprecate" things, including ways to access MySQL, which means I need to redo a large financial system... this is a large technical debt which I didn't need. Can't even bill the client for it, but has to be done.
Regarding the Haskell, I had no idea how to see why it was complaining, but adding backtrack=30 let it sort itself out up to a point: there was a bunch of things it wanted to revdep-rebuild, but that didn't work because there are also some dev-ada packages that want rebuilding, and dev-ada/gps is temporarily hard-masked, so revdep-rebuild just threw up its hands and gave up.
Maybe there's a case for pandoc-bin so that general users who have no other need for Haskell can get pandoc without Haskell? And put a "hint" for anyone about to install pandoc, of the consequences.
Cheers, Ian _________________ Asus X570-PRO, Ryzen 7 5800X, GeForce GTX 1650, 32 GB RAM | Asus Sabertooth P990, AMD FX-8150, GeForce GTX 560, 16GB Ram |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8933
|
Posted: Tue Aug 04, 2020 6:20 am Post subject: |
|
|
Most regular systems do not need pandoc or haskell. Do you have USE=doc globally enabled? |
|
Back to top |
|
|
iandoug l33t
Joined: 11 Feb 2005 Posts: 816 Location: Cape Town, South Africa
|
Posted: Tue Aug 04, 2020 6:26 am Post subject: |
|
|
asturm wrote: | Most regular systems do not need pandoc or haskell. Do you have USE=doc globally enabled? |
Only have docbook in make.conf.
I vaguely remember some package saying (or requesting) that pandoc would enable conversions between assorted formats. Can't remember if this was something like Cailibre or a word processor or something else.
equery depends does not show any packages that demand it.
Thanks, Ian _________________ Asus X570-PRO, Ryzen 7 5800X, GeForce GTX 1650, 32 GB RAM | Asus Sabertooth P990, AMD FX-8150, GeForce GTX 560, 16GB Ram |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8933
|
Posted: Tue Aug 04, 2020 6:28 am Post subject: |
|
|
That would be dev-python/nbconvert that has such an einfo message ("for formats other than Python, HTML and Markdown.").
It is probably in your world file for no good reason. |
|
Back to top |
|
|
iandoug l33t
Joined: 11 Feb 2005 Posts: 816 Location: Cape Town, South Africa
|
Posted: Tue Aug 04, 2020 8:00 am Post subject: |
|
|
asturm wrote: | That would be dev-python/nbconvert that has such an einfo message ("for formats other than Python, HTML and Markdown.").
It is probably in your world file for no good reason. |
Not installed.
It may have been one of the Latex packages ... I tried Latex years ago, and then again in recent months, so may be some leftover thing from years ago.
Thanks, Ian _________________ Asus X570-PRO, Ryzen 7 5800X, GeForce GTX 1650, 32 GB RAM | Asus Sabertooth P990, AMD FX-8150, GeForce GTX 560, 16GB Ram |
|
Back to top |
|
|
proteusx Guru
Joined: 21 Jan 2008 Posts: 338
|
Posted: Tue Aug 04, 2020 8:54 am Post subject: |
|
|
@iandoug
If you want to keep pandoc, ignore the blockages and emerge ghc on its ownand it will take care of all the haskell dependencies.
@asturm
I love qdepends, it is a very useful tool I have been using for years. I usually simplify its output so I can see the simple dependencies.e.g. Code: | ~ $ qdepends ipython | tr ' ' '\n' | sed 's/[=><]//g; s/:.*$//; s/-[[:digit:]].*$//; s/\[.*\]//'
dev-python/ipython
dev-python/sphinx
dev-python/setuptools
dev-python/traitlets
dev-python/ipykernel
dev-lang/python
dev-python/jedi
dev-python/qtconsole
dev-lang/python
dev-python/setuptools
dev-python/ipyparallel
dev-python/pickleshare
dev-python/prompt_toolkit
dev-lang/python-exec
dev-python/prompt_toolkit
dev-python/notebook
dev-python/backcall
dev-python/pygments
dev-python/widgetsnbextension
dev-python/decorator
dev-python/ipywidgets
dev-python/pexpect
dev-python/matplotlib | What I am complaining about is, as Hu put it Hu wrote: | The convoluted output from the dependency data is a bit hard to read | as well as the daft python use flag naming, although I understand that it is too late to change any of that nonsense.
EDIT. Deleted spaces from code |
|
Back to top |
|
|
iandoug l33t
Joined: 11 Feb 2005 Posts: 816 Location: Cape Town, South Africa
|
Posted: Tue Aug 04, 2020 6:48 pm Post subject: |
|
|
proteusx wrote: | @iandoug
If you want to keep pandoc, ignore the blockages and emerge ghc on its ownand it will take care of all the haskell dependencies.
|
backtrack=30 allowed Haskell to do its thing, but then there were a bunch of preserved libs which won't run because of Ada getting in the way.
I tried your suggestion anyway but still get the same issue.
Probably will resolve itself in next few days.
Thanks, Ian _________________ Asus X570-PRO, Ryzen 7 5800X, GeForce GTX 1650, 32 GB RAM | Asus Sabertooth P990, AMD FX-8150, GeForce GTX 560, 16GB Ram |
|
Back to top |
|
|
|
|
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
|
|