Commit Graph

536 Commits

Author SHA1 Message Date
Patka
d3ef766498
phpPackages.phpinsights: init at 2.11.0 2024-03-24 10:21:39 +01:00
Pol Dellaiera
a3d99d0bd3
Merge pull request #287617 from NeverBehave/pkg/php/ioncube-loader
phpExtensions.ioncube-loader: init at 13.0.2
2024-03-17 07:48:45 +01:00
Thomas Gerbet
60c94de436
Merge pull request #295968 from drupol/php/extensions/xsl/update-for-php84
php.extensions.xsl: update extension in prevision of next PHP version
2024-03-14 23:33:38 +01:00
Pol Dellaiera
c3813b73c5
php.extensions.xsl: update extension in prevision of next PHP version
see comments from @nielsdos at https://github.com/php/php-src/pull/13031
2024-03-14 21:24:49 +01:00
Pol Dellaiera
81c42da3c3
php: use --replace-fail 2024-03-14 12:02:39 +01:00
Pol Dellaiera
cb4d58b28d
phpExtensions.dom: update bounds for PHP82 and PHP81 2024-03-11 17:49:29 +01:00
Pol Dellaiera
47195dc3d9
phpExtensions.dom: fix lowest extensions 2024-03-11 16:28:15 +01:00
Pol Dellaiera
ddb92f079f
phpExtensions.relay: remove obsolete inherit 2024-02-25 17:35:08 +01:00
Pol Dellaiera
6addd08220
phpExtensions.blackfire: remove obsolete inherit 2024-02-25 17:35:08 +01:00
Pol Dellaiera
8d0197fe1e
php-codesniffer: init at 3.7.2, phpcs: deprecated, phpcbf: deprecated 2024-02-25 17:35:07 +01:00
NeverBehave
33eb2e8a9c phpExtensions.ioncube-loader: init at 13.0.2 2024-02-09 16:17:25 -08:00
Soner Sayakci
8d83f2153c
php82Extensions.zstd: init at 0.13.3 2024-02-04 20:08:39 +01:00
Pol Dellaiera
6a6c83c138
php: add lower version bound constraint to avoid applying it to older PHP versions. 2024-02-01 10:36:44 +01:00
Jan Tojnar
c1dce2f654 php81.extensions.dom: Fix build with libxml2 2.12 2024-01-07 22:47:55 +01:00
Jan Tojnar
40de2596a8 php.extensions.sqlite3: Fix build
The patch is part of 8.1.27 and 8.2.14.

Reverts d1c585a790
2023-12-26 01:33:13 +01:00
github-actions[bot]
384d12a4cc
Merge staging-next into staging 2023-12-11 12:01:51 +00:00
Pol Dellaiera
8d17fb2bc6
Merge pull request #273378 from shyim/frankenphp-extension-support
frankenphp: fix php extensions loading
2023-12-11 10:19:58 +01:00
github-actions[bot]
19b2e66364
Merge staging-next into staging 2023-12-10 18:01:37 +00:00
Soner Sayakci
f05d38b8d3
php82Extensions.blackfire: 1.92.0 -> 1.92.3 2023-12-10 17:38:09 +01:00
Soner Sayakci
7e25c39809
php81Extensions.opcache: fix compile on zts build 2023-12-10 17:16:53 +01:00
Dmitry Kalinkin
025a278148 Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/tools/networking/ofono/default.nix
2023-12-08 12:27:28 -05:00
Marco Burro
f9a2a9f18a
phpExtensions.php-spx: rename extension and folder
Configure allowAliases for old extension name
2023-12-05 17:41:14 +01:00
Mario Rodas
50ece7774f
Merge pull request #264927 from trofi/sqlite-update
sqlite, sqlite-analyzer: 3.43.2 -> 3.44.2
2023-12-02 11:50:16 -05:00
Sergei Trofimovich
d1c585a790 php81.extensions.sqlite3, php82.extensions.sqlite3: backport sqlite-3.44.0 fix
Co-authored-by: Pol Dellaiera <pol.dellaiera@protonmail.com>
2023-11-29 13:00:37 +00:00
Gaël Reyrol
40a5a96527
phpspy: init at 0.6.0 2023-11-29 10:28:13 +01:00
Manuel Frischknecht
fb1cc4af9c Skip sqlite3_bind_bug68849.phpt php unit test on i686 linux
PHP unit tests are broken with SQLite >= 3.43 [1].
If I understand the discussion in the SQLite forums [2]
on the issue correctly, the trigger for this should not
be a problem with SQLite itself but the test itself
(and thus using a current SQLite version shouldn't
generally be a problem for actual PHP code).

[1]: https://github.com/php/php-src/issues/12076
[2]: https://www.sqlite.org/forum/forumpost/abbb95376ec6cd5f
2023-11-25 13:57:15 +01:00
github-actions[bot]
263a89fa08
Merge master into staging-next 2023-11-08 12:01:20 +00:00
Gaël Reyrol
0499c5b6d1
phpExtensions.memprof: init at 3.0.2 (#266086) 2023-11-08 09:08:45 +01:00
Randy Eckenrode
c2e00b14cd
phpExtensions.datadog_trace: switch to overrideSDK
Using overrideSDK allows datadog_trace to use the correct SDK frameworks
even when they are propagated from curl.
2023-10-26 13:26:39 -04:00
Elis Hirwing
55c6f8dcdd
Merge pull request #261175 from NixOS/php/add-php-spx-extension
phpExtensions.php-spx: init at 0.4.14
2023-10-17 07:32:58 +02:00
Elis Hirwing
f7ac705d8b
Merge pull request #261470 from fgaz/php-opcache/optional-valgrind
phpExtensions.opcache: use valgrind only where supported
2023-10-17 07:27:25 +02:00
Francesco Gazzetta
4a4991d33b phpExtensions.opcache: use valgrind only where supported
opcache is a default extension, so this fixes eval of php on platforms
where valgrind is not supported, such as risc-v.
2023-10-16 15:53:45 +02:00
Pol Dellaiera
7865280a3c
phpExtensions.php-spx: init at 0.4.14 2023-10-15 10:52:02 +02:00
Pol Dellaiera
0c9abd9fa7
phpExtensions.meminfo: init at unstable-2022-03-25 2023-10-09 18:45:30 +02:00
Jennifer Graul
938bfe28ac phpExtensions.rrd: init at 2.0.3
Co-authored-by: Ember Keske <git@n0emis.eu>
2023-09-25 19:24:40 +02:00
Pol Dellaiera
b36ad2f517
php: add new builder buildComposerProject 2023-09-13 15:00:03 +02:00
Paweł Krzaczkowski
1b04b02b35
phpExtensions.memcache: init at 8.2 2023-09-11 19:55:27 +02:00
Paweł Krzaczkowski
e71418aee0
phpExtensions.phalcon: init at 5.3.0 2023-09-08 18:48:44 +02:00
Pol Dellaiera
95fd689f85 php: run genfiles for building extensions too 2023-09-08 12:37:24 +02:00
Gaël Reyrol
dcca536d14
phpPackages.castor: init at 0.8.0 2023-09-01 17:16:49 +02:00
Gaël Reyrol
72069257bf
phpExtensions.opentelemetry: init at 1.0.0beta6 2023-08-26 10:14:07 +02:00
Gaël Reyrol
f17751d00d
phpExtensions.vld: init at 0.18.0 2023-08-16 14:44:07 +02:00
Pol Dellaiera
eb3677ff77
phpExtensions.snuffleupagus: 0.7.0 -> 0.9.0 2023-07-11 22:20:45 +02:00
Pol Dellaiera
020b80bf26 phpExtensions.datadog_trace: prevent buildPecl to always use the same version of PHP 2023-07-10 17:03:11 +02:00
Pol Dellaiera
bcb9b2b723 phpExtensions.mongodb: prevent buildPecl to always use the same version of PHP 2023-07-10 17:03:11 +02:00
Pol Dellaiera
184b3b322e
Merge pull request #242366 from NixOS/php/extension/bump-mongodb-extension
phpExtensions.mongodb: 1.15.0 -> 1.16.1
2023-07-10 15:57:16 +02:00
Pol Dellaiera
5416f26eee phpExtensions.mongodb: 1.15.0 -> 1.16.1 2023-07-10 14:10:24 +02:00
Pol Dellaiera
c8bb2d35d9 phpExtensions.datadog_trace: 0.82.0 -> 0.89.0 2023-07-10 14:08:36 +02:00
Pol Dellaiera
793abdf061
Merge pull request #242134 from NixOS/php/extension-inotify-update
phpExtensions.inotify: update platforms
2023-07-08 13:40:37 +02:00
Pol Dellaiera
2ab8bf1afa
phpExtensions.inotify: update platforms
Follow up of https://github.com/NixOS/nixpkgs/pull/242015
2023-07-08 13:35:27 +02:00
Pol Dellaiera
06b79b17e4 php83: 8.3.0alpha2 -> 8.3.0alpha3 2023-07-07 17:23:45 +02:00
Pol Dellaiera
05386496df phpExtensions.inotify: disable on darwin
The `inotify` extension is only available on Linux.
2023-07-07 11:01:11 +02:00
Pol Dellaiera
5f85fe1e8a
php83: init at 8.3.0alpha2 (#239151)
* php83: init at 8.3.0alpha2

* phpExtensions.blackfire: disable for php 8.3

* phpExtensions.apcu: patch for 8.3 only
2023-06-26 20:51:23 +02:00
Thomas Gerbet
6f6090be77 php: cleanup conditions looking for PHP 8.0
This was missed in 84c0cb1471.
2023-06-22 18:52:56 +02:00
Joshua Trees
a06de115e8
phpExtensions.uv: init at 0.3.0 (#238329)
* phpExtensions.uv: init at 0.3.0

* Update pkgs/development/php-packages/uv/default.nix

---------

Co-authored-by: Joshua Trees <me@jtrees.io>
Co-authored-by: Pol Dellaiera <pol.dellaiera@protonmail.com>
2023-06-19 23:34:30 +02:00
Gabriel Ostrolucký
c554c35197
phpExtensions.relay: init at 0.6.3 2023-05-05 17:34:25 +02:00
Gabriel Ostrolucký
a47d2b3dde
phpExtensions.msgpack: init at 2.2.0RC2 2023-03-13 17:52:28 +01:00
Gabriel Ostrolucký
7953ef015a
phpExtensions.ssh2: init at 1.3.1 2023-03-13 17:52:28 +01:00
Artturin
f9fdf2d402 treewide: move NIX_CFLAGS_COMPILE to the env attrset
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper

this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
2023-02-22 21:23:04 +02:00
Artturin
6f6cc4a22d treewide: use toString on list NIX_CFLAGS_COMPILE
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
2023-02-22 21:23:04 +02:00
Elis Hirwing
12aa304e68
Merge pull request #215539 from LeSuisse/php-opcache-flaky-test-darwin
phpExtensions.opcache: remove flaky test on darwin
2023-02-10 11:27:38 +01:00
Elis Hirwing
91c61da251
Merge pull request #171543 from Artturin/fixrandommk1
phpPackages.mkDerivation: use lib.{fix,extends} instead of //
2023-02-10 10:35:19 +01:00
Thomas Gerbet
7a09daa913 phpExtensions.opcache: remove flaky tests on darwin
Some of the tests of ext-opcache are flaky on darwin.
Issue is not obvious to me and I cannot troubleshoot this locally.
2023-02-09 23:29:38 +01:00
Artturin
4d32075a0e phpPackages.mkDerivation: use lib.{fix,extends} instead of //
// on a overrideAttrs'able works badly

here we use lib.fix and lib.extends instead of overrideAttrs to have
less of a performance impact
2023-02-08 19:34:41 +02:00
Thomas Gerbet
e3bec64e7f phpExtensions.opcache: fix test environment for darwin 2023-02-06 22:47:16 +01:00
Pol Dellaiera
fb528f2237
php82: 8.2.1 -> 8.2.2 2023-02-01 21:40:01 +01:00
Bobby Rong
6efdd8b483
php.extensions.enchant: use enchant2
enchant2 is supported in PHP8+.

Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
2023-01-17 17:45:16 +08:00
Thomas Gerbet
91f785d868 php81Extensions.opcache, php81Extensions.opcache: fix test 2023-01-08 19:43:53 +01:00
Stanisław Pitucha
41064f4288
Merge pull request #208084 from apeschar/phan
phpPackages.phan: init at 5.4.1
2022-12-30 09:45:59 +11:00
Pol Dellaiera
8cd511dde1
feat: add passthru flags in PHP extension builder
So they can be handled correctly by `nix-update` tool
2022-12-29 18:19:12 +01:00
Albert Peschar
c8443f71d1 phpPackages.phan: init at 5.4.1 2022-12-29 11:44:59 +02:00
figsoda
ec8cb34358 treewide: fix typos 2022-12-17 19:39:44 -05:00
Maximilian Bosch
2580440389
Merge pull request #198470 from RaitoBezarius/nc25-openssl
nextcloud25: use openssl 1.1 as a PHP extension to fix RC4 encryption
2022-11-20 18:32:41 +01:00
Elis Hirwing
21b44e792e
php.packages: Add back meta attributes 2022-11-12 08:30:42 +01:00
Maximilian Bosch
35b146ca31
nixos/nextcloud: fixup openssl compat change
Upon testing the change itself I realized that it doesn't build properly
because

* the `pname` of a php extension is `php-<name>`, not `<name>`.
* calling the extension `openssl-legacy` resulted in PHP trying to compile
  `ext/openssl-legacy` which broke since it doesn't exist:

      source root is php-8.1.12
      setting SOURCE_DATE_EPOCH to timestamp 1666719000 of file php-8.1.12/win32/wsyslog.c
      patching sources
      cdToExtensionRootPhase
      /nix/store/48mnkga4kh84xyiqwzx8v7iv090i7z66-stdenv-linux/setup: line 1399: cd: ext/openssl-legacy: No such file or directory

I didn't encounter that one before because I was mostly interested in
having a sane behavior for everyone not using this "feature" and the
documentation around this. My findings about the behavior with turning
openssl1.1 on/off are still valid because I tested this on `master` with
manually replacing `openssl` by `openssl_1_1` in `php-packages.nix`.

To work around the issue I had to slightly modify the extension
build-system for PHP:

* The attribute `extensionName` is now relevant to determine the output
  paths (e.g. `lib/openssl.so`). This is not a behavioral change for
  existing extensions because then `extensionName==name`.

  However when specifying `extName` in `php-packages.nix` this value is
  overridden and it is made sure that the extension called `extName` NOT
  `name` (i.e. `openssl` vs `openssl-legacy`) is built and installed.

  The `name` still has to be kept to keep the legacy openssl available
  as `php.extensions.openssl-legacy`.

Additionally I implemented a small VM test to check the behavior with
server-side encryption:

* For `stateVersion` below 22.11, OpenSSL 1.1 is used (in `basic.nix`
  it's checked that OpenSSL 3 is used). With that the "default"
  behavior of the module is checked.

* It is ensured that the PHP interpreter for Nextcloud's php-fpm
  actually loads the correct openssl extension.

* It is tested that (encrypted) files remain usable when (temporarily)
  installing OpenSSL3 (of course then they're not decryptable, but on a
  rollback that should still be possible).

Finally, a few more documentation changes:

* I also mentioned the issue in `nextcloud.xml` to make sure the issue
  is at least mentioned in the manual section about Nextcloud. Not too
  much detail here, but the relevant option `enableBrokenCiphersForSSE`
  is referenced.

* I fixed a few minor wording issues to also give the full context
  (we're talking about Nextcloud; we're talking about the PHP extension
  **only**; please check if you really need this even though it's
  enabled by default).

  This is because I felt that sometimes it might be hard to understand
  what's going on when e.g. an eval-warning appears without telling where
  exactly it comes from.
2022-11-11 14:45:46 +01:00
Raito Bezarius
7eefaeb5e3
nextcloud25: use openssl 1.1 as a PHP extension to fix RC4 encryption 2022-11-10 12:17:43 +01:00
Aaron Andersen
d3c9c4df6b
Merge pull request #185683 from ilkecan/phpPackages-set-meta-mainProgram
phpPackages: set meta.mainProgram
2022-11-07 08:25:02 -05:00
Pol Dellaiera
d81b7507f0 php: enable imap extension by default 2022-10-03 10:06:48 +02:00
github-actions[bot]
3a12bb0241
Merge master into staging-next 2022-08-30 00:03:00 +00:00
Martin Weinelt
51228d186f
php.extensions.inotify: init at 3.0.0
https://pecl.php.net/package/inotify
2022-08-29 22:10:42 +02:00
ajs124
80f2c05c52 php80Extensions.openssl: pin to openssl_1_1 2022-08-17 20:16:21 +02:00
ilkecan
58919907a7 phpPackages: set meta.mainProgram 2022-08-08 16:38:05 +00:00
Artturin
67d19f473c phpPackage.mkExtension: makeOverridable 2022-06-24 17:35:48 +03:00
Elis Hirwing
9ec41c8875
php: Drop special cases for versions below 8.0 2022-06-08 18:11:51 +02:00
Elis Hirwing
42b3cedbb5
php.extensions.oci8: Drop 2.2.0 for older PHP packages 2022-06-08 18:10:00 +02:00
Elis Hirwing
00fa9e195e
php.extensions.php_excel: Deinit due to broken in all attributes after php74 deprecation 2022-06-08 18:08:42 +02:00
Elis Hirwing
c2cee3f76e
php.extensions.apcu_bc: Deinit due to broken in all attributes after php74 deprecation 2022-06-08 18:08:38 +02:00
Soner Sayakci
3ef60b5ffc
phpExtensions.grpc: init at 1.45.0 2022-05-18 19:18:25 +02:00
Jan Tojnar
d4884bbc9e php.extensions: Remove fixes for abandoned PHP versions 2022-05-10 00:37:55 +02:00
Kim Lindberger
5dc982e272
Merge pull request #170962 from jtojnar/php-ext-fixes
php.extensions: improve correctness and usability
2022-05-09 18:26:21 +02:00
Elis Hirwing
64db84dbb0
Merge pull request #168149 from johanjanssens/master
phpExtensions.openswoole: init at 4.11.1
2022-05-04 15:15:51 +02:00
Johan Janssens
81b77fd384
php74Extensions.openswoole: init at 4.11.1
Request to add openswoole: https://pecl.php.net/package/openswoole

Open Swoole is a fork of [Swoole](https://github.com/johanjanssens/nixpkgs/tree/master/pkgs/development/php-packages/swoole). It is actively maintained by some of the original developers and has growing community.

- https://github.com/openswoole
- https://openswoole.com/
- https://twitter.com/openswoole
2022-05-04 14:29:00 +02:00
Jan Tojnar
9cdbd72004 php.extensions.readline: Actually use readline
Building readline extension would say:

    checking for libedit readline replacement... yes, shared

even when configuring `--without-libedit`. This is because `PHP_ARG_WITH(libedit, …)`, internally calls `PHP_ALWAYS_SHARED`, which in `phpize`-generated `configure.ac` is defined as always forcing the value to shared. This will prevent `PHP_ARG_WITH(readline, …)` from being invoked so `READLINE_DIR` variable will never be defined.

This was not an issue before we split the extension out of php.unwrapped in 282337799b, as `PHP_ALWAYS_SHARED` is empty there.

-----

Additionally, because the build script passed `-L$READLINE_DIR/lib` as a flag to the compiler on PHP < 7.4 (built by the nix-phps repository), this ended up with a FHS-like path being passed to the linker. And once we bumped GCC to 11 in 52f8cf58a4, the linker would fail:

	  gcc -shared  .libs/readline.o .libs/readline_cli.o  -Wl,--rpath -Wl,/lib -L/lib -ledit -lncurses  -Wl,-soname -Wl,readline.so -o .libs/readline.so
	  impure path `/lib' used in link
	  collect2: error: ld returned 1 exit status

This no longer happens with PHP ≥ 7.4, since they switched to getting the linker flags from pkg-config in b537203d20.

----

As a compromise, let’s make the `PHP_ALWAYS_SHARED` function force `shared` status but only for flags that are not disabled. That will allow us to remove the libedit dependency and also the nasty patch for configure script due to `--with-libedit` not being passed (which would be required for PHP < 7.4 to be able to find readline.h from libedit).

Thanks to Pol Dellaiera for both bisections.
2022-05-02 04:30:34 +02:00
Jan Tojnar
03e31c533c php.mkExtension: make source name agnostic
PHP obtained from Git contains files directly in the top-level directory,
which will be placed in Nix store. The generic builder will then copy it
to the /build sandbox as its basename with hash stripped (e.g. source/).
This breaks the assumption of `mkExtension`, which expects that PHP’s
source will be extracted into `php-«version»/` directory, since that
is what the release tarballs contain.

Let’s unset the `sourceRoot`, leaving it to `unpackPhase` to find
the source directory. Then, we will be able go to the extension
directory from there.

We use custom pre-configure phase so that both `postPatch` and
`preConfigure` is available to consumers.
2022-05-02 03:56:12 +02:00
Jan Tojnar
b2ae4d5a0e php.mkExtension: Run installPhase pre/post hooks 2022-05-02 03:55:17 +02:00
Jan Tojnar
497d46b012 php.mkExtension: Format 2022-05-02 03:55:17 +02:00
Anders Kaseorg
6920d8ca42 treewide: Simplify negated uses of versionAtLeast, versionOlder
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-04-25 13:35:24 -07:00
Elis Hirwing
f2fd01f3b6
Merge pull request #162376 from shayne/master
php.extensions.datadog_trace: init at 0.70.0
2022-04-08 11:10:36 +02:00
Pol Dellaiera
a6aceda140
php.packages.phive: init at 0.15.0 2022-03-13 16:37:37 +01:00
shayne
72c95f2878
php.extensions.datadog_trace: init at 0.70.0 2022-03-01 11:40:47 -05:00