nixpkgs/pkgs/applications/editors/tiled/default.nix
2024-10-24 14:24:31 +08:00

77 lines
1.5 KiB
Nix

{ lib
, stdenv
, env
, fetchFromGitHub
, pkg-config
, qbs
, wrapQtAppsHook
, qtbase
, qtdeclarative
, qttools
, qtwayland
, qtsvg
, zlib
, zstd
, libGL
}:
let
qtEnv = env "tiled-qt-env" [ qtbase qtdeclarative qtsvg qttools qtwayland ];
in
stdenv.mkDerivation rec {
pname = "tiled";
version = "1.11.0";
src = fetchFromGitHub {
owner = "mapeditor";
repo = pname;
rev = "v${version}";
sha256 = "sha256-cFS1OSYfGMsnw+VkZD/HO4+D+pxNKuifWjNhy0FoxN0=";
};
nativeBuildInputs = [ pkg-config qbs wrapQtAppsHook ];
buildInputs = [ qtEnv zlib zstd libGL ];
outputs = [ "out" "dev" ];
strictDeps = true;
configurePhase = ''
runHook preConfigure
qbs setup-qt --settings-dir . ${qtEnv}/bin/qmake qtenv
qbs config --settings-dir . defaultProfile qtenv
qbs resolve --settings-dir . config:release qbs.installPrefix:/ projects.Tiled.installHeaders:true
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
qbs build --settings-dir . config:release
runHook postBuild
'';
installPhase = ''
runHook preInstall
qbs install --settings-dir . --install-root $out config:release
runHook postInstall
'';
meta = with lib; {
description = "Free, easy to use and flexible tile map editor";
homepage = "https://www.mapeditor.org/";
license = with licenses; [
bsd2 # libtiled and tmxviewer
gpl2Plus # all the rest
];
maintainers = with maintainers; [ dywedir ryan4yin ];
platforms = platforms.linux;
};
}