Unverified Commit 654f51af authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #247183 from nshalman/chrysalis-0.13.2

chrysalis: 0.12.0 -> 0.13.2
parents 04942c59 c5cdffd4
Loading
Loading
Loading
Loading
+24 −17
Original line number Diff line number Diff line
@@ -2,34 +2,40 @@

let
  pname = "chrysalis";
  version = "0.12.0";
in appimageTools.wrapAppImage rec {
  version = "0.13.2";
  name = "${pname}-${version}-binary";

  src = appimageTools.extract {
    inherit name;
  src = fetchurl {
      url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
      sha256 = "sha256-sQoEO1UII4Gbp7UbHCCyejsd94lkBbi93TH325EamFc=";
    };
    url =
      "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}-x64.AppImage";
    hash =
      "sha512-WuItdQ/hDxbZZ3zulHI74NUkuYfesV/31rA1gPakCFgX2hpPrmKzwUez2vqt4N5qrGyphrR0bcelUatGZhOn5A==";
  };
  appimageContents = appimageTools.extract { inherit name src; };
in appimageTools.wrapType2 rec {
  inherit name pname src;

  multiArch = false;
  extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [
    p.glib
  ];
  extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [ p.glib ];

  # Also expose the udev rules here, so it can be used as:
  #   services.udev.packages = [ pkgs.chrysalis ];
  # to allow non-root modifications to the keyboards.

  extraInstallCommands = ''
    mv $out/bin/${name} $out/bin/${pname}
    mv $out/bin/{${name},${pname}}

    install -m 444 \
      -D ${appimageContents}/usr/lib/chrysalis/resources/static/udev/60-kaleidoscope.rules \
      -t $out/lib/udev/rules.d

    install -m 444 \
        -D ${appimageContents}/Chrysalis.desktop \
        -t $out/share/applications
    substituteInPlace \
        $out/share/applications/Chrysalis.desktop \
        --replace 'Exec=Chrysalis' 'Exec=${pname}'

    mkdir -p $out/lib/udev/rules.d
    ln -s \
      --target-directory=$out/lib/udev/rules.d \
      ${src}/resources/static/udev/60-kaleidoscope.rules
    cp -r ${appimageContents}/usr/share/icons $out/share
  '';

  meta = with lib; {
@@ -38,5 +44,6 @@ in appimageTools.wrapAppImage rec {
    license = licenses.gpl3;
    maintainers = with maintainers; [ aw ];
    platforms = [ "x86_64-linux" ];
    mainProgram = pname;
  };
}