1
0
Fork 0
mirror of https://codeberg.org/icewind/haze.git synced 2026-06-03 17:14:08 +02:00

build new 8.0 and 8.1 images

This commit is contained in:
Robin Appelman 2026-03-09 22:48:27 +01:00
commit 8780fe0754
6 changed files with 108 additions and 7 deletions

View file

@ -16,7 +16,7 @@ jobs:
strategy: strategy:
matrix: matrix:
php-version: ["8.2", "8.3", "8.4"] php-version: ["8.0", "8,1", "8.2", "8.3", "8.4"]
variant: [""] variant: [""]
name: haze-${{ matrix.php-version }}${{ matrix.variant }} name: haze-${{ matrix.php-version }}${{ matrix.variant }}

View file

@ -61,10 +61,8 @@ haze start [database] [php-version] [services] [vX.Y.Z]
Where `database` is one of `sqlite`, `mysql`, `mariadb`, `pgsql` or `oracle` Where `database` is one of `sqlite`, `mysql`, `mariadb`, `pgsql` or `oracle`
with an optional version (e.g. `pgsql:12`), defaults to `sqlite`. And with an optional version (e.g. `pgsql:12`), defaults to `sqlite`. And
`php-version` is one of `8.2`, `8.3` or `8.4`, defaults to the maximum version `php-version` is one of `8.0`, `8.1`, `8.2`, `8.3` or `8.4`, defaults to the
support by the current Nextcloud version. `7.3` till `8.1` are still supported maximum version support by the current Nextcloud version.
but the docker images for those versions aren't being updated anymore so they
might be missing some newer features.
Each php version also comes with a `-dbg` variant that has php compiled in debug Each php version also comes with a `-dbg` variant that has php compiled in debug
mode and can be used for debugging php itself with gdb. mode and can be used for debugging php itself with gdb.

88
flake.lock generated
View file

@ -15,6 +15,22 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flakelight": { "flakelight": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -72,11 +88,48 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1772956932,
"narHash": "sha256-M0yS4AafhKxPPmOHGqIV0iKxgNO8bHDWdl1kOwGBwRY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "608d0cadfed240589a7eea422407a547ad626a14",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"phps": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs_2",
"utils": "utils"
},
"locked": {
"lastModified": 1772365008,
"narHash": "sha256-/ynkWKeZ1dyRIUkQas0AB35semWAwCbTKXu+/q+8MGg=",
"owner": "fossar",
"repo": "nix-phps",
"rev": "f47eb877bf1c219809e4357eec2fdab8e3263b7b",
"type": "github"
},
"original": {
"owner": "fossar",
"repo": "nix-phps",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"flakelight": "flakelight", "flakelight": "flakelight",
"mill-scale": "mill-scale", "mill-scale": "mill-scale",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs",
"phps": "phps"
} }
}, },
"rust-overlay": { "rust-overlay": {
@ -100,6 +153,39 @@
"repo": "rust-overlay", "repo": "rust-overlay",
"type": "github" "type": "github"
} }
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -9,8 +9,15 @@
url = "git+https://codeberg.org/icewind/mill-scale.git"; url = "git+https://codeberg.org/icewind/mill-scale.git";
inputs.flakelight.follows = "flakelight"; inputs.flakelight.follows = "flakelight";
}; };
phps = {
url = "github:fossar/nix-phps";
};
}; };
outputs = {mill-scale, ...}: outputs = {
mill-scale,
phps,
...
}:
mill-scale ./. { mill-scale ./. {
crossTargets = [ crossTargets = [
"x86_64-unknown-linux-gnu" "x86_64-unknown-linux-gnu"
@ -29,12 +36,17 @@
withOverlays = [ withOverlays = [
(import ./nix/overlay.nix) (import ./nix/overlay.nix)
(prev: final: {
inherit (phps.packages.${prev.system}) php81 php80;
})
]; ];
packages = { packages = {
"haze-image-php-8.4" = pkgs: pkgs.haze-image-php-84; "haze-image-php-8.4" = pkgs: pkgs.haze-image-php-84;
"haze-image-php-8.3" = pkgs: pkgs.haze-image-php-83; "haze-image-php-8.3" = pkgs: pkgs.haze-image-php-83;
"haze-image-php-8.2" = pkgs: pkgs.haze-image-php-82; "haze-image-php-8.2" = pkgs: pkgs.haze-image-php-82;
"haze-image-php-8.1" = pkgs: pkgs.haze-image-php-81;
"haze-image-php-8.0" = pkgs: pkgs.haze-image-php-80;
}; };
tools = pkgs: with pkgs; [cargo-edit bacon skopeo]; tools = pkgs: with pkgs; [cargo-edit bacon skopeo];

View file

@ -3,7 +3,9 @@
php, php,
debug ? false, debug ? false,
}: let }: let
inherit (builtins) compareVersions;
inherit (lib) optionals; inherit (lib) optionals;
withBlackfire = !debug && ((compareVersions php.version "8.1.0") == 1);
in in
php.buildEnv { php.buildEnv {
extensions = { extensions = {
@ -36,6 +38,8 @@ in
] ]
++ optionals (!debug) [ ++ optionals (!debug) [
smbclient # this breaks the build for no apparent reason smbclient # this breaks the build for no apparent reason
]
++ optionals withBlackfire [
blackfire blackfire
]); ]);
extraConfig = '' extraConfig = ''

View file

@ -4,4 +4,5 @@ final: prev: {
haze-image-php-83 = final.callPackage ./image/haze.nix {php = final.php83;}; haze-image-php-83 = final.callPackage ./image/haze.nix {php = final.php83;};
haze-image-php-82 = final.callPackage ./image/haze.nix {php = final.php82;}; haze-image-php-82 = final.callPackage ./image/haze.nix {php = final.php82;};
haze-image-php-81 = final.callPackage ./image/haze.nix {php = final.php81;}; haze-image-php-81 = final.callPackage ./image/haze.nix {php = final.php81;};
haze-image-php-80 = final.callPackage ./image/haze.nix {php = final.php80;};
} }