summary refs log tree commit diff
path: root/pkgs/development/libraries/ruby_gpgme/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/ruby_gpgme/default.nix')
-rw-r--r--pkgs/development/libraries/ruby_gpgme/default.nix64
1 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/development/libraries/ruby_gpgme/default.nix b/pkgs/development/libraries/ruby_gpgme/default.nix
new file mode 100644
index 000000000000..c5f2366bfa1c
--- /dev/null
+++ b/pkgs/development/libraries/ruby_gpgme/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, gpgme, ruby, rubygems, hoe }:
+
+stdenv.mkDerivation {
+  name = "ruby-gpgme-1.0.8";
+
+  src = fetchurl {
+    url = "https://github.com/ueno/ruby-gpgme/archive/1.0.8.tar.gz";
+    sha256 = "1j7jkl9s8iqcmxf3x6c9kljm19hw1jg6yvwbndmkw43qacdr9nxb";
+  };
+
+  meta = {
+    description = ''
+      Ruby-GPGME is a Ruby language binding of GPGME (GnuPG Made
+      Easy)
+    '';
+    homepage = "http://rubyforge.org/projects/ruby-gpgme/";
+    longDescription = ''
+      Ruby-GPGME is a Ruby language binding of GPGME (GnuPG Made Easy).
+
+      GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
+      easier for applications. It provides a High-Level Crypto API for
+      encryption, decryption, signing, signature verification and key
+      management.
+    '';
+  };
+
+  buildInputs = [ gpgme rubygems hoe ruby ];
+
+  buildPhase = ''
+    ${ruby}/bin/ruby extconf.rb
+    rake gem
+  '';
+
+  installPhase = ''
+    export HOME=$TMP/home; mkdir -pv "$HOME"
+
+    # For some reason, the installation phase doesn't work with the default
+    # make install command run by gem (we'll fix it and do it ourselves later)
+    gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
+        --bindir "$out/bin" --no-rdoc --no-ri pkg/gpgme-1.0.8.gem || true
+
+    # Create a bare-bones gemspec file so that ruby will recognise the gem
+    cat <<EOF >"$out/${ruby.gemPath}/specifications/gpgme.gemspec"
+    Gem::Specification.new do |s|
+      s.name              = 'gpgme'
+      s.version           = '1.0.8'
+      s.files             = Dir['{lib,examples}/**/*']
+      s.rubyforge_project = 'ruby-gpgme'
+      s.require_paths     = ['lib']
+    end
+    EOF
+
+    cd "$out/${ruby.gemPath}/gems/gpgme-1.0.8"
+    mkdir src
+    mv lib src
+    sed -i "s/srcdir = ./srcdir = src/" Makefile
+    make install
+
+    mv lib lib.bak
+    mv src/lib lib
+    rmdir src
+  '';
+}
+