diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix index 1c698809791bf..9a908039b8f5c 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix @@ -5,6 +5,8 @@ let inherit (self) callPackage; in { + inherit (pkgs) emacspeak; + acm = callPackage ./manual-packages/acm { }; acm-terminal = callPackage ./manual-packages/acm-terminal { }; @@ -31,8 +33,6 @@ in elisp-ffi = callPackage ./manual-packages/elisp-ffi { }; - emacspeak = callPackage ./manual-packages/emacspeak { }; - ess-R-object-popup = callPackage ./manual-packages/ess-R-object-popup { }; evil-markdown = callPackage ./manual-packages/evil-markdown { }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix b/pkgs/by-name/em/emacspeak/package.nix similarity index 62% rename from pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix rename to pkgs/by-name/em/emacspeak/package.nix index 5294623584da0..6c18af7807ea9 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix +++ b/pkgs/by-name/em/emacspeak/package.nix @@ -1,34 +1,37 @@ { lib -, stdenv +, emacs +, espeak-ng , fetchFromGitHub , makeWrapper -, emacs +, stdenv , tcl , tclx -, espeak-ng }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "emacspeak"; - version = "58.0"; + version = "59.0"; src = fetchFromGitHub { owner = "tvraman"; - repo = pname; - rev = version; - hash= "sha256-5pWC17nvy3ZuG0bR//LqDVpKsH5hFSFf63Q33a1BfBk="; + repo = "emacspeak"; + rev = finalAttrs.version; + hash = "sha256-npS/wlqI7nBde/2S/rzp79jdfYXIIhgsVs5VizxEDAQ="; }; nativeBuildInputs = [ emacs makeWrapper ]; + buildInputs = [ espeak-ng tcl tclx ]; + strictDeps = true; + preConfigure = '' make config ''; @@ -44,17 +47,21 @@ stdenv.mkDerivation rec { 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 \ + makeWrapper ${lib.getExe emacs} $out/bin/emacspeak \ --set DTK_PROGRAM "${placeholder "out"}/share/emacs/site-lisp/emacspeak/servers/espeak" \ --set TCLLIBPATH "${tclx}/lib" \ --add-flags '-l "${placeholder "out"}/share/emacs/site-lisp/emacspeak/lisp/emacspeak-setup.elc"' ''; - meta = with lib; { + meta = { homepage = "https://github.com/tvraman/emacspeak/"; description = "Emacs extension that provides spoken output"; - license = licenses.gpl2Plus; - maintainers = [ maintainers.AndersonTorres ]; - platforms = platforms.linux; + changelog = "https://github.com/tvraman/emacspeak/blob/${finalAttrs.src.rev}/etc/NEWS"; + license = with lib.licenses; [ gpl2Plus ]; + mainProgram = "emacspeak"; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.linux; + # Emacspeak requires a minimal Emacs version; let's use the broken flag + broken = lib.versionOlder (lib.getVersion emacs) "29.1"; }; -} +})