tinyemu: rework

- finalAttrs
- strictDeps
- no nested with
This commit is contained in:
Anderson Torres 2024-08-05 10:10:38 -03:00
parent f0b2a9d5a9
commit dc7494cb63

View File

@ -6,41 +6,62 @@
, openssl
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "tinyemu";
version = "2019-12-21";
src = fetchurl {
url = "https://bellard.org/tinyemu/${pname}-${version}.tar.gz";
url = "https://bellard.org/tinyemu/tinyemu-${finalAttrs.version}.tar.gz";
hash = "sha256-voNR8hIYGbMXL87c5csYJvoSyH2ht+2Y8mnT6AKgVVU=";
};
nativeBuildInputs = [
SDL
];
buildInputs = [
SDL
curl
openssl
];
strictDeps = true;
makeFlags = [
"CC:=$(CC)"
"STRIP:=$(STRIP)"
"DESTDIR=$(out)"
"bindir=/bin"
"bindir=$(out)/bin"
];
preInstall = ''
mkdir -p "$out/bin"
'';
meta = with lib; {
meta = {
homepage = "https://bellard.org/tinyemu/";
description = "System emulator for the RISC-V and x86 architectures";
longDescription = ''
TinyEMU is a system emulator for the RISC-V and x86 architectures. Its
purpose is to be small and simple while being complete.
Main features:
- RISC-V system emulator supporting the RV128IMAFDQC base ISA (user level
ISA version 2.2, priviledged architecture version 1.10) including:
- 32/64/128 bit integer registers
- 32/64/128 bit floating point instructions (using the SoftFP Library)
- Compressed instructions
- Dynamic XLEN change
- x86 system emulator based on KVM
- VirtIO console, network, block device, input and 9P filesystem
- Graphical display with SDL
- JSON configuration file
- Remote HTTP block device and filesystem
- Small code, easy to modify, few external dependancies
- Javascript version running Linux and Windows 2000.
'';
license = with licenses; [ mit bsd2 ];
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.linux;
license = with lib.licenses; [ mit bsd2 ];
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
};
}
})