[pkg-php-pear] Proposed release goal: PEAR package building using pkg-php-tools

Mathieu Parent math.parent at gmail.com
Thu Sep 19 07:52:09 UTC 2013


2013/9/19 Russ Allbery <rra at debian.org>:
> Please cc me since I'm not subscribed to this mailing list.
>
> "Mathieu Parent (Debian)" <sathieu at debian.org> writes:
>
>> = PEAR package building using pkg-php-tools =
>> == Goal description ==
>
>> pkg-php-tools was introduced in Debian wheezy. It considerably eases
>> the building of PEAR packages (PHP packages).
>
>> == Wiki page ==
>> See https://wiki.debian.org/ReleaseGoals/pkg-php-tools
>
> I have a package (remctl) for which I'm also upstream that builds a PHP
> extension (and a Ruby extension, a Python extension, and a Perl
> extension).  As you can imagine, the packaging is a little complicated.
> I'm not sure if pkg-php-tools can handle that case, but I'd love to try
> and perhaps provide feedback on the tools.

Unfortunately, it can't (yet). pkg-php-tools can build PEAR package
(with a package.xml file) or Composer packages (with composer.json).
None of those files are in the remctl repo.

The extension may be turned into a PECL (i.e PEAR extension), but I
couldn't find doc for this (you can copy an existing package.xml file
and hack).

> I took a quick look at the wiki, though, and all of the build
> configuration files that it references as the normal case for such a
> package are ones I don't have.  I have a config.m4.in file and am using
> phpize.
>
> That makes me think there's a newer build system out there (including for
> C extensions?), which would be great news since phpize is quite difficult
> and awkward to use.  Could you point me in the right direction for what
> web pages I should be reading about how to convert my build system over?
> I have to admit that I keep getting lost in the PHP extension
> documentation; I personally don't use the language at all, but try to keep
> the PHP extension building and working since it was contributed and I want
> to maintain parity of functionality between the scripting languages.

PHP tooling is jungle: there is raw makefile, PEAR and PECL packages,
Pyrus, Composer, Swig, ... None of the methods are really easy and
straightforward (Pyrus should be, but is just an unfinished PEAR
rewrite IMO, also not in Debian)

As a general answer for having multiple bindings for an API, I
recommend swig http://www.swig.org/

Regards
-- 
Mathieu



More information about the pkg-php-pear mailing list