Commit 2d6b28f0 authored by Juanjo Presa's avatar Juanjo Presa
Browse files

emacsPackages.elpaDevelPackages: init

parent 4ae814f7
Loading
Loading
Loading
Loading
+6775 −0

File added.

Preview size limit exceeded, changes collapsed.

+62 −0
Original line number Diff line number Diff line
/*

# 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 { }
+2 −2
Original line number Diff line number Diff line
@@ -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 −0
Original line number Diff line number Diff line
#! /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
+7 −0
Original line number Diff line number Diff line
@@ -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; }