Unverified Commit 355d069f authored by Mario Rodas's avatar Mario Rodas Committed by GitHub
Browse files

Merge pull request #242625 from OPNA2608/update/easyrpg

easyrpg-player: update, enable on Darwin
parents 4c09f320 076f6c09
Loading
Loading
Loading
Loading
+25 −5
Original line number Diff line number Diff line
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, expat, icu }:
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, pkg-config
, expat
, icu
}:

stdenv.mkDerivation rec {
  pname = "liblcf";
  version = "0.7.0";
  version = "0.8";

  src = fetchFromGitHub {
    owner = "EasyRPG";
    repo = "liblcf";
    rev = version;
    sha256 = "sha256-69cYZ8hJ92gK39gueaEoUM0K7BDWIQ/0NvcQ/6e3Sg8=";
    hash = "sha256-jJGIsNw7wplTL5FBWGL8osb9255o9ZaWgl77R+RLDMM=";
  };

  nativeBuildInputs = [ autoreconfHook pkg-config ];
  propagatedBuildInputs = [ expat icu ];
  dtrictDeps = true;

  nativeBuildInputs = [
    autoreconfHook
    pkg-config
  ];

  propagatedBuildInputs = [
    expat
    icu
  ];

  enableParallelBuilding = true;
  enableParallelChecking = true;

  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;

  meta = with lib; {
    description = "Library to handle RPG Maker 2000/2003 and EasyRPG projects";
+95 −17
Original line number Diff line number Diff line
{ lib, stdenv, fetchFromGitHub, cmake, doxygen ? null, pkg-config
, freetype ? null, fmt, glib, harfbuzz ? null
, liblcf, libpng, libsndfile ? null, libvorbis ? null, libxmp ? null
, libXcursor, libXext, libXi, libXinerama, libXrandr, libXScrnSaver, libXxf86vm
, mpg123 ? null, opusfile ? null, pcre, pixman, SDL2, speexdsp ? null, wildmidi ? null, zlib
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, doxygen
, pkg-config
, freetype
, fmt
, glib
, harfbuzz
, liblcf
, libpng
, libsndfile
, libvorbis
, libxmp
, libXcursor
, libXext
, libXi
, libXinerama
, libXrandr
, libXScrnSaver
, libXxf86vm
, mpg123
, opusfile
, pcre
, pixman
, SDL2
, speexdsp
, wildmidi
, zlib
, libdecor
, alsa-lib
, asciidoctor
, Foundation
, AudioUnit
, AudioToolbox
}:

stdenv.mkDerivation rec {
  pname = "easyrpg-player";
  version = "0.7.0";
  version = "0.8";

  src = fetchFromGitHub {
    owner = "EasyRPG";
    repo = "Player";
    rev = version;
    sha256 = "049bj3jg3ldi3n11nx8xvh6pll68g7dcxz51q6z1gyyfxxws1qpj";
    hash = "sha256-t0sa9ONVVfsiTy+us06vU2bMa4QmmQeYxU395g0WS6w=";
  };

  nativeBuildInputs = [ cmake doxygen pkg-config ];
  patches = [
    # Fixed compatibility with fmt > 9
    # Remove when version > 0.8
    (fetchpatch {
      name = "0001-Fix-building-with-fmtlib-10.patch";
      url = "https://github.com/EasyRPG/Player/commit/ab6286f6d01bada649ea52d1f0881dde7db7e0cf.patch";
      hash = "sha256-GdSdVFEG1OJCdf2ZIzTP+hSrz+ddhTMBvOPjvYQHy54=";
    })
  ];

  strictDeps = true;

  nativeBuildInputs = [
    asciidoctor
    cmake
    doxygen
    pkg-config
  ];

  buildInputs = [
    fmt
@@ -29,29 +77,59 @@ stdenv.mkDerivation rec {
    libsndfile
    libvorbis
    libxmp
    libXcursor
    libXext
    libXi
    libXinerama
    libXrandr
    libXScrnSaver
    libXxf86vm
    mpg123
    opusfile
    pcre
    pixman
    SDL2
    speexdsp
    wildmidi
    zlib
  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
    alsa-lib
    libXcursor
    libXext
    libXi
    libXinerama
    libXrandr
    libXScrnSaver
    libXxf86vm
    libdecor
    wildmidi # until packaged on Darwin
  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
    Foundation
    AudioUnit
    AudioToolbox
  ];

  cmakeFlags = [
    "-DPLAYER_ENABLE_TESTS=${lib.boolToString doCheck}"
  ];

  makeFlags = [
    "all"
    "man"
  ];

  buildFlags = lib.optionals doCheck [
    "test_runner_player"
  ];

  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
    mkdir $out/bin
    mv Package $out/Applications
    ln -s $out/{Applications/EasyRPG\ Player.app/Contents/MacOS,bin}/EasyRPG\ Player
  '';

  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;

  enableParallelChecking = true;

  meta = with lib; {
    description = "RPG Maker 2000/2003 and EasyRPG games interpreter";
    homepage = "https://easyrpg.org/";
    license = licenses.gpl3;
    maintainers = with maintainers; [ yana ];
    platforms = platforms.linux;
    platforms = platforms.all;
    mainProgram = lib.optionalString stdenv.hostPlatform.isDarwin "EasyRPG Player";
  };
}
+3 −1
Original line number Diff line number Diff line
@@ -37126,7 +37126,9 @@ with pkgs;
    d1x-rebirth-full
    d2x-rebirth-full;
  easyrpg-player = callPackage ../games/easyrpg-player { };
  easyrpg-player = callPackage ../games/easyrpg-player {
    inherit (darwin.apple_sdk.frameworks) Foundation AudioUnit AudioToolbox;
  };
  eboard = callPackage ../games/eboard { };