nixpkgs/pkgs/by-name/st/stormlib/package.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

42 lines
1.2 KiB
Nix

{ lib, stdenv, fetchFromGitHub, cmake, bzip2, libtomcrypt, zlib, darwin }:
stdenv.mkDerivation rec {
pname = "stormlib";
version = "9.22";
src = fetchFromGitHub {
owner = "ladislav-zezula";
repo = "StormLib";
rev = "v${version}";
sha256 = "1rcdl6ryrr8fss5z5qlpl4prrw8xpbcdgajg2hpp0i7fpk21ymcc";
};
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "FRAMEWORK DESTINATION /Library/Frameworks" "FRAMEWORK DESTINATION Library/Frameworks"
'';
cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON"
"-DWITH_LIBTOMCRYPT=ON"
];
nativeBuildInputs = [ cmake ];
buildInputs = [ bzip2 libtomcrypt zlib ] ++
lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Carbon ];
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
"-Wno-implicit-function-declaration"
"-Wno-int-conversion"
]);
meta = with lib; {
homepage = "https://github.com/ladislav-zezula/StormLib";
license = licenses.mit;
description = "An open-source project that can work with Blizzard MPQ archives";
mainProgram = "storm_test";
platforms = platforms.all;
maintainers = with maintainers; [ aanderse karolchmist ];
};
}