about summary refs log tree commit diff
path: root/pkgs/applications/networking/mailreaders/sup/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/mailreaders/sup/default.nix')
-rw-r--r--pkgs/applications/networking/mailreaders/sup/default.nix70
1 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/applications/networking/mailreaders/sup/default.nix b/pkgs/applications/networking/mailreaders/sup/default.nix
new file mode 100644
index 000000000000..163a32bfa88a
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/sup/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchurl, ruby, rake, rubygems, makeWrapper, ncursesw_sup
+, xapian_full_alaveteli, gpgme, libiconvOrEmpty }:
+
+stdenv.mkDerivation {
+  name = "sup-d21f027afcd6a4031de9619acd8dacbd2f2f4fd4";
+  
+  meta = {
+    homepage = http://supmua.org;
+    description = "A curses threads-with-tags style email client";
+    maintainers = with stdenv.lib.maintainers; [ lovek323 ];
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+  };
+
+  dontStrip = true;
+
+  src = fetchurl {
+    url = "https://github.com/sup-heliotrope/sup/archive/d21f027afcd6a4031de9619acd8dacbd2f2f4fd4.tar.gz";
+    sha256 = "0syifva6pqrg3nyy7xx7nan9zswb4ls6bkk96vi9ki2ly1ymwcdp";
+  };
+
+  buildInputs =
+    [ ruby rake rubygems makeWrapper gpgme ncursesw_sup xapian_full_alaveteli
+      libiconvOrEmpty ];
+
+  buildPhase = "rake gem";
+
+  # TODO: Move gem dependencies out
+
+  installPhase = ''
+    export HOME=$TMP/home; mkdir -pv "$HOME"
+
+    GEM_PATH="$GEM_PATH:$out/${ruby.gemPath}"
+    GEM_PATH="$GEM_PATH:${ncursesw_sup}/${ruby.gemPath}"
+    GEM_PATH="$GEM_PATH:${xapian_full_alaveteli}/${ruby.gemPath}"
+    GEM_PATH="$GEM_PATH:${gpgme}/${ruby.gemPath}"
+
+    # Don't install some dependencies -- we have already installed
+    # ncursesw-sup, xapian-full-alaveteli and gpgme, but gem doesn't acknowledge
+    # this
+    gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
+        --bindir "$out/bin" --no-rdoc --no-ri pkg/sup-999.gem \
+        --ignore-dependencies
+
+    # Now install the dependencies that will work out of the box
+    gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
+        --bindir "$out/bin" --no-rdoc --no-ri rmail
+    gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
+        --bindir "$out/bin" --no-rdoc --no-ri trollop
+    gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
+        --bindir "$out/bin" --no-rdoc --no-ri lockfile
+    gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
+        --bindir "$out/bin" --no-rdoc --no-ri mime-types
+    gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
+        --bindir "$out/bin" --no-rdoc --no-ri gettext
+    gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
+        --bindir "$out/bin" --no-rdoc --no-ri chronic
+    gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
+        --bindir "$out/bin" --no-rdoc --no-ri iconv
+
+    for prog in $out/bin/*; do
+      wrapProgram "$prog" --prefix GEM_PATH : "$GEM_PATH"
+    done
+
+    for prog in $out/gems/*/bin/*; do
+      [[ -e "$out/bin/$(basename $prog)" ]]
+    done
+  '';
+}
+