Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:80275 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 41718 invoked from network); 8 Jan 2015 11:54:36 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 8 Jan 2015 11:54:36 -0000 Authentication-Results: pb1.pair.com header.from=pierre.php@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=pierre.php@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.215.48 as permitted sender) X-PHP-List-Original-Sender: pierre.php@gmail.com X-Host-Fingerprint: 209.85.215.48 mail-la0-f48.google.com Received: from [209.85.215.48] ([209.85.215.48:53938] helo=mail-la0-f48.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B5/63-21915-AFF6EA45 for ; Thu, 08 Jan 2015 06:54:35 -0500 Received: by mail-la0-f48.google.com with SMTP id gf13so8668121lab.7 for ; Thu, 08 Jan 2015 03:54:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=g9Y02Dy1m41g9j/XsqrM9nVVCkWAYjus5SZQ8V6K1+U=; b=PT7JolYLdmkPUvqiA3w0dRcwDnCFGSyBBMWOTkAWEN8rNfmnWGdeCdNfgB5AnxA6Pq A8NDpdb0PQrgxn0An9EQbeIIohRtXLTBpzrvRcuKD81O0hhhJ37LxyR1ga8381dOwFQ2 t6XhXT51ewBGepKPzms0ML+/YUyLtzRN40LV5ox3L13miDCeyQ2K6BI//rkcalh88NTD xMxad3/MREYyJw2uSIzC3mY5g6V0/yi60eePjuSauYBJ0HLR7dGWXCFMvf5/X2rybY95 zYmLAA7+yGsEqeC0P9hOPJiPKp8jITsIqdyMrbzsmwB6saSmbdMw5QyloN6mqPFS0JL7 BmrA== MIME-Version: 1.0 X-Received: by 10.152.44.129 with SMTP id e1mr12749459lam.43.1420717613535; Thu, 08 Jan 2015 03:46:53 -0800 (PST) Received: by 10.112.154.133 with HTTP; Thu, 8 Jan 2015 03:46:53 -0800 (PST) In-Reply-To: References: <54AAF98B.4020709@gmail.com> <001b01d029bb$fa687fc0$ef397f40$@tekwire.net> <54AC2D12.7060209@gmail.com> <54ADD333.3070208@gmail.com> Date: Thu, 8 Jan 2015 03:46:53 -0800 Message-ID: To: Derick Rethans Cc: Stanislav Malyshev , =?UTF-8?Q?Fran=C3=A7ois_Laupretre?= , Sara Golemon , Benjamin Eberlei , PHP Internals Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] [RFC] Extension Prepend Files From: pierre.php@gmail.com (Pierre Joye) On Thu, Jan 8, 2015 at 3:36 AM, Derick Rethans wrote: > On Wed, 7 Jan 2015, Stanislav Malyshev wrote: > >> > There is currently no way to install an extension and a PHP library >> > package at the same time. "pecl" can't install PHP libraries, and >> >> Why it needs to be "at the same time"? I don't see any use case where >> it would matter if you run one command or two commands to install it. > > Well, I do. And it's not *just* installing two packages. It is also > adding extra lines to every script to load code that your extension > *depends* on. I would pick an "pecl install" over a "pecl install this", > "composer install that", "add a few lines to a script" as an > installation method anytime. It is not. pecl install can install anything you want already. Having php scripts installed when it installs an extension. The only question is where to put them. But I have said that many times in this thread already. >> > "composer" can't install extensions. And even if it did, keeping the >> > versions in sync is not easy at all. Only way to solve this properly >> > is >> >> It seems to me you're reinventing packaging systems. > > I want to solve the issue where I have a PHP library that is tied to C > code, without having to deal with random tools and depencies for no > reason. PHP packaging systems don't do that. It does. >> I don't see why we should invent our own and why our own should take >> form of putting PHP code into compiled binaries (yet less why suddenly >> it is the "only way"). Many languages have extension systems and >> packages that involve binaries - Perl, Python, Ruby, etc. AFAIK none >> of them puts source code into binaries. > > Most of those languages don't depend as heavily on parts written in C > though. They will only break out to C for specific reasons. PHP > extensions are the other way around. It's almost always C, but some opt > to also use some PHP to make developement faster. And here we go again, showing that we actually try to tackle the wrong problem. I have discussed with Laruence earlier and will make a patch + demo extension to show my thoughts. It may end this circular discussion and start one about concrete needs and implementations issues instead. -- Pierre @pierrejoye | http://www.libgd.org