about summary refs log tree commit diff
path: root/pkgs/development/interpreters/ruby/patches.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/interpreters/ruby/patches.nix')
-rw-r--r--pkgs/development/interpreters/ruby/patches.nix105
1 files changed, 56 insertions, 49 deletions
diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix
index 7c80cdfe0653..10cbf1ecfe56 100644
--- a/pkgs/development/interpreters/ruby/patches.nix
+++ b/pkgs/development/interpreters/ruby/patches.nix
@@ -1,5 +1,6 @@
 { fetchurl, writeScript, ruby, ncurses, sqlite, libxml2, libxslt, libffi
-, zlib, libuuid, gems, jdk, python, stdenv, libiconvOrEmpty }:
+, zlib, libuuid, gems, jdk, python, stdenv, libiconvOrEmpty, imagemagick
+, pkgconfig }:
 
 let
 
@@ -9,10 +10,29 @@ let
     find "$1" -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
     find "$1" -type f -name "*.mk" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
   '';
-  
+
 in
 
 {
+  buildr = {
+    # Many Buildfiles rely on RUBYLIB containing the current directory
+    # (as was the default in Ruby < 1.9.2).
+    extraWrapperFlags = "--prefix RUBYLIB : .";
+  };
+
+  fakes3 = {
+    postInstall = ''
+      cd $out/${ruby.gemPath}/gems/*
+      patch -Np1 -i ${../../ruby-modules/fake-s3-list-bucket.patch}
+    '';
+  };
+
+  ffi = {
+    postUnpack = "onetuh";
+    buildFlags = ["--with-ffi-dir=${libffi}"];
+    NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
+  };
+
   iconv = { buildInputs = [ libiconvOrEmpty ]; };
 
   libv8 = {
@@ -25,16 +45,16 @@ in
     #
     # Finally, we must set CC and AR explicitly to allow scons to find the
     # compiler and archiver
-    
+
     preBuild = ''
       cat > $TMPDIR/g++ <<EOF
       #! ${stdenv.shell}
       $(export)
-      
+
       g++ \$(echo \$@ | sed 's/-Werror//g')
       EOF
       chmod +x $TMPDIR/g++
-      
+
       export CXX=$TMPDIR/g++
       export AR=$(type -p ar)
     '';
@@ -47,22 +67,18 @@ in
       done
     '';
   };
-  
-  sqlite3 = { propagatedBuildInputs = [ sqlite ]; };
-  
-  rails = { gemFlags = "--no-ri --no-rdoc"; };
-  
+
   ncurses = { propagatedBuildInputs = [ ncurses ]; };
 
+  ncursesw = { propagatedBuildInputs = [ ncurses ]; };
+
   nix = {
     postInstall = ''
       cd $out/${ruby.gemPath}/gems/nix*
       patch -Np1 -i ${./fix-gem-nix-versions.patch}
     '';
   };
-  
-  ncursesw = { propagatedBuildInputs = [ ncurses ]; };
-  
+
   nokogiri = {
     buildFlags =
       [ "--with-xml2-dir=${libxml2} --with-xml2-include=${libxml2}/include/libxml2"
@@ -70,27 +86,22 @@ in
       ];
   };
 
-  ffi = {
-    postUnpack = "onetuh";
-    buildFlags = ["--with-ffi-dir=${libffi}"];
-    NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
+  pry = { gemFlags = "--no-ri --no-rdoc"; };
+
+  rails = { gemFlags = "--no-ri --no-rdoc"; };
+
+  rjb = {
+    buildInputs = [ jdk ];
+    JAVA_HOME = jdk;
   };
 
-  xrefresh_server =
-    let
-      patch = fetchurl {
-        url = "http://mawercer.de/~nix/xrefresh.diff.gz";
-        sha256 = "1f7bnmn1pgkmkml0ms15m5lx880hq2sxy7vsddb3sbzm7n1yyicq";
-      };
-    in {
-      propagatedBuildInputs = [ gems.rb_inotify ];
+  rmagick = {
+    buildInputs = [ imagemagick pkgconfig ];
 
-      # monitor implementation for Linux
-      postInstall = ''
-        cd $out/${ruby.gemPath}/gems/*
-        zcat ${patch} | patch -p 1
-      ''; # */
-    };
+    NIX_CFLAGS_COMPILE = "-I${imagemagick}/include/ImageMagick-6";
+  };
+
+  sqlite3 = { propagatedBuildInputs = [ sqlite ]; };
 
   xapian_full = {
     buildInputs = [ gems.rake zlib libuuid ];
@@ -105,23 +116,19 @@ in
     buildInputs = [ zlib libuuid ];
   };
 
-  rjb = {
-    buildInputs = [ jdk ];
-    JAVA_HOME = jdk;
-  };
-
-  buildr = {
-    # Many Buildfiles rely on RUBYLIB containing the current directory
-    # (as was the default in Ruby < 1.9.2).
-    extraWrapperFlags = "--prefix RUBYLIB : .";
-  };
-  
-  pry = { gemFlags = "--no-ri --no-rdoc"; };
+  xrefresh_server =
+    let
+      patch = fetchurl {
+        url = "http://mawercer.de/~nix/xrefresh.diff.gz";
+        sha256 = "1f7bnmn1pgkmkml0ms15m5lx880hq2sxy7vsddb3sbzm7n1yyicq";
+      };
+    in {
+      propagatedBuildInputs = [ gems.rb_inotify ];
 
-  fakes3 = {
-    postInstall = ''
-      cd $out/${ruby.gemPath}/gems/*
-      patch -Np1 -i ${../../ruby-modules/fake-s3-list-bucket.patch}
-    '';
-  };
+      # monitor implementation for Linux
+      postInstall = ''
+        cd $out/${ruby.gemPath}/gems/*
+        zcat ${patch} | patch -p 1
+      ''; # */
+    };
 }