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"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743783972,
|
"lastModified": 1744298740,
|
||||||
"narHash": "sha256-5wPsNCnWmeLpLxavsftA9L7tnYgtlexV7FwLegxtpy4=",
|
"narHash": "sha256-m5RnbHQqYQhQA4ntohXlJsiIsOAKx+pz/vOC+E+FmHg=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "devenv",
|
"repo": "devenv",
|
||||||
"rev": "2f53e2f867e0c2ba18b880e66169366e5f8ca554",
|
"rev": "028c6a38fb0284c96691176bd31626bf36981129",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -350,11 +350,11 @@
|
||||||
},
|
},
|
||||||
"hardware": {
|
"hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743420942,
|
"lastModified": 1744366945,
|
||||||
"narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=",
|
"narHash": "sha256-OuLhysErPHl53BBifhesrRumJNhrlSgQDfYOTXfgIMg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4",
|
"rev": "1fe3cc2bc5d2dc9c81cb4e63d2f67c1543340df1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -504,11 +504,11 @@
|
||||||
"rust-overlay": "rust-overlay_2"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744137608,
|
"lastModified": 1744369853,
|
||||||
"narHash": "sha256-KEuKL7lM2ZqKzvaGIptVDAce29CAR4ZSgWtFD3PnpB0=",
|
"narHash": "sha256-rVW9J8gMUFj8PsFV2TgNiNuJd8+O+FUizEQgl1ooQFY=",
|
||||||
"owner": "lilyinstarlight",
|
"owner": "lilyinstarlight",
|
||||||
"repo": "nixos-cosmic",
|
"repo": "nixos-cosmic",
|
||||||
"rev": "d20b15f629985fe6900925bef462f947e4a75b2f",
|
"rev": "c2b4dd2f85d558c7147bc06c6417f87aa1775ad5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -581,11 +581,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743975612,
|
"lastModified": 1744168086,
|
||||||
"narHash": "sha256-o4FjFOUmjSRMK7dn0TFdAT0RRWUWD+WsspPHa+qEQT8=",
|
"narHash": "sha256-S9M4HddBCxbbX1CKSyDYgZ8NCVyHcbKnBfoUXeRu2jQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a880f49904d68b5e53338d1e8c7bf80f59903928",
|
"rev": "60e405b241edb6f0573f3d9f944617fe33ac4a73",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -677,11 +677,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743964447,
|
"lastModified": 1744098102,
|
||||||
"narHash": "sha256-nEo1t3Q0F+0jQ36HJfbJtiRU4OI+/0jX/iITURKe3EE=",
|
"narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "063dece00c5a77e4a0ea24e5e5a5bd75232806f8",
|
"rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -802,11 +802,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744079607,
|
"lastModified": 1744338850,
|
||||||
"narHash": "sha256-5cog6Qd6w/bINdLO5mOysAHOHey8PwFXk4IWo+y+Czg=",
|
"narHash": "sha256-pwMIVmsb8fjjT92n5XFDqCsplcX70qVMMT7NulumPXs=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "f6b62cc99c25e79a1c17e9fca91dc6b6faebec6c",
|
"rev": "5e64aecc018e6f775572609e7d7485fdba6985a7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
14
flake.nix
14
flake.nix
|
@ -70,10 +70,16 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
packages = lib.packagesFromDirectoryRecursive {
|
packages =
|
||||||
inherit (pkgs) callPackage;
|
lib.packagesFromDirectoryRecursive {
|
||||||
directory = ./packages;
|
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