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