emacs: factor meta
Because metadata pertains to the source code variants, not to the build logic.
This commit is contained in:
parent
70904d0cc0
commit
a062bf3d8e
2 changed files with 49 additions and 38 deletions
|
@ -3,6 +3,7 @@
|
|||
, variant
|
||||
, src
|
||||
, patches ? _: [ ]
|
||||
, meta
|
||||
}:
|
||||
|
||||
{ lib
|
||||
|
@ -391,44 +392,7 @@ mkDerivation (finalAttrs: (lib.optionalAttrs withNativeCompilation {
|
|||
treeSitter = builtins.trace "emacs.passthru: treeSitter was renamed to withTreeSitter and will be removed in 23.11" withTreeSitter;
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = if variant == "macport"
|
||||
then "https://bitbucket.org/mituharu/emacs-mac/"
|
||||
else "https://www.gnu.org/software/emacs/";
|
||||
description = "The extensible, customizable GNU text editor"
|
||||
+ lib.optionalString (variant == "macport") " - with macport patches";
|
||||
longDescription = ''
|
||||
GNU Emacs is an extensible, customizable text editor—and more. At its
|
||||
core is an interpreter for Emacs Lisp, a dialect of the Lisp programming
|
||||
language with extensions to support text editing.
|
||||
|
||||
The features of GNU Emacs include: content-sensitive editing modes,
|
||||
including syntax coloring, for a wide variety of file types including
|
||||
plain text, source code, and HTML; complete built-in documentation,
|
||||
including a tutorial for new users; full Unicode support for nearly all
|
||||
human languages and their scripts; highly customizable, using Emacs Lisp
|
||||
code or a graphical interface; a large number of extensions that add other
|
||||
functionality, including a project planner, mail and news reader, debugger
|
||||
interface, calendar, and more. Many of these extensions are distributed
|
||||
with GNU Emacs; others are available separately.
|
||||
''
|
||||
+ lib.optionalString (variant == "macport") ''
|
||||
|
||||
This release is built from Mitsuharu Yamamoto's patched, MacOS X-specific
|
||||
source code.
|
||||
'';
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
AndersonTorres
|
||||
adisbladis
|
||||
atemu
|
||||
jwiegley
|
||||
lovek323
|
||||
matthewbauer
|
||||
];
|
||||
platforms = if variant == "macport"
|
||||
then lib.platforms.darwin
|
||||
else lib.platforms.all;
|
||||
meta = meta // {
|
||||
broken = !(stdenv.buildPlatform.canExecute stdenv.hostPlatform);
|
||||
};
|
||||
}))
|
||||
|
|
|
@ -3,6 +3,37 @@
|
|||
, fetchFromSavannah
|
||||
}:
|
||||
|
||||
let
|
||||
mainlineMeta = {
|
||||
homepage = "https://www.gnu.org/software/emacs/";
|
||||
description = "The extensible, customizable GNU text editor";
|
||||
longDescription = ''
|
||||
GNU Emacs is an extensible, customizable text editor—and more. At its core
|
||||
is an interpreter for Emacs Lisp, a dialect of the Lisp programming
|
||||
language with extensions to support text editing.
|
||||
|
||||
The features of GNU Emacs include: content-sensitive editing modes,
|
||||
including syntax coloring, for a wide variety of file types including
|
||||
plain text, source code, and HTML; complete built-in documentation,
|
||||
including a tutorial for new users; full Unicode support for nearly all
|
||||
human languages and their scripts; highly customizable, using Emacs Lisp
|
||||
code or a graphical interface; a large number of extensions that add other
|
||||
functionality, including a project planner, mail and news reader, debugger
|
||||
interface, calendar, and more. Many of these extensions are distributed
|
||||
with GNU Emacs; others are available separately.
|
||||
'';
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
AndersonTorres
|
||||
adisbladis
|
||||
atemu
|
||||
jwiegley
|
||||
lovek323
|
||||
matthewbauer
|
||||
];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
in
|
||||
{
|
||||
emacs28 = import ./generic.nix {
|
||||
pname = "emacs";
|
||||
|
@ -13,6 +44,8 @@
|
|||
rev = "28.2";
|
||||
hash = "sha256-4oSLcUDR0MOEt53QOiZSVU8kPJ67GwugmBxdX3F15Ag=";
|
||||
};
|
||||
|
||||
meta = mainlineMeta;
|
||||
};
|
||||
|
||||
emacs29 = import ./generic.nix {
|
||||
|
@ -24,6 +57,8 @@
|
|||
rev = "29.0.92";
|
||||
hash = "sha256-Vkry+2zYejZVwZKQlmQiAJnbjsj87DiIZ1ungooYd8A=";
|
||||
};
|
||||
|
||||
meta = mainlineMeta;
|
||||
};
|
||||
|
||||
emacs-macport = import ./generic.nix {
|
||||
|
@ -36,5 +71,17 @@
|
|||
rev = "emacs-28.2-mac-9.1";
|
||||
hash = "sha256-Ne2jQ2nVLNiQmnkkOXVc5AkLVkTpm8pFC7VNY2gQjPE=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://bitbucket.org/mituharu/emacs-mac/";
|
||||
description = mainlineMeta.description + " - with macport patches";
|
||||
longDescription = mainlineMeta.longDescription + ''
|
||||
|
||||
This release is built from Mitsuharu Yamamoto's patched source code
|
||||
tailoired for MacOS X.
|
||||
'';
|
||||
inherit (mainlineMeta) license maintainers;
|
||||
platforms = lib.platforms.darwin;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue