Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 58 lines 1.5 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 wrapQtAppsHook, 6 qmake, 7 qtmultimedia, 8}: 9 10stdenv.mkDerivation rec { 11 pname = "kristall"; 12 version = "0.3"; 13 14 src = fetchFromGitHub { 15 owner = "MasterQ32"; 16 repo = "kristall"; 17 rev = "V${version}"; 18 sha256 = "07nf7w6ilzs5g6isnvsmhh4qa1zsprgjyf0zy7rhpx4ikkj8c8zq"; 19 }; 20 21 postPatch = lib.optionalString stdenv.cc.isClang '' 22 sed -i '1i #include <errno.h>' src/browsertab.cpp 23 ''; 24 25 nativeBuildInputs = [ 26 wrapQtAppsHook 27 qmake 28 ]; 29 30 buildInputs = [ qtmultimedia ]; 31 32 qmakeFlags = [ "src/kristall.pro" ]; 33 34 installPhase = 35 if stdenv.hostPlatform.isDarwin then 36 '' 37 mkdir -p $out/Applications 38 mv kristall.app $out/Applications 39 '' 40 else 41 '' 42 install -Dt $out/bin kristall 43 install -D Kristall.desktop $out/share/applications/net.random-projects.kristall.desktop 44 install -D src/icons/kristall.svg $out/share/icons/hicolor/scalable/apps/net.random-projects.kristall.svg 45 for size in 16 32 64 128; do 46 install -D src/icons/kristall-''${size}.png $out/share/icons/hicolor/''${size}x''${size}/apps/net.random-projects.kristall.png 47 done 48 ''; 49 50 meta = with lib; { 51 description = "Graphical small-internet client, supports gemini, http, https, gopher, finger"; 52 mainProgram = "kristall"; 53 homepage = "https://random-projects.net/projects/kristall.gemini"; 54 maintainers = with maintainers; [ ehmry ]; 55 license = licenses.gpl3Only; 56 inherit (qtmultimedia.meta) platforms; 57 }; 58}