nur-packages

My NUR packages
git clone git://git.sikmir.ru/nur-packages
Log | Files | Refs | README | LICENSE

default.nix (2109B)


      1 { lib, stdenv, appimageTools, fetchurl, undmg, makeWrapper }:
      2 
      3 let
      4   pname = "mqtt-explorer";
      5   version = "0.3.5";
      6 
      7   srcs = {
      8     x86_64-linux = fetchurl {
      9       url = "https://github.com/thomasnordquist/MQTT-Explorer/releases/download/v${version}/MQTT-Explorer-${version}.AppImage";
     10       hash = "sha256-Yfz42+dVIx3xwIOmYltp5e9rYka+KskvQuxJVVBgbg4=";
     11     };
     12     x86_64-darwin = fetchurl {
     13       url = "https://github.com/thomasnordquist/MQTT-Explorer/releases/download/v${version}/MQTT-Explorer-${version}.dmg";
     14       hash = "sha256-Cf2qgoxaNGpcaW0oA605vd5zQiZX1m54ccW8Tbe8qvU=";
     15     };
     16   };
     17   src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
     18 
     19   appimageContents = appimageTools.extract { inherit pname version src; };
     20 
     21   linux = appimageTools.wrapType2 rec {
     22     inherit pname version src meta;
     23 
     24     extraInstallCommands = ''
     25       mv $out/bin/${pname}-${version} $out/bin/${pname}
     26 
     27       install -Dm444 ${appimageContents}/mqtt-explorer.desktop -t $out/share/applications
     28       substituteInPlace $out/share/applications/mqtt-explorer.desktop \
     29         --replace-fail "Exec=AppRun" "Exec=$out/bin/mqtt-explorer"
     30 
     31       install -Dm444 ${appimageContents}/mqtt-explorer.png -t $out/share/icons/hicolor/512x512/apps
     32     '';
     33   };
     34 
     35   darwin = stdenv.mkDerivation {
     36     inherit pname version src meta;
     37 
     38     nativeBuildInputs = [ undmg makeWrapper ];
     39 
     40     sourceRoot = ".";
     41 
     42     installPhase = ''
     43       runHook preInstall
     44       mkdir -p $out/Applications
     45       mv *.app $out/Applications
     46       makeWrapper $out/{Applications/MQTT\ Explorer.app/Contents/MacOS/MQTT\ Explorer,bin/mqtt-explorer}
     47       runHook postInstall
     48     '';
     49   };
     50 
     51   meta = with lib; {
     52     description = "An all-round MQTT client that provides a structured topic overview";
     53     homepage = "https://mqtt-explorer.com/";
     54     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     55     license = licenses.cc-by-40;
     56     maintainers = with maintainers; [ sikmir ];
     57     platforms = builtins.attrNames srcs;
     58     mainProgram = "mqtt-explorer";
     59   };
     60 in
     61 if stdenv.isDarwin
     62 then darwin
     63 else linux