diff options
author | Marc Weber <marco-oweber@gmx.de> | 2010-01-06 17:04:38 +0000 |
---|---|---|
committer | Marc Weber <marco-oweber@gmx.de> | 2010-01-06 17:04:38 +0000 |
commit | 900a1c22a4f528a3702e74b24b1c31a654ce9924 (patch) | |
tree | 59aaa9da30d758e3438ab838b4c1a2484e9719f3 /pkgs/development | |
parent | 4220742818c6fd789c0bd4835b95342bba554211 (diff) | |
download | nixlib-900a1c22a4f528a3702e74b24b1c31a654ce9924.tar nixlib-900a1c22a4f528a3702e74b24b1c31a654ce9924.tar.gz nixlib-900a1c22a4f528a3702e74b24b1c31a654ce9924.tar.bz2 nixlib-900a1c22a4f528a3702e74b24b1c31a654ce9924.tar.lz nixlib-900a1c22a4f528a3702e74b24b1c31a654ce9924.tar.xz nixlib-900a1c22a4f528a3702e74b24b1c31a654ce9924.tar.zst nixlib-900a1c22a4f528a3702e74b24b1c31a654ce9924.zip |
moving xdebug into its own package. This means you have to specify an additional php.ini file to make php debugger work for command line php.
svn path=/nixpkgs/trunk/; revision=19266
Diffstat (limited to 'pkgs/development')
-rw-r--r-- | pkgs/development/interpreters/php-xdebug/default.nix | 34 | ||||
-rw-r--r-- | pkgs/development/interpreters/php/ini-bulider.nix | 43 | ||||
-rw-r--r-- | pkgs/development/interpreters/php_configurable/default.nix | 36 |
3 files changed, 78 insertions, 35 deletions
diff --git a/pkgs/development/interpreters/php-xdebug/default.nix b/pkgs/development/interpreters/php-xdebug/default.nix new file mode 100644 index 000000000000..d400b3e0a393 --- /dev/null +++ b/pkgs/development/interpreters/php-xdebug/default.nix @@ -0,0 +1,34 @@ +args: with args; +stdenv.mkDerivation { + name = "php-xdebug"; + + src = args.fetchurl { + url = "http://xdebug.org/files/xdebug-2.0.5.tgz"; + sha256 = "1cmq7c36gj8n41mfq1wba5rij8j77yqhydpcsbcysk1zchg68f26"; + }; + + buildInputs = [php autoconf automake]; + + configurePhase = '' + phpize + ./configure --prefix=$out + ''; + + buildPhase = '' + make && make test + ''; + + installPhase = '' + ensureDir $out/lib/xdebug + cp modules/xdebug.so $out/lib + cp LICENSE $out/lib/xdebug + ''; + + meta = { + description = "php debugger and profiler extension"; + homepage = http://xdebug.org/; + license = "xdebug"; # based on PHP-3 + maintainers = [args.lib.maintainers.marcweber]; + platforms = args.lib.platforms.linux; + }; +} diff --git a/pkgs/development/interpreters/php/ini-bulider.nix b/pkgs/development/interpreters/php/ini-bulider.nix new file mode 100644 index 000000000000..72179fd068bd --- /dev/null +++ b/pkgs/development/interpreters/php/ini-bulider.nix @@ -0,0 +1,43 @@ +{runCommand, php, appendLines ? "", prefixPhpRecommended ? true} : + + +/* + +NixOS: see apache-httpd/default.nix's phpIni option + +to enable Xdebug append these lines: + '' + zend_extension="${pkgs.phpXdebug}/lib/xdebug.so" + zend_extension_ts="${pkgs.phpXdebug}/lib/xdebug.so" + zend_extension_debug="${pkgs.phpXdebug}/lib/xdebug.so" + xdebug.remote_enable=true + xdebug.remote_host=127.0.0.1 + xdebug.remote_port=9000 + xdebug.remote_handler=dbgp + xdebug.profiler_enable=0 + xdebug.profiler_output_dir="/tmp/xdebug" + xdebug.remote_mode=req + '' + +to make php's mail() function work add + '' + ; Needed for PHP's mail() function. + sendmail_path = sendmail -t -i + '' +*/ + + +runCommand "php.ini" + { + inherit php appendLines prefixPhpRecommended; + } + '' + [ -z "$prefixPhpRecommended" ] || { + { + echo "# PHP RECOMMENDED INI START" + cat $php/etc/php-recommended.ini + echo "# PHP RECOMMENDED INI END" + } >> $out + } + echo "$appendLines" >> $out + '' diff --git a/pkgs/development/interpreters/php_configurable/default.nix b/pkgs/development/interpreters/php_configurable/default.nix index 07ac6f90a1b3..eb4a29dd720d 100644 --- a/pkgs/development/interpreters/php_configurable/default.nix +++ b/pkgs/development/interpreters/php_configurable/default.nix @@ -106,13 +106,6 @@ composableDerivation {} ( fixed : { license = "based on the PHP license - as is"; }; */ - xdebug = { - buildInputs = [ automake autoconf ]; - xdebug_src = args.fetchurl { - url = "http://xdebug.org/files/xdebug-2.0.5.tgz"; - sha256 = "1cmq7c36gj8n41mfq1wba5rij8j77yqhydpcsbcysk1zchg68f26"; - }; - }; }; cfg = { @@ -130,14 +123,13 @@ composableDerivation {} ( fixed : { soapSupport = getConfig ["php" "soap"] true; zlibSupport = getConfig ["php" "zlib"] true; opensslSupport = getConfig ["php" "openssl"] true; - xdebugSupport = getConfig ["php" "xdebug"] false; mbstringSupport = getConfig ["php" "mbstring"] true; gdSupport = getConfig ["php" "gd"] true; }; # only -O1 configurePhase = '' - iniFile=$out/etc/$name.ini + iniFile=$out/etc/php-recommended.ini [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags echo configurePhase end @@ -147,32 +139,6 @@ composableDerivation {} ( fixed : { installPhase = '' unset installPhase; installPhase; cp php.ini-recommended $iniFile - - # Now Let's build xdebug if flag has been given - # TODO I think there are better paths than the given below - if [ -n "$xdebug_src" ]; then - PATH=$PATH:$out/bin - tar xfz $xdebug_src; - cd xdebug* - phpize - ./configure --prefix=$out - make - ensureDir $out/lib; cp modules/xdebug.so $out/lib - cat >> $out/etc/php.ini << EOF - zend_extension="$out/lib/xdebug.so" - zend_extension_ts="$out/lib/xdebug.so" - zend_extension_debug="$out/lib/xdebug.so" - xdebug.remote_enable=true - xdebug.remote_host=127.0.0.1 - xdebug.remote_port=9000 - xdebug.remote_handler=dbgp - xdebug.profiler_enable=0 - xdebug.profiler_output_dir="/tmp/xdebug" - xdebug.remote_mode=req - max_execution_time = 300 - date.timezone = UTC - EOF - fi ''; src = args.fetchurl { |