summary |
shortlog | log |
commit |
commitdiff |
tree |
github
first ⋅ prev ⋅ next
Michael Wallner [Fri, 6 Mar 2015 12:32:51 +0000 (13:32 +0100)]
better handling of sudo output
Michael Wallner [Fri, 6 Mar 2015 12:29:33 +0000 (13:29 +0100)]
simplify
Michael Wallner [Fri, 6 Mar 2015 10:45:17 +0000 (11:45 +0100)]
support --long-opt=arg
Michael Wallner [Fri, 6 Mar 2015 08:11:02 +0000 (09:11 +0100)]
Implement packager and installer hooks
==Packager hook
If not --pecl nor --git are explicitely given, look for a
pharext_install.php in --source. This script will be exectuted by the
Packager. It must return a callable with the following signature:
function(Packager $pkg, $path) : function(Packager $pkg, $path);
So, the callback should return another callable.
The primary callback is meant to set things like --name and --release,
so you don't have to on the command line; build automation FTW.
The secondary callback is meant to create the file iterator of the
source dir, but if you're in a git clone, you might easily just return a
new pharext\GitSourceDir and be done.
==Installer hook
The packager will look for a pharext_install.php file within the root of
the source dir. This script will be executed by the Installer; it must
return a callable with the following signature:
function(Installer $installer) : function(Installer $installer);
So, again, the callback should return another callable.
The primary callback is meant to add your own command line arguments to
the CliArgs parser, and the secnodary callback is meant to proccess
those args.
For --pecl source dirs a pharext_install.php script is automatically
generated from the package.xml.
==Examples for pecl_http
pharext_package.php
---8<---
<?php
namespace pharext;
return function(Packager $packager, $path) {
$args = $packager->getArgs();
$args->name = "pecl_http";
$args->release = current(preg_filter("/^.*PHP_PECL_HTTP_VERSION\s+\"(.*)\".*$/s", "\$1", file("../http.git/php_http.h")));
return function (Packager $packager, $path) {
return new GitSourceDir($packager, $path);
};
};
?>
--->8---
pharext_install.php
---8<---
<?php
namespace pharext;
return function(Installer $installer) {
$installer->getArgs()->compile([
[null, "with-http-zlib-dir", "Where to find zlib",
CliArgs::OPTARG],
[null, "with-http-libcurl-dir", "Where to find libcurl",
CliArgs::OPTARG],
[null, "with-http-libevent-dir", "Where to find libev{,ent{,2}}",
CliArgs::OPTARG],
[null, "with-http-libidn-dir", "Where to find libidn",
CliArgs::OPTARG],
]);
return function(Installer $installer) {
$opts = [
"with-http-zlib-dir",
"with-http-libcurl-dir",
"with-http-libevent-dir",
"with-http-libidn-dir",
];
$args = $installer->getArgs();
foreach ($opts as $opt) {
if (isset($args[$opt])) {
$args->configure = "--$opt=".$args[$opt];
}
}
};
};
?>
--->8---
Michael Wallner [Thu, 5 Mar 2015 14:56:22 +0000 (15:56 +0100)]
less noisy Makefile
Michael Wallner [Thu, 5 Mar 2015 14:35:32 +0000 (15:35 +0100)]
release target
Michael Wallner [Thu, 5 Mar 2015 14:27:09 +0000 (15:27 +0100)]
refactor some commonly used code into a trait
Michael Wallner [Thu, 5 Mar 2015 08:12:26 +0000 (09:12 +0100)]
do not exit on compression failure
Michael Wallner [Thu, 5 Mar 2015 08:09:28 +0000 (09:09 +0100)]
cleanup
Michael Wallner [Thu, 5 Mar 2015 08:03:13 +0000 (09:03 +0100)]
add CliArgsTest
Michael Wallner [Wed, 4 Mar 2015 19:18:27 +0000 (20:18 +0100)]
support concatenated short opts like -vps
Michael Wallner [Wed, 4 Mar 2015 19:10:02 +0000 (20:10 +0100)]
fix warning
Michael Wallner [Wed, 4 Mar 2015 19:06:57 +0000 (20:06 +0100)]
fix issue #1
Michael Wallner [Wed, 4 Mar 2015 18:57:58 +0000 (19:57 +0100)]
fix issue #2
Michael Wallner [Wed, 4 Mar 2015 17:29:17 +0000 (18:29 +0100)]
add link to pharext download of the latest release
Michael Wallner [Wed, 4 Mar 2015 17:21:33 +0000 (18:21 +0100)]
missing vendor
Michael Wallner [Wed, 4 Mar 2015 17:20:34 +0000 (18:20 +0100)]
update with suggestions from beberlei
Michael Wallner [Wed, 4 Mar 2015 14:45:53 +0000 (15:45 +0100)]
fix para
Michael Wallner [Wed, 4 Mar 2015 14:44:30 +0000 (15:44 +0100)]
ignore bin/pharext
Michael Wallner [Wed, 4 Mar 2015 14:43:06 +0000 (15:43 +0100)]
ingore phars
Michael Wallner [Wed, 4 Mar 2015 14:42:30 +0000 (15:42 +0100)]
-ext -> .ext
Michael Wallner [Wed, 4 Mar 2015 14:41:30 +0000 (15:41 +0100)]
ignore bin/pharext
Michael Wallner [Wed, 4 Mar 2015 14:32:06 +0000 (15:32 +0100)]
init