export symfony cli
This commit is contained in:
parent
a0e1acec0e
commit
be9fb9278e
36
flake.lock
36
flake.lock
|
@ -95,11 +95,11 @@
|
|||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743783972,
|
||||
"narHash": "sha256-5wPsNCnWmeLpLxavsftA9L7tnYgtlexV7FwLegxtpy4=",
|
||||
"lastModified": 1744298740,
|
||||
"narHash": "sha256-m5RnbHQqYQhQA4ntohXlJsiIsOAKx+pz/vOC+E+FmHg=",
|
||||
"owner": "cachix",
|
||||
"repo": "devenv",
|
||||
"rev": "2f53e2f867e0c2ba18b880e66169366e5f8ca554",
|
||||
"rev": "028c6a38fb0284c96691176bd31626bf36981129",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -350,11 +350,11 @@
|
|||
},
|
||||
"hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1743420942,
|
||||
"narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=",
|
||||
"lastModified": 1744366945,
|
||||
"narHash": "sha256-OuLhysErPHl53BBifhesrRumJNhrlSgQDfYOTXfgIMg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4",
|
||||
"rev": "1fe3cc2bc5d2dc9c81cb4e63d2f67c1543340df1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -504,11 +504,11 @@
|
|||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744137608,
|
||||
"narHash": "sha256-KEuKL7lM2ZqKzvaGIptVDAce29CAR4ZSgWtFD3PnpB0=",
|
||||
"lastModified": 1744369853,
|
||||
"narHash": "sha256-rVW9J8gMUFj8PsFV2TgNiNuJd8+O+FUizEQgl1ooQFY=",
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"rev": "d20b15f629985fe6900925bef462f947e4a75b2f",
|
||||
"rev": "c2b4dd2f85d558c7147bc06c6417f87aa1775ad5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -581,11 +581,11 @@
|
|||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1743975612,
|
||||
"narHash": "sha256-o4FjFOUmjSRMK7dn0TFdAT0RRWUWD+WsspPHa+qEQT8=",
|
||||
"lastModified": 1744168086,
|
||||
"narHash": "sha256-S9M4HddBCxbbX1CKSyDYgZ8NCVyHcbKnBfoUXeRu2jQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a880f49904d68b5e53338d1e8c7bf80f59903928",
|
||||
"rev": "60e405b241edb6f0573f3d9f944617fe33ac4a73",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -677,11 +677,11 @@
|
|||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1743964447,
|
||||
"narHash": "sha256-nEo1t3Q0F+0jQ36HJfbJtiRU4OI+/0jX/iITURKe3EE=",
|
||||
"lastModified": 1744098102,
|
||||
"narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "063dece00c5a77e4a0ea24e5e5a5bd75232806f8",
|
||||
"rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -802,11 +802,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744079607,
|
||||
"narHash": "sha256-5cog6Qd6w/bINdLO5mOysAHOHey8PwFXk4IWo+y+Czg=",
|
||||
"lastModified": 1744338850,
|
||||
"narHash": "sha256-pwMIVmsb8fjjT92n5XFDqCsplcX70qVMMT7NulumPXs=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "f6b62cc99c25e79a1c17e9fca91dc6b6faebec6c",
|
||||
"rev": "5e64aecc018e6f775572609e7d7485fdba6985a7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -70,9 +70,15 @@
|
|||
];
|
||||
};
|
||||
|
||||
packages = lib.packagesFromDirectoryRecursive {
|
||||
packages =
|
||||
lib.packagesFromDirectoryRecursive {
|
||||
inherit (pkgs) callPackage;
|
||||
directory = ./packages;
|
||||
}
|
||||
// {
|
||||
symfony-cli = pkgs.callPackage ./symfony-cli/package.nix {
|
||||
fossarPhps = inputs'.phps.packages;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
72
symfony-cli/package.nix
Normal file
72
symfony-cli/package.nix
Normal file
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
lib,
|
||||
fossarPhps,
|
||||
symlinkJoin,
|
||||
symfony-cli,
|
||||
makeWrapper,
|
||||
}: let
|
||||
supportedPhps = [
|
||||
"php72"
|
||||
"php73"
|
||||
"php74"
|
||||
"php80"
|
||||
"php81"
|
||||
"php82"
|
||||
"php83"
|
||||
"php84"
|
||||
];
|
||||
|
||||
extraConfig = ''
|
||||
memory_limit = -1
|
||||
|
||||
xdebug.mode = develop,coverage,gcstats,profile,debug,trace
|
||||
xdebug.discover_client_host = 1
|
||||
xdebug.client_host = localhost
|
||||
'';
|
||||
|
||||
# Wrap all PHP versions with the extensions I need and bundle composer
|
||||
phps = lib.genAttrs supportedPhps (
|
||||
phpName: let
|
||||
phpBase = fossarPhps.${phpName};
|
||||
phpWithEnv = phpBase.buildEnv {
|
||||
extensions = {
|
||||
enabled,
|
||||
all,
|
||||
}:
|
||||
enabled
|
||||
++ [all.xdebug]
|
||||
++ (
|
||||
if (lib.versionAtLeast phpBase.version "8")
|
||||
then [all.amqp]
|
||||
else []
|
||||
);
|
||||
inherit extraConfig;
|
||||
};
|
||||
phpWithTools = symlinkJoin {
|
||||
inherit (phpWithEnv) name version meta passthru;
|
||||
paths = [
|
||||
phpWithEnv
|
||||
phpWithEnv.packages.composer
|
||||
];
|
||||
};
|
||||
in
|
||||
phpWithTools
|
||||
);
|
||||
|
||||
package = symfony-cli;
|
||||
in
|
||||
# Tell Symfony's CLI where it can access the different PHP versions
|
||||
symlinkJoin {
|
||||
inherit (package) pname version meta;
|
||||
|
||||
paths = [package];
|
||||
|
||||
buildInputs = [makeWrapper];
|
||||
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/${package.meta.mainProgram} \
|
||||
--suffix PATH : ${lib.makeBinPath (
|
||||
builtins.attrValues phps
|
||||
)}
|
||||
'';
|
||||
}
|
Loading…
Reference in a new issue