libliftoff_0_4: backport gcc-14 build fix

Without the change `gcc-14` build fails as:

    $ nix build --impure --expr 'with import ./. {}; libliftoff_0_4.override { stdenv = gcc14Stdenv; }'
    ...
    libliftoff> ../layer.c: In function 'liftoff_layer_create':
    libliftoff> ../layer.c:20:48: error: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
    libliftoff>    20 |         layer->candidate_planes = calloc(sizeof(layer->candidate_planes[0]),
    libliftoff>       |                                                ^
This commit is contained in:
Sergei Trofimovich 2024-06-29 16:52:47 +01:00
parent 7fee7ae70f
commit 72b09cfd89
2 changed files with 30 additions and 6 deletions

View File

@ -1,9 +1,17 @@
{ callPackage, fetchFromGitLab, ... }:
{
callPackage,
fetchFromGitLab,
fetchpatch,
}:
let
mkVariant =
version: hash:
{
version,
hash,
patches ? [ ],
}:
callPackage ./generic.nix {
inherit version;
inherit version patches;
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "emersion";
@ -14,6 +22,21 @@ let
};
in
{
libliftoff_0_4 = mkVariant "0.4.1" "sha256-NPwhsd6IOQ0XxNQQNdaaM4kmwoLftokV86WYhoa5csY=";
libliftoff_0_5 = mkVariant "0.5.0" "sha256-PcQY8OXPqfn8C30+GAYh0Z916ba5pik8U0fVpZtFb5g=";
libliftoff_0_4 = mkVariant {
version = "0.4.1";
hash = "sha256-NPwhsd6IOQ0XxNQQNdaaM4kmwoLftokV86WYhoa5csY=";
patches = [
# Pull gcc-14 fix:
# https://gitlab.freedesktop.org/emersion/libliftoff/-/merge_requests/78
(fetchpatch {
name = "libliftoff-gcc-14-calloc.patch";
url = "https://gitlab.freedesktop.org/emersion/libliftoff/-/commit/29a06add8ef184f85e37ff8abdc34fbaa2f4ee1e.patch";
hash = "sha256-Y8x1RK3o/I9bs/ZOLeC4t9AIK78l0QnlBWHhiVC+sz8=";
})
];
};
libliftoff_0_5 = mkVariant {
version = "0.5.0";
hash = "sha256-PcQY8OXPqfn8C30+GAYh0Z916ba5pik8U0fVpZtFb5g=";
};
}

View File

@ -3,11 +3,12 @@
, libdrm
, version
, src
, patches
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libliftoff";
inherit version src;
inherit version src patches;
nativeBuildInputs = [ meson pkg-config ninja ];