Merge pull request #276944 from atorres1985-contrib/dosbox-staging

dosbox-staging: fix Darwin build
This commit is contained in:
Thiago Kenji Okada 2024-01-09 14:58:34 +00:00 committed by GitHub
commit bae5c90a3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 48 additions and 10 deletions

View File

@ -7,6 +7,7 @@
, SDL2_net
, alsa-lib
, copyDesktopItems
, darwin
, fluidsynth
, glib
, gtest
@ -57,6 +58,39 @@ stdenv.mkDerivation (finalAttrs: {
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 = [
@ -69,7 +103,6 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
alsa-lib
fluidsynth
glib
iir1
@ -87,7 +120,13 @@ stdenv.mkDerivation (finalAttrs: {
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 {

View File

@ -4,25 +4,26 @@
, cmake
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "iir1";
version = "1.9.4";
src = fetchFromGitHub {
owner = "berndporr";
repo = "iir1";
rev = version;
rev = finalAttrs.version;
hash = "sha256-T8gl51IkZIGq+6D5ge4Kb3wm5aw7Rhphmnf6TTGwHbs=";
};
nativeBuildInputs = [ cmake ];
meta = {
homepage = "https://berndporr.github.io/iir1/";
description = "A DSP IIR realtime filter library written in C++";
downloadPage = "https://github.com/berndporr/iir1";
homepage = "http://berndporr.github.io/iir1/";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.AndersonTorres ];
changelog = "https://github.com/berndporr/iir1/releases/tag/${finalAttrs.src.rev}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
};
}
})

View File

@ -22170,8 +22170,6 @@ with pkgs;
ip2location-c = callPackage ../development/libraries/ip2location-c { };
iir1 = callPackage ../development/libraries/iir1 { };
irrlicht = if !stdenv.isDarwin then
callPackage ../development/libraries/irrlicht { }
else callPackage ../development/libraries/irrlicht/mac.nix {