Commit graph

218880 commits

Author SHA1 Message Date
talyz ca8b8a26e9
php: Add enabledExtensions attribute to PHP derivations
This provides a means to build a PHP package based on a list of
extensions from another.

For example, to generate a package with all default extensions
enabled, except opcache, but with ImageMagick:

php.withExtensions (e:
  (lib.filter (e: e != php.extensions.opcache) php.enabledExtensions)
  ++ [ e.imagick ])
2020-04-05 16:46:38 +02: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
talyz b4d289a7ae
php: Add missing hash extension to php < 7.4 2020-04-05 16:45:53 +02:00
talyz 1345e5b763
php: Add withExtensions as a simpler alternative to buildEnv 2020-04-05 16:45:47 +02:00
talyz 4ff523f691
php: Simplify php-packages import, rename exts -> extensions 2020-04-05 16:45:41 +02:00
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 a4bc30c802
docs/rl: Update release log to match the updates to the default attributes 2020-04-05 16:45:11 +02:00
Elis Hirwing e4cee802ad
doc/php: Add initial documentation for PHP 2020-04-05 16:45:04 +02:00
Elis Hirwing 0dc95728ba
nixos/php: Move the pcre tests to the php test attribute 2020-04-05 16:44:59 +02:00
Elis Hirwing 29e1f0d169
nixos/php: Add tests for phpfpm
This test checks that we evaluate PHP properly and that certain
extensions are actually loaded.
2020-04-05 16:44:54 +02:00
Elis Hirwing fc1034a1fa
nixos/nextcloud: upgrade to php74 2020-04-05 16:44:48 +02:00
talyz ed20aae86c
nixos/nextcloud: Get nextcloud working 2020-04-05 16:44:42 +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 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 9ac0d9ad61
php.packages.buildPecl: Introduce built-in extension dependencies
Introduce the internalDeps attribute used by mkExtension, to refer to
internal php extensions built by mkExtension.
2020-04-05 16:44:13 +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 a5f77d6ea2
php-unit: Drop the declaration of the php-unit attributes since they aren't used 2020-04-03 10:11:11 +02:00
Elis Hirwing be7bf5a18d
php-embed: Drop the declaration of the php-embed attributes 2020-04-03 10:11:07 +02:00
Elis Hirwing 1983417a2f
unit: Make unit use phpbase packages 2020-03-31 22:06:56 +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 cdad5f9134
php: Add release log entry for the php changes 2020-03-29 11:07:50 +02:00
Elis Hirwing cb1dd640ff
phpPackages.exts: Drop uneeded extensions 2020-03-29 11:07:03 +02:00
Elis Hirwing 9404daf91c
php: Make a slimmer php as default 2020-03-29 11:06:58 +02:00
Elis Hirwing 74b2eaea0c
Merge pull request #82624 from matthiasbeyer/mixxx-with-old-libshout
mixx: Build with libshout 2.4.1
2020-03-29 10:53:47 +02:00
Daiderd Jordan f4da410f0c
Merge pull request #83532 from LnL7/darwin-neovim
Revert "luaPackages.luv: 1.30.0-0 -> 1.34.1-1"
2020-03-29 10:39:19 +02:00
Ryan Mulligan 915e6a4e3d
Merge pull request #83639 from r-ryantm/auto-update/drawio
drawio: 12.6.5 -> 12.9.3
2020-03-29 00:44:54 -07:00
Vladimír Čunát 6d28c1893d
Merge #83013: exiv2: patch CVE-2019-20421 2020-03-29 09:40:53 +02:00
Vladimír Čunát 0ebeec9183
exiv2: name the patch as usual
That allows automatic detection of CVEs being fixed (e.g. by vulnix)
2020-03-29 09:39:31 +02:00
Vladimír Čunát 804477b875
Merge #75430: erlangR22: 22.1.7 -> 22.3 2020-03-29 08:41:36 +02:00
Peter Hoeg 4e3d5eb1f7
Merge pull request #75697 from georgewhewell/add-kodi-gbm
kodi: add option for GBM backend
2020-03-29 13:49:23 +08:00
Jörg Thalheim fd708a3fe0
Merge pull request #83638 from veprbl/pr/higan_darwin_fix
higan: fix darwin build
2020-03-29 06:42:33 +01:00
Jörg Thalheim 30c17b640f
Merge pull request #83632 from zowoq/gh-darwin
Revert "gitAndTools.gh: fix build on darwin"
2020-03-29 06:41:18 +01:00
Benjamin Hipple eda60c51a9
Merge pull request #83225 from vbgl/pjsip-2.10
pjsip: 2.9 → 2.10
2020-03-28 23:29:57 -04:00
Benjamin Hipple ef2995988a
Merge pull request #83343 from vbgl/coq-coqhammer-1.1.1
coqPackages.coqhammer: 1.1 → 1.1.1
2020-03-28 23:20:37 -04:00
Benjamin Hipple eb2f8d2a8b
Merge pull request #83414 from dasj19/qbittorrent-update
libtorrent-raster: 1.1.11 -> 1.2.5; qbittorrent: 4.2.1 -> 4.2.2
2020-03-28 23:02:56 -04:00
Benjamin Hipple dc9d97d482
Merge pull request #83590 from asbachb/update-netbeans-11-3
netbeans: 11.2 -> 11.3
2020-03-28 23:01:59 -04:00
Benjamin Hipple faebb66e90
Merge pull request #82996 from saschagrunert/cri-o
cri-o: v1.17.0 -> v1.17.1
2020-03-28 22:54:28 -04:00
Aaron Andersen 24d456a48d
Merge pull request #82784 from davidak/fpm
nixos/phpfpm: add example to socket
2020-03-28 22:22:24 -04:00
R. RyanTM 4c36e14386 drawio: 12.6.5 -> 12.9.3 2020-03-29 02:18:40 +00:00
Benjamin Hipple f5a65df77c
Merge pull request #83546 from r-ryantm/auto-update/python2.7-mayavi
python27Packages.mayavi: 4.7.0 -> 4.7.1
2020-03-28 22:10:20 -04:00