{ stdenv, lib, fetchFromGitHub, qmake, qtbase, qtdeclarative, qtquickcontrols, wrapQtAppsHook, }: stdenv.mkDerivation rec { pname = "firebird-emu"; version = "1.6"; src = fetchFromGitHub { owner = "nspire-emus"; repo = "firebird"; rev = "v${version}"; fetchSubmodules = true; hash = "sha256-ZptjlnOiF+hKuKYvBFJL95H5YQuR99d4biOco/MVEmE="; }; NIX_CFLAGS_COMPILE = lib.optionals (stdenv.cc.isClang && stdenv.isDarwin) [ "-fno-lto" # work around https://github.com/NixOS/nixpkgs/issues/19098 ]; nativeBuildInputs = [qmake wrapQtAppsHook]; buildInputs = [qtbase qtdeclarative qtquickcontrols]; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir $out/Applications mv $out/bin/${pname}.app $out/Applications/ ''; meta = { homepage = "https://github.com/nspire-emus/firebird"; description = "Third-party multi-platform emulator of the ARM-based TI-Nspireā„¢ calculators"; license = lib.licenses.gpl3; maintainers = with lib.maintainers; [pneumaticat]; # Only tested on Linux, but likely possible to build on, e.g. macOS platforms = lib.platforms.unix; }; }