cmocka: 1.1.5 -> 1.1.6
> Version 1.1.6 has been released to fix several issues > and a few small new features. https://gitlab.com/cmocka/cmocka/-/blob/cmocka-1.1.6/ChangeLog We might conditionalize the patch e.g. for musl only, but I don't think it could cause trouble elsewhere.
This commit is contained in:
parent
0f910f5664
commit
4454f21034
|
@ -1,26 +1,17 @@
|
||||||
{ fetchurl, fetchpatch, lib, stdenv, cmake }:
|
{ fetchurl, fetchpatch, lib, stdenv, cmake }:
|
||||||
let
|
|
||||||
# Temporary split to save rebuilds; see PR #217469
|
|
||||||
isUpdated = with stdenv; isDarwin && isAarch64;
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cmocka";
|
pname = "cmocka";
|
||||||
majorVersion = "1.1";
|
majorVersion = "1.1";
|
||||||
version = "${majorVersion}." + (if isUpdated then "6" else "5");
|
version = "${majorVersion}.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://cmocka.org/files/${majorVersion}/cmocka-${version}.tar.xz";
|
url = "https://cmocka.org/files/${majorVersion}/cmocka-${version}.tar.xz";
|
||||||
sha256 = if isUpdated
|
sha256 = "0xksffx1w3pzm18ynf28cx8scrhylcbz43s1rgkkdqnyil1q6cjv";
|
||||||
then "0xksffx1w3pzm18ynf28cx8scrhylcbz43s1rgkkdqnyil1q6cjv"
|
|
||||||
else "1dm8pdvkyfa8dsbz9bpq7wwgixjij4sii9bbn5sgvqjm5ljdik7h";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = lib.optionals (!isUpdated) [
|
patches = [
|
||||||
(fetchpatch {
|
./uintptr_t.patch
|
||||||
name = "musl-uintptr.patch";
|
|
||||||
url = "https://git.alpinelinux.org/aports/plain/main/cmocka/musl_uintptr.patch?id=6a15dd0d0ba9cc354a621fb359ca5e315ff2eabd";
|
|
||||||
sha256 = "sha256-fhb2Tax30kRTGuaKvzSzglSd/ntxiNeGFJt5I8poa24=";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
16
pkgs/development/libraries/cmocka/uintptr_t.patch
Normal file
16
pkgs/development/libraries/cmocka/uintptr_t.patch
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
Resolve messy situation with uintptr_t and stdint.h
|
||||||
|
|
||||||
|
Platforms common in nixpkgs will have stdint.h - thereby we avoid problems
|
||||||
|
that seem complicated to avoid. References:
|
||||||
|
https://gitlab.com/cmocka/cmocka/-/issues/38#note_1286565655
|
||||||
|
https://git.alpinelinux.org/aports/plain/main/cmocka/musl_uintptr.patch?id=6a15dd0d0ba9cc354a621fb359ca5e315ff2eabd
|
||||||
|
|
||||||
|
It isn't easy, as 1.1.6 codebase is missing stdint.h includes on many places,
|
||||||
|
and HAVE_UINTPTR_T from cmake also wouldn't get on all places it needs to.
|
||||||
|
--- a/include/cmocka.h
|
||||||
|
+++ b/include/cmocka.h
|
||||||
|
@@ -18,2 +18,4 @@
|
||||||
|
#define CMOCKA_H_
|
||||||
|
+#include <stdint.h>
|
||||||
|
+#define HAVE_UINTPTR_T 1
|
||||||
|
|
Loading…
Reference in a new issue