From ba114c44650d42f10cec28080c1de96866342b65 Mon Sep 17 00:00:00 2001 From: Florian Brandes Date: Sun, 22 May 2022 15:25:04 +0200 Subject: [PATCH] box64: init at 0.1.8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Schütz Signed-off-by: Florian Brandes --- pkgs/applications/emulators/box64/default.nix | 66 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 68 insertions(+) create mode 100644 pkgs/applications/emulators/box64/default.nix diff --git a/pkgs/applications/emulators/box64/default.nix b/pkgs/applications/emulators/box64/default.nix new file mode 100644 index 000000000000..e383333c4208 --- /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 6707508cc04f..ad504ae775eb 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 { };