diff options
Diffstat (limited to 'pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix')
-rw-r--r-- | pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix index 2cf64953628..cd45cfc7872 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix @@ -315,7 +315,7 @@ let ivy-rtags = fix-rtags super.ivy-rtags; jinx = super.jinx.overrideAttrs (old: let - libExt = pkgs.stdenv.targetPlatform.extensions.sharedLibrary; + libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary; in { nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config @@ -688,6 +688,27 @@ let --replace '"mozc_emacs_helper"' '"${pkgs.ibus-engines.mozc}/lib/mozc/mozc_emacs_helper"' ''; }); + + # Build a helper executable that interacts with the macOS Dictionary.app + osx-dictionary = + if pkgs.stdenv.isDarwin + then super.osx-dictionary.overrideAttrs (old: { + buildInputs = + old.buildInputs ++ + (with pkgs.darwin.apple_sdk.frameworks; [CoreServices Foundation]); + dontUnpack = false; + buildPhase = (old.buildPhase or "") + '' + cd source + $CXX -O3 -framework CoreServices -framework Foundation osx-dictionary.m -o osx-dictionary-cli + ''; + postInstall = (old.postInstall or "") + "\n" + '' + outd=$out/share/emacs/site-lisp/elpa/osx-dictionary-* + mkdir -p $out/bin + install -m444 -t $out/bin osx-dictionary-cli + rm $outd/osx-dictionary.m + ''; + }) + else super.osx-dictionary; }; in lib.mapAttrs (n: v: if lib.hasAttr n overrides then overrides.${n} else v) super); |