diff --git a/overlays/default/firebird-emu.nix b/overlays/default/firebird-emu.nix new file mode 100644 index 0000000..f9df250 --- /dev/null +++ b/overlays/default/firebird-emu.nix @@ -0,0 +1 @@ +import ./firebird-emu/default.nix diff --git a/overlays/default/firebird-emu/default.nix b/overlays/default/firebird-emu/default.nix new file mode 100644 index 0000000..a2a389b --- /dev/null +++ b/overlays/default/firebird-emu/default.nix @@ -0,0 +1,3 @@ +self: super: { + firebird-emu = self.libsForQt5.callPackage ./package.nix {}; +} diff --git a/overlays/default/firebird-emu/package.nix b/overlays/default/firebird-emu/package.nix new file mode 100644 index 0000000..7489239 --- /dev/null +++ b/overlays/default/firebird-emu/package.nix @@ -0,0 +1,44 @@ +{ + 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; + }; +}