Merge pull request #310664 from JohnRTitor/dosbox
dosbox-staging: 0.80.1 -> 0.81.1
This commit is contained in:
commit
50895a47e0
@ -1,100 +1,47 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, SDL2
|
||||
, SDL2_image
|
||||
, SDL2_net
|
||||
, alsa-lib
|
||||
, copyDesktopItems
|
||||
, darwin
|
||||
, fluidsynth
|
||||
, glib
|
||||
, gtest
|
||||
, iir1
|
||||
, libGL
|
||||
, libGLU
|
||||
, libjack2
|
||||
, libmt32emu
|
||||
, libogg
|
||||
, libpng
|
||||
, libpulseaudio
|
||||
, libslirp
|
||||
, libsndfile
|
||||
, makeDesktopItem
|
||||
, makeWrapper
|
||||
, meson
|
||||
, ninja
|
||||
, opusfile
|
||||
, pkg-config
|
||||
, speexdsp
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
SDL2,
|
||||
SDL2_image,
|
||||
SDL2_net,
|
||||
alsa-lib,
|
||||
darwin,
|
||||
fluidsynth,
|
||||
glib,
|
||||
gtest,
|
||||
iir1,
|
||||
libGL,
|
||||
libGLU,
|
||||
libjack2,
|
||||
libmt32emu,
|
||||
libogg,
|
||||
libpng,
|
||||
zlib-ng,
|
||||
libpulseaudio,
|
||||
libslirp,
|
||||
libsndfile,
|
||||
makeWrapper,
|
||||
meson,
|
||||
ninja,
|
||||
opusfile,
|
||||
pkg-config,
|
||||
speexdsp,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dosbox-staging";
|
||||
version = "0.80.1";
|
||||
version = "0.81.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dosbox-staging";
|
||||
repo = "dosbox-staging";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-I90poBeLSq1c8PXyjrx7/UcbfqFNnnNiXfJdWhLPGMc=";
|
||||
hash = "sha256-XGssEyX+AVv7/ixgGTRtPFjsUSX0FT0fhP+TXsFl2fY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Pull missind SDL2_net dependency:
|
||||
# https://github.com/dosbox-staging/dosbox-staging/pull/2358
|
||||
(fetchpatch {
|
||||
name = "sdl2-net.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/1b02f187a39263f4b0285323dcfe184bccd749c2.patch";
|
||||
hash = "sha256-Ev97xApInu6r5wvI9Q7FhkSXqtMW/rwJj48fExvqnT0=";
|
||||
})
|
||||
|
||||
# Pull missing SDL2_image dependency:
|
||||
# https://github.com/dosbox-staging/dosbox-staging/pull/2239
|
||||
(fetchpatch {
|
||||
name = "sdl2-image.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/ca8b7a906d29a3f8ce956c4af7dc829a6ac3e229.patch";
|
||||
hash = "sha256-WtTVSWWSlfXrdPVsnlDe4P5K/Fnj4QsOzx3Wo/Kusmg=";
|
||||
includes = [ "src/gui/meson.build" ];
|
||||
})
|
||||
]
|
||||
# Pagesize detection via syscall; remove when next stable version arrives
|
||||
++ [
|
||||
(fetchpatch {
|
||||
# Added as a parent commit of 7e20f6e
|
||||
# Fix ppc64le backend and 64K page size support (#2828)
|
||||
name = "meson-add-ppc64.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/765bcc2b1d87050a4ea366bf22e1db075ad5660b.patch";
|
||||
hash = "sha256-RtkidyF7w6RrPmCKK4Bd+3FtAn/+/38xk2cl32+yzxw=";
|
||||
includes = [ "meson.build" ];
|
||||
})
|
||||
(fetchpatch {
|
||||
# Added as a parent commit of 7e20f6e
|
||||
# Account for debian powerpc prefix (instead of ppc)
|
||||
name = "meson-powerpc64le.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/d44aa7441cd871ffac08974f22af7a735a839288.patch";
|
||||
hash = "sha256-oMZtfmB1CRlDWyXwEWc3XzC+XxKazXDgo+jUiNBoJDw=";
|
||||
includes = [ "meson.build" ];
|
||||
})
|
||||
(fetchpatch {
|
||||
# Added as a parent commit of 7e20f6e
|
||||
# Restore the PowerPC dynrec core to working order
|
||||
name = "meson-option-write-or-execute.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/ef86642de390839afc77b2b591a6ea9ac43909b3.patch";
|
||||
hash = "sha256-htOKEaXRRy28XNMX/t6uFTBLCkTr7YPtfmI9UyIBiz4=";
|
||||
includes = [ "meson_options.txt" ];
|
||||
})
|
||||
(fetchpatch {
|
||||
# Use a system call to detect the page size
|
||||
name = "meson-detect-pagesize-by-syscall.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/7e20f6e401956a7a308f1b3462294d7ac9fa5db8.patch";
|
||||
hash = "sha256-QW9lpHWCYSlQFgTqX/UxHAAWisz4wfPrdjLqROn/wR0=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
gtest
|
||||
makeWrapper
|
||||
meson
|
||||
@ -102,43 +49,40 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fluidsynth
|
||||
glib
|
||||
iir1
|
||||
libGL
|
||||
libGLU
|
||||
libjack2
|
||||
libmt32emu
|
||||
libogg
|
||||
libpng
|
||||
libpulseaudio
|
||||
libslirp
|
||||
libsndfile
|
||||
opusfile
|
||||
SDL2
|
||||
SDL2_image
|
||||
SDL2_net
|
||||
speexdsp
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
alsa-lib
|
||||
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
|
||||
AudioUnit
|
||||
Carbon
|
||||
Cocoa
|
||||
]);
|
||||
buildInputs =
|
||||
[
|
||||
fluidsynth
|
||||
glib
|
||||
iir1
|
||||
libGL
|
||||
libGLU
|
||||
libjack2
|
||||
libmt32emu
|
||||
libogg
|
||||
libpng
|
||||
zlib-ng
|
||||
libpulseaudio
|
||||
libslirp
|
||||
libsndfile
|
||||
opusfile
|
||||
SDL2
|
||||
SDL2_image
|
||||
SDL2_net
|
||||
speexdsp
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [ alsa-lib ]
|
||||
++ lib.optionals stdenv.isDarwin (
|
||||
with darwin.apple_sdk.frameworks;
|
||||
[
|
||||
AudioUnit
|
||||
Carbon
|
||||
Cocoa
|
||||
]
|
||||
);
|
||||
|
||||
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" ];
|
||||
})
|
||||
];
|
||||
postInstall = ''
|
||||
install -Dm644 $src/contrib/linux/dosbox-staging.desktop $out/share/applications/
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# Rename binary, add a wrapper, and copy manual to avoid conflict with
|
||||
@ -154,6 +98,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
popd
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://dosbox-staging.github.io/";
|
||||
description = "A modernized DOS emulator";
|
||||
@ -164,9 +110,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
practices.
|
||||
'';
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ joshuafern AndersonTorres ];
|
||||
maintainers = with lib.maintainers; [
|
||||
joshuafern
|
||||
AndersonTorres
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
priority = 101;
|
||||
};
|
||||
})
|
||||
# TODO: report upstream about not finding SDL2_net
|
||||
|
Loading…
Reference in New Issue
Block a user