Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: d44842120e8d
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c833fb3179dc
Choose a head ref
  • 2 commits
  • 1 file changed
  • 1 contributor

Commits on Oct 18, 2019

  1. emacsPackages.vterm: fix dynamic library and autoloaders

    We need both the .so as well as the proper autoloaders that are generated when
    we build an emacs package, so we cannot use the normal stdenv.mkDerivation but
    have to inject the building of the libraries instead.
    
    Also, use the proper libvterm-neovim we have in nixpkgs instead of vendoring it.
    peterhoeg committed Oct 18, 2019
    Copy the full SHA
    4487809 View commit details

Commits on Oct 28, 2019

  1. Merge pull request #71347 from peterhoeg/f/emacs_vterm

    emacsPackages.vterm: fix dynamic library and autoloaders
    peterhoeg authored Oct 28, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    c833fb3 View commit details
Showing with 13 additions and 43 deletions.
  1. +13 −43 pkgs/applications/editors/emacs-modes/melpa-packages.nix
56 changes: 13 additions & 43 deletions pkgs/applications/editors/emacs-modes/melpa-packages.nix
Original file line number Diff line number Diff line change
@@ -394,52 +394,22 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});

vterm = let
emacsSources = pkgs.stdenv.mkDerivation {
name = self.emacs.name + "-sources";
src = self.emacs.src;

dontConfigure = true;
dontBuild = true;
doCheck = false;
fixupPhase = ":";

installPhase = ''
mkdir -p $out
cp -a * $out
'';

};

libvterm = pkgs.libvterm-neovim.overrideAttrs(old: rec {
pname = "libvterm-neovim";
version = "2019-04-27";
name = pname + "-" + version;
src = pkgs.fetchFromGitHub {
owner = "neovim";
repo = "libvterm";
rev = "89675ffdda615ffc3f29d1c47a933f4f44183364";
sha256 = "0l9ixbj516vl41v78fi302ws655xawl7s94gmx1kb3fmfgamqisy";
};
});

in pkgs.stdenv.mkDerivation {
inherit (super.vterm) name version src;

nativeBuildInputs = [ pkgs.cmake ];
buildInputs = [ self.emacs libvterm ];

vterm = super.vterm.overrideAttrs(old: {
buildInputs = old.buildInputs ++ [ self.emacs pkgs.cmake pkgs.libvterm-neovim ];
cmakeFlags = [
"-DEMACS_SOURCE=${emacsSources}"
"-DUSE_SYSTEM_LIBVTERM=True"
"-DEMACS_SOURCE=${self.emacs.src}"
"-DUSE_SYSTEM_LIBVTERM=ON"
];

installPhase = ''
install -d $out/share/emacs/site-lisp
install ../*.el $out/share/emacs/site-lisp
install ../*.so $out/share/emacs/site-lisp
# we need the proper out directory to exist, so we do this in the
# postInstall instead of postBuild
postInstall = ''
pushd source/build >/dev/null
make
install -m444 -t $out/share/emacs/site-lisp/elpa/vterm-** ../*.so
popd > /dev/null
rm -rf $out/share/emacs/site-lisp/elpa/vterm-**/{CMake*,build,*.c,*.h}
'';
};
});
# Legacy alias
emacs-libvterm = unstable.vterm;