Commit graph

283 commits

Author SHA1 Message Date
talyz 2e0d4a8b39
php.extensions.mysqlnd: Fix compression support
HAVE_ZLIB has to be defined in mysqlnd.h for compression support to be
turned on, but the configure script doesn't actually define it even
when zlib is available.
2020-06-02 15:37:19 +02:00
talyz 5db5b25c63
php.extensions: Apply patches from the php source root by default 2020-06-02 15:37:14 +02:00
Kim Lindberger 79a8a52920
Merge pull request #87941 from etu/composer-update
php.packages.composer: 1.10.5 -> 1.10.6
2020-05-16 22:08:11 +02:00
Kim Lindberger f79fe9334d
Merge pull request #87956 from etu/phpstan-update
php.packages.phpstan: 0.12.19 -> 0.12.25
2020-05-16 22:07:29 +02:00
Elis Hirwing e683f5cbfa
php.extensions.rdkafka: init at 4.0.3 2020-05-16 18:51:40 +02:00
Elis Hirwing a807dfe1e3
php.packages.phpstan: 0.12.19 -> 0.12.25
Changelogs:
 - https://github.com/phpstan/phpstan/releases/tag/0.12.20
 - https://github.com/phpstan/phpstan/releases/tag/0.12.21
 - https://github.com/phpstan/phpstan/releases/tag/0.12.22
 - https://github.com/phpstan/phpstan/releases/tag/0.12.23
 - https://github.com/phpstan/phpstan/releases/tag/0.12.24
 - https://github.com/phpstan/phpstan/releases/tag/0.12.25
2020-05-16 18:20:30 +02:00
Elis Hirwing d42a58ffaa
php.packages.composer: 1.10.5 -> 1.10.6
Changelog: https://github.com/composer/composer/releases/tag/1.10.6
2020-05-16 14:47:00 +02:00
Colby Cellador 3a768184f4
phpPackages: phpmd (#87387)
php.packages.phpmd: init at 2.8.2
2020-05-11 08:59:43 +02:00
talyz fa4c995d0e
php.extensions.couchbase: Fix build and runtime loading
The couchbase extension depends on the igbinary PECL which needs to be
loaded and loaded prior to it. It also seems like the pcs extension
isn't actually needed - it at least builds and loads without it. Since
the pcs extension dependency was the reason couchbase didn't build on
PHP 7.4 it now does, so let's unmark it broken.
2020-05-09 23:38:45 +02:00
talyz 2f1f359692
php.extensions.pcs: Mark broken in 7.3, add tokenizer dependency
The pcs extension fails to load at runtime with PHP 7.3, so let's mark
it broken from 7.3 onwards. It also depends on the tokenizer internal
extension.
2020-05-09 23:38:39 +02:00
talyz 295fc2996d
php.extensions.apcu_bc: Fix runtime loading
Fix an issue brought up in #86463, where the apcu_bc extension isn't
loaded correctly since it produces a .so with a different name than
the extension name. Also, the apcu extension has to be loaded and
loaded prior to loading this extension.
2020-05-09 23:38:32 +02:00
Aaron Andersen 88979ff3aa php.extensions.pdo_sqlsrv: 5.8.0 -> 5.8.1 2020-05-03 07:00:46 -04:00
Aaron Andersen 4e55ea04e8 php.extensions.sqlsrv: 5.8.0 -> 5.8.1 2020-05-03 07:00:25 -04:00
Maximilian Bosch 43a4f128bd
Merge pull request #86396 from etu/php-upstream-extensions-meta
php.extensions: Add descriptions, homepage and license to all upstream extensions
2020-05-01 14:26:51 +02:00
Elis Hirwing 0482656c4a
php.packages.psysh: 0.9.12 -> 0.10.3
Changelogs:
 - https://github.com/bobthecow/psysh/releases/tag/v0.10.0
 - https://github.com/bobthecow/psysh/releases/tag/v0.10.1
 - https://github.com/bobthecow/psysh/releases/tag/v0.10.2
 - https://github.com/bobthecow/psysh/releases/tag/v0.10.3
2020-04-30 13:39:41 +02:00
Elis Hirwing c8b773b25d
php.packages.psalm: 3.9.3 -> 3.11.2
Changelogs:
 - https://github.com/vimeo/psalm/releases/tag/3.9.4
 - https://github.com/vimeo/psalm/releases/tag/3.9.5
 - https://github.com/vimeo/psalm/releases/tag/3.10.0
 - https://github.com/vimeo/psalm/releases/tag/3.10.1
 - https://github.com/vimeo/psalm/releases/tag/3.11.1
 - https://github.com/vimeo/psalm/releases/tag/3.11.2
2020-04-30 13:36:15 +02:00
Elis Hirwing 88f94e8ba9
php.packages.phpstan: 0.12.18 -> 0.12.19
Changelog: https://github.com/phpstan/phpstan/releases/tag/0.12.19
2020-04-30 13:34:17 +02:00
Elis Hirwing 9c161f0ea2
php.packages.phpcs: 3.5.4 -> 3.5.5
Changelog:
https://github.com/squizlabs/PHP_CodeSniffer/releases/tag/3.5.5
2020-04-30 13:33:20 +02:00
Elis Hirwing 4610b24fd7
php.packages.phpcbf: 3.5.4 -> 3.5.5
Changelog:
https://github.com/squizlabs/PHP_CodeSniffer/releases/tag/3.5.5
2020-04-30 13:31:56 +02:00
Elis Hirwing 3a2173b514
php.packages.php-cs-fixer: 2.16.1 -> 2.16.3
Changelogs:
 - https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/tag/v2.16.2
 - https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/tag/v2.16.3
2020-04-30 13:29:36 +02:00
Elis Hirwing 4d6ea7350c
php.packages.composer: 1.9.3 -> 1.10.5
Changelogs:
 - https://github.com/composer/composer/releases/tag/1.10.0
 - https://github.com/composer/composer/releases/tag/1.10.1
 - https://github.com/composer/composer/releases/tag/1.10.2
 - https://github.com/composer/composer/releases/tag/1.10.3
 - https://github.com/composer/composer/releases/tag/1.10.4
 - https://github.com/composer/composer/releases/tag/1.10.5
2020-04-30 13:28:19 +02:00
Elis Hirwing 56562a3036
php.extensions: Add descriptions, homepage and license to all upstream extensions 2020-04-30 13:20:27 +02:00
Elis Hirwing 0b04a477a1
php.packages: Add php maintainer team to all packages 2020-04-29 20:15:47 +02:00
Elis Hirwing ed12b30bee
php.extensions: Add php maintainer team to all extensions 2020-04-29 20:15:03 +02:00
talyz 2535cdfe91
php: Unify the usage of the php package in php-packages.nix
Instead of using two different php packages in php-packages.nix, one
wrapper and one unwrapped, simply use the wrapper and use its
"unwrapped" attribute when necessary. Also, get rid of the packages
and extensions attributes from the base package, since they're no
longer needed.
2020-04-29 13:59:29 +02:00
Kim Lindberger 3dbfa915ab
Merge pull request #85226 from etu/update-phpstan
php.packages.phpstan: 0.12.14 -> 0.12.18
2020-04-14 16:39:56 +02:00
Elis Hirwing 1b1d292d3c
php.packages.phpstan: 0.12.14 -> 0.12.18
Changelog: https://github.com/phpstan/phpstan/releases/tag/0.12.18

Also switch to phpWithExtensions because it complained about missing
extensions when running the binary.
2020-04-14 15:22:13 +02:00
Elis Hirwing 83c9620ac6
php.packages.phpcs: 3.5.3 -> 3.5.4
Changelog:
https://github.com/squizlabs/PHP_CodeSniffer/releases/tag/3.5.4

Also switch to phpWithExtensions because it complained about missing
extensions when running the binary.
2020-04-14 15:15:32 +02:00
Elis Hirwing 2e71139235
php.packages.phpcbf: 3.5.3 -> 3.5.4
Changelog:
https://github.com/squizlabs/PHP_CodeSniffer/releases/tag/3.5.4

Also switch to phpWithExtensions because it complained about missing
extensions when running the binary.
2020-04-14 15:14:26 +02:00
talyz d85bf2f5b7
php.extensions.pdo_mysql: Set default socket location
Set the default socket location to match the one used by the MySQL
module, so PHP programs using pdo_mysql don't have to specify this
themselves.
2020-04-11 14:27:06 +02:00
Michael Reilly 84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Elis Hirwing 8d2e5d5cd6
php.extensions.pthreads: Reintroduce pthreads for php72 and php73 2020-04-05 16:46:24 +02:00
Elis Hirwing 102aac631b
php.extensions.pinba: Reintroduce pinba for php72, php73 and php74 2020-04-05 16:46:11 +02:00
talyz b5c59cebc6
php: Document withExtensions + general improvements 2020-04-05 16:46:05 +02:00
Elis Hirwing a2099156ec
php: split php.packages to php.packages and php.extensions
So now we have only packages for human interaction in php.packages and
only extensions in php.extensions. With this php.packages.exts have
been merged into the same attribute set as all the other extensions to
make it flat and nice.

The nextcloud module have been updated to reflect this change as well
as the documentation.
2020-04-05 16:45:17 +02:00
talyz fe4d173cb2
php.packages: Fix and clean up external extensions
Fix extensions that were broken by the extension refactoring and
remove pthreads and pinba, which had asserts which broke evaluation,
were in need of refactoring and of dubious value.
2020-04-05 16:44:37 +02:00
talyz 90dcab948c
php.packages: Use derivations for internalDeps in mkExtension
Make mkExtension put headers in the dev output and use them, instead of
a different part of the current source tree, when referring to another
extension by using internalDeps.

This means external extensions can be built against the internal ones.
2020-04-05 16:44:01 +02:00
talyz b1106a1851
phpPackages: Move phpPackages to php.packages
This means php packages can now refer to other php packages by looking
them up in the php.packages attribute and gets rid of the internal
recursive set previously defined in php-packages.nix. This also means
that in applications where previously both the php package and the
corresponding version of the phpPackages package set had to be
specified, the php package will now suffice.

This also adds the phpWithExtensions parameter to the
php-packages.nix, which can be used by extensions that need a fully
featured PHP executable.
2020-04-05 16:43:50 +02:00
talyz 14bfb844d6
php: Make mkExtension pass on additional args to mkDerivation 2020-04-05 16:43:43 +02:00
talyz 8924a7de3d
php: Make buildEnv recursive + take extension deps into account
A slight rewrite of buildEnv which:

1. Makes buildEnv recursively add itself to its output, so that it can
   be accessed from any php derivation.

2. Orders the extension text strings according to their internalDeps
   attribute - dependencies have to be put before dependants in the
   php.ini or they will fail to load due to missing symbols.
2020-04-03 10:11:15 +02:00
talyz 6c810c235d
phpPackages.exts: Run tests by default
The tests for many of the extensions run just fine, for some a small
portion fail. This runs the tests by default and disables the tests
extensions with any failing tests.
2020-04-03 10:11:14 +02:00
talyz 282337799b
php: Build an even slimmer base
This moves yet more extensions from the base build to
phpPackages.ext. Some of the extensions are a bit quirky and need
patching for this to work, most notably mysqlnd and opcache.

Two new parameters are introduced for mkExtension - internalDeps and
postPhpize. internalDeps is used to specify which other internal
extensions the current extension depends on, in order to provide them
at build time. postPhpize is for when patches and quirks need to be
applied after running phpize.

Patch notes:

- For opcache, older versions of PHP have a bug where header files are
  included in the wrong order.

- For mysqlnd, the config.h is never included, so we include it in the
  main header file, mysqlnd.h. Also, the configure script doesn't add
  the necessary library link flags, so we add them to the variable
  configure should have added them to.
2020-04-03 10:11:13 +02:00
Elis Hirwing da8ca2be2f
phpPackages.exts.gmp: Enable on darwin 2020-04-03 10:11:12 +02:00
Elis Hirwing cb1dd640ff
phpPackages.exts: Drop uneeded extensions 2020-03-29 11:07:03 +02:00
Elis Hirwing 1f5af3c606
phpPackages.exts: Mark if extensions are zend extensions or not 2020-03-15 19:34:28 +01:00
Elis Hirwing c61d907f81
phpPackages.exts.pdo_odbc: init for all versions of php 2020-03-15 19:34:11 +01:00
Elis Hirwing e0b1b9d556
phpPackages.exts: Add extensions 2020-03-14 21:53:59 +01:00
Elis Hirwing 387d52106a
phpPackages.exts: Add alias so we have the right pcre lib 2020-03-14 20:30:28 +01:00
Elis Hirwing b2933434f5
phpPackages: Initial work for building phpExtensions separately 2020-03-14 20:30:18 +01:00
Maximilian Bosch 0bf5619fe0
php: add buildEnv function for additional config on the CLI SAPI
Initially discussed in #55460.

This patch adds a `buildEnv` function to `php` that has the
following features:

* `php.buildEnv { extraConfig = /* ... */; }` to specify custom
  `php.ini` args for the CLI.

* `php.buildEnv { exts = phpPackages: [phpPackages.apcu] }` to
  create a PHP interpreter for the CLI with the `apcu` extension.
2020-03-09 20:41:28 +01:00