mirror of
https://codeberg.org/icewind/haze.git
synced 2026-08-02 12:14:46 +02:00
add phpunit 13
This commit is contained in:
parent
3f15ab0551
commit
44da124f75
2 changed files with 106 additions and 107 deletions
|
|
@ -38,10 +38,10 @@
|
||||||
nushell,
|
nushell,
|
||||||
nix2container,
|
nix2container,
|
||||||
buildEnv,
|
buildEnv,
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (builtins) toString compareVersions;
|
inherit (builtins) toString compareVersions;
|
||||||
inherit (lib)
|
inherit
|
||||||
|
(lib)
|
||||||
readFile
|
readFile
|
||||||
getExe
|
getExe
|
||||||
concatStringsSep
|
concatStringsSep
|
||||||
|
|
@ -53,7 +53,7 @@ let
|
||||||
version = (fromTOML (readFile ../../Cargo.toml)).package.version;
|
version = (fromTOML (readFile ../../Cargo.toml)).package.version;
|
||||||
|
|
||||||
phpVersion = concatStringsSep "." (take 2 (splitString "." php.version));
|
phpVersion = concatStringsSep "." (take 2 (splitString "." php.version));
|
||||||
phpEnv = callPackage ./php.nix { inherit debug php; };
|
phpEnv = callPackage ./php.nix {inherit debug php;};
|
||||||
|
|
||||||
bootstrap = writers.writeNuBin "bootstrap" (readFile ./bootstrap);
|
bootstrap = writers.writeNuBin "bootstrap" (readFile ./bootstrap);
|
||||||
shadowSetupScript = writeShellApplication {
|
shadowSetupScript = writeShellApplication {
|
||||||
|
|
@ -61,7 +61,7 @@ let
|
||||||
text = dockerTools.shadowSetup;
|
text = dockerTools.shadowSetup;
|
||||||
};
|
};
|
||||||
|
|
||||||
baseDirs = runCommand "tmp-dir" { } ''
|
baseDirs = runCommand "tmp-dir" {} ''
|
||||||
mkdir -p $out/tmp
|
mkdir -p $out/tmp
|
||||||
mkdir -p $out/var/cache/nginx
|
mkdir -p $out/var/cache/nginx
|
||||||
mkdir -p $out/var/log/nginx
|
mkdir -p $out/var/log/nginx
|
||||||
|
|
@ -73,10 +73,9 @@ let
|
||||||
mkdir -p $out/conf
|
mkdir -p $out/conf
|
||||||
mkdir -p $out/var/spool
|
mkdir -p $out/var/spool
|
||||||
'';
|
'';
|
||||||
configs = callPackage ./configs.nix { };
|
configs = callPackage ./configs.nix {};
|
||||||
scripts = callPackage ./scripts.nix { };
|
scripts = callPackage ./scripts.nix {};
|
||||||
phpunitUnwrapped =
|
phpunitUnwrapped = majorVersion:
|
||||||
majorVersion:
|
|
||||||
callPackage ./phpunit.nix {
|
callPackage ./phpunit.nix {
|
||||||
inherit majorVersion;
|
inherit majorVersion;
|
||||||
php = phpEnv;
|
php = phpEnv;
|
||||||
|
|
@ -84,7 +83,7 @@ let
|
||||||
|
|
||||||
phpunit = writeShellApplication {
|
phpunit = writeShellApplication {
|
||||||
name = "phpunit";
|
name = "phpunit";
|
||||||
runtimeInputs = [ jq ];
|
runtimeInputs = [jq];
|
||||||
text = ''
|
text = ''
|
||||||
MAJOR=$(jq -r 'first(.require."phpunit/phpunit" | scan("[[:digit:]]+"))' vendor-bin/phpunit/composer.json)
|
MAJOR=$(jq -r 'first(.require."phpunit/phpunit" | scan("[[:digit:]]+"))' vendor-bin/phpunit/composer.json)
|
||||||
case "$MAJOR" in
|
case "$MAJOR" in
|
||||||
|
|
@ -100,6 +99,9 @@ let
|
||||||
12)
|
12)
|
||||||
PKG=${phpunitUnwrapped "12"}
|
PKG=${phpunitUnwrapped "12"}
|
||||||
;;
|
;;
|
||||||
|
13)
|
||||||
|
PKG=${phpunitUnwrapped "13"}
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
PKG=${phpunitUnwrapped "10"}
|
PKG=${phpunitUnwrapped "10"}
|
||||||
;;
|
;;
|
||||||
|
|
@ -108,11 +110,11 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
certificates = runCommand "scripts" { } ''
|
certificates = runCommand "scripts" {} ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp -r ${../../certificates} $out/certificates
|
cp -r ${../../certificates} $out/certificates
|
||||||
'';
|
'';
|
||||||
clamav-data = runCommand "scripts" { } ''
|
clamav-data = runCommand "scripts" {} ''
|
||||||
mkdir -p $out/etc
|
mkdir -p $out/etc
|
||||||
mkdir -p $out/var/lib/clamav
|
mkdir -p $out/var/lib/clamav
|
||||||
cp ${data/clamav/daily.cvd} $out/var/lib/clamav/daily.cvd
|
cp ${data/clamav/daily.cvd} $out/var/lib/clamav/daily.cvd
|
||||||
|
|
@ -152,7 +154,8 @@ let
|
||||||
clamav-data
|
clamav-data
|
||||||
];
|
];
|
||||||
|
|
||||||
phpPackages = [
|
phpPackages =
|
||||||
|
[
|
||||||
phpEnv
|
phpEnv
|
||||||
phpEnv.packages.composer
|
phpEnv.packages.composer
|
||||||
phpunit
|
phpunit
|
||||||
|
|
@ -169,13 +172,10 @@ let
|
||||||
];
|
];
|
||||||
|
|
||||||
# https://blog.eigenvalue.net/2023-nix2container-everything-once/
|
# https://blog.eigenvalue.net/2023-nix2container-everything-once/
|
||||||
foldImageLayers =
|
foldImageLayers = let
|
||||||
let
|
mergeToLayer = priorLayers: component:
|
||||||
mergeToLayer =
|
|
||||||
priorLayers: component:
|
|
||||||
assert builtins.isList priorLayers;
|
assert builtins.isList priorLayers;
|
||||||
assert builtins.isAttrs component;
|
assert builtins.isAttrs component; let
|
||||||
let
|
|
||||||
layer = nix2container.buildLayer (
|
layer = nix2container.buildLayer (
|
||||||
component
|
component
|
||||||
// {
|
// {
|
||||||
|
|
@ -183,11 +183,11 @@ let
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
priorLayers ++ [ layer ];
|
priorLayers ++ [layer];
|
||||||
in
|
in
|
||||||
layers: lib.foldl mergeToLayer [ ] layers;
|
layers: lib.foldl mergeToLayer [] layers;
|
||||||
in
|
in
|
||||||
nix2container.buildImage {
|
nix2container.buildImage {
|
||||||
name = "icewind1991/haze";
|
name = "icewind1991/haze";
|
||||||
tag = phpVersion;
|
tag = phpVersion;
|
||||||
layers = foldImageLayers [
|
layers = foldImageLayers [
|
||||||
|
|
@ -208,7 +208,7 @@ nix2container.buildImage {
|
||||||
copyToRoot = buildEnv {
|
copyToRoot = buildEnv {
|
||||||
name = "php";
|
name = "php";
|
||||||
paths = phpPackages;
|
paths = phpPackages;
|
||||||
pathsToLink = [ "/bin" ];
|
pathsToLink = ["/bin"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|
@ -235,7 +235,7 @@ nix2container.buildImage {
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
config = {
|
config = {
|
||||||
Cmd = [ (getExe bootstrap) ];
|
Cmd = [(getExe bootstrap)];
|
||||||
Env = [
|
Env = [
|
||||||
"EDITOR=hx"
|
"EDITOR=hx"
|
||||||
"WEBROOT=/var/www/html"
|
"WEBROOT=/var/www/html"
|
||||||
|
|
@ -246,4 +246,4 @@ nix2container.buildImage {
|
||||||
"nl.icewind.haze.version" = toString version;
|
"nl.icewind.haze.version" = toString version;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,9 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
nix-update-script,
|
|
||||||
php,
|
php,
|
||||||
majorVersion,
|
majorVersion,
|
||||||
phpunit,
|
|
||||||
testers,
|
|
||||||
versionCheckHook,
|
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) concatStringsSep splitString take;
|
|
||||||
phpVersion = concatStringsSep "." (take 2 (splitString "." php.version));
|
|
||||||
versions = {
|
versions = {
|
||||||
"9" = {
|
"9" = {
|
||||||
version = "9.6.25";
|
version = "9.6.25";
|
||||||
|
|
@ -31,6 +25,11 @@
|
||||||
hash = "sha256-D5WI1kv05L8X3Gfw/MCxGdIcqWyWJg68GL9I24z/zIY=";
|
hash = "sha256-D5WI1kv05L8X3Gfw/MCxGdIcqWyWJg68GL9I24z/zIY=";
|
||||||
vendorHash = "sha256-DBzpwDVCOaw+5rXGLiCHBhKg+kibvBD1XDNFMte3Heo=";
|
vendorHash = "sha256-DBzpwDVCOaw+5rXGLiCHBhKg+kibvBD1XDNFMte3Heo=";
|
||||||
};
|
};
|
||||||
|
"13" = {
|
||||||
|
version = "13.2.4";
|
||||||
|
hash = "sha256-TL6KYumNXUQ2nvkw3s/0UtT3CVw1YZfAmaCn8FHznrg=";
|
||||||
|
vendorHash = "sha256-Vlpjra9pcqhEy6fe6he6gsivQEmaHRgspy14DwCEOW4=";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
php.buildComposerProject2 (finalAttrs: {
|
php.buildComposerProject2 (finalAttrs: {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue