Commit Graph

250 Commits

Author SHA1 Message Date
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
Jan Tojnar
2279ce310f
phpPackages.psalm: 3.7.2 → 3.9.3 2020-03-04 00:23:04 +01:00
Jan Tojnar
08d7cf5c86
phpPackages.phpstan: 0.12.4 → 0.12.14 2020-03-04 00:23:03 +01:00
Jan Tojnar
72a5256b1b
phpPackages.composer: 1.9.1 → 1.9.3 2020-03-04 00:23:01 +01:00
Aaron Andersen
1462c33f62
Merge pull request #78962 from helsinki-systems/upd/php-maxminddb
phpPackages.maxminddb: 1.5.0 -> 1.6.0
2020-02-22 19:08:07 -05:00
Aaron Andersen
d0e817f63f phpPackages.pdo_oci: init 2020-02-19 15:12:16 -05:00
Aaron Andersen
a6bc6fbb0b phpPackages.pdo_sqlsrv: 5.6.1 -> 5.8.0 2020-01-31 21:37:33 -05:00
Aaron Andersen
2a04e3bb8d phpPackages.sqlsrv: 5.6.1 -> 5.8.0 2020-01-31 21:37:18 -05:00
ajs124
acab138354 phpPackages.maxminddb: 1.5.0 -> 1.6.0 2020-01-31 17:08:29 +01:00
Elis Hirwing
2e3624dcb7
phpPackages.phpstan: 0.12.3 -> 0.12.4
Changelog: https://github.com/phpstan/phpstan/releases/tag/0.12.4
2020-01-06 09:02:44 +01:00
Johannes Schleifenbaum
b2d353737f
phpPackages.protobuf: 3.11.1 -> 3.11.2 2019-12-18 09:39:34 +01:00
Elis Hirwing
c593cf54dc
phpPackages.phpstan: 0.12.0 -> 0.12.3
Changelogs:
 - https://github.com/phpstan/phpstan/releases/tag/0.12.1
 - https://github.com/phpstan/phpstan/releases/tag/0.12.2
 - https://github.com/phpstan/phpstan/releases/tag/0.12.3
2019-12-14 16:28:18 +01:00
Elis Hirwing
5b6e958b92
Merge pull request #73579 from helsinki-systems/php-maxminddb-init
phpPackages.maxminddb: Init at 1.5.0
2019-12-08 20:45:52 +01:00
Janne Heß
5b20f660f6 phpPackages.maxminddb: Init at 1.5.0 2019-12-07 15:19:36 +01:00
Izorkin
b64e72967b phpPackages.xdebug: 2.8.0 -> 2.8.1 2019-12-07 12:51:19 +03:00
Izorkin
69a13718cf phpPackages.redis: 5.0.2 -> 5.1.1 2019-12-07 12:50:10 +03:00
Izorkin
f472c6dd50 phpPackages.psysh: 0.9.9 -> 0.9.12 2019-12-07 12:49:06 +03:00
Izorkin
cf64b218dc phpPackages.psalm: 3.5.3 -> 3.7.2 2019-12-07 12:47:31 +03:00
Izorkin
85e8765511 phpPackages.protobuf: 3.9.0 -> 3.11.1 2019-12-07 12:45:43 +03:00
Izorkin
50cc8f9737 phpPackages.phpstan: 0.11.19 -> 0.12.0 2019-12-07 12:44:13 +03:00
Izorkin
b7fb18ae9f phpPackages.phpcs: 3.5.1 -> 3.5.3 2019-12-07 12:42:47 +03:00
Izorkin
4a1684f378 phpPackages.phpcbf: 3.5.1 -> 3.5.3 2019-12-07 12:41:49 +03:00
Izorkin
66b25e63dc phpPackages.php-cs-fixer: 2.15.3 -> 2.16.1 2019-12-07 12:40:03 +03:00
Izorkin
87828900b9 phpPackages.mongodb: 1.6.0 -> 1.6.1 2019-12-07 12:37:22 +03:00
Izorkin
4ba68ad65c phpPackages.memcached: 3.1.3 -> 3.1.5 2019-12-07 12:34:44 +03:00
Izorkin
a07a399b8c phpPackages.composer: 1.9.0 -> 1.9.1 2019-12-07 12:33:11 +03:00
Izorkin
b5eb1c9f24 phpPackages.ast: 1.0.3 -> 1.0.5 2019-12-07 12:32:02 +03:00
Elis Hirwing
14e7296695
phpPackages.couchbase: Mark broken on php74 2019-11-25 18:23:05 +01:00
Elis Hirwing
d92f57fcda
phpPackages.pcs: Mark broken on php74 2019-11-25 18:22:56 +01:00
Elis Hirwing
4033432593
phpPackages.pdo_sqlsrv: Mark broken on php74 2019-11-25 18:22:48 +01:00
Elis Hirwing
ec8203130b
phpPackages.protobuf: Mark broken on php74 2019-11-25 18:22:40 +01:00
Elis Hirwing
d1a9b2a130
phpPackages.sqlsrv: Mark broken on php74 2019-11-25 18:22:33 +01:00
Elis Hirwing
42495df1f4
phpPackages.apcu: 5.1.17 -> 5.1.18
Required for php74 compatibility.
2019-11-25 16:48:27 +01:00
Elis Hirwing
6dd3a70285
phpPackages.xdebug: 2.7.1 -> 2.8.0
Required for php74 compatibility.
2019-11-25 16:48:22 +01:00