git.iko.soy/typeable/nixpkgs
on master help sign in
dosbox-staging: 0.77.1 -> 0.78.1
commit038338b1dde47a086b2498dbf30416681e45bf3b authorAndersonTorres <torres.anderson.85@protonmail.com> dateThu 10 Feb 2022, 00:24 (5 years ago) parentb4c1cf5
1 file changed+43−14
pkgs/misc/emulators/dosbox-staging/default.nix+43−14
pkgs/misc/emulators/dosbox-staging/default.nix+43−14
@@ -4,32 +4,40 @@
44, SDL2
55, SDL2_net
66, alsa-lib
7+, copyDesktopItems
78, fluidsynth
89, gtest
910, libGL
1011, libGLU
1112, libogg
1213, libpng
14+, libslirp
15+, makeDesktopItem
1316, makeWrapper
1417, meson
1518, libmt32emu
1619, ninja
1720, opusfile
1821, pkg-config
22+, libpulseaudio
23+, glib
24+, libjack2
25+, libsndfile
1926}:
2027
2128stdenv.mkDerivation rec {
2229 pname = "dosbox-staging";
23− version = "0.77.1";
30+ version = "0.78.1";
2431
2532 src = fetchFromGitHub {
2633 owner = pname;
2734 repo = pname;
2835 rev = "v${version}";
29− sha256 = "07jwmmm1bhfxavlhl854cj8l5iy5hqx5hpwkkjbcwqg7yh9jfs2x";
36+ hash = "sha256-gozFZcJorZtbEK0joksig6qWmAMy03hmBHiyJMONfpk=";
3037 };
3138
3239 nativeBuildInputs = [
40+ copyDesktopItems
3341 gtest
3442 makeWrapper
3543 meson
@@ -42,42 +50,63 @@ stdenv.mkDerivation rec {
4250 SDL2_net
4351 alsa-lib
4452 fluidsynth
53+ glib
4554 libGL
4655 libGLU
56+ libjack2
4757 libmt32emu
4858 libogg
4959 libpng
60+ libpulseaudio
61+ libslirp
62+ libsndfile
5063 opusfile
5164 ];
5265
53− hardeningDisable = [ "format" ];
66+ NIX_CFLAGS_COMPILE = [
67+ "-I${SDL2_net}/include/SDL2"
68+ ];
5469
55− mesonFlags = [
56− "--buildtype=release"
57− "-Db_asneeded=true"
58− "-Ddefault_library=static"
59− "-Dfluidsynth:enable-floats=true"
60− "-Dfluidsynth:try-static-deps=true"
61− "-Dtry_static_libs=png"
70+ desktopItems = [
71+ (makeDesktopItem {
72+ name = "dosbox-staging";
73+ exec = "dosbox-staging";
74+ icon = "dosbox-staging";
75+ comment = "x86 dos emulator enhanced";
76+ desktopName = "DosBox-Staging";
77+ genericName = "DOS emulator";
78+ categories = "Emulator;Game;";
79+ })
6280 ];
6381
6482 postFixup = ''
6583 # Rename binary, add a wrapper, and copy manual to avoid conflict with
66− # vanilla dosbox. Doing it this way allows us to work with frontends and
84+ # original dosbox. Doing it this way allows us to work with frontends and
6785 # launchers that expect the binary to be named dosbox, but get out of the
6886 # way of vanilla dosbox if the user desires to install that as well.
69−
7087 mv $out/bin/dosbox $out/bin/${pname}
7188 makeWrapper $out/bin/dosbox-staging $out/bin/dosbox
72− cp $out/share/man/man1/dosbox.1.gz $out/share/man/man1/${pname}.1.gz
89+
90+ # Create a symlink to dosbox manual instead of merely copying it
91+ pushd $out/share/man/man1/
92+ mv dosbox.1.gz ${pname}.1.gz
93+ ln -s ${pname}.1.gz dosbox.1.gz
94+ popd
7395 '';
7496
7597 meta = with lib; {
7698 homepage = "https://dosbox-staging.github.io/";
7799 description = "A modernized DOS emulator";
100+ longDescription = ''
101+ DOSBox Staging is an attempt to revitalize DOSBox's development
102+ process. It's not a rewrite, but a continuation and improvement on the
103+ existing DOSBox codebase while leveraging modern development tools and
104+ practices.
105+ '';
78106 license = licenses.gpl2Plus;
79− maintainers = with maintainers; [ joshuafern ];
107+ maintainers = with maintainers; [ joshuafern AndersonTorres ];
80108 platforms = platforms.unix;
81109 priority = 101;
82110 };
83111}
112+# TODO: report upstream about not finding SDL2_net