Unverified Commit 1a238422 authored by adisbladis's avatar adisbladis Committed by GitHub
Browse files

Merge pull request #242001 from atorres1985-contrib/emacs

emacs: factor meta
parents 906b35cf a062bf3d
Loading
Loading
Loading
Loading
+2 −38
Original line number Diff line number Diff line
@@ -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);
  };
}))
+47 −0
Original line number Diff line number Diff line
@@ -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;
    };
  };
}