From 79698482665dbc0baffab28aa0b7604ea920f92d Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Wed, 25 Nov 2020 20:15:00 +0100 Subject: [PATCH] libfaketime: fix build with clang The options -Wno-nonnull-compare, -Wno-error=cast-function-type and -Wno-error=format-truncation are unsupported by clang, letting the build fail. --- .../0001-Remove-unsupported-clang-flags.patch | 25 +++++++++++++++++++ .../libraries/libfaketime/default.nix | 7 ++++-- 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/libfaketime/0001-Remove-unsupported-clang-flags.patch diff --git a/pkgs/development/libraries/libfaketime/0001-Remove-unsupported-clang-flags.patch b/pkgs/development/libraries/libfaketime/0001-Remove-unsupported-clang-flags.patch new file mode 100644 index 000000000000..84ee18084c29 --- /dev/null +++ b/pkgs/development/libraries/libfaketime/0001-Remove-unsupported-clang-flags.patch @@ -0,0 +1,25 @@ +From f974fe07de9e6820bb1de50b31e480296d1d97b7 Mon Sep 17 00:00:00 2001 +From: Christian Kampka +Date: Wed, 25 Nov 2020 20:09:50 +0100 +Subject: [PATCH] Remove unsupported clang flags + +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index f13a6bb..b305150 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -69,7 +69,7 @@ PREFIX ?= /usr/local + LIBDIRNAME ?= /lib/faketime + PLATFORM ?=$(shell uname) + +-CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS) ++CFLAGS += -std=gnu99 -Wall -Wextra -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS) + ifeq ($(PLATFORM),SunOS) + CFLAGS += -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 + endif +-- +2.28.0 + diff --git a/pkgs/development/libraries/libfaketime/default.nix b/pkgs/development/libraries/libfaketime/default.nix index 10cc5cace7b5..6c751e07b831 100644 --- a/pkgs/development/libraries/libfaketime/default.nix +++ b/pkgs/development/libraries/libfaketime/default.nix @@ -11,7 +11,10 @@ stdenv.mkDerivation rec { patches = [ ./no-date-in-gzip-man-page.patch - ]; + ] ++ (stdenv.lib.optionals stdenv.cc.isClang [ + # https://github.com/wolfcw/libfaketime/issues/277 + ./0001-Remove-unsupported-clang-flags.patch + ]); postPatch = '' patchShebangs test src @@ -24,7 +27,7 @@ stdenv.mkDerivation rec { PREFIX = placeholder "out"; LIBDIRNAME = "/lib"; - NIX_CFLAGS_COMPILE = "-Wno-error=cast-function-type -Wno-error=format-truncation"; + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=cast-function-type -Wno-error=format-truncation"; checkInputs = [ perl ];