Commit graph

411 commits

Author SHA1 Message Date
Elis Hirwing 21b44e792e
php.packages: Add back meta attributes 2022-11-12 08:30:42 +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
Pol Dellaiera ff2d50e1dd
php.packages.grumphp: init at 1.8.1 2022-03-01 08:07:12 +01:00
Pol Dellaiera cdfd5b47fc
php.packages.phing: init at 2.17.1 2022-02-24 21:08:05 +01:00
Pol Dellaiera 96983152e7
php81: 8.1.2 -> 8.1.3 2022-02-20 11:07:32 +01:00
Pol Dellaiera b94195fc84
phpExtensions.ds: init at 1.4.0 2022-01-26 22:16:26 +01:00
Pol Dellaiera 6794a2c3f6
php81: 8.1.1 -> 8.1.2 2022-01-23 18:23:57 +01:00
Elis Hirwing e3a7c62565
Merge pull request #147411 from drupol/php/php-8.1.0
php: Init at 8.1.1
2021-12-21 12:33:07 +01:00
Stéphan Kochen 2dbf96e7cc
php81Extensions.tokenizer: fix build
(cherry picked from commit cf7f4c058e822ee8eeaa2120c45f04b5b460a5db)
2021-12-21 10:13:10 +01:00
ajs124 4e9870ffa2
php80Extensions.xmlreader: fix build
(cherry picked from commit cede244af9)
2021-12-20 15:51:00 +01:00
Konrad Borowski 0af523ae77 phpExtensions: skip performance sensitive tests 2021-12-15 20:55:31 +01:00
ajs124 cede244af9 php80Extensions.xmlreader: fix build 2021-11-25 18:18:21 +01:00
taikx4 9571ac967f
phpExtensions.gnupg: init at 1.5.0 2021-11-23 20:06:39 +01:00
Eduard Bopp 637be68d8f phpExtensions.amqp: init at 1.11.0beta 2021-10-08 18:10:44 +02:00
ajs124 4c424870e6 phpPackages.dom: drop patch
does not apply to to 7.4.21 and 8.0.8 anymore
2021-07-01 14:07:39 +02:00
Aaron Andersen 485d0fc973 php: expose mkExtension 2021-06-29 07:38:12 -04:00
Elis Hirwing 94d07b7492
php: Run nixpkgs-fmt on all php related files 2021-06-26 20:07:56 +02:00
Zhaofeng Li 1f007dd009 Use lib.meta.availableOn for optional Valgrind dependency 2021-06-12 23:17:13 -07:00
Elis Hirwing fb644190a0
php: Drop package composer1
Composer2 has been stable for some time now.
2021-06-04 09:27:04 +02:00
Elis Hirwing be7451bc14
php: Drop extensions (pcs, v8, v8js, zmq, pthreads)
They have been marked as broken for a long time so they shouldn't be
used by anyone really.

They don't build in any of the supported versions.
2021-06-04 09:26:57 +02:00
Elis Hirwing 68eb5305ac
php: Drop PHP 7.3 support
PHP 7.3 won't be supported by upstream for the entire life cycle of
the 21.11 release.

Also drop the pcre' alias since it isn't needed anymore since we don't
need different pcre versions anymore.
2021-06-04 09:26:54 +02:00
Sandro bc64755cfa
Merge pull request #124603 from mjsir911/msirabella/peclCheck
php.buildPecl: Add checkPhase
2021-06-01 16:34:42 +02:00
Sandro 3850fdb330
Merge pull request #120699 from NorfairKing/package-php-snuffleupagus
php.extensions.snuffleupagus: init at 0.7.0
2021-06-01 15:47:53 +02:00
Tom Sydney Kerckhove 52248df095 php.extensions.snuffleupagus: init at 0.7.0 2021-05-31 16:15:02 +02:00
Marco Sirabella 3a66432f26
php.buildPecl: Add checkPhase
Also update phpPackages' to use NO_INTERACTION
2021-05-27 12:19:14 -04:00
Maximilian Bosch 53951c0c14
phpExtensions.dom: fix build
ZHF #122042
2021-05-23 21:26:27 +02:00
Jan Tojnar 024243bac4
php74.extensions.iconv: fix error signalling
The configure script checks whether iconv supports errno. Unfortunately, on PHP < 8, the test program includes $PHP_ICONV_H_PATH, which defaults to FHS path so it fails to build:

	conftest.c:13:10: fatal error: /usr/include/iconv.h: No such file or directory
	   13 | #include </usr/include/iconv.h>
	      |          ^~~~~~~~~~~~~~~~~~~~~~

That causes the feature check to report a false negative, leading PHP to use a degraded code that returns PHP_ICONV_ERR_UNKNOWN when error occurs, breaking granular error handling in applications.

To prevent this, let’s just include <iconv.h>.

PHP 8 just uses include path so the detection works there: 7bd1d70341
2021-05-23 00:10:02 +02:00