Unverified Commit e3232bf0 authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

{micro-full,micro-with-wl-clipboard,micro-with-xclip}: "init" (#339368)

parents 4a6b9389 7ab079fe
Loading
Loading
Loading
Loading
+15 −33
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  buildGoModule,
  callPackage,
  fetchFromGitHub,
  installShellFiles,
  callPackage,
  wl-clipboard,
  xclip,
  makeWrapper,
  # Boolean flags
  withXclip ? stdenv.isLinux,
  withWlClipboard ?
    if withWlclip != null then
      lib.warn ''
        withWlclip is deprecated and will be removed;
        use withWlClipboard instead.
      '' withWlclip
    else
      stdenv.isLinux,
  stdenv,
  # Deprecated options
  # Remove them before or right after next version update from Nixpkgs or this
  # package itself
  # Remove them as soon as possible
  withXclip ? null,
  withWlClipboard ? null,
  withWlclip ? null,
}:

@@ -38,10 +26,7 @@ let

    vendorHash = "sha256-ePhObvm3m/nT+7IyT0W6K+y+9UNkfd2kYjle2ffAd9Y=";

    nativeBuildInputs = [
      installShellFiles
      makeWrapper
    ];
    nativeBuildInputs = [ installShellFiles ];

    outputs = [
      "out"
@@ -73,22 +58,12 @@ let
      install -Dm644 assets/micro-logo-mark.svg $out/share/icons/hicolor/scalable/apps/micro.svg
    '';

    postFixup =
      let
        clipboardPackages =
          lib.optionals withXclip [ xclip ]
          ++ lib.optionals withWlClipboard [ wl-clipboard ];
      in
      lib.optionalString (withXclip || withWlClipboard) ''
        wrapProgram "$out/bin/micro" \
                  --prefix PATH : "${lib.makeBinPath clipboardPackages}"
      '';

    passthru = {
      tests = lib.packagesFromDirectoryRecursive {
        inherit callPackage;
        directory = ./tests;
      };
      wrapper = callPackage ./wrapper.nix { micro = self; };
    };

    meta = {
@@ -114,4 +89,11 @@ let
    };
  };
in
self
lib.warnIf (withXclip != null || withWlClipboard != null || withWlclip != null) ''
  The options `withXclip`, `withWlClipboard`, `withWlclip` were removed. If
  you are seeking for clipboard support, please consider the following
  packages:
  - `micro-with-wl-clipboard`
  - `micro-with-xclip`
  - `micro-full`
'' self
+33 −0
Original line number Diff line number Diff line
{
  lib,
  micro,
  makeWrapper,
  symlinkJoin,
  # configurable options
  extraPackages ? [ ],
}:

symlinkJoin {
  name = "micro-wrapped-${micro.version}";
  inherit (micro) pname version outputs;

  nativeBuildInputs = [ makeWrapper ];

  paths = [ micro ];

  postBuild = ''
    ${lib.concatMapStringsSep "\n" (
      output: "ln --verbose --symbolic --no-target-directory ${micro.${output}} \$${output}"
    ) (lib.remove "out" micro.outputs)}

    pushd $out/bin
    for f in *; do
      rm $f
      makeWrapper ${micro}/bin/$f $f \
        --prefix PATH ":" "${lib.makeBinPath extraPackages}"
    done
    popd
  '';

  meta = micro.meta;
}
+19 −0
Original line number Diff line number Diff line
@@ -25097,6 +25097,25 @@ with pkgs;
  meteor = callPackage ../servers/meteor { };
  micro-full = micro.wrapper.override {
    extraPackages = [
      wl-clipboard
      xclip
    ];
  };
  micro-with-wl-clipboard = micro.wrapper.override {
    extraPackages = [
      wl-clipboard
    ];
  };
  micro-with-xclip = micro.wrapper.override {
    extraPackages = [
      xclip
    ];
  };
  micronaut = callPackage ../development/tools/micronaut { };
  minio = callPackage ../servers/minio { };