mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-21 04:49:01 +02:00
dosbox-staging: 0.77.1 -> 0.78.1
This commit is contained in:
parent
b4c1cf5e36
commit
038338b1dd
|
@ -4,32 +4,40 @@
|
|||
, SDL2
|
||||
, SDL2_net
|
||||
, alsa-lib
|
||||
, copyDesktopItems
|
||||
, fluidsynth
|
||||
, gtest
|
||||
, libGL
|
||||
, libGLU
|
||||
, libogg
|
||||
, libpng
|
||||
, libslirp
|
||||
, makeDesktopItem
|
||||
, makeWrapper
|
||||
, meson
|
||||
, libmt32emu
|
||||
, ninja
|
||||
, opusfile
|
||||
, pkg-config
|
||||
, libpulseaudio
|
||||
, glib
|
||||
, libjack2
|
||||
, libsndfile
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dosbox-staging";
|
||||
version = "0.77.1";
|
||||
version = "0.78.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "07jwmmm1bhfxavlhl854cj8l5iy5hqx5hpwkkjbcwqg7yh9jfs2x";
|
||||
hash = "sha256-gozFZcJorZtbEK0joksig6qWmAMy03hmBHiyJMONfpk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
gtest
|
||||
makeWrapper
|
||||
meson
|
||||
|
@ -42,42 +50,63 @@ stdenv.mkDerivation rec {
|
|||
SDL2_net
|
||||
alsa-lib
|
||||
fluidsynth
|
||||
glib
|
||||
libGL
|
||||
libGLU
|
||||
libjack2
|
||||
libmt32emu
|
||||
libogg
|
||||
libpng
|
||||
libpulseaudio
|
||||
libslirp
|
||||
libsndfile
|
||||
opusfile
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${SDL2_net}/include/SDL2"
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"--buildtype=release"
|
||||
"-Db_asneeded=true"
|
||||
"-Ddefault_library=static"
|
||||
"-Dfluidsynth:enable-floats=true"
|
||||
"-Dfluidsynth:try-static-deps=true"
|
||||
"-Dtry_static_libs=png"
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "dosbox-staging";
|
||||
exec = "dosbox-staging";
|
||||
icon = "dosbox-staging";
|
||||
comment = "x86 dos emulator enhanced";
|
||||
desktopName = "DosBox-Staging";
|
||||
genericName = "DOS emulator";
|
||||
categories = "Emulator;Game;";
|
||||
})
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
# Rename binary, add a wrapper, and copy manual to avoid conflict with
|
||||
# vanilla dosbox. Doing it this way allows us to work with frontends and
|
||||
# original dosbox. Doing it this way allows us to work with frontends and
|
||||
# launchers that expect the binary to be named dosbox, but get out of the
|
||||
# way of vanilla dosbox if the user desires to install that as well.
|
||||
|
||||
mv $out/bin/dosbox $out/bin/${pname}
|
||||
makeWrapper $out/bin/dosbox-staging $out/bin/dosbox
|
||||
cp $out/share/man/man1/dosbox.1.gz $out/share/man/man1/${pname}.1.gz
|
||||
|
||||
# Create a symlink to dosbox manual instead of merely copying it
|
||||
pushd $out/share/man/man1/
|
||||
mv dosbox.1.gz ${pname}.1.gz
|
||||
ln -s ${pname}.1.gz dosbox.1.gz
|
||||
popd
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://dosbox-staging.github.io/";
|
||||
description = "A modernized DOS emulator";
|
||||
longDescription = ''
|
||||
DOSBox Staging is an attempt to revitalize DOSBox's development
|
||||
process. It's not a rewrite, but a continuation and improvement on the
|
||||
existing DOSBox codebase while leveraging modern development tools and
|
||||
practices.
|
||||
'';
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ joshuafern ];
|
||||
maintainers = with maintainers; [ joshuafern AndersonTorres ];
|
||||
platforms = platforms.unix;
|
||||
priority = 101;
|
||||
};
|
||||
}
|
||||
# TODO: report upstream about not finding SDL2_net
|
||||
|
|
Loading…
Reference in a new issue