about summary refs log tree commit diff
path: root/pkgs/development/ruby-modules
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2019-09-15 13:18:54 +0200
committerVladimír Čunát <v@cunat.cz>2019-09-15 13:18:54 +0200
commitb6c6e1f9e8f72ad7caf3b7daec327f77a16ffba1 (patch)
tree1665938bf023545db2afcf42d924a47d7f2918b2 /pkgs/development/ruby-modules
parent9f8a7d26798ced69f3185a59383bbb3db6b06bde (diff)
parentc860babfe6a512aa7c7e83751547347a137ecd67 (diff)
downloadnixlib-b6c6e1f9e8f72ad7caf3b7daec327f77a16ffba1.tar
nixlib-b6c6e1f9e8f72ad7caf3b7daec327f77a16ffba1.tar.gz
nixlib-b6c6e1f9e8f72ad7caf3b7daec327f77a16ffba1.tar.bz2
nixlib-b6c6e1f9e8f72ad7caf3b7daec327f77a16ffba1.tar.lz
nixlib-b6c6e1f9e8f72ad7caf3b7daec327f77a16ffba1.tar.xz
nixlib-b6c6e1f9e8f72ad7caf3b7daec327f77a16ffba1.tar.zst
nixlib-b6c6e1f9e8f72ad7caf3b7daec327f77a16ffba1.zip
Merge branch 'master' into staging-next
Diffstat (limited to 'pkgs/development/ruby-modules')
-rw-r--r--pkgs/development/ruby-modules/bundler-app/default.nix2
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix13
-rw-r--r--pkgs/development/ruby-modules/gem-config/zookeeper-ftbfs-with-gcc-8.patch11
3 files changed, 23 insertions, 3 deletions
diff --git a/pkgs/development/ruby-modules/bundler-app/default.nix b/pkgs/development/ruby-modules/bundler-app/default.nix
index f0727b3c1704..2fa706643234 100644
--- a/pkgs/development/ruby-modules/bundler-app/default.nix
+++ b/pkgs/development/ruby-modules/bundler-app/default.nix
@@ -36,7 +36,7 @@
 let
   basicEnv = (callPackage ../bundled-common {}) args;
 
-  cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" "passthru" "gemset" ] // {
+  cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" "passthru" "gemset" "gemdir" ] // {
     inherit preferLocalBuild allowSubstitutes; # pass the defaults
 
     buildInputs = buildInputs ++ lib.optional (scripts != []) makeWrapper;
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 9a02f4f374af..157e15e375f6 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -19,7 +19,7 @@
 
 { lib, fetchurl, writeScript, ruby, kerberos, libxml2, libxslt, python, stdenv, which
 , libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick
-, pkgconfig , ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
+, pkgconfig , ncurses, xapian, gpgme, utillinux, tzdata, icu, libffi
 , cmake, libssh2, openssl, libmysqlclient, darwin, git, perl, pcre, gecode_3, curl
 , msgpack, qt59, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
 , cairo, re2, rake, gobject-introspection, gdk-pixbuf, zeromq, czmq, graphicsmagick, libcxx
@@ -507,7 +507,10 @@ in
       substituteInPlace lib/sassc/native.rb \
         --replace 'gem_root = spec.gem_dir' 'gem_root = File.join(__dir__, "../../")'
     '';
-  };
+  } // (if stdenv.isDarwin then {
+    # https://github.com/NixOS/nixpkgs/issues/19098
+    buildFlags = "--disable-lto";
+  } else {});
 
   scrypt = attrs:
     if stdenv.isDarwin then {
@@ -613,5 +616,11 @@ in
 
   zookeeper = attrs: {
     buildInputs = stdenv.lib.optionals stdenv.isDarwin [ darwin.cctools ];
+    dontBuild = false;
+    postPatch = ''
+      sed -i ext/extconf.rb -e "4a \
+        FileUtils.cp '${./zookeeper-ftbfs-with-gcc-8.patch}', 'patches/zkc-3.4.5-gcc-8.patch'
+      "
+    '';
   };
 }
diff --git a/pkgs/development/ruby-modules/gem-config/zookeeper-ftbfs-with-gcc-8.patch b/pkgs/development/ruby-modules/gem-config/zookeeper-ftbfs-with-gcc-8.patch
new file mode 100644
index 000000000000..badb76ccfd20
--- /dev/null
+++ b/pkgs/development/ruby-modules/gem-config/zookeeper-ftbfs-with-gcc-8.patch
@@ -0,0 +1,11 @@
+--- zkc-3.4.5/c/src/zookeeper.c 2019-09-13 12:05:20.647034862 +0200
++++ zkc-3.4.5/c/src/zookeeper.c 2019-09-13 12:05:49.125360269 +0200
+@@ -3418,7 +3418,7 @@
+ 
+ static const char* format_endpoint_info(const struct sockaddr_storage* ep)
+ {
+-    static char buf[128];
++    static char buf[128 + 6]; // include space for the port :xxxxxx
+     char addrstr[128];
+     void *inaddr;
+ #ifdef WIN32