diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8449edf4d7c..d783f515497 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11502,7 +11502,7 @@ let external = { inherit (haskellPackages) ghc-mod structured-haskell-mode Agda; inherit (pythonPackages) elpy; - inherit rtags; + inherit rtags libffi; }; }; diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index b89cabd4d31..4d052677a4c 100644 --- a/pkgs/top-level/emacs-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -99,6 +99,30 @@ let self = _self // overrides; }; }; + elisp-ffi = melpaBuild rec { + pname = "elisp-ffi-git"; + version = "20141103"; + src = fetchFromGitHub { + owner = "skeeto"; + repo = "elisp-ffi"; + rev = "eb3d826d68ace9f9a41515ab3820376c0d141634"; + sha256 = "0w7r56qf2h8wgfs81fc9k8w8949kf2djyhsh8p12dk365nm11n2s"; + }; + buildInputs = [ external.libffi ]; + preBuild = "make"; + files = [ "ffi-glue" "ffi.el" ]; + meta = { + description = "Emacs Lisp Foreign Function Interface"; + longDescription = '' + This library provides an FFI for Emacs Lisp so that Emacs + programs can invoke functions in native libraries. It works by + driving a subprocess to do the heavy lifting, passing result + values on to Emacs. + ''; + license = publicDomain; + }; + }; + agda2-mode = with external; trivialBuild { pname = "agda-mode"; version = Agda.version;