nixpkgs/pkgs/development/tools/qtcreator/default.nix
Sefa Eyeoglu 4b11c8ab1d
qtcreator: remove absolute path in desktop entry
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-11-10 14:44:47 +01:00

102 lines
2.2 KiB
Nix

{ stdenv
, lib
, fetchurl
, cmake
, pkg-config
, ninja
, python3
, qtbase
, qt5compat
, qtdeclarative
, qtdoc
, qtquick3d
, qtquicktimeline
, qtserialport
, qtsvg
, qttools
, qtwebengine
, qtwayland
, qtshadertools
, wrapQtAppsHook
, yaml-cpp
, litehtml
, libsecret
, gumbo
, llvmPackages
, rustc-demangle
, elfutils
, perf
}:
stdenv.mkDerivation rec {
pname = "qtcreator";
version = "14.0.2";
src = fetchurl {
url = "mirror://qt/official_releases/${pname}/${lib.versions.majorMinor version}/${version}/qt-creator-opensource-src-${version}.tar.xz";
hash = "sha256-stL4eLtpKKjm4w2HYAvdk89ATCYZoVHGS9zcjNB4OJI=";
};
nativeBuildInputs = [
cmake
pkg-config
(qttools.override { withClang = true; })
wrapQtAppsHook
python3
ninja
];
buildInputs = [
qtbase
qtdoc
qtsvg
qtquick3d
qtwebengine
qtwayland
qtserialport
qtshadertools
qt5compat
qtdeclarative
qtquicktimeline
yaml-cpp
litehtml
libsecret
gumbo
llvmPackages.libclang
llvmPackages.llvm
rustc-demangle
elfutils
];
cmakeFlags = [
# workaround for missing CMAKE_INSTALL_DATAROOTDIR
# in pkgs/development/tools/build-managers/cmake/setup-hook.sh
"-DCMAKE_INSTALL_DATAROOTDIR=${placeholder "out"}/share"
# qtdeclarative in nixpkgs does not provide qmlsc
# fix can't find Qt6QmlCompilerPlusPrivate
"-DQT_NO_FIND_QMLSC=TRUE"
"-DWITH_DOCS=ON"
"-DBUILD_DEVELOPER_DOCS=ON"
"-DBUILD_QBS=OFF"
"-DQTC_CLANG_BUILDMODE_MATCH=ON"
"-DCLANGTOOLING_LINK_CLANG_DYLIB=ON"
];
qtWrapperArgs = [
"--set-default PERFPROFILER_PARSER_FILEPATH ${lib.getBin perf}/bin"
];
meta = with lib; {
description = "Cross-platform IDE tailored to the needs of Qt developers";
longDescription = ''
Qt Creator is a cross-platform IDE (integrated development environment)
tailored to the needs of Qt developers. It includes features such as an
advanced code editor, a visual debugger and a GUI designer.
'';
homepage = "https://wiki.qt.io/Qt_Creator";
license = licenses.gpl3Only; # annotated with The Qt Company GPL Exception 1.0
maintainers = [ maintainers.rewine ];
platforms = platforms.linux;
};
}