about summary refs log tree commit diff
path: root/pkgs/development/ruby-modules
diff options
context:
space:
mode:
authorStanisław Pitucha <stan.pitucha@envato.com>2023-02-18 00:14:45 +1100
committerStanisław Pitucha <stan.pitucha@envato.com>2023-02-18 00:14:45 +1100
commit33ed801e7385772d9e71f2df33cc60709711259e (patch)
treebcdc1020e191906832a26e2864077cfe0a2263c8 /pkgs/development/ruby-modules
parenta366e69a1211e5cc6ca423ecdb6b6319396d91a1 (diff)
rubyPackages.eventmachine: fix darwin build
This fixes the build of mailcatcher (and maybe others).

Fixes:
```
em.cpp:1232:40: error: invalid operands to binary expression ('__bind<int &, sockaddr *&, int &>' and 'int')
                if (bind (sd, bind_to, bind_to_size) < 0) {
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
```
Where `bind` is treated as `std::bind` rather than `::bind` in newer C++
standards.
Diffstat (limited to 'pkgs/development/ruby-modules')
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix5
1 files changed, 5 insertions, 0 deletions
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 9f2e8dbfcd117..06516ab2fba9b 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -203,7 +203,12 @@ in
   };
 
   eventmachine = attrs: {
+    dontBuild = false;
     buildInputs = [ openssl ];
+    postPatch = ''
+      substituteInPlace ext/em.cpp \
+        --replace 'if (bind (' 'if (::bind ('
+    '';
   };
 
   exif = attrs: {