nixpkgs/pkgs/applications/networking/mailreaders/sup/default.nix

78 lines
2.6 KiB
Nix
Raw Normal View History

2014-05-05 02:21:16 +02:00
{ stdenv, fetchurl, ruby, rake, rubygems, makeWrapper, ncursesw_sup
2013-10-13 00:38:52 +02:00
, xapian_ruby, gpgme, libiconvOrEmpty, mime_types, chronic, trollop, lockfile
2014-05-05 02:21:16 +02:00
, gettext, iconv, locale, text, highline, rmail_sup, unicode, gnupg, which
, bundler, git }:
2013-05-26 10:07:28 +02:00
2013-10-13 00:38:52 +02:00
stdenv.mkDerivation rec {
2014-05-05 02:21:16 +02:00
version = "0.18.0";
2013-10-13 00:38:52 +02:00
name = "sup-${version}";
2014-05-05 02:21:16 +02:00
2013-05-26 10:07:28 +02:00
meta = {
description = "A curses threads-with-tags style email client";
2014-05-05 02:21:16 +02:00
homepage = http://supmua.org;
license = stdenv.lib.licenses.gpl2;
2013-05-26 10:07:28 +02:00
maintainers = with stdenv.lib.maintainers; [ lovek323 ];
2014-05-05 02:21:16 +02:00
platforms = stdenv.lib.platforms.unix;
2013-05-26 10:07:28 +02:00
};
dontStrip = true;
2014-05-05 02:21:16 +02:00
src = fetchurl {
url = "https://github.com/sup-heliotrope/sup/archive/release-${version}.tar.gz";
sha256 = "1dhg0i2v0ddhwi32ih5lc56x00kbaikd2wdplgzlshq0nljr9xy0";
2013-05-26 10:07:28 +02:00
};
buildInputs =
2014-05-05 02:21:16 +02:00
[ rake ruby rubygems makeWrapper gpgme ncursesw_sup xapian_ruby
libiconvOrEmpty git ];
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
2013-05-26 10:07:28 +02:00
2014-05-05 02:21:16 +02:00
buildPhase = ''
# the builder uses git to get a listing of the files
git init >/dev/null
git add .
git commit -m "message" >/dev/null
gem build sup.gemspec
'';
2013-05-26 10:07:28 +02:00
installPhase = ''
export HOME=$TMP/home; mkdir -pv "$HOME"
GEM_PATH="$GEM_PATH:$out/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${chronic}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${gettext}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${gpgme}/${ruby.gemPath}"
2013-10-13 00:38:52 +02:00
GEM_PATH="$GEM_PATH:${highline}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${iconv}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${locale}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${lockfile}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${mime_types}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${ncursesw_sup}/${ruby.gemPath}"
2013-10-13 00:38:52 +02:00
GEM_PATH="$GEM_PATH:${rmail_sup}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${text}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${trollop}/${ruby.gemPath}"
2013-10-13 00:38:52 +02:00
GEM_PATH="$GEM_PATH:${unicode}/${ruby.gemPath}"
2013-06-20 02:09:15 +02:00
GEM_PATH="$GEM_PATH:${xapian_ruby}/${ruby.gemPath}"
# Don't install some dependencies -- we have already installed
# the dependencies but gem doesn't acknowledge this
2013-05-26 10:07:28 +02:00
gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
2014-05-05 02:21:16 +02:00
--bindir "$out/bin" --no-rdoc --no-ri sup-${version}.gem \
--ignore-dependencies >/dev/null
2013-05-26 10:07:28 +02:00
2013-10-13 00:38:52 +02:00
# specify ruby interpreter explicitly
sed -i '1 s|^.*$|#!${ruby}/bin/ruby|' bin/sup-sync-back-maildir
2014-05-05 02:21:16 +02:00
cp bin/sup-sync-back-maildir "$out/bin"
2013-10-13 00:38:52 +02:00
2013-05-26 10:07:28 +02:00
for prog in $out/bin/*; do
2013-10-13 00:38:52 +02:00
wrapProgram "$prog" --prefix GEM_PATH : "$GEM_PATH" --prefix PATH : "${gnupg}/bin:${which}/bin"
2013-05-26 10:07:28 +02:00
done
for prog in $out/gems/*/bin/*; do
[[ -e "$out/bin/$(basename $prog)" ]]
done
'';
}