darwin purity: libev

+22 -1
+3 -1
pkgs/development/libraries/libev/default.nix
··· 4 name = "libev-${version}"; 5 version="4.19"; 6 src = fetchurl { 7 - url = "http://dist.schmorp.de/libev/${name}.tar.gz"; 8 sha256 = "1jyw7qbl0spxqa0dccj9x1jsw7cj7szff43cq4acmklnra4mzz48"; 9 }; 10 11 # Version 4.19 is not valid C11 (which Clang default to) 12 # Check if this is still necessary on upgrade
··· 4 name = "libev-${version}"; 5 version="4.19"; 6 src = fetchurl { 7 + url = "http://dist.schmorp.de/libev/Attic/${name}.tar.gz"; 8 sha256 = "1jyw7qbl0spxqa0dccj9x1jsw7cj7szff43cq4acmklnra4mzz48"; 9 }; 10 + 11 + patches = [ ./noreturn.patch ]; 12 13 # Version 4.19 is not valid C11 (which Clang default to) 14 # Check if this is still necessary on upgrade
+13
pkgs/development/libraries/libev/noreturn.patch
···
··· 1 + diff --git a/ev.c b/ev.c 2 + index 6f36c6d..b8a1c5f 100644 3 + --- a/ev.c 4 + +++ b/ev.c 5 + @@ -1026,7 +1026,7 @@ ecb_inline uint64_t ecb_rotr64 (uint64_t x, unsigned int count) { return (x << ( 6 + #define ecb_unreachable() __builtin_unreachable () 7 + #else 8 + /* this seems to work fine, but gcc always emits a warning for it :/ */ 9 + - ecb_inline void ecb_unreachable (void) ecb_noreturn; 10 + + ecb_inline ecb_noreturn void ecb_unreachable (void); 11 + ecb_inline void ecb_unreachable (void) { } 12 + #endif 13 +
+6
pkgs/top-level/python-packages.nix
··· 5743 sha256 = "0cds7yvwdlqmd590i59vzxaviwxk4js6dkhnmdxb3p1xac7wmq9s"; 5744 }; 5745 5746 buildInputs = with self; [ pkgs.libev ]; 5747 propagatedBuildInputs = optionals (!isPyPy) [ self.greenlet ]; 5748
··· 5743 sha256 = "0cds7yvwdlqmd590i59vzxaviwxk4js6dkhnmdxb3p1xac7wmq9s"; 5744 }; 5745 5746 + patchPhase = '' 5747 + pushd libev 5748 + patch -p1 < ${../development/libraries/libev/noreturn.patch} 5749 + popd 5750 + ''; 5751 + 5752 buildInputs = with self; [ pkgs.libev ]; 5753 propagatedBuildInputs = optionals (!isPyPy) [ self.greenlet ]; 5754