treewide: fix composer hashes that were broken by composer update (#452933)

This commit is contained in:
Maximilian Bosch
2025-10-17 20:47:39 +00:00
committed by GitHub
24 changed files with 37 additions and 21 deletions
+6
View File
@@ -214,6 +214,12 @@ code, while others choose not to.
In Nix, there are multiple approaches to building a Composer-based project.
::: {.warning}
`buildComposerProject2` has a [known bug](https://github.com/NixOS/nixpkgs/issues/451395)
where the `vendorHash` changes every time a Composer release happens that changes the
`autoload.php` or vendored composer code.
:::
One such method is the `php.buildComposerProject2` helper function, which serves
as a wrapper around `mkDerivation`.
+1 -1
View File
@@ -27,7 +27,7 @@ php82.buildComposerProject2 (finalAttrs: {
runHook postInstall
'';
vendorHash = "sha256-tBB3Zl/N1XqPTD84at5WoGrD0G5rJbobk4E8BFOSm+M=";
vendorHash = "sha256-cg9OIBvWX69yU6U6Ag/T3jScG2OUdpTqc+KwP6VyUHo=";
composerStrictValidation = false;
passthru.updateScript = nix-update-script { };
+2
View File
@@ -21,5 +21,7 @@ php.buildComposerProject2 (finalAttrs: {
homepage = "https://sabre.io/baikal/";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ wrvsrx ];
# vendorHash non-reproducible
broken = true;
};
})
@@ -16,7 +16,7 @@ php.buildComposerProject2 (finalAttrs: {
hash = "sha256-UAofdc8mqSnJXhCTABSf9JZERqur86lzNDI66EHgEQE=";
};
vendorHash = "sha256-bNeQEfwXly3LFuEKeSK6J6pRfQF6TNwUqu3SdTswmFI=";
vendorHash = "sha256-TlBrL4KyMVHaxqlfvnTkj3TkmU8h5/0BRC5e8yWrhCI=";
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
+1 -1
View File
@@ -15,7 +15,7 @@ php.buildComposerProject2 (finalAttrs: {
hash = "sha256-wtkixHexsJNKsLnnlHssh0IzxwWYMPKDcaf/D0zUNKk=";
};
vendorHash = "sha256-0uBI30n31W0eDVA9/W366O0Qo2jWZBqEL+YbJx4J7P0=";
vendorHash = "sha256-/bf1rvoG1N6GNqisBwMqY05qhTsy7gMeWXarXgElU/M=";
meta = {
changelog = "https://github.com/deployphp/deployer/releases/tag/v${finalAttrs.version}";
+1 -1
View File
@@ -23,7 +23,7 @@ php.buildComposerProject2 (finalAttrs: {
inherit php;
vendorHash = "sha256-0Mv48mB/pTQtYd2do6wTdhD/c2zwbU1gTYsdU7rELPY=";
vendorHash = "sha256-ODJgsvECw+q3sAA6pWNw4X2Png7f4G2Jty9AQSj/SgE=";
composoerNoDev = true;
composerStrictValidation = false;
+1 -1
View File
@@ -17,7 +17,7 @@ php.buildComposerProject2 (finalAttrs: {
composerLock = ./composer.lock;
composerStrictValidation = false;
vendorHash = "sha256-pup+ZfPEnqoA3wEXQNn4pWTYXri6d4XzMfuc8k1SeQk=";
vendorHash = "sha256-4wB8MRnqnruo9VXupMmAqiRSZx8F2i+8zcOphTeDp1g=";
meta = with lib; {
changelog = "https://github.com/flarum/framework/blob/main/CHANGELOG.md";
+1 -1
View File
@@ -19,7 +19,7 @@ php.buildComposerProject2 (finalAttrs: {
hash = "sha256-MnN6TIkNZWT+pAQf0+z5l3hj/7K/d3BfI7VAaUEKG8s=";
};
vendorHash = "sha256-n+6yNXqarWRZt6VEuHrFe3nrTiGeHnkURmO2UuB/BVc=";
vendorHash = "sha256-6vWV8+4tETUFBLeEoG7d8lHKILXvM7ezWbDiG11GA/s=";
offlineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/yarn.lock";
+1 -1
View File
@@ -88,7 +88,7 @@ php.buildComposerProject2 (finalAttrs: {
++ lib.optional minify.style.enable lightningcss
++ lib.optional minify.svg.enable scour;
vendorHash = "sha256-xkFyjs3jW7j+8WosRaxBEYQU2dwQlDr4/nrdtW03xvA=";
vendorHash = "sha256-Ke+bh/mvKUk5qxjlBZo4jJhLneyFRq0HYXTwK/KZMBs=";
postPatch = ''
# Our modules are already wrapped, removes missing *.so warnings;
+1 -1
View File
@@ -17,7 +17,7 @@ php.buildComposerProject2 (finalAttrs: {
};
composerLock = ./composer.lock;
vendorHash = "sha256-szKVZhWcd8p4307irNqgSAK2+hl8AW+gCPyf0EEco8A=";
vendorHash = "sha256-uK+nJFXDVPYFbosAUxqu+mmNsD7AnZ18NnIN9FYAaPQ=";
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
+1 -1
View File
@@ -16,7 +16,7 @@ php.buildComposerProject2 (finalAttrs: {
};
composerLock = ./composer.lock;
vendorHash = "sha256-rOJ6PFp4Xfe89usoH455EAT30d2Tu3zd3+C/6K/kGBw=";
vendorHash = "sha256-4CpyerXmfXbwsNsK16V+GY3Rzo4BfavGpOVITD14p8w=";
meta = {
changelog = "https://github.com/pestphp/pest/releases/tag/v${finalAttrs.version}";
+1 -1
View File
@@ -16,7 +16,7 @@ php.buildComposerProject2 (finalAttrs: {
hash = "sha256-9XWlWwq+xvqPgKIc7IGoMVTxajjYsrPo/ra/0JIE168=";
};
vendorHash = "sha256-3xkt0QjytW4BOCgZdevat7zkSuZTPPvwz3yptiq5zoo=";
vendorHash = "sha256-91Yz78nh4r+Gr7gKSwelTdO436ehENVTPUWcnDaU7zg=";
nativeBuildInputs = [ installShellFiles ];
+1 -1
View File
@@ -17,7 +17,7 @@ php.buildComposerProject2 (finalAttrs: {
hash = "sha256-iQA19FrXvVLzg+LaY1BcNmG8amMfKPVFwYbZ7dr+H9Q=";
};
vendorHash = "sha256-sFRy9Hy9CVNjjYqbPbKH0XhoUdu4HlkiuHDDovTGono=";
vendorHash = "sha256-iXkj0Pa4ln8GX/ARCpnijaWdFM4VYZuj42RP0GS2LW8=";
nativeBuildInputs = [ makeBinaryWrapper ];
+1 -1
View File
@@ -15,7 +15,7 @@ php.buildComposerProject2 (finalAttrs: {
hash = "sha256-zBhxuEViLxeQ9m3u1L0wYqeL+YEWWwvJS7PtsFPO5QU=";
};
vendorHash = "sha256-vnmp/HLzaOzHu22lzugRXIHL43YQ/hm223gcUbIiLT4=";
vendorHash = "sha256-Y1/wNFPXza2aO07ZFybpwI3XbTVBhEvFHs9ygHQbcSo=";
passthru = {
tests.version = testers.testVersion {
+2 -1
View File
@@ -58,6 +58,7 @@ php.buildComposerProject2 (finalAttrs: {
mainProgram = "psysh";
license = lib.licenses.mit;
homepage = "https://psysh.org/";
teams = [ lib.teams.php ];
# `composerVendor` doesn't build
broken = true;
};
})
@@ -16,7 +16,7 @@ php.buildComposerProject2 (finalAttrs: {
hash = "sha256-4rhIaPdyyLiIhVYC4KNKbPAbVsHKnK6BOsebFjmmDeI=";
};
vendorHash = "sha256-k+zFpBHE+r0a67gqUry+luMIhJZ5wo1RpEaF4c7vAmI=";
vendorHash = "sha256-uZqstfVp5uY7Sec32XLK7RvuUtP8Hj21W7tayhhuf2g=";
nativeInstallCheckInputs = [
versionCheckHook
+1 -1
View File
@@ -16,7 +16,7 @@ php82.buildComposerProject2 (finalAttrs: {
hash = "sha256-bAT4jHvqWeYcACeyGtBwVBA2Rz+AvkZcUGLDwSf+fLg=";
};
vendorHash = "sha256-vketnTu5VEgt3HBbtnTppWl3+sSSIsCB2MpvL27bxv4=";
vendorHash = "sha256-Rg8WTZUnWA4bemNmE7hxFwfnlMtYyPkeltAQEWJ2VDU=";
nativeInstallCheckInputs = [
versionCheckHook
@@ -16,7 +16,7 @@ php82.buildComposerProject2 (finalAttrs: {
hash = "sha256-giJAcH2R9hAlUTbwRi7rbmUP+WV8Nfb9XmoHHs4RcbI=";
};
vendorHash = "sha256-7oZtuQ7PhB7q9vNO2TLI46kg2q9BgdLjGUduGXAHc0E=";
vendorHash = "sha256-A/hAw0J4Q3kun6soxI6h7kpyGef9q0EFg8HAQHHZUro=";
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
@@ -14,6 +14,13 @@
versionCheckHook,
}:
/*
XXX IMPORTANT
Make sure to check if the `vendorHash` of `buildComposerProject2` changes when updating!
See https://github.com/NixOS/nixpkgs/issues/451395
*/
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "composer";
version = "2.8.12";
@@ -17,7 +17,7 @@
hash = "sha256-gY6ocmkd7eJIMaBrewfxYL7gTr+1qNHTkuAp+w9ApUU=";
};
vendorHash = "sha256-3frpoQzHtJA2/jJpZT+yIRatEwiY6LIUGzEZBa8hXbM=";
vendorHash = "sha256-zrHOw7Uyq8H7AyxrfCo5VthX1EeoSB44ynrRt38u3Sk=";
nativeInstallCheckInputs = [
versionCheckHook
@@ -15,7 +15,7 @@ php.buildComposerProject2 (finalAttrs: {
hash = "sha256-dv9v1KCLNheFmrRQ7cID5WFvoiH0OWVPWSrN023dEqA=";
};
vendorHash = "sha256-H1QJ+ML0tbZzEBKknP0GHhUhw+ujiIH/QNmEgA2zSmM=";
vendorHash = "sha256-U6BHAd4tWQKm6uCJ5sM51PltXhF3J4ieTnbC060+8Jg=";
meta = {
changelog = "https://github.com/phar-io/phive/releases/tag/${finalAttrs.version}";
@@ -17,7 +17,7 @@ php.buildComposerProject2 (finalAttrs: {
};
composerLock = ./composer.lock;
vendorHash = "sha256-ySdLlqlGKZ6LgmAOBMkBNoCAqWrgMwE/Cj6ZEPEsCko=";
vendorHash = "sha256-AQAASj5vrSE1xkJ/SZHU4GwOWNobe9ES0Yo+YrLH354=";
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
@@ -17,7 +17,7 @@ php.buildComposerProject2 (finalAttrs: {
};
composerLock = ./composer.lock;
vendorHash = "sha256-CwIfRmwJREz24Qj6J2PKQp+ix+/ZXo1oamcHc1fPUoc=";
vendorHash = "sha256-uy8/bkgjDXnt544S70IOwX9I8U0lMLAkbiBDYXyJBcY=";
nativeInstallCheckInputs = [
versionCheckHook
@@ -19,7 +19,7 @@ php.buildComposerProject2 (finalAttrs: {
# Missing `composer.lock` from the repository.
# Issue open at https://github.com/phpmd/phpmd/issues/1056
composerLock = ./composer.lock;
vendorHash = "sha256-AahAs3Gq1OQ+CW3+rU8NnWcR3hKzVNq7s3llsO4mQ38=";
vendorHash = "sha256-tiL8PL6Muc/i4Il1rCeEKenCmIEVn3rHFZInbUGQW9o=";
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";