diff --git a/pkgs/applications/editors/emacs-modes/emacspeak/default.nix b/pkgs/applications/editors/emacs-modes/emacspeak/default.nix new file mode 100644 index 00000000000..5bc8bbc6a90 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/emacspeak/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, makeWrapper, emacs, tcl, tclx, espeak-ng }: + +stdenv.mkDerivation rec { + pname = "emacspeak"; + version = "51.0"; + + + src = fetchurl { + url = "https://github.com/tvraman/emacspeak/releases/download/${version}/${pname}-${version}.tar.bz2"; + sha256 = "09a0ywxlqa8jmc0wmvhaf7bdydnkyhy9nqfsdqcpbsgdzj6qpg90"; + }; + + nativeBuildInputs = [ makeWrapper emacs ]; + buildInputs = [ tcl tclx espeak-ng ]; + + preConfigure = '' + make config + ''; + + postBuild = '' + make -C servers/native-espeak PREFIX=$out "TCL_INCLUDE=${tcl}/include" + ''; + + postInstall = '' + make -C servers/native-espeak PREFIX=$out install + local d=$out/share/emacs/site-lisp/emacspeak/ + install -d -- "$d" + cp -a . "$d" + find "$d" \( -type d -or \( -type f -executable \) \) -execdir chmod 755 {} + + find "$d" -type f -not -executable -execdir chmod 644 {} + + makeWrapper ${emacs}/bin/emacs $out/bin/emacspeak \ + --set DTK_PROGRAM "${espeak-ng}/bin/espeak" \ + --add-flags '-l "${placeholder "out"}/share/emacs/site-lisp/emacspeak/lisp/emacspeak-setup.elc"' + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/tvraman/emacspeak/; + description = "Emacs extension that provides spoken output"; + license = licenses.gpl2; + maintainers = [ dema ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/manual-packages.nix b/pkgs/applications/editors/emacs-modes/manual-packages.nix index 4ca2d736e65..313a21995e0 100644 --- a/pkgs/applications/editors/emacs-modes/manual-packages.nix +++ b/pkgs/applications/editors/emacs-modes/manual-packages.nix @@ -65,6 +65,8 @@ }; }; + emacspeak = callPackage ./emacspeak {}; + ess-R-object-popup = callPackage ./ess-R-object-popup { };