public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Gerion Entrup <gerion.entrup@flump.de>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Ebuild Generators
Date: Mon, 03 Feb 2020 14:20:01 +0100	[thread overview]
Message-ID: <12449796.uLZWGnKmhe@falbala> (raw)
In-Reply-To: <87zhdz50d3.fsf@gentoo.org>

[-- Attachment #1: Type: text/plain, Size: 1958 bytes --]

Am Montag, 3. Februar 2020, 13:19:52 CET schrieb Benda Xu:
> Hi Gerion,
> 
> Gerion Entrup <gerion.entrup@flump.de> writes:
> 
> >> Yes, that makes a lot of sense.  The R overlay follows this model.  Most
> >> of the ebuilds are automated.  When an ebuild generation fails, we add
> >> the ebuild manually, understand it and then update the generator to
> >> cover it in the future.
> >
> > Is this possible in all cases? I think of adding custom patches,
> > appropriate mapping of dependencies, check for things like desktop
> > icon cache...
> 
> That's too complex to handle automatically.  Luckily, in R overlay, such
> packages are less than 5%.  An ebuild generator is based on the
> observation that many language-specific packages are trivial to fetch,
> compile and install.
> 
> >> > I'm only "maintaining" an overlay so maybe I'm  missing experience
> >> > but I often have wished a tool that automatically parses the language specific
> >> > packaging files and is able to generate a primitive ebuild out of that.
> >> > Maybe it even can do this in an interactive way:
> >> > "Hey, upstream needs the dependency 'foo'. In the Gentoo packages I have found
> >> > 'dev-bar/foo' and 'dev-util/foo'. What is the correct one?"
> >> 
> >> Yes, that's the way R overlay is working.  And I have a similar plan and
> >> proof-of-concept solution for the Java Maven overlay.
> >
> > Nice to hear. I think, it is meaningful to solve all generation with one
> > tool. Maybe it can even "recognize" the used build system and package
> > database. Is this your plan, too?
> 
> No, I don't think it possible as far as I can see...  That would be a
> strong AI.
I mean only on a primitive base:
```
if link contains "pypi":
    # it's a Python package from pypi
    handle_pypi()
elif work_tree contains "setup.py":
    # it's a Python package
    handle_generic_python()
elif work_tree contains "meson.build":
    handle_meson_package()
...
```

Best,
Gerion

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

  parent reply	other threads:[~2020-02-03 13:19 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-16 16:00 [gentoo-dev] GSoC 2020: Call for mentors and project ideas alicef
2020-01-25 12:53 ` Benda Xu
2020-02-02 11:47   ` Benda Xu
2020-02-02 16:54     ` Gerion Entrup
2020-02-03  4:20       ` [gentoo-dev] Ebuild Generators (Was: GSoC 2020: Call for mentors and project ideas) Benda Xu
2020-02-03  9:42         ` Gerion Entrup
2020-02-03 12:19           ` [gentoo-dev] Ebuild Generators Benda Xu
2020-02-03 12:30             ` Michael 'veremitz' Everitt
2020-02-03 13:20             ` Gerion Entrup [this message]
2020-02-03 13:26               ` Michał Górny
2020-02-11 15:18                 ` Tom Gillespie
2020-02-11 23:36                   ` Benda Xu
2020-02-12  7:56                   ` Gerion Entrup

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=12449796.uLZWGnKmhe@falbala \
    --to=gerion.entrup@flump.de \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox