emacsPackagesNg: add all of MELPA
This commit is contained in:
parent
4e99a11653
commit
8e655250bd
@ -10,17 +10,20 @@ let
|
|||||||
mkPackage = self: name: recipe:
|
mkPackage = self: name: recipe:
|
||||||
let drv =
|
let drv =
|
||||||
{ elpaBuild, stdenv, fetchurl }:
|
{ elpaBuild, stdenv, fetchurl }:
|
||||||
let fetch = { inherit fetchurl; }."${recipe.fetch.tag}"
|
let
|
||||||
or (abort "emacs-${name}: unknown fetcher '${recipe.fetch.tag}'");
|
unknownFetcher =
|
||||||
args = builtins.removeAttrs recipe.fetch [ "tag" ];
|
abort "emacs-${name}: unknown fetcher '${recipe.fetch.tag}'";
|
||||||
src = fetch args;
|
fetch =
|
||||||
|
{ inherit fetchurl; }."${recipe.fetch.tag}"
|
||||||
|
or unknownFetcher;
|
||||||
|
args = builtins.removeAttrs recipe.fetch [ "tag" ];
|
||||||
|
src = fetch args;
|
||||||
in elpaBuild {
|
in elpaBuild {
|
||||||
pname = name;
|
pname = name;
|
||||||
inherit (recipe) version;
|
inherit (recipe) version;
|
||||||
inherit src;
|
inherit src;
|
||||||
deps =
|
deps =
|
||||||
let lookupDep = d:
|
let lookupDep = d: self."${d}" or null;
|
||||||
self."${d}" or (abort "emacs-${name}: missing dependency ${d}");
|
|
||||||
in map lookupDep recipe.deps;
|
in map lookupDep recipe.deps;
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "http://elpa.gnu.org/packages/${name}.html";
|
homepage = "http://elpa.gnu.org/packages/${name}.html";
|
||||||
@ -29,14 +32,23 @@ let
|
|||||||
};
|
};
|
||||||
in self.callPackage drv {};
|
in self.callPackage drv {};
|
||||||
|
|
||||||
packages = self:
|
in
|
||||||
let
|
|
||||||
elpaPackages = mapAttrs (mkPackage self) manifest;
|
|
||||||
|
|
||||||
elpaBuild = import ../../../build-support/emacs/melpa.nix {
|
self:
|
||||||
inherit (pkgs) lib stdenv fetchurl texinfo;
|
|
||||||
inherit (self) emacs;
|
|
||||||
};
|
|
||||||
in elpaPackages // { inherit elpaBuild elpaPackages; };
|
|
||||||
|
|
||||||
in makeScope pkgs.newScope packages
|
let
|
||||||
|
super = mapAttrs (mkPackage self) manifest;
|
||||||
|
|
||||||
|
elpaBuild = import ../../../build-support/emacs/melpa.nix {
|
||||||
|
inherit (pkgs) lib stdenv fetchurl texinfo;
|
||||||
|
inherit (self) emacs;
|
||||||
|
};
|
||||||
|
|
||||||
|
builtin = null;
|
||||||
|
|
||||||
|
markBroken = pkg: pkg.override {
|
||||||
|
elpaBuild = args: self.elpaBuild (args // {
|
||||||
|
meta = (args.meta or {}) // { broken = true; };
|
||||||
|
});
|
||||||
|
};
|
||||||
|
in super // { inherit elpaBuild; elpaPackage = super; }
|
||||||
|
@ -9,18 +9,23 @@ let
|
|||||||
|
|
||||||
mkPackage = self: name: recipe:
|
mkPackage = self: name: recipe:
|
||||||
let drv =
|
let drv =
|
||||||
{ melpaBuild, stdenv, fetchurl }:
|
{ melpaBuild, stdenv, fetchurl, fetchcvs, fetchgit, fetchhg }:
|
||||||
let fetch = { inherit fetchurl; }."${recipe.fetch.tag}"
|
let
|
||||||
or (abort "emacs-${name}: unknown fetcher '${recipe.fetch.tag}'");
|
unknownFetcher =
|
||||||
args = builtins.removeAttrs recipe.fetch [ "tag" ];
|
abort "emacs-${name}: unknown fetcher '${recipe.fetch.tag}'";
|
||||||
src = fetch args;
|
fetch =
|
||||||
|
{
|
||||||
|
inherit fetchurl fetchcvs fetchgit fetchhg;
|
||||||
|
}."${recipe.fetch.tag}"
|
||||||
|
or unknownFetcher;
|
||||||
|
args = builtins.removeAttrs recipe.fetch [ "tag" ];
|
||||||
|
src = fetch args;
|
||||||
in melpaBuild {
|
in melpaBuild {
|
||||||
pname = name;
|
pname = name;
|
||||||
inherit (recipe) version;
|
inherit (recipe) version;
|
||||||
inherit src;
|
inherit src;
|
||||||
deps =
|
deps =
|
||||||
let lookupDep = d:
|
let lookupDep = d: self."${d}" or null;
|
||||||
self."${d}" or (abort "emacs-${name}: missing dependency ${d}");
|
|
||||||
in map lookupDep recipe.deps;
|
in map lookupDep recipe.deps;
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "http://melpa.org/#/${name}";
|
homepage = "http://melpa.org/#/${name}";
|
||||||
@ -29,14 +34,17 @@ let
|
|||||||
};
|
};
|
||||||
in self.callPackage drv {};
|
in self.callPackage drv {};
|
||||||
|
|
||||||
packages = self:
|
in
|
||||||
let
|
|
||||||
melpaPackages = mapAttrs (mkPackage self) manifest;
|
|
||||||
|
|
||||||
melpaBuild = import ../../../build-support/emacs/melpa.nix {
|
self:
|
||||||
inherit (pkgs) lib stdenv fetchurl texinfo;
|
|
||||||
inherit (self) emacs;
|
|
||||||
};
|
|
||||||
in melpaPackages // { inherit melpaBuild melpaPackages; };
|
|
||||||
|
|
||||||
in makeScope pkgs.newScope packages
|
let
|
||||||
|
super = mapAttrs (mkPackage self) manifest;
|
||||||
|
|
||||||
|
markBroken = pkg: pkg.override {
|
||||||
|
melpaBuild = args: self.melpaBuild (args // {
|
||||||
|
meta = (args.meta or {}) // { broken = true; };
|
||||||
|
});
|
||||||
|
};
|
||||||
|
in
|
||||||
|
super // { melpaPackages = super; }
|
||||||
|
@ -9,18 +9,23 @@ let
|
|||||||
|
|
||||||
mkPackage = self: name: recipe:
|
mkPackage = self: name: recipe:
|
||||||
let drv =
|
let drv =
|
||||||
{ melpaBuild, stdenv, fetchurl }:
|
{ melpaBuild, stdenv, fetchurl, fetchcvs, fetchgit, fetchhg }:
|
||||||
let fetch = { inherit fetchurl; }."${recipe.fetch.tag}"
|
let
|
||||||
or (abort "emacs-${name}: unknown fetcher '${recipe.fetch.tag}'");
|
unknownFetcher =
|
||||||
args = builtins.removeAttrs recipe.fetch [ "tag" ];
|
abort "emacs-${name}: unknown fetcher '${recipe.fetch.tag}'";
|
||||||
src = fetch args;
|
fetch =
|
||||||
|
{
|
||||||
|
inherit fetchurl fetchcvs fetchgit fetchhg;
|
||||||
|
}."${recipe.fetch.tag}"
|
||||||
|
or unknownFetcher;
|
||||||
|
args = builtins.removeAttrs recipe.fetch [ "tag" ];
|
||||||
|
src = fetch args;
|
||||||
in melpaBuild {
|
in melpaBuild {
|
||||||
pname = name;
|
pname = name;
|
||||||
inherit (recipe) version;
|
inherit (recipe) version;
|
||||||
inherit src;
|
inherit src;
|
||||||
deps =
|
deps =
|
||||||
let lookupDep = d:
|
let lookupDep = d: self."${d}" or null;
|
||||||
self."${d}" or (abort "emacs-${name}: missing dependency ${d}");
|
|
||||||
in map lookupDep recipe.deps;
|
in map lookupDep recipe.deps;
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "http://stable.melpa.org/#/${name}";
|
homepage = "http://stable.melpa.org/#/${name}";
|
||||||
@ -29,14 +34,17 @@ let
|
|||||||
};
|
};
|
||||||
in self.callPackage drv {};
|
in self.callPackage drv {};
|
||||||
|
|
||||||
packages = self:
|
in
|
||||||
let
|
|
||||||
melpaStablePackages = mapAttrs (mkPackage self) manifest;
|
|
||||||
|
|
||||||
melpaBuild = import ../../../build-support/emacs/melpa.nix {
|
self:
|
||||||
inherit (pkgs) lib stdenv fetchurl texinfo;
|
|
||||||
inherit (self) emacs;
|
|
||||||
};
|
|
||||||
in melpaStablePackages // { inherit melpaBuild melpaStablePackages; };
|
|
||||||
|
|
||||||
in makeScope pkgs.newScope packages
|
let
|
||||||
|
super = mapAttrs (mkPackage self) manifest;
|
||||||
|
|
||||||
|
markBroken = pkg: pkg.override {
|
||||||
|
melpaBuild = args: self.melpaBuild (args // {
|
||||||
|
meta = (args.meta or {}) // { broken = true; };
|
||||||
|
});
|
||||||
|
};
|
||||||
|
in
|
||||||
|
super // { melpaStablePackages = super; }
|
||||||
|
@ -11627,7 +11627,8 @@ let
|
|||||||
emacsPackagesNgGen = emacs: callPackage ./emacs-packages.nix {
|
emacsPackagesNgGen = emacs: callPackage ./emacs-packages.nix {
|
||||||
overrides = (config.emacsPackageOverrides or (p: {})) pkgs;
|
overrides = (config.emacsPackageOverrides or (p: {})) pkgs;
|
||||||
|
|
||||||
inherit emacs elpaPackages;
|
inherit newScope;
|
||||||
|
inherit emacs elpaPackages melpaPackages melpaStablePackages;
|
||||||
|
|
||||||
trivialBuild = callPackage ../build-support/emacs/trivial.nix {
|
trivialBuild = callPackage ../build-support/emacs/trivial.nix {
|
||||||
inherit emacs;
|
inherit emacs;
|
||||||
@ -11647,8 +11648,13 @@ let
|
|||||||
emacs24PackagesNg = recurseIntoAttrs (emacsPackagesNgGen emacs24);
|
emacs24PackagesNg = recurseIntoAttrs (emacsPackagesNgGen emacs24);
|
||||||
|
|
||||||
elpaPackages =
|
elpaPackages =
|
||||||
let imported = import ../applications/editors/emacs-modes/elpa-packages.nix pkgs;
|
import ../applications/editors/emacs-modes/elpa-packages.nix pkgs;
|
||||||
in recurseIntoAttrs (imported.override (super: self: { inherit emacs; }));
|
|
||||||
|
melpaStablePackages =
|
||||||
|
import ../applications/editors/emacs-modes/melpa-stable-packages.nix pkgs;
|
||||||
|
|
||||||
|
melpaPackages =
|
||||||
|
import ../applications/editors/emacs-modes/melpa-packages.nix pkgs;
|
||||||
|
|
||||||
emacsWithPackages = callPackage ../build-support/emacs/wrapper.nix { };
|
emacsWithPackages = callPackage ../build-support/emacs/wrapper.nix { };
|
||||||
emacs24WithPackages = emacsWithPackages.override { emacs = emacs24; };
|
emacs24WithPackages = emacsWithPackages.override { emacs = emacs24; };
|
||||||
|
@ -33,9 +33,9 @@
|
|||||||
|
|
||||||
{ overrides
|
{ overrides
|
||||||
|
|
||||||
, lib, stdenv, fetchurl, fetchgit, fetchFromGitHub, fetchhg
|
, lib, newScope, stdenv, fetchurl, fetchgit, fetchFromGitHub, fetchhg
|
||||||
|
|
||||||
, emacs, elpaPackages
|
, emacs, elpaPackages, melpaPackages, melpaStablePackages
|
||||||
, trivialBuild
|
, trivialBuild
|
||||||
, melpaBuild
|
, melpaBuild
|
||||||
|
|
||||||
@ -44,7 +44,14 @@
|
|||||||
|
|
||||||
with lib.licenses;
|
with lib.licenses;
|
||||||
|
|
||||||
let packagesFun = super: self: with self; {
|
let
|
||||||
|
|
||||||
|
addMelpaPackages = scope: scope.override (super: melpaPackages);
|
||||||
|
addMelpaStablePackages = scope: scope.override (super: melpaStablePackages);
|
||||||
|
addElpaPackages = scope: scope.override (super: elpaPackages);
|
||||||
|
addOverrides = scope: scope.override packagesFun;
|
||||||
|
|
||||||
|
packagesFun = super: self: with self; {
|
||||||
|
|
||||||
inherit emacs melpaBuild trivialBuild;
|
inherit emacs melpaBuild trivialBuild;
|
||||||
|
|
||||||
@ -2019,6 +2026,11 @@ let packagesFun = super: self: with self; {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
in elpaPackages.override packagesFun
|
in
|
||||||
|
addOverrides
|
||||||
|
(addElpaPackages
|
||||||
|
(addMelpaStablePackages
|
||||||
|
(addMelpaPackages
|
||||||
|
(lib.makeScope newScope (self: { inherit emacs; })))))
|
||||||
|
Loading…
Reference in New Issue
Block a user