36 stdenv.mkDerivation (finalAttrs: {
37 pname = "dosbox-staging";
40 src = fetchFromGitHub {
41 owner = "dosbox-staging";
42 repo = "dosbox-staging";
43 rev = "v${finalAttrs.version}";
44 hash = "sha256-XGssEyX+AVv7/ixgGTRtPFjsUSX0FT0fhP+TXsFl2fY=";
49 name = "darwin-allow-bypass-wraps.patch";
50 url = "https://github.com/dosbox-staging/dosbox-staging/commit/9f0fc1dc762010e5f7471d01c504d817a066cae3.patch";
51 hash = "sha256-IzxRE1Vr+M8I5hdy80UwebjJ5R1IlH9ymaYgs6VwAO4=";
84 ++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib ]
85 ++ lib.optionals stdenv.hostPlatform.isDarwin [
87 (darwinMinVersionHook "10.15") # from https://www.dosbox-staging.org/releases/macos/
90 outputs = [ "out" "man" ];
93 install -Dm644 $src/contrib/linux/dosbox-staging.desktop $out/share/applications/
96 # Rename binary, add a wrapper, and copy manual to avoid conflict with
97 # original dosbox. Doing it this way allows us to work with frontends and
98 # launchers that expect the binary to be named dosbox, but get out of the way
99 # of vanilla dosbox if the user desires to install that as well.
101 mv $out/bin/dosbox $out/bin/dosbox-staging
102 makeWrapper $out/bin/dosbox-staging $out/bin/dosbox
104 pushd $man/share/man/man1/
105 ln -s dosbox.1.gz dosbox-staging.1.gz
111 version = testers.testVersion {
112 package = finalAttrs.finalPackage;
113 command = "dosbox --version";
116 updateScript = gitUpdater {
122 homepage = "https://dosbox-staging.github.io/";
123 description = "Modernized DOS emulator; DOSBox fork";
125 DOSBox Staging is an attempt to revitalize DOSBox's development
126 process. It's not a rewrite, but a continuation and improvement on the
127 existing DOSBox codebase while leveraging modern development tools and
130 license = lib.licenses.gpl2Plus;
131 maintainers = with lib.maintainers; [
135 platforms = lib.platforms.unix;