diff --git a/pkgs/by-name/ap/aptakube/darwin.nix b/pkgs/by-name/ap/aptakube/darwin.nix new file mode 100644 index 000000000000..a01e8798cddc --- /dev/null +++ b/pkgs/by-name/ap/aptakube/darwin.nix @@ -0,0 +1,36 @@ +{ + stdenvNoCC, + fetchurl, + undmg, + + pname, + version, + meta, +}: +stdenvNoCC.mkDerivation { + inherit + pname + version + meta + ; + + src = fetchurl { + url = "https://github.com/aptakube/aptakube/releases/download/${version}/Aptakube_${version}_universal.dmg"; + sha256 = "sha256-ljVl490cZuIcRSP8RKmf8Eq5D4OibLfuA8SugUlf1Yw="; + }; + + nativeBuildInputs = [ undmg ]; + + unpackPhase = '' + runHook preUnpack + undmg $src + runHook postUnpack + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/Applications + cp -r Aptakube.app $out/Applications/Aptakube.app + runHook postInstall + ''; +} diff --git a/pkgs/by-name/ap/aptakube/linux.nix b/pkgs/by-name/ap/aptakube/linux.nix new file mode 100644 index 000000000000..ce14bce74e35 --- /dev/null +++ b/pkgs/by-name/ap/aptakube/linux.nix @@ -0,0 +1,43 @@ +{ + stdenvNoCC, + fetchurl, + dpkg, + autoPatchelfHook, + webkitgtk_4_1, + + pname, + version, + meta, +}: +stdenvNoCC.mkDerivation { + inherit + pname + version + meta + ; + + src = fetchurl { + url = "https://github.com/aptakube/aptakube/releases/download/${version}/aptakube_${version}_amd64.deb"; + sha256 = "sha256-lT8v2nXVfZb5W/FP/ymWjGypQLz7ONlp9+GblMKKXuw="; + }; + + nativeBuildInputs = [ + autoPatchelfHook + dpkg + ]; + + buildInputs = [ webkitgtk_4_1 ]; + + unpackPhase = '' + runHook preUnpack + dpkg -X $src . + runHook postUnpack + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out + cp -r usr/share usr/bin $out + runHook postInstall + ''; +} diff --git a/pkgs/by-name/ap/aptakube/package.nix b/pkgs/by-name/ap/aptakube/package.nix new file mode 100644 index 000000000000..2ff007fed528 --- /dev/null +++ b/pkgs/by-name/ap/aptakube/package.nix @@ -0,0 +1,34 @@ +{ + lib, + stdenv, + callPackage, + ... +}: +let + pname = "aptakube"; + version = "1.11.10"; + meta = { + homepage = "https://aptakube.com/"; + description = "Modern, lightweight and multi-cluster Kubernetes GUI"; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.juliamertz ]; + platforms = lib.platforms.darwin ++ [ "x86_64-linux" ]; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + }; +in +if stdenv.hostPlatform.isDarwin then + callPackage ./darwin.nix { + inherit + pname + version + meta + ; + } +else + callPackage ./linux.nix { + inherit + pname + version + meta + ; + }