keymapp: 1.3.6 -> 1.3.7; add darwin platform (#402237)

This commit is contained in:
Aleksana
2025-05-23 10:35:48 +08:00
committed by GitHub
3 changed files with 146 additions and 48 deletions
+34
View File
@@ -0,0 +1,34 @@
{
stdenv,
undmg,
pname,
version,
src,
meta,
...
}:
stdenv.mkDerivation {
inherit
pname
version
src
meta
;
dontPatch = true;
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ undmg ];
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/Applications
mv Keymapp.app $out/Applications
runHook postInstall
'';
}
+62
View File
@@ -0,0 +1,62 @@
{
stdenv,
copyDesktopItems,
autoPatchelfHook,
wrapGAppsHook4,
makeDesktopItem,
libusb1,
webkitgtk_4_1,
libsoup_3,
pname,
version,
src,
meta,
...
}:
stdenv.mkDerivation {
inherit
pname
version
src
meta
;
nativeBuildInputs = [
copyDesktopItems
autoPatchelfHook
wrapGAppsHook4
];
buildInputs = [
libusb1
webkitgtk_4_1
libsoup_3
];
sourceRoot = ".";
installPhase = ''
runHook preInstall
install -m755 -D keymapp "$out/bin/keymapp"
install -Dm644 icon.png "$out/share/pixmaps/keymapp.png"
runHook postInstall
'';
preFixup = ''
gappsWrapperArgs+=(--set-default '__NV_PRIME_RENDER_OFFLOAD' 1)
'';
desktopItem = makeDesktopItem {
name = "keymapp";
icon = "keymapp";
desktopName = "Keymapp";
categories = [
"Settings"
"HardwareSettings"
];
type = "Application";
exec = "keymapp";
};
}
+50 -48
View File
@@ -2,6 +2,7 @@
stdenv,
lib,
fetchurl,
callPackage,
autoPatchelfHook,
wrapGAppsHook4,
libusb1,
@@ -9,66 +10,67 @@
webkitgtk_4_1,
makeDesktopItem,
copyDesktopItems,
undmg,
}:
let
desktopItem = makeDesktopItem {
name = "keymapp";
icon = "keymapp";
desktopName = "Keymapp";
categories = [
"Settings"
"HardwareSettings"
];
type = "Application";
exec = "keymapp";
};
in
stdenv.mkDerivation rec {
pname = "keymapp";
version = "1.3.6";
version = "1.3.7";
sources = rec {
aarch64-darwin = {
# Upstream does not provide archives of previous versions,
# therefore a capture using the wayback machine is used
url = "https://web.archive.org/web/20250520135916/https://oryx.nyc3.cdn.digitaloceanspaces.com/keymapp/keymapp-latest.dmg";
hash = "sha256-H6xRau7pWuSF5Aa6lblwi/Lg5KxC+HM3rtUMjX+hEE8=";
};
x86_64-darwin = aarch64-darwin;
aarch64-linux = {
url = "https://oryx.nyc3.cdn.digitaloceanspaces.com/keymapp/keymapp-${version}.tar.gz";
hash = "sha256-qHvHCDzWRhuhDg2kuU8kmikQDXElQtVEmPAelHz4aPo=";
};
x86_64-linux = aarch64-linux;
};
src = fetchurl {
url = "https://oryx.nyc3.cdn.digitaloceanspaces.com/keymapp/keymapp-${version}.tar.gz";
hash = "sha256-LWO4aeNmGgZ+T41pb6HwC3tnwaiGviDIq63QMsrlkEc=";
inherit (sources.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}")) url hash;
};
nativeBuildInputs = [
copyDesktopItems
autoPatchelfHook
wrapGAppsHook4
];
buildInputs = [
libusb1
webkitgtk_4_1
libsoup_3
];
sourceRoot = ".";
installPhase = ''
runHook preInstall
install -m755 -D keymapp "$out/bin/keymapp"
install -Dm644 icon.png "$out/share/pixmaps/keymapp.png"
runHook postInstall
'';
preFixup = ''
gappsWrapperArgs+=(--set-default '__NV_PRIME_RENDER_OFFLOAD' 1)
'';
desktopItems = [ desktopItem ];
meta = with lib; {
meta = {
homepage = "https://www.zsa.io/flash/";
description = "Application for ZSA keyboards";
maintainers = with lib.maintainers; [
afh
jankaifer
shawn8901
];
platforms = platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
license = lib.licenses.unfree;
};
}
in
if stdenv.hostPlatform.isDarwin then
callPackage ./darwin.nix {
inherit
pname
version
src
meta
undmg
;
}
else
callPackage ./linux.nix {
inherit
pname
version
src
meta
libusb1
libsoup_3
webkitgtk_4_1
autoPatchelfHook
wrapGAppsHook4
copyDesktopItems
makeDesktopItem
;
}