mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-18 19:51:17 +00:00
Merge pull request #235947 from oneingan/elpa-devel
emacsPackages.elpaDevelPackages: init
This commit is contained in:
commit
945f0625d5
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
|
||||
# Updating
|
||||
|
||||
To update the list of packages from ELPA,
|
||||
|
||||
1. Run `./update-elpa-devel`.
|
||||
2. Check for evaluation errors:
|
||||
# "../../../../../" points to the default.nix from root of Nixpkgs tree
|
||||
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate ../../../../../ -A emacs.pkgs.elpaDevelPackages
|
||||
3. Run `git commit -m "elpa-devel-packages $(date -Idate)" -- elpa-devel-generated.nix`
|
||||
|
||||
## Update from overlay
|
||||
|
||||
Alternatively, run the following command:
|
||||
|
||||
./update-from-overlay
|
||||
|
||||
It will update both melpa and elpa packages using
|
||||
https://github.com/nix-community/emacs-overlay. It's almost instantenous and
|
||||
formats commits for you.
|
||||
|
||||
*/
|
||||
|
||||
{ lib, stdenv, texinfo, writeText, gcc, pkgs, buildPackages }:
|
||||
|
||||
self: let
|
||||
|
||||
markBroken = pkg: pkg.override {
|
||||
elpaBuild = args: self.elpaBuild (args // {
|
||||
meta = (args.meta or {}) // { broken = true; };
|
||||
});
|
||||
};
|
||||
|
||||
elpaBuild = import ../../../../build-support/emacs/elpa.nix {
|
||||
inherit lib stdenv texinfo writeText gcc;
|
||||
inherit (self) emacs;
|
||||
};
|
||||
|
||||
# Use custom elpa url fetcher with fallback/uncompress
|
||||
fetchurl = buildPackages.callPackage ./fetchelpa.nix { };
|
||||
|
||||
generateElpa = lib.makeOverridable ({
|
||||
generated ? ./elpa-devel-generated.nix
|
||||
}: let
|
||||
|
||||
imported = import generated {
|
||||
callPackage = pkgs: args: self.callPackage pkgs (args // {
|
||||
inherit fetchurl;
|
||||
});
|
||||
};
|
||||
|
||||
super = removeAttrs imported [ "dash" ];
|
||||
|
||||
overrides = {
|
||||
};
|
||||
|
||||
elpaDevelPackages = super // overrides;
|
||||
|
||||
in elpaDevelPackages // { inherit elpaBuild; });
|
||||
|
||||
in generateElpa { }
|
|
@ -4,8 +4,8 @@ let
|
|||
src = pkgs.fetchFromGitHub {
|
||||
owner = "nix-community";
|
||||
repo = "emacs2nix";
|
||||
rev = "2e8d2c644397be57455ad32c2849f692eeac7797";
|
||||
sha256 = "sha256-qnOYDYHAQ+r5eegKP9GqHz5R2ig96B2W7M+uYa1ti9M=";
|
||||
rev = "7f07ac3c3f175630de68153d98a93b9fa24d1eb3";
|
||||
sha256 = "sha256-Mh9G8LH3n1ccg+shBoWQRk67yAA+GEYGkk8tjM7W02Y=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
in
|
||||
|
|
4
pkgs/applications/editors/emacs/elisp-packages/update-elpa-devel
Executable file
4
pkgs/applications/editors/emacs/elisp-packages/update-elpa-devel
Executable file
|
@ -0,0 +1,4 @@
|
|||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell --show-trace ./emacs2nix.nix -i bash
|
||||
|
||||
exec elpa-devel-packages.sh --names $EMACS2NIX/names.nix -o elpa-devel-generated.nix
|
|
@ -30,6 +30,11 @@
|
|||
|
||||
let
|
||||
|
||||
mkElpaDevelPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/elpa-devel-packages.nix {
|
||||
inherit (pkgs) stdenv texinfo writeText gcc pkgs buildPackages;
|
||||
inherit lib;
|
||||
};
|
||||
|
||||
mkElpaPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/elpa-packages.nix {
|
||||
inherit (pkgs) stdenv texinfo writeText gcc pkgs buildPackages;
|
||||
inherit lib;
|
||||
|
@ -58,12 +63,14 @@ let
|
|||
in makeScope pkgs'.newScope (self: makeOverridable ({
|
||||
pkgs ? pkgs'
|
||||
, lib ? pkgs.lib
|
||||
, elpaDevelPackages ? mkElpaDevelPackages { inherit pkgs lib; } self
|
||||
, elpaPackages ? mkElpaPackages { inherit pkgs lib; } self
|
||||
, nongnuPackages ? mkNongnuPackages { inherit pkgs lib; } self
|
||||
, melpaStablePackages ? melpaGeneric { inherit pkgs lib; } "stable" self
|
||||
, melpaPackages ? melpaGeneric { inherit pkgs lib; } "unstable" self
|
||||
, manualPackages ? mkManualPackages { inherit pkgs lib; } self
|
||||
}: ({}
|
||||
// elpaDevelPackages // { inherit elpaDevelPackages; }
|
||||
// elpaPackages // { inherit elpaPackages; }
|
||||
// nongnuPackages // { inherit nongnuPackages; }
|
||||
// melpaStablePackages // { inherit melpaStablePackages; }
|
||||
|
|
Loading…
Reference in a new issue