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

Merge pull request #229193 from azahi/vcmi-121

vcmi: 1.1.1 -> 1.2.1
parents 78e9ca66 be3a8679
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, ninja
, useFloat ? false
}:

stdenv.mkDerivation rec {
  pname = "fuzzylite";
  version = "6.0";

  src = fetchFromGitHub {
    owner = "fuzzylite";
    repo = "fuzzylite";
    rev = "v${version}";
    hash = "sha256-i1txeUE/ZSRggwLDtpS8dd4uuZfHX9w3zRH0gBgGXnk=";
  };
  sourceRoot = "source/fuzzylite";

  outputs = [ "out" "dev" ];

  postPatch = ''
    substituteInPlace CMakeLists.txt \
      --replace "-Werror" "-Wno-error"
  '';

  nativeBuildInputs = [
    cmake
    ninja
  ];

  cmakeFlags = [
    "-DFL_BUILD_TESTS:BOOL=OFF"
    "-DFL_USE_FLOAT:BOOL=${if useFloat then "ON" else "OFF"}"
  ];

  meta = with lib; {
    description = "A fuzzy logic control library in C++";
    homepage = "https://fuzzylite.com";
    changelog = "https://github.com/fuzzylite/fuzzylite/${src.rev}/release/CHANGELOG";
    license = licenses.gpl3Only;
    maintainers = with maintainers; [ azahi ];
    platforms = platforms.all;
  };
}
+20 −17
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
, boost
, cmake
, ffmpeg
, fuzzylite
, innoextract
, luajit
, minizip
@@ -15,7 +16,9 @@
, pkg-config
, python3
, qtbase
, qttools
, tbb
, unshield
, wrapQtAppsHook
, zlib
, testers
@@ -24,21 +27,16 @@

stdenv.mkDerivation rec {
  pname = "vcmi";
  version = "1.1.1";
  version = "1.2.1";

  src = fetchFromGitHub {
    owner = "vcmi";
    repo = "vcmi";
    rev = version;
    fetchSubmodules = true;
    hash = "sha256-/BHpAXOCLi6d0+/uE79g8p6YO1swizItAwVlPVf/nkQ=";
    hash = "sha256-F1g3ric23jKetl5aBG5NRpT4LnGXhBKZmGp2hg6Io9s=";
  };

  postPatch = ''
    substituteInPlace Version.cpp.in \
      --subst-var-by GIT_SHA1 "0000000";
  '';

  nativeBuildInputs = [
    cmake
    ninja
@@ -54,21 +52,24 @@ stdenv.mkDerivation rec {
    SDL2_ttf
    boost
    ffmpeg
    fuzzylite
    luajit
    minizip
    qtbase
    qttools
    tbb
    zlib
  ];

  cmakeFlags = [
    "-DENABLE_TEST:BOOL=NO"
    "-DENABLE_PCH:BOOL=NO"
    # Make libvcmi.so discoverable in a non-standard location.
    "-DCMAKE_INSTALL_RPATH:STRING=${placeholder "out"}/lib/vcmi"
    # Upstream assumes relative value while Nixpkgs passes absolute.
    # Both should be allowed: https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
    # Meanwhile work it around by passing a relative value.
    "-DENABLE_LUA:BOOL=ON"
    "-DENABLE_ERM:BOOL=ON"
    "-DENABLE_GITVERSION:BOOL=OFF"
    "-DENABLE_PCH:BOOL=OFF"
    "-DENABLE_TEST:BOOL=OFF"
    "-DFORCE_BUNDLED_MINIZIP:BOOL=OFF"
    "-DFORCE_BUNDLED_FL:BOOL=OFF"
    "-DCMAKE_INSTALL_RPATH:STRING=$out/lib/vcmi"
    "-DCMAKE_INSTALL_BINDIR:STRING=bin"
    "-DCMAKE_INSTALL_LIBDIR:STRING=lib"
    "-DCMAKE_INSTALL_DATAROOTDIR:STRING=share"
@@ -76,9 +77,11 @@ stdenv.mkDerivation rec {

  postFixup = ''
    wrapProgram $out/bin/vcmibuilder \
      --prefix PATH : "${lib.makeBinPath [ innoextract ]}"
      --prefix PATH : "${lib.makeBinPath [ innoextract ffmpeg unshield ]}"
  '';

  doCheck = true;

  passthru.tests.version = testers.testVersion {
    package = vcmi;
    command = ''
@@ -88,12 +91,12 @@ stdenv.mkDerivation rec {
  };

  meta = with lib; {
    description = "Open-source engine for Heroes of Might and Magic III";
    description = "An open-source engine for Heroes of Might and Magic III";
    homepage = "https://vcmi.eu";
    changelog = "https://github.com/vcmi/vcmi/blob/${src.rev}/ChangeLog";
    license = with licenses; [ gpl2Only cc-by-sa-40 ];
    maintainers = with maintainers; [ azahi ];
    platforms = platforms.linux;
    mainProgram = "vcmiclient";
    mainProgram = "vcmilauncher";
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -4888,6 +4888,8 @@ with pkgs;
  fuzzel = callPackage ../applications/misc/fuzzel { };
  fuzzylite = callPackage ../development/libraries/fuzzylite { };
  flashfocus = callPackage ../misc/flashfocus { };
  qt-video-wlr = libsForQt5.callPackage ../applications/misc/qt-video-wlr { };