screen: backport pending patch to fix UB in unit tests

K900 f9c5a2df 3cfcacb6

+10 -7
+10 -7
pkgs/by-name/sc/screen/package.nix
··· 2 2 lib, 3 3 stdenv, 4 4 fetchurl, 5 + fetchpatch, 5 6 autoreconfHook, 6 7 ncurses, 7 8 libxcrypt, ··· 16 17 url = "mirror://gnu/screen/screen-${version}.tar.gz"; 17 18 hash = "sha256-La429Ns3n/zRS2kVlrpuwYrDqeIrxHrCOXiatYQJhp0="; 18 19 }; 20 + 21 + patches = [ 22 + (fetchpatch { 23 + url = "https://file.savannah.gnu.org/file/0001-test-fix-unit-tests.patch?file_id=57558"; 24 + stripLen = 1; 25 + hash = "sha256-q3jQQrzweLf2T/V5X9iL4ZZK342QEXLG5fZTaMOB4tY="; 26 + }) 27 + ]; 19 28 20 29 configureFlags = [ 21 30 "--enable-telnet" ··· 23 32 ]; 24 33 25 34 # We need _GNU_SOURCE so that mallocmock_reset() is defined: https://savannah.gnu.org/bugs/?66416 26 - env.NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE=1 -Wno-int-conversion -Wno-incompatible-pointer-types"; 35 + env.NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE=1"; 27 36 28 37 nativeBuildInputs = [ 29 38 autoreconfHook ··· 33 42 libxcrypt 34 43 pam 35 44 ]; 36 - 37 - # The test suite seems to have some glibc malloc hooks that don't exist/link on macOS 38 - # With pkgsLLVM / on loongarch64-linux: 39 - # tests/test-winmsgcond.c:53: assertion 'wmc_end(&wmc, pos + 1, &chg) == pos' failed 40 - doCheck = 41 - !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.useLLVM && !stdenv.hostPlatform.isLoongArch64; 42 45 43 46 meta = with lib; { 44 47 homepage = "https://www.gnu.org/software/screen/";