nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchurl,
5 SDL,
6 curl,
7 openssl,
8}:
9
10stdenv.mkDerivation (finalAttrs: {
11 pname = "tinyemu";
12 version = "2019-12-21";
13
14 src = fetchurl {
15 url = "https://bellard.org/tinyemu/tinyemu-${finalAttrs.version}.tar.gz";
16 hash = "sha256-voNR8hIYGbMXL87c5csYJvoSyH2ht+2Y8mnT6AKgVVU=";
17 };
18
19 nativeBuildInputs = [ SDL ];
20
21 buildInputs = [
22 SDL
23 curl
24 openssl
25 ];
26
27 strictDeps = true;
28
29 makeFlags = [
30 "CC:=$(CC)"
31 "STRIP:=$(STRIP)"
32 "bindir=$(out)/bin"
33 ];
34
35 preInstall = ''
36 mkdir -p "$out/bin"
37 '';
38
39 meta = {
40 homepage = "https://bellard.org/tinyemu/";
41 description = "System emulator for the RISC-V and x86 architectures";
42 longDescription = ''
43 TinyEMU is a system emulator for the RISC-V and x86 architectures. Its
44 purpose is to be small and simple while being complete.
45
46 Main features:
47
48 - RISC-V system emulator supporting the RV128IMAFDQC base ISA (user level
49 ISA version 2.2, priviledged architecture version 1.10) including:
50 - 32/64/128 bit integer registers
51 - 32/64/128 bit floating point instructions (using the SoftFP Library)
52 - Compressed instructions
53 - Dynamic XLEN change
54 - x86 system emulator based on KVM
55 - VirtIO console, network, block device, input and 9P filesystem
56 - Graphical display with SDL
57 - JSON configuration file
58 - Remote HTTP block device and filesystem
59 - Small code, easy to modify, few external dependancies
60 - Javascript version running Linux and Windows 2000.
61 '';
62 license = with lib.licenses; [
63 mit
64 bsd2
65 ];
66 maintainers = with lib.maintainers; [ ];
67 platforms = lib.platforms.unix;
68 broken = stdenv.hostPlatform.isDarwin;
69 };
70})