2025-07-24 13:55:40 +02:00

68 lines
1.4 KiB
Nix

{
stdenv,
lib,
fetchFromGitLab,
fetchurl,
fixDarwinDylibNames,
qtbase,
qmake,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "qcustomplot";
version = "2.1.1";
srcs = [
(fetchFromGitLab {
owner = "ecme2";
repo = "QCustomPlot";
tag = "v${finalAttrs.version}";
hash = "sha256-BW8H/vDbhK3b8t8oB92icEBemzcdRdrIz2aKqlUi6UU=";
})
(fetchurl {
url = "https://www.qcustomplot.com/release/${finalAttrs.version}/QCustomPlot-source.tar.gz";
hash = "sha256-Xi0i3sd5248B81fL2yXlT7z5ca2u516ujXrSRESHGC8=";
})
];
sourceRoot = ".";
buildInputs = [ qtbase ];
nativeBuildInputs = [
qmake
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
fixDarwinDylibNames
];
env.LANG = "C.UTF-8";
qmakeFlags = [ "sharedlib/sharedlib-compilation/sharedlib-compilation.pro" ];
dontWrapQtApps = true;
postUnpack = ''
cp -rv source/* .
cp -rv qcustomplot-source/* .
'';
installPhase = ''
runHook preInstall
install -vDm 644 "qcustomplot.h" -t "$out/include/"
install -vdm 755 "$out/lib/"
cp -av libqcustomplot*${stdenv.hostPlatform.extensions.sharedLibrary}* "$out/lib/"
runHook postInstall
'';
meta = {
homepage = "https://qtcustomplot.com/";
description = "Qt C++ widget for plotting and data visualization";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ Cryolitia ];
};
})