nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
2022-11-09 10:43:00 -03:00

72 lines
1.6 KiB
Nix

{ lib
, stdenv
, mkDerivation
, fetchpatch
, fetchFromGitHub
, cmake
, pkg-config
, pcre
, qtbase
, glib
, perl
, gitUpdater
}:
mkDerivation rec {
pname = "lxqt-build-tools";
version = "0.12.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "18+xSHBjYmtENGJuTf8yJh4C4QTNYttr8ucRU8KK1HU=";
};
postPatch = ''
# Nix clang on darwin identifies as 'Clang', not 'AppleClang'
# Without this, dependants fail to link.
substituteInPlace cmake/modules/LXQtCompilerSettings.cmake \
--replace AppleClang Clang
# GLib 2.72 moved the file from gio-unix-2.0 to gio-2.0.
# https://github.com/lxqt/lxqt-build-tools/pull/74
substituteInPlace cmake/find-modules/FindGLIB.cmake \
--replace gio/gunixconnection.h gio/gunixfdlist.h
'';
nativeBuildInputs = [
cmake
pkg-config
setupHook
];
buildInputs = [
qtbase
glib
pcre
];
propagatedBuildInputs = [
perl # needed by LXQtTranslateDesktop.cmake
];
setupHook = ./setup-hook.sh;
# We're dependent on this macro doing add_definitions in most places
# But we have the setup-hook to set the values.
postInstall = ''
rm $out/share/cmake/lxqt-build-tools/modules/LXQtConfigVars.cmake
cp ${./LXQtConfigVars.cmake} $out/share/cmake/lxqt-build-tools/modules/LXQtConfigVars.cmake
'';
passthru.updateScript = gitUpdater { };
meta = with lib; {
homepage = "https://github.com/lxqt/lxqt-build-tools";
description = "Various packaging tools and scripts for LXQt applications";
license = licenses.lgpl21Plus;
platforms = with platforms; unix;
maintainers = teams.lxqt.members;
};
}