1
0
Fork 1
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:
adisbladis 2023-06-05 15:10:17 +12:00 committed by GitHub
commit 945f0625d5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 6850 additions and 2 deletions

File diff suppressed because it is too large Load diff

View file

@ -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 { }

View file

@ -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

View 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

View file

@ -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; }