diff --git a/pkgs/applications/emulators/box64/default.nix b/pkgs/applications/emulators/box64/default.nix new file mode 100644 index 00000000000..e383333c420 --- /dev/null +++ b/pkgs/applications/emulators/box64/default.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, python3 +}: + +stdenv.mkDerivation rec { + pname = "box64"; + version = "0.1.8"; + + src = fetchFromGitHub { + owner = "ptitSeb"; + repo = pname; + rev = "v${version}"; + hash = "sha256-6k8Enbafnj19ATtgmw8W7LxtRpM3Ousj1bpZbbtq8TM="; + }; + + nativeBuildInputs = [ + cmake + python3 + ]; + + cmakeFlags = [ + "-DNOGIT=1" + ] ++ ( + if stdenv.hostPlatform.system == "aarch64-linux" then + [ + "-DARM_DYNAREC=ON" + ] + else [ + "-DLD80BITS=1" + "-DNOALIGN=1" + ] + ); + + installPhase = '' + runHook preInstall + install -Dm 0755 box64 "$out/bin/box64" + runHook postInstall + ''; + + doCheck = true; + + checkPhase = '' + runHook preCheck + ctest + runHook postCheck + ''; + + doInstallCheck = true; + + installCheckPhase = '' + runHook preInstallCheck + $out/bin/box64 -v + runHook postInstallCheck + ''; + + meta = with lib; { + homepage = "https://box86.org/"; + description = "Lets you run x86_64 Linux programs on non-x86_64 Linux systems"; + license = licenses.mit; + maintainers = with maintainers; [ gador ]; + platforms = [ "x86_64-linux" "aarch64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c4f7ea22b28..97a767e06fa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1255,6 +1255,8 @@ with pkgs; wxGTK = wxGTK30; }; + box64 = callPackage ../applications/emulators/box64 { }; + caprice32 = callPackage ../applications/emulators/caprice32 { }; ccemux = callPackage ../applications/emulators/ccemux { };