Skip to content

Commit 419b561

Browse files
committed
dosbox-x: init at v2023.09.01
1 parent 1f0e8ac commit 419b561

File tree

2 files changed

+88
-0
lines changed

2 files changed

+88
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
{ lib
2+
, stdenv
3+
, fetchFromGitHub
4+
, alsa-lib
5+
, autoreconfHook
6+
, ffmpeg
7+
, fluidsynth
8+
, freetype
9+
, glib
10+
, libpcap
11+
, libpng
12+
, libslirp
13+
, libxkbfile
14+
, libXrandr
15+
, makeWrapper
16+
, ncurses
17+
, pkg-config
18+
, SDL2
19+
, SDL2_net
20+
, yad
21+
, zlib
22+
}:
23+
24+
stdenv.mkDerivation (finalAttrs: {
25+
pname = "dosbox-x";
26+
version = "2023.09.01";
27+
28+
src = fetchFromGitHub {
29+
owner = "joncampbell123";
30+
repo = "dosbox-x";
31+
rev = "dosbox-x-v${finalAttrs.version}";
32+
hash = "sha256-gEqIPXrq16p6VC9aGW2sRSWE0SG9hiMWeRzSoDvUbB0=";
33+
};
34+
35+
strictDeps = true;
36+
nativeBuildInputs = [
37+
autoreconfHook
38+
makeWrapper
39+
pkg-config
40+
];
41+
42+
buildInputs = [
43+
alsa-lib
44+
ffmpeg
45+
fluidsynth
46+
freetype
47+
glib
48+
libpcap
49+
libpng
50+
libslirp
51+
libxkbfile
52+
libXrandr
53+
ncurses
54+
SDL2
55+
SDL2_net
56+
yad
57+
zlib
58+
];
59+
60+
configureFlags = [ "--enable-sdl2" ];
61+
62+
enableParallelBuilding = true;
63+
64+
hardeningDisable = [ "format" ]; # https://github.com/joncampbell123/dosbox-x/issues/4436
65+
66+
postInstall = ''
67+
wrapProgram $out/bin/dosbox-x \
68+
--prefix PATH : ${lib.makeBinPath [ yad ]}
69+
'';
70+
71+
meta = {
72+
homepage = "https://dosbox-x.com";
73+
description = "A cross-platform DOS emulator based on the DOSBox project";
74+
longDescription = ''
75+
DOSBox-X is an expanded fork of DOSBox with specific focus on running
76+
Windows 3.x/9x/Me, PC-98 and 3D support via 3dfx.
77+
78+
The full expanded feature list is available here:
79+
https://dosbox-x.com/wiki/DOSBox%E2%80%90X%E2%80%99s-Feature-Highlights
80+
'';
81+
license = lib.licenses.gpl2Plus;
82+
maintainers = with lib.maintainers; [ hughobrien OPNA2608 ];
83+
platforms = lib.platforms.linux;
84+
mainProgram = "dosbox-x";
85+
};
86+
})

pkgs/top-level/all-packages.nix

+2
Original file line numberDiff line numberDiff line change
@@ -2614,6 +2614,8 @@ with pkgs;
26142614

26152615
dosbox-staging = callPackage ../applications/emulators/dosbox-staging { };
26162616

2617+
dosbox-x = callPackage ../applications/emulators/dosbox-x { };
2618+
26172619
duckstation = qt6Packages.callPackage ../applications/emulators/duckstation { };
26182620

26192621
dynamips = callPackage ../applications/emulators/dynamips { };

0 commit comments

Comments
 (0)