From 64db4f7a57315f6be9b8bcc03fb549a85a11c9b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 18 Feb 2018 10:35:46 +0100 Subject: [PATCH] libunique: fix build with gcc-7 by fixing a bug --- .../libraries/libunique/default.nix | 5 +++-- .../libraries/libunique/gcc7-bug.patch | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/libunique/gcc7-bug.patch diff --git a/pkgs/development/libraries/libunique/default.nix b/pkgs/development/libraries/libunique/default.nix index a5adaa9ac17..1bef7683654 100644 --- a/pkgs/development/libraries/libunique/default.nix +++ b/pkgs/development/libraries/libunique/default.nix @@ -13,7 +13,8 @@ stdenv.mkDerivation rec { ./1.1.6-fix-test.patch ./1.1.6-G_CONST_RETURN.patch ./1.1.6-include-terminator.patch - ]; + ] + ++ [ ./gcc7-bug.patch ]; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ glib gtk2 dbus_glib ]; @@ -24,7 +25,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - homepage = http://live.gnome.org/LibUnique; + homepage = https://wiki.gnome.org/Attic/LibUnique; description = "A library for writing single instance applications"; license = stdenv.lib.licenses.lgpl21; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/development/libraries/libunique/gcc7-bug.patch b/pkgs/development/libraries/libunique/gcc7-bug.patch new file mode 100644 index 00000000000..2b0587510bc --- /dev/null +++ b/pkgs/development/libraries/libunique/gcc7-bug.patch @@ -0,0 +1,18 @@ +gcc-7 newly detects this class of bugs. +In this particular case it's clear that the inention was +to detect if the string is non-NULL *and* non-empty. + + +diff --git a/unique/uniqueapp.c b/unique/uniqueapp.c +index b40a86c..66a7226 100644 +--- a/unique/uniqueapp.c ++++ b/unique/uniqueapp.c +@@ -176,7 +176,7 @@ set_startup_id (UniqueBackend *backend, + { + gchar *id; + +- if (startup_id && startup_id != '\0') ++ if (startup_id && *startup_id != '\0') + id = g_strdup (startup_id); + else + {