Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Emacs packages update: 2019-04-08 #59153

Merged
merged 3 commits into from Apr 12, 2019

Conversation

rasendubi
Copy link
Member

Motivation for this change

Update elpa-packages, melpa-packages, melpa-stable-packages.

Things done

Tested all sets with nix-instantiate. Also, running Emacs from this update.

org-packages fail to update due to nix-community/emacs2nix#49

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

cc @ttuegel

@@ -45,6 +45,7 @@ self:
stream = markBroken super.stream; # requires emacs-25
cl-lib = null; # builtin
tle = null; # builtin
advice = null; # builtin
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# https://github.com/magit/magit/issues/3286
inherit (self.melpaPackages) magit-popup;
}).overrideAttrs (attrs: {
super.magit.overrideAttrs (attrs: {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

magit no longer uses magit-popup

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

after the update, magit from elpa would no longer start, complaining, that it didn't find magit-popup. It went back to normal, after I manually installed magit-popup

magit from elpaPackages seemed to have a similar proplem: starting, but being broken, also complaining about absence of magit-popup ...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you clarify?

  1. There is no magit in elpaPackages.
  2. The one in melpaStablePackages still has this work-around applied.
  3. The one in melpaPackages is running fine for me. (If I revert this diff, I get an evaluation error.)
    I left a comment above—magit no longer uses magit-popup, so it must not be passed in here.

Copy link
Contributor

@bendlas bendlas Apr 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regular emacsPackages then, sorry.

Here is a before and after of my emacs config.

Without magit-popup, it fails. I'm on magit-20190405.1004

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, can't reproduce it with a clean config

#!/bin/sh

nix-shell --pure -p git "
  with import ./. { config = { }; };
  emacsWithPackages (epkgs: [ epkgs.magit ])
" --run "HOME=/tmp emacs"

so it's probably fine. I'll check back, if it's something we can fix ...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rasendubi I found out: it's magithub, that still needs magit-popup

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this is an upstream issue.

magithub neither declares magit-popup as a dependency nor (require 'magit-popup) directly but rather relies on magit to do this.
And magit dropped magit-popup from dependencies now.

You might be able to reproduce the issue without Nix infrastructure using package.el: install magit and magithub (magit-popup won't be installed and you'll get the same issue).

If you need a workaround, simply pulling magit-popup into scope seems to fix the issue for me.
i.e., the following works fine:

nix-shell --pure -p git "
  with import ./. { config = { }; };
  emacsWithPackages (epkgs: [ epkgs.magithub epkgs.magit-popup ])
" --run "HOME=/tmp emacs"

@matthewbauer
Copy link
Member

Thanks for doing this! I’m wanting to automate this process but haven’t gotten around to it yet. Usually someone comes around every month or so.

@sondr3
Copy link
Contributor

sondr3 commented Apr 8, 2019

@matthewbauer That would be awesome, if you have any pointers I could possibly maybe help a little 😃

@bendlas
Copy link
Contributor

bendlas commented Apr 8, 2019

Thanks!

How did you get it to generate? I've failed doing so in my last attempt.

Incidentally, I've just finished a rewrite of emacs2nix in elisp, for melpa-unstable (for now). I'll link the PR.

@rycee
Copy link
Member

rycee commented Apr 8, 2019

Very nice! I'm wondering whether it is considered poor form to backport these packages to NixOS stable? The latest generation in 19.03 seem to be from 2019-01-03, which is quite old…

@rasendubi
Copy link
Member Author

rasendubi commented Apr 8, 2019 via email

@rasendubi
Copy link
Member Author

rasendubi commented Apr 8, 2019 via email

@bendlas
Copy link
Contributor

bendlas commented Apr 8, 2019

How exactly it failed for you?

don't remember exactly, it's been some time. something about unstable vs stable and melpa neglecting their Makefile in favor of a Dockerfile

It took quite some time to run though.

That's mainly because the updater re-runs the elpa builder for producing archive.json and recipes.json. Also, indexing the recipes takes a bit ..

The update is potentially non-backward-compatible

we should probably still backport melpa (non - stable) .. when using that, the expectation of stability takes a back-seat to the expectation of recency.

@rycee
Copy link
Member

rycee commented Apr 9, 2019

For what it's worth, I cherry-picked this ontop of my 19.03 branch yesterday and have used the resulting Emacs (~100 packages) all day today without any issues. I like the new magit and lsp-java versions 🙂

@rasendubi
Copy link
Member Author

Is anyone willing to merge?

@rycee rycee merged commit 6ec937e into NixOS:master Apr 12, 2019
@rycee
Copy link
Member

rycee commented Apr 12, 2019

@rasendubi Done 🙂

@rasendubi
Copy link
Member Author

rasendubi commented Apr 12, 2019 via email

@rasendubi
Copy link
Member Author

Everyone interested is welcome to review/test the next Emacs packages update: #62784

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants