biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / qtcreator / default.nix
blob3843a989ec0b8ec2972525b07655496deac0da35
1 { stdenv
2 , lib
3 , fetchurl
4 , cmake
5 , pkg-config
6 , ninja
7 , python3
8 , qtbase
9 , qt5compat
10 , qtdeclarative
11 , qtdoc
12 , qtquick3d
13 , qtquicktimeline
14 , qtserialport
15 , qtsvg
16 , qttools
17 , qtwebengine
18 , qtwayland
19 , qtshadertools
20 , wrapQtAppsHook
21 , yaml-cpp
22 , litehtml
23 , libsecret
24 , gumbo
25 , llvmPackages
26 , rustc-demangle
27 , elfutils
28 , perf
31 stdenv.mkDerivation rec {
32   pname = "qtcreator";
33   version = "13.0.0";
35   src = fetchurl {
36     url = "https://download.qt.io/official_releases/${pname}/${lib.versions.majorMinor version}/${version}/qt-creator-opensource-src-${version}.tar.xz";
37     hash = "sha256-7BTwXycHFEVaLw1AuKqwLtkkHU+k8D6lOb/sWBnp4DY=";
38   };
40   nativeBuildInputs = [
41     cmake
42     pkg-config
43     (qttools.override { withClang = true; })
44     wrapQtAppsHook
45     python3
46     ninja
47   ];
49   buildInputs = [
50     qtbase
51     qtdoc
52     qtsvg
53     qtquick3d
54     qtwebengine
55     qtwayland
56     qtserialport
57     qtshadertools
58     qt5compat
59     qtdeclarative
60     qtquicktimeline
61     yaml-cpp
62     litehtml
63     libsecret
64     gumbo
65     llvmPackages.libclang
66     llvmPackages.llvm
67     rustc-demangle
68     elfutils
69   ];
71   cmakeFlags = [
72     # workaround for missing CMAKE_INSTALL_DATAROOTDIR
73     # in pkgs/development/tools/build-managers/cmake/setup-hook.sh
74     "-DCMAKE_INSTALL_DATAROOTDIR=${placeholder "out"}/share"
75     # qtdeclarative in nixpkgs does not provide qmlsc
76     # fix can't find Qt6QmlCompilerPlusPrivate
77     "-DQT_NO_FIND_QMLSC=TRUE"
78     "-DWITH_DOCS=ON"
79     "-DBUILD_DEVELOPER_DOCS=ON"
80     "-DBUILD_QBS=OFF"
81     "-DQTC_CLANG_BUILDMODE_MATCH=ON"
82     "-DCLANGTOOLING_LINK_CLANG_DYLIB=ON"
83   ];
85   qtWrapperArgs = [
86     "--set-default PERFPROFILER_PARSER_FILEPATH ${lib.getBin perf}/bin"
87   ];
89   postInstall = ''
90     substituteInPlace $out/share/applications/org.qt-project.qtcreator.desktop \
91       --replace "Exec=qtcreator" "Exec=$out/bin/qtcreator"
92   '';
94   meta = with lib; {
95     description = "Cross-platform IDE tailored to the needs of Qt developers";
96     longDescription = ''
97       Qt Creator is a cross-platform IDE (integrated development environment)
98       tailored to the needs of Qt developers. It includes features such as an
99       advanced code editor, a visual debugger and a GUI designer.
100     '';
101     homepage = "https://wiki.qt.io/Qt_Creator";
102     license = licenses.gpl3Only; # annotated with The Qt Company GPL Exception 1.0
103     maintainers = [ maintainers.rewine ];
104     platforms = platforms.linux;
105   };