Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, stdenv 3, fetchFromGitHub 4, SDL2 5, cmake 6, ffmpeg 7, libedit 8, libelf 9, libepoxy 10, libzip 11, lua5_4 12, minizip 13, pkg-config 14, libsForQt5 15, wrapGAppsHook 16}: 17 18let 19 lua = lua5_4; 20 inherit (libsForQt5) 21 qtbase 22 qtmultimedia 23 qttools 24 wrapQtAppsHook; 25in 26stdenv.mkDerivation (finalAttrs: { 27 pname = "mgba"; 28 version = "0.10.2"; 29 30 src = fetchFromGitHub { 31 owner = "mgba-emu"; 32 repo = "mgba"; 33 rev = finalAttrs.version; 34 hash = "sha256-+AwIYhnqp984Banwb7zmB5yzenExfLLU1oGJSxeTl/M="; 35 }; 36 37 nativeBuildInputs = [ 38 cmake 39 pkg-config 40 wrapGAppsHook 41 wrapQtAppsHook 42 ]; 43 44 dontWrapGApps = true; 45 preFixup = '' 46 qtWrapperArgs+=("''${gappsWrapperArgs[@]}") 47 ''; 48 49 buildInputs = [ 50 SDL2 51 ffmpeg 52 libedit 53 libelf 54 libepoxy 55 libzip 56 lua 57 minizip 58 qtbase 59 qtmultimedia 60 qttools 61 ]; 62 63 meta = with lib; { 64 homepage = "https://mgba.io"; 65 description = "A modern GBA emulator with a focus on accuracy"; 66 longDescription = '' 67 mGBA is a new Game Boy Advance emulator written in C. 68 69 The project started in April 2013 with the goal of being fast enough to 70 run on lower end hardware than other emulators support, without 71 sacrificing accuracy or portability. Even in the initial version, games 72 generally play without problems. It is loosely based on the previous 73 GBA.js emulator, although very little of GBA.js can still be seen in mGBA. 74 75 Other goals include accurate enough emulation to provide a development 76 environment for homebrew software, a good workflow for tool-assist 77 runners, and a modern feature set for emulators that older emulators may 78 not support. 79 ''; 80 changelog = "https://github.com/mgba-emu/mgba/blob/${finalAttrs.version}/CHANGES"; 81 license = licenses.mpl20; 82 maintainers = with maintainers; [ MP2E AndersonTorres ]; 83 platforms = platforms.linux; 84 }; 85})