Commit graph

424 commits

Author SHA1 Message Date
Elis Hirwing 1b69056e46
php: passthru .dev output as well 2020-04-05 16:45:23 +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
Elis Hirwing 0dc95728ba
nixos/php: Move the pcre tests to the php test attribute 2020-04-05 16:44:59 +02:00
talyz 716fd0e2f5
php.buildEnv: Put the extraConfig snippet after extensions
Make sure all the extensions are loaded first, then read the custom
config where possible.
2020-04-05 16:44:31 +02:00
Elis Hirwing 82cd2fbbf4
php: Wrap the programs and provide an environment variable instead of a flag 2020-04-05 16:44:25 +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 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 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 96a5e0c928
php: init phpXYbase packages and make the default php extended by default
Also, add opcache to default extensions since it significantly
increases PHP's performance and is by default enabled on Debian based
distributions. Not having it enabled by default results in a puzzling
performance loss for anyone attempting to migrate from Debian/Ubuntu
to NixOS who is unaware of this. Therefore, enable it by default. /talyz
2020-03-31 22:06:45 +02:00
Elis Hirwing 9404daf91c
php: Make a slimmer php as default 2020-03-29 11:06:58 +02:00
Elis Hirwing f1dfb6e0f5
php: get rid of with lib; used on entire file 2020-03-15 18:04:57 +01:00
Elis Hirwing 6100ac4ab2
php: remove unsupported options
- mcrypt was removed in 7.2
 - mhash was integrated into hash in 7.0
2020-03-15 18:04:25 +01:00
Elis Hirwing da3384a25d
php: Re-indent main derivation 2020-03-15 10:27:37 +01:00
Elis Hirwing 5bf47ab9bb
php72: 7.2.27 -> 7.2.28
Changelog: https://www.php.net/ChangeLog-7.php#7.2.28
2020-03-11 20:13:56 +01:00
Elis Hirwing 8f4cb37116
php73: 7.3.14 -> 7.3.15
Changelog: https://www.php.net/ChangeLog-7.php#7.3.15
2020-03-11 20:12:34 +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 88b22b6890
php74: 7.4.2 → 7.4.3
https://github.com/php/php-src/blob/php-7.4.3/NEWS#L3-L90
2020-03-04 20:22:15 +01:00
Izorkin ffe90532f7 php: update build configuration 2020-02-22 11:22:05 +03:00
Izorkin 0ee5d55d3b php: use external GD library 2020-02-22 11:22:05 +03:00
Izorkin ac3c11a980 php: add option pearSupport 2020-02-22 11:22:05 +03:00
Izorkin a74fb5a1af php: add option ipv6Support 2020-02-22 11:22:05 +03:00
Izorkin 5dae87ec2d php: remove unused configureFlags 2020-02-22 11:22:05 +03:00
Izorkin 82b5cef58d php: drop support libmysqlclient 2020-02-22 11:22:04 +03:00
Franz Pletz ade3e99a1d
php74: 7.4.1 -> 7.4.2
https://www.php.net/ChangeLog-7.php#7.4.2
2020-02-19 16:42:40 +01:00
Franz Pletz b55ded5d8b
php73: 7.3.13 -> 7.3.14
https://www.php.net/ChangeLog-7.php#7.3.14
2020-02-19 16:42:39 +01:00
Franz Pletz ed8df1d98e
php72: 7.2.26 -> 7.2.27
https://www.php.net/ChangeLog-7.php#7.2.27
2020-02-19 16:42:23 +01:00
Robin Gloster 760e23136a
treewide: *inputs are lists 2019-12-31 01:09:25 +01:00
Markus Kowalewski 7d44826298
php: 7.2.25 -> 7.2.26 2019-12-21 16:49:28 +01:00
Markus Kowalewski 9e4716b1f5
php: 7.4.0 -> 7.4.1 2019-12-21 14:05:13 +01:00
Markus Kowalewski 10060abfc0
php: 7.3.12 -> 7.3.13 2019-12-21 14:04:58 +01:00
Elis Hirwing 9d71e7f1fb
php74: Enable zip support
This fixes #75427
2019-12-10 17:49:19 +01:00
Izorkin 1b903aa70e php73: 7.3.11 -> 7.3.12 2019-12-07 12:28:19 +03:00
Izorkin c56f044aa4 php72: 7.2.24 -> 7.2.25 2019-12-07 12:28:19 +03:00
Elis Hirwing a4cf20c68f
php74: Go through configuration options 2019-12-01 09:50:51 +01:00
Elis Hirwing 80b12a60df
php74: 7.4.0RC6 -> 7.4.0
Changelog: https://www.php.net/ChangeLog-7.php#7.4.0
2019-11-27 11:13:14 +01:00
Elis Hirwing fdc094f69e
php74: init at 7.4.0RC6 2019-11-21 23:22:54 +01:00
Aaron Andersen a480006281 php: 7.2.23 -> 7.2.24, 7.3.10 -> 7.3.11 2019-10-25 03:09:19 -04:00
Elis Hirwing b5f73124e4
php72: 7.2.22 -> 7.2.23
Changelog: https://www.php.net/ChangeLog-7.php#7.2.23
2019-10-04 08:58:32 +02:00
Elis Hirwing c1e531bf5e
php73: 7.3.9 -> 7.3.10
Changelog: https://www.php.net/ChangeLog-7.php#7.3.10
2019-10-04 08:56:18 +02:00
Vladimír Čunát 22a216849b
Re-Revert "Merge branch 'staging-next'"
This reverts commit f8a8fc6c7c.
2019-09-22 09:38:09 +02:00
Vladimír Čunát f8a8fc6c7c
Revert "Merge branch 'staging-next'"
This reverts commit 41af38f372, reversing
changes made to f0fec244ca.

Let's delay this.  We have some serious regressions.
2019-09-21 20:05:09 +02:00
Izorkin 329a88efa7 treewide: replace mysql.connector-c to libmysqlclient 2019-09-09 15:55:34 +03:00
Elis Hirwing 125d068e02
php72: 7.2.21 -> 7.2.22
Changelog: https://www.php.net/ChangeLog-7.php#7.2.22
2019-09-07 14:51:05 +02:00
Will Dietz 00039ef5af
php73: 7.3.8 -> 7.3.9 (security)
https://www.php.net/archive/2019.php#2019-08-29-1

https://www.php.net/ChangeLog-7.php#7.3.9
2019-09-03 18:33:37 -05:00
Vika ba83c08610 php: disable mhash
Per https://www.php.net/manual/en/intro.mhash.php, mhash extension
is obsolete, so disabling it here. (Also it doesn't cross-compile)

**Warning**: This could be a breaking change for some packages that
are very old and rely on this extension, maintainer discretion is
advised.
2019-08-21 20:37:06 +03:00
Izorkin cb9846c2dc php73: 7.3.7 -> 7.3.8 2019-08-03 16:40:08 +03:00
Izorkin 7819d3f621 php72: 7.2.20 -> 7.2.21 2019-08-03 16:23:41 +03:00
Elis Hirwing bd1b55d074
php72: 7.2.19 -> 7.2.20
Changelog: https://www.php.net/ChangeLog-7.php#7.2.20
2019-07-05 09:24:37 +02:00
Elis Hirwing c2ac19f432
php73: 7.3.6 -> 7.3.7
Changelog: https://www.php.net/ChangeLog-7.php#7.3.7
2019-07-05 09:21:50 +02:00
Elis Hirwing 80c7463a92
php: drop 7.1
PHP 7.1 is currently on life support, as in only recieving security related patches.

This will only continue until: 2019-12-01

This date are in the middle of the 19.09 lifecycle. So it would be
nice to not have it in the 19.09 stable release. Dropping it now would
also result in less maintanance in updating them.

The death dates can be seen on following links:
 - https://endoflife.date/php
 - https://php.net/supported-versions.php
 - https://en.wikipedia.org/wiki/PHP#Release_history
2019-07-04 14:31:49 +02:00
Izorkin a6a26c1bc5 php: update build config 2019-06-11 22:21:36 +03:00
Izorkin 925f803e28 phpPackages: build phpPackages with re2c 2019-06-11 22:21:35 +03:00
Izorkin f93d637ef9 php: fix zts options 2019-06-06 21:03:42 +03:00
Elis Hirwing 10deca4645
php73: 7.3.5 -> 7.3.6
Changelog: https://php.net/index.php#id2019-05-30-1
2019-05-31 10:23:58 +02:00
Elis Hirwing 639e146de1
php72: 7.2.18 -> 7.2.19
Changelog: https://php.net/index.php#id2019-05-30-2
2019-05-31 10:17:21 +02:00
Elis Hirwing 1d92bec205
php71: 7.1.29 -> 7.1.30
Changelog: https://php.net/index.php#id2019-05-30-3
2019-05-31 10:15:50 +02:00
Elis Hirwing a320372e17
php73: 7.3.4 -> 7.3.5
Changelog: https://www.php.net/ChangeLog-7.php#7.3.5
2019-05-03 19:31:58 +02:00
Elis Hirwing 6f3625a1c6
php72: 7.2.17 -> 7.2.18
Changelog: https://www.php.net/ChangeLog-7.php#7.2.18
2019-05-03 19:19:34 +02:00
Elis Hirwing 2a0125c0ce
php71: 7.1.28 -> 7.1.29
Changelog: https://www.php.net/ChangeLog-7.php#7.1.29
2019-05-03 19:14:42 +02:00
Daniel Schaefer bac4d95aa2 treewide: Change URLs to HTTPS
Lots of URLs were HTTP redirect to HTTPS. Changed those and checked them
if there's actual content. Inspired by
https://github.com/NixOS/nixpkgs/issues/60004
2019-04-22 10:19:54 +02:00
Will Dietz d1a539fef1 php73: 7.3.3 -> 7.3.4
security release, see:
https://www.php.net/archive/2019.php#id2019-04-04-1
2019-04-06 10:56:58 -05:00
Will Dietz 76394e36ec php72: 7.2.16 -> 7.2.17
security release, see announcement:
https://www.php.net/archive/2019.php#id2019-04-04-2
2019-04-06 10:56:56 -05:00
Will Dietz b8446dcc57 php71: 7.1.27 -> 7.1.28
security release:
https://www.php.net/archive/2019.php#id2019-04-04-3
2019-04-06 10:56:55 -05:00
Elis Hirwing 894eee60a7
Merge pull request #57245 from Izorkin/php-options
php: add custom options
2019-03-14 08:13:22 +01:00
Izorkin 799f9004a9 php: add custom options 2019-03-10 15:43:45 +03:00
Izorkin 768bb1724e php73: 7.3.2 -> 7.3.3 2019-03-08 10:21:41 +03:00
Izorkin c6290e381f php72: 7.2.15 -> 7.2.16 2019-03-08 10:16:37 +03:00
Izorkin 627275399c php71: 7.1.26 -> 7.1.27 2019-03-08 10:12:02 +03:00
Aaron Andersen d5d0b4aceb php: add pdo odbc support 2019-02-18 08:09:20 -05:00
Elis Hirwing a31ce0c69e php73: 7.3.1 -> 7.3.2
Changelog: https://secure.php.net/ChangeLog-7.php#7.3.2
2019-02-08 13:19:41 +00:00
Elis Hirwing 89dec63005 php72: 7.2.14 -> 7.2.15
Changelog: https://secure.php.net/ChangeLog-7.php#7.2.15
2019-02-08 13:19:19 +00:00
Elis Hirwing 49538f6b3a
php71: 7.1.25 -> 7.1.26
Changelog: http://php.net/ChangeLog-7.php#7.1.26
2019-01-10 21:23:01 +01:00
Elis Hirwing ab341a18ad
php72: 7.2.13 -> 7.2.14
Changelog: http://php.net/ChangeLog-7.php#7.2.14
2019-01-10 21:22:54 +01:00
Robin Gloster 0af5ce1c8b
php73: 7.3.0 -> 7.3.1 2019-01-10 17:43:14 +01:00
Izorkin 535b6298c7 php: add option config.php.xmlrpc 2018-12-14 10:56:46 +03:00
Izorkin bd850ff624 php: fix build without libxml2Support 2018-12-14 10:47:46 +03:00
Izorkin 0288d43a2d php: remove unsupported options 2018-12-14 10:47:44 +03:00
Izorkin 80f4d5d56a
php: fix build php 7.3 in Darwin 2018-12-11 20:11:30 +01:00
Izorkin 45ef74ccce
php: fix bug 71041 2018-12-11 20:11:29 +01:00
Izorkin b5137de379
php: add custom options 2018-12-11 20:11:11 +01:00
Izorkin f80e7df143
php72: 7.2.12 -> 7.2.13 2018-12-11 20:11:10 +01:00
Izorkin 374be65924
php71: 7.1.24 -> 7.1.25 2018-12-11 20:11:09 +01:00
Izorkin ff7192d4d0
php: init at 7.3.0 2018-12-11 20:11:05 +01:00
Izorkin 9c5311251a php: add option config.php.systemd 2018-12-08 19:20:12 +03:00
Pierre Bourdon ec3d829257
php72: 7.2.11 -> 7.2.12 2018-11-27 02:56:22 +01:00
Pierre Bourdon 8221da343e
php71: 7.1.23 -> 7.1.24 2018-11-27 02:56:22 +01:00
Pierre Bourdon ea10173045
php: align Darwin and Linux versions again
Instead of pinning Darwin to older versions, add small patches to
configure.in (7.1) / configure.ac (7.2) to fix the build of the intl
extension on recent PHP versions on Darwin.

fix-paths-php7.patch also required changes -- since we now run autoconf
at build time (through ./buildconf), it needs to patch the input .m4
files instead of ./configure directly.
2018-11-27 02:56:17 +01:00
Elis Hirwing b9773bd12e
php72: 7.2.10 -> 7.2.11
Changelog: https://secure.php.net/ChangeLog-7.php#7.2.11
2018-10-11 22:39:15 +02:00
Elis Hirwing 36e3fdd9b6
php71: 7.1.22 -> 7.1.23
Changelog: https://secure.php.net/ChangeLog-7.php#7.1.23
2018-10-11 22:39:12 +02:00
Jörg Thalheim a326da978f
Merge pull request #47220 from flokli/php-mysql-sock
php: set mysql socket path if mysql[i] or pdo_mysql support is enabled
2018-09-23 16:18:43 +01:00
Florian Klink baa04e4204 php: set mysql socket path if mysql[i] or pdo_mysql support is enabled
PHP tries to discover the mysql default socket path during configure
phase by probing the file system:
cf3b852109/ext/mysqli/config.m4 (L4)

This obviously fails to discover /run/mysqld/mysqld.sock, which is being
used (hardcoded) across all MySQL flavours.

This leads to PHP having no mysql socket path set for the mysql[i]
extensions, and `/tmp/mysql.sock` set for pdo_mysql,
meaning one currently has to manually configure and set it in php.ini.

Luckily, PHP supports setting that path via
`--with-mysql-sock=/run/mysqld/mysqld.sock` during configure phase,
so let's do this as soon as one of the three modules is enabled.
2018-09-23 15:08:39 +02:00
Elis Hirwing 0b82fbc3af php: Refactor so we can upgrade PHP per platform (#47162)
This way we don't need to disable flags etc by platform and can still
backport new versions to stable for linux even if there's a bug or
something in the darwin build.
2018-09-22 20:22:57 +02:00
aanderse e48811f83d php: add option to enable argon2 2018-09-17 19:02:16 +02:00
Elis Hirwing 89b7ad263e
php71: 7.1.21 -> 7.1.22
Changelog: https://secure.php.net/ChangeLog-7.php#7.1.22
2018-09-15 21:45:59 +02:00
Elis Hirwing 5a868df967
php: 7.2.8 -> 7.2.10
Changelog 7.2.9: http://php.net/ChangeLog-7.php#7.2.9
Changelog 7.2.10: http://php.net/ChangeLog-7.php#7.2.10
2018-09-15 21:44:57 +02:00
Elis Hirwing 2d6bfc360a php71: 7.1.20 -> 7.1.21 (#45296)
Changelog: https://secure.php.net/ChangeLog-7.php#7.1.21
2018-08-18 14:16:20 +02:00
Jörg Thalheim 3ea0322f63
Merge pull request #44197 from etu/php-kill-56-and-70
php: drop 5.6 and 7.0
2018-08-01 12:49:56 +01:00
Elis Hirwing 7c585235ff php71: 7.1.19 -> 7.1.20 (#44211)
Changelog: https://secure.php.net/ChangeLog-7.php#7.1.20
2018-07-30 20:16:26 +02:00
R. RyanTM 09766b55f0 php: 7.2.7 -> 7.2.8 (#43740)
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/php/versions.
2018-07-29 20:22:26 +02:00