From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 6555B138350 for ; Mon, 3 Feb 2020 13:19:58 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 28D57E0878; Mon, 3 Feb 2020 13:19:54 +0000 (UTC) Received: from mail.flump.de (v220190910334596654.goodsrv.de [185.163.118.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 98449E0870 for ; Mon, 3 Feb 2020 13:19:53 +0000 (UTC) Received: from falbala.localnet (unknown [130.75.33.21]) by mail.flump.de (Postfix) with ESMTPSA id 2E1A58C0069 for ; Mon, 3 Feb 2020 14:14:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=flump.de; s=mail; t=1580735695; bh=Xvd+EDS2G85MHrBZqjnqwUekGWP/u0fJjUbK8quuORU=; h=From:To:Subject:Date:In-Reply-To:References; b=fpsvZHN7lOk/YCqiGo2a1ycN8pno1oLcaCpRagU0/nLjV7zq9BGAqBmuTbm2j7EAf rQMBPqtUfbAdk80PHNauzMZZHnzQtEjXlTk5trTSTnVJzrS1ZBVLKPrInuixGQT5cQ ETMMIWuDwdI9cOYGrjeoGipGVSvGp1pnmJiobv94= From: Gerion Entrup To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] Ebuild Generators Date: Mon, 03 Feb 2020 14:20:01 +0100 Message-ID: <12449796.uLZWGnKmhe@falbala> In-Reply-To: <87zhdz50d3.fsf@gentoo.org> References: <6ec6df8d-9006-dcca-1f41-b0f98b7f7f7c@gentoo.org> <4207106.LvFx2qVVIh@falbala> <87zhdz50d3.fsf@gentoo.org> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2705168.e9J7NaK4W3"; micalg="pgp-sha256"; protocol="application/pgp-signature" X-Archives-Salt: 5283c4d0-aa55-4484-b381-a39a428208f2 X-Archives-Hash: ad6e84b61c3124393052693263d4bae4 --nextPart2705168.e9J7NaK4W3 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Am Montag, 3. Februar 2020, 13:19:52 CET schrieb Benda Xu: > Hi Gerion, > > Gerion Entrup 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 --nextPart2705168.e9J7NaK4W3 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQGzBAABCAAdFiEEM/tVN9WpYYHnPZHxloeAdSYJHeoFAl44HgEACgkQloeAdSYJ Hep97AwAyTP9kjoqpTEapZDDd3I2paFqrgv7riZZsGVSYIxOMxgQbYKvhzJCmO6D lcwCf5FdEpuIKLpi/xyPJhuyaVpjsNn1UgSDAWfVoQV3xjBWQH7/b13B+iRTveD6 ArteqWmjcHRaEVmNU9TtWZQ5h4MBbqYdk041dsQ3PJjitjvkQBF8aMY16aWggoCr tUG4TC3HpNLtM+uXr0r43V2uWTtxwNsiDr35B36jnbXi54yzWBA7kGzBuPsmjX1E Kkc5uNeRM1a/y9U0R6Ph+Fl3xxr1Vrx/DE/ca4/hQHfYsLgjFtWS12cxq3Efu7ug qNi1AoAWT/q4JwRgzNVtFiJEmnW3h/iHO0/ixQTvUvkLkRKk42MovVGcIZltg3W/ gGospDu9O+JOY0+OzWVvqnlF7lqfKW6JmzEiUciFkajoBpTqIF/Hmer6/+tDgbTY 7FwjepfB7HrAS81uLVZv8rw5NRPJuL5SL6tAICNSnq87E1ODuzx3nkJgSIOJyryN PnjcOtUR =L/Li -----END PGP SIGNATURE----- --nextPart2705168.e9J7NaK4W3--