Change:
Steps to reproduce the behavior: php-simplexml-8.1.2 This happen after latest flake update Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Hydra build : and seem fine: Probably related: (fixes for 8.2 and 8.3 with same error) 1 is out of active support, so there was no backport for from upstream PS you did not ping any maintainers for that package, so they would need to notice this issue (which is unlikely)
Also causes an lsp-plugins build failure. Gonna ping maintainers.
this is fixed in master
forgive my ignorance, but what needs to happen for the fix on master to make its way to the unstable channel? I would love to be able to rebuild my system soon
fixed "lsp-plugins build failure" (it does not depend on php 8.1 version now) If your system update depends on in some other way it won't help. does not build on current master as of (2024-07-30T19:50:23Z)
Well if you only need to rebuild your system again and you don't necessarily care about the updates you're missing out on, you can try using a previous version of your file

Discussion:
version = "8.1.29"; hash = "sha256-h6YDEyY/L1M/GA5xknLKXkfNmITU7DyTcgGY6v+uCCc="; extraPatches = [ <del> # Fix build with libxml 2.12+. </del> <ins> # Fix build with libxml2 2.12+. </ins> # Patch from https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082 (fetchpatch { url = "https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082.patch"; hash = "sha256-HvpTL7aXO9gr4glFdhqUWQPrG8TYTlvbNINq33M3zS0="; }) <ins> # Fix tests with libxml2 2.12 (fetchpatch { url = "https://github.com/php/php-src/commit/061058a9b1bbd90d27d97d79aebcf2b5029767b0.patch"; hash = "sha256-0hOlAG+pOYp/gUU0MUMZvzWpgr0ncJi5GB8IeNxxyEU="; excludes = [ "NEWS" ]; }) # Backport of PHP_LIBXML_IGNORE_DEPRECATIONS_START and PHP_LIBXML_IGNORE_DEPRECATIONS_END # Required for libxml2 2.13 compatibility patch. ./php81-fix-libxml2-2.13-compatibility.patch # Fix build with libxml2 2.13+. Has to be applied after libxml2 2.12 patch. (fetchpatch { url = "https://github.com/php/php-src/commit/9b4f6b09d58a4e54ee60443bf9a8b166852c03e0.patch"; hash = "sha256-YC3I0BQi3o3+VmRu/UqpqPpaSC+ekPqzbORTHftbPvY="; }) </ins> ]; }); in

<ins> diff --git a/ext/libxml/php_libxml.h b/ext/libxml/php_libxml.h index a1011f0b17..7a7622c482 100644 --- a/ext/libxml/php_libxml.h +++ b/ext/libxml/php_libxml.h @@ -119,6 +119,23 @@ PHP_LIBXML_API void php_libxml_shutdown(void); ZEND_TSRMLS_CACHE_EXTERN() #endif +#if defined(__clang__) +# define PHP_LIBXML_IGNORE_DEPRECATIONS_START  +	_Pragma("clang diagnostic push")  +	_Pragma("clang diagnostic ignored "-Wdeprecated-declarations"") +# define PHP_LIBXML_IGNORE_DEPRECATIONS_END  +	_Pragma("clang diagnostic pop") +#elif defined(__GNUC__) +# define PHP_LIBXML_IGNORE_DEPRECATIONS_START  +	_Pragma("GCC diagnostic push")  +	_Pragma("GCC diagnostic ignored "-Wdeprecated-declarations"") +# define PHP_LIBXML_IGNORE_DEPRECATIONS_END  +	_Pragma("GCC diagnostic pop") +#else +# define PHP_LIBXML_IGNORE_DEPRECATIONS_START +# define PHP_LIBXML_IGNORE_DEPRECATIONS_END +#endif + /* Other extension may override the global state options, these global options * are copied initially to ctxt->options. Set the options to a known good value. * See libxml2 globals.c and parserInternals.c. </ins>

"--enable-dom" ]; # Add a PHP lower version bound constraint to avoid applying the patch on older PHP versions. <del> patches = lib.optionals ((lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.14" && lib.versionAtLeast php.version "8.2.7") || (lib.versions.majorMinor php.version == "8.1" && lib.versionAtLeast php.version "8.1.27")) [ </del> <ins> patches = lib.optionals ((lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.14" && lib.versionAtLeast php.version "8.2.7") || (lib.versions.majorMinor php.version == "8.1")) [ </ins> # Fix tests with libxml 2.12 # Part of 8.3.1RC1+, 8.2.14RC1+ (fetchpatch {

"NEWS" ]; }) <ins> ] ++ lib.optionals (lib.versions.majorMinor php.version == "8.1") [ # Backport of PHP_LIBXML_IGNORE_DEPRECATIONS_START and PHP_LIBXML_IGNORE_DEPRECATIONS_END ../development/interpreters/php/php81-fix-libxml2-2.13-compatibility.patch # Fix build with libxml2 2.13+. Has to be applied after libxml2 2.12 patch. (fetchpatch { url = "https://github.com/php/php-src/commit/9b4f6b09d58a4e54ee60443bf9a8b166852c03e0.patch"; hash = "sha256-YC3I0BQi3o3+VmRu/UqpqPpaSC+ekPqzbORTHftbPvY="; }) </ins> ] ++ lib.optionals (lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.22") [ # Fixes compatibility with libxml2 2.13. Part of 8.3.10RC1+, 8.2.22RC1+ (fetchpatch {

configureFlags = [ "--enable-simplexml" ]; <del> patches = lib.optionals (lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.22") [ </del> <ins> patches = lib.optionals (lib.versions.majorMinor php.version == "8.1") [ # Fix tests with libxml2 2.12 (fetchpatch { url = "https://github.com/php/php-src/commit/061058a9b1bbd90d27d97d79aebcf2b5029767b0.patch"; hash = "sha256-0hOlAG+pOYp/gUU0MUMZvzWpgr0ncJi5GB8IeNxxyEU="; excludes = [ "NEWS" ]; }) # Backport of PHP_LIBXML_IGNORE_DEPRECATIONS_START and PHP_LIBXML_IGNORE_DEPRECATIONS_END # Required for libxml2 2.13 compatibility patch. ../development/interpreters/php/php81-fix-libxml2-2.13-compatibility.patch # Fix build with libxml2 2.13+. Has to be applied after libxml2 2.12 patch. (fetchpatch { url = "https://github.com/php/php-src/commit/9b4f6b09d58a4e54ee60443bf9a8b166852c03e0.patch"; hash = "sha256-YC3I0BQi3o3+VmRu/UqpqPpaSC+ekPqzbORTHftbPvY="; }) ] ++ lib.optionals (lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.22") [ </ins> # Fixes compatibility with libxml2 2.13. Part of 8.3.10RC1+, 8.2.22RC1+ (fetchpatch { url = "https://github.com/php/php-src/commit/4fe821311cafb18ca8bdf20b9d796c48a13ba552.diff?full_index=1";

]; doCheck = stdenv.isDarwin;  # TODO: a couple tests still fail on *-linux internalDeps = [ php.extensions.session ]; <del> patches = lib.optionals (lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.22") [ </del> <ins> patches = lib.optionals (lib.versions.majorMinor php.version == "8.1") [ # Fix tests with libxml2 2.12 (fetchpatch { url = "https://github.com/php/php-src/commit/061058a9b1bbd90d27d97d79aebcf2b5029767b0.patch"; hash = "sha256-0hOlAG+pOYp/gUU0MUMZvzWpgr0ncJi5GB8IeNxxyEU="; excludes = [ "NEWS" ]; }) # Backport of PHP_LIBXML_IGNORE_DEPRECATIONS_START and PHP_LIBXML_IGNORE_DEPRECATIONS_END # Required for libxml2 2.13 compatibility patch. ../development/interpreters/php/php81-fix-libxml2-2.13-compatibility.patch # Fix build with libxml2 2.13+. Has to be applied after libxml2 2.12 patch. (fetchpatch { url = "https://github.com/php/php-src/commit/9b4f6b09d58a4e54ee60443bf9a8b166852c03e0.patch"; hash = "sha256-YC3I0BQi3o3+VmRu/UqpqPpaSC+ekPqzbORTHftbPvY="; }) ] ++ lib.optionals (lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.22") [ </ins> # Fixes compatibility with libxml2 2.13. Part of 8.3.10RC1+, 8.2.22RC1+ (fetchpatch { url = "https://github.com/php/php-src/commit/4fe821311cafb18ca8bdf20b9d796c48a13ba552.diff?full_index=1";

"--enable-xml" ]; doCheck = false; <del> patches = lib.optionals (lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.22") [ </del> <ins> patches = lib.optionals (lib.versions.majorMinor php.version == "8.1") [ # Fix tests with libxml2 2.12 (fetchpatch { url = "https://github.com/php/php-src/commit/061058a9b1bbd90d27d97d79aebcf2b5029767b0.patch"; hash = "sha256-0hOlAG+pOYp/gUU0MUMZvzWpgr0ncJi5GB8IeNxxyEU="; excludes = [ "NEWS" ]; }) # Backport of PHP_LIBXML_IGNORE_DEPRECATIONS_START and PHP_LIBXML_IGNORE_DEPRECATIONS_END # Required for libxml2 2.13 compatibility patch. ../development/interpreters/php/php81-fix-libxml2-2.13-compatibility.patch # Fix build with libxml2 2.13+. Has to be applied after libxml2 2.12 patch. (fetchpatch { url = "https://github.com/php/php-src/commit/9b4f6b09d58a4e54ee60443bf9a8b166852c03e0.patch"; hash = "sha256-YC3I0BQi3o3+VmRu/UqpqPpaSC+ekPqzbORTHftbPvY="; }) ] ++ lib.optionals (lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.22") [ </ins> # Fixes compatibility with libxml2 2.13. Part of 8.3.10RC1+, 8.2.22RC1+ (fetchpatch { url = "https://github.com/php/php-src/commit/4fe821311cafb18ca8bdf20b9d796c48a13ba552.diff?full_index=1";

configureFlags = [ "--enable-xmlwriter" ]; <del> patches = lib.optionals (lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.22") [ </del> <ins> patches = lib.optionals (lib.versions.majorMinor php.version == "8.1") [ # Fix tests with libxml2 2.12 (fetchpatch { url = "https://github.com/php/php-src/commit/061058a9b1bbd90d27d97d79aebcf2b5029767b0.patch"; hash = "sha256-0hOlAG+pOYp/gUU0MUMZvzWpgr0ncJi5GB8IeNxxyEU="; excludes = [ "NEWS" ]; }) # Backport of PHP_LIBXML_IGNORE_DEPRECATIONS_START and PHP_LIBXML_IGNORE_DEPRECATIONS_END # Required for libxml2 2.13 compatibility patch. ../development/interpreters/php/php81-fix-libxml2-2.13-compatibility.patch # Fix build with libxml2 2.13+. Has to be applied after libxml2 2.12 patch. (fetchpatch { url = "https://github.com/php/php-src/commit/9b4f6b09d58a4e54ee60443bf9a8b166852c03e0.patch"; hash = "sha256-YC3I0BQi3o3+VmRu/UqpqPpaSC+ekPqzbORTHftbPvY="; }) ] ++ lib.optionals (lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.22") [ </ins> # Fixes compatibility with libxml2 2.13. Part of 8.3.10RC1+, 8.2.22RC1+ (fetchpatch { url = "https://github.com/php/php-src/commit/4fe821311cafb18ca8bdf20b9d796c48a13ba552.diff?full_index=1";