From 7d25bcf33cb1ea93269cf6d04725b941ac97066c Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Wed, 22 Jul 2020 09:03:41 -0700 Subject: emacs: remove persp-mode --- lib/emacs-packages.nix | 2 +- pkgs/notmuch.nix | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 pkgs/notmuch.nix diff --git a/lib/emacs-packages.nix b/lib/emacs-packages.nix index ca5439d..b1a5f03 100644 --- a/lib/emacs-packages.nix +++ b/lib/emacs-packages.nix @@ -83,7 +83,7 @@ org-ref org-trello org-web-tools pass -#persp-mode +# persp-mode # this causes emacs to die, i think pinentry popwin projectile diff --git a/pkgs/notmuch.nix b/pkgs/notmuch.nix new file mode 100644 index 0000000..23edc10 --- /dev/null +++ b/pkgs/notmuch.nix @@ -0,0 +1,86 @@ +# modified from nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix +{ fetchurl, stdenv +, pkgconfig, gnupg +, xapian, gmime, talloc, zlib +, doxygen, perl +, pythonPackages +, bash-completion +, emacs +, ruby +, which, dtach, openssl, bash, gdb, man +}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + version = "0.29.1"; + pname = "notmuch"; + + passthru = { + pythonSourceRoot = "${pname}-${version}/bindings/python"; + inherit version; + }; + + src = fetchurl { + url = "https://notmuchmail.org/releases/${pname}-${version}.tar.xz"; + sha256 = "0rg3rwghd3wivf3bmqcqpkkd5c779ld5hi363zjcw5fl6a7gqilq"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ + gnupg # undefined dependencies + xapian gmime talloc zlib # dependencies described in INSTALL + doxygen perl # (optional) api docs + pythonPackages.sphinx pythonPackages.python # (optional) documentation -> doc/INSTALL + bash-completion # (optional) dependency to install bash completion + emacs # (optional) to byte compile emacs code, also needed for tests + ruby # (optional) ruby bindings + ]; + + postPatch = '' + patchShebangs configure + patchShebangs test/ + + substituteInPlace lib/Makefile.local \ + --replace '-install_name $(libdir)' "-install_name $out/lib" + + substituteInPlace emacs/notmuch-emacs-mua \ + --replace 'EMACS:-emacs' 'EMACS:-${emacs}/bin/emacs' \ + --replace 'EMACSCLIENT:-emacsclient' 'EMACSCLIENT:-${emacs}/bin/emacsclient' + ''; + + configureFlags = [ "--zshcompletiondir=${placeholder "out"}/share/zsh/site-functions" ]; + + # Notmuch doesn't use autoconf and consequently doesn't tag --bindir and + # friends + setOutputFlags = false; + enableParallelBuilding = true; + makeFlags = [ "V=1" ]; + + preCheck = let + test-database = fetchurl { + url = "https://notmuchmail.org/releases/test-databases/database-v1.tar.xz"; + sha256 = "1lk91s00y4qy4pjh8638b5lfkgwyl282g1m27srsf7qfn58y16a2"; + }; + in '' + ln -s ${test-database} test/test-databases/database-v1.tar.xz + ''; + doCheck = !stdenv.hostPlatform.isDarwin && (versionAtLeast gmime.version "3.0.3"); + checkTarget = "test"; + checkInputs = [ + which dtach openssl bash + gdb man + ]; + + installTargets = [ "install" "install-man" ]; + + dontGzipMan = true; # already compressed + + meta = { + description = "Mail indexer"; + homepage = https://notmuchmail.org/; + license = licenses.gpl3; + maintainers = with maintainers; [ flokli puckipedia the-kenny ]; + platforms = platforms.unix; + }; +} -- cgit v1.2.3