summary refs log tree commit diff
diff options
context:
space:
mode:
authoradisbladis <adisbladis@gmail.com>2019-08-05 00:26:29 +0100
committeradisbladis <adisbladis@gmail.com>2019-08-07 18:04:23 +0100
commitbe74dec846743ab56072903738adf9657343da54 (patch)
tree5e6c0101b2d28dcc220c8e4b9bbf07ca8d88048c
parent97a069609f16f64a7291933d56d4c5818f4a0e00 (diff)
downloadnixpkgs-be74dec846743ab56072903738adf9657343da54.tar
nixpkgs-be74dec846743ab56072903738adf9657343da54.tar.gz
nixpkgs-be74dec846743ab56072903738adf9657343da54.tar.bz2
nixpkgs-be74dec846743ab56072903738adf9657343da54.tar.lz
nixpkgs-be74dec846743ab56072903738adf9657343da54.tar.xz
nixpkgs-be74dec846743ab56072903738adf9657343da54.tar.zst
nixpkgs-be74dec846743ab56072903738adf9657343da54.zip
emacs-packages: Move manually created packages to it's own file
And let emacs-packages.nix only aggregate the attrsets
-rw-r--r--pkgs/applications/editors/emacs-modes/manual-packages.nix145
-rw-r--r--pkgs/top-level/emacs-packages.nix148
2 files changed, 147 insertions, 146 deletions
diff --git a/pkgs/applications/editors/emacs-modes/manual-packages.nix b/pkgs/applications/editors/emacs-modes/manual-packages.nix
new file mode 100644
index 00000000000..7f75de74ed6
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/manual-packages.nix
@@ -0,0 +1,145 @@
+{ lib, external, pkgs }: self: with self; with lib.licenses; {
+
+  elisp-ffi = melpaBuild rec {
+    pname = "elisp-ffi";
+    version = "1.0.0";
+    src = pkgs.fetchFromGitHub {
+      owner = "skeeto";
+      repo = "elisp-ffi";
+      rev = "${version}";
+      sha256 = "0z2n3h5l5fj8wl8i1ilfzv11l3zba14sgph6gz7dx7q12cnp9j22";
+    };
+    buildInputs = [ external.libffi ];
+    preBuild = "make";
+    recipe = pkgs.writeText "recipe" ''
+      (elisp-ffi
+      :repo "skeeto/elisp-ffi"
+      :fetcher github
+      :files ("ffi-glue" "ffi.el"))
+    '';
+    meta = {
+      description = "Emacs Lisp Foreign Function Interface";
+      longDescription = ''
+        This library provides an FFI for Emacs Lisp so that Emacs
+        programs can invoke functions in native libraries. It works by
+        driving a subprocess to do the heavy lifting, passing result
+        values on to Emacs.
+      '';
+      license = publicDomain;
+    };
+  };
+
+  agda2-mode = with external; trivialBuild {
+    pname = "agda-mode";
+    version = Agda.version;
+
+    phases = [ "buildPhase" "installPhase" ];
+
+    # already byte-compiled by Agda builder
+    buildPhase = ''
+      agda=`${Agda}/bin/agda-mode locate`
+      cp `dirname $agda`/*.el* .
+    '';
+
+    meta = {
+      description = "Agda2-mode for Emacs extracted from Agda package";
+      longDescription = ''
+        Wrapper packages that liberates init.el from `agda-mode locate` magic.
+        Simply add this to user profile or systemPackages and do `(require 'agda2)` in init.el.
+      '';
+      homepage = Agda.meta.homepage;
+      license = Agda.meta.license;
+    };
+  };
+
+  ess-R-object-popup =
+    callPackage ./ess-R-object-popup { };
+
+  filesets-plus = callPackage ./filesets-plus { };
+
+  font-lock-plus = callPackage ./font-lock-plus { };
+
+  ghc-mod = melpaBuild rec {
+    pname = "ghc";
+    version = external.ghc-mod.version;
+    src = external.ghc-mod.src;
+    packageRequires = [ haskell-mode ];
+    propagatedUserEnvPkgs = [ external.ghc-mod ];
+    recipe = pkgs.writeText "recipe" ''
+      (ghc-mod :repo "DanielG/ghc-mod" :fetcher github :files ("elisp/*.el"))
+    '';
+    fileSpecs = [ "elisp/*.el" ];
+    meta = {
+      description = "An extension of haskell-mode that provides completion of symbols and documentation browsing";
+      license = bsd3;
+    };
+  };
+
+  haskell-unicode-input-method = melpaBuild rec {
+    pname = "emacs-haskell-unicode-input-method";
+    version = "20110905.2307";
+    src = pkgs.fetchFromGitHub {
+      owner = "roelvandijk";
+      repo = "emacs-haskell-unicode-input-method";
+      rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
+      sha256 = "09b7bg2s9aa4s8f2kdqs4xps3jxkq5wsvbi87ih8b6id38blhf78";
+    };
+    recipe = pkgs.writeText "recipe" ''
+      (haskell-unicode-input-method
+       :repo "roelvandijk/emacs-haskell-unicode-input-method"
+       :fetcher github)
+    '';
+    packageRequires = [];
+    meta = {
+      homepage = "https://melpa.org/#haskell-unicode-input-method/";
+      license = lib.licenses.free;
+    };
+  };
+
+  hexrgb = callPackage ./hexrgb { };
+
+  header2 = callPackage ./header2 { };
+
+  helm-words = callPackage ./helm-words { };
+
+  icicles = callPackage ./icicles { };
+
+  rtags = melpaBuild rec {
+    inherit (external.rtags) version src meta;
+
+    pname = "rtags";
+
+    dontConfigure = true;
+
+    propagatedUserEnvPkgs = [ external.rtags ];
+    recipe = pkgs.writeText "recipe" ''
+      (rtags
+       :repo "andersbakken/rtags" :fetcher github
+       :files ("src/*.el"))
+    '';
+  };
+
+  lib-requires =
+    callPackage ./lib-requires { };
+
+  org-mac-link =
+    callPackage ./org-mac-link { };
+
+  perl-completion =
+    callPackage ./perl-completion { };
+
+  railgun = callPackage ./railgun { };
+
+  gn = callPackage ./gn { };
+
+  structured-haskell-mode = self.shm;
+
+  thingatpt-plus = callPackage ./thingatpt-plus { };
+
+  tramp = callPackage ./tramp { };
+
+  yaoddmuse = callPackage ./yaoddmuse { };
+
+  zeitgeist = callPackage ./zeitgeist { };
+
+}
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index f8484793299..5719c5a74fe 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -42,8 +42,6 @@
 , pkgs
 }:
 
-with lib.licenses;
-
 let
 
   mkElpaPackages = import ../applications/editors/emacs-modes/elpa-packages.nix {
@@ -63,150 +61,8 @@ let
     inherit lib lndir makeWrapper stdenv runCommand;
   };
 
-  mkManualPackages = self: with self; {
-
-    elisp-ffi = melpaBuild rec {
-      pname = "elisp-ffi";
-      version = "1.0.0";
-      src = fetchFromGitHub {
-        owner = "skeeto";
-        repo = "elisp-ffi";
-        rev = "${version}";
-        sha256 = "0z2n3h5l5fj8wl8i1ilfzv11l3zba14sgph6gz7dx7q12cnp9j22";
-      };
-      buildInputs = [ external.libffi ];
-      preBuild = "make";
-      recipe = writeText "recipe" ''
-        (elisp-ffi
-        :repo "skeeto/elisp-ffi"
-        :fetcher github
-        :files ("ffi-glue" "ffi.el"))
-      '';
-      meta = {
-        description = "Emacs Lisp Foreign Function Interface";
-        longDescription = ''
-          This library provides an FFI for Emacs Lisp so that Emacs
-          programs can invoke functions in native libraries. It works by
-          driving a subprocess to do the heavy lifting, passing result
-          values on to Emacs.
-        '';
-        license = publicDomain;
-      };
-    };
-
-    agda2-mode = with external; trivialBuild {
-      pname = "agda-mode";
-      version = Agda.version;
-
-      phases = [ "buildPhase" "installPhase" ];
-
-      # already byte-compiled by Agda builder
-      buildPhase = ''
-        agda=`${Agda}/bin/agda-mode locate`
-        cp `dirname $agda`/*.el* .
-      '';
-
-      meta = {
-        description = "Agda2-mode for Emacs extracted from Agda package";
-        longDescription = ''
-          Wrapper packages that liberates init.el from `agda-mode locate` magic.
-          Simply add this to user profile or systemPackages and do `(require 'agda2)` in init.el.
-        '';
-        homepage = Agda.meta.homepage;
-        license = Agda.meta.license;
-      };
-    };
-
-    ess-R-object-popup =
-      callPackage ../applications/editors/emacs-modes/ess-R-object-popup { };
-
-    filesets-plus = callPackage ../applications/editors/emacs-modes/filesets-plus { };
-
-    font-lock-plus = callPackage ../applications/editors/emacs-modes/font-lock-plus { };
-
-    ghc-mod = melpaBuild rec {
-      pname = "ghc";
-      version = external.ghc-mod.version;
-      src = external.ghc-mod.src;
-      packageRequires = [ haskell-mode ];
-      propagatedUserEnvPkgs = [ external.ghc-mod ];
-      recipe = writeText "recipe" ''
-        (ghc-mod :repo "DanielG/ghc-mod" :fetcher github :files ("elisp/*.el"))
-      '';
-      fileSpecs = [ "elisp/*.el" ];
-      meta = {
-        description = "An extension of haskell-mode that provides completion of symbols and documentation browsing";
-        license = bsd3;
-      };
-    };
-
-    haskell-unicode-input-method = melpaBuild rec {
-      pname = "emacs-haskell-unicode-input-method";
-      version = "20110905.2307";
-      src = fetchFromGitHub {
-        owner = "roelvandijk";
-        repo = "emacs-haskell-unicode-input-method";
-        rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
-        sha256 = "09b7bg2s9aa4s8f2kdqs4xps3jxkq5wsvbi87ih8b6id38blhf78";
-      };
-      recipe = writeText "recipe" ''
-        (haskell-unicode-input-method
-         :repo "roelvandijk/emacs-haskell-unicode-input-method"
-         :fetcher github)
-      '';
-      packageRequires = [];
-      meta = {
-        homepage = "https://melpa.org/#haskell-unicode-input-method/";
-        license = lib.licenses.free;
-      };
-    };
-
-    hexrgb = callPackage ../applications/editors/emacs-modes/hexrgb { };
-
-    header2 = callPackage ../applications/editors/emacs-modes/header2 { };
-
-    helm-words = callPackage ../applications/editors/emacs-modes/helm-words { };
-
-    icicles = callPackage ../applications/editors/emacs-modes/icicles { };
-
-    rtags = melpaBuild rec {
-      inherit (external.rtags) version src meta;
-
-      pname = "rtags";
-
-      dontConfigure = true;
-
-      propagatedUserEnvPkgs = [ external.rtags ];
-      recipe = writeText "recipe" ''
-        (rtags
-         :repo "andersbakken/rtags" :fetcher github
-         :files ("src/*.el"))
-      '';
-    };
-
-    lib-requires =
-      callPackage ../applications/editors/emacs-modes/lib-requires { };
-
-    org-mac-link =
-      callPackage ../applications/editors/emacs-modes/org-mac-link { };
-
-    perl-completion =
-      callPackage ../applications/editors/emacs-modes/perl-completion { };
-
-    railgun = callPackage ../applications/editors/emacs-modes/railgun { };
-
-    gn = callPackage ../applications/editors/emacs-modes/gn { };
-
-    structured-haskell-mode = self.shm;
-
-    thingatpt-plus = callPackage ../applications/editors/emacs-modes/thingatpt-plus { };
-
-    tramp = callPackage ../applications/editors/emacs-modes/tramp { };
-
-    yaoddmuse = callPackage ../applications/editors/emacs-modes/yaoddmuse { };
-
-    zeitgeist = callPackage ../applications/editors/emacs-modes/zeitgeist { };
-
+  mkManualPackages = import ../applications/editors/emacs-modes/manual-packages.nix {
+    inherit external lib pkgs;
   };
 
 in lib.makeScope newScope (self: lib.makeOverridable ({