diff --git a/pkgs/development/tools/qtcreator/qt6.nix b/pkgs/development/tools/qtcreator/qt6.nix new file mode 100644 index 000000000000..0afc6984abe1 --- /dev/null +++ b/pkgs/development/tools/qtcreator/qt6.nix @@ -0,0 +1,102 @@ +{ stdenv +, lib +, fetchurl +, cmake +, pkg-config +, ninja +, python3 +, qtbase +, qt5compat +, qtdeclarative +, qtdoc +, qtquick3d +, qtquicktimeline +, qtserialport +, qtsvg +, qttools +, qtwebengine +, qtshadertools +, wrapQtAppsHook +, yaml-cpp +, litehtml +, gumbo +, llvmPackages +, rustc-demangle +, elfutils +, perf +}: + +stdenv.mkDerivation rec { + pname = "qtcreator"; + version = "9.0.2"; + + src = fetchurl { + url = "https://download.qt.io/official_releases/${pname}/${lib.versions.majorMinor version}/${version}/qt-creator-opensource-src-${version}.tar.xz"; + sha256 = "sha256-7KWMxcoNOXiWlAVCYZzyA/WWLuPIggCBIics23Ifoyg="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + qttools + wrapQtAppsHook + python3 + ninja + ]; + + buildInputs = [ + qtbase + qtdoc + qtsvg + qtquick3d + qtwebengine + qtserialport + qtshadertools + qt5compat + qtdeclarative + qtquicktimeline + yaml-cpp + litehtml + 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" + ]; + + postInstall = '' + substituteInPlace $out/share/applications/org.qt-project.qtcreator.desktop \ + --replace "Exec=qtcreator" "Exec=$out/bin/qtcreator" + ''; + + 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.lgpl3Plus; + maintainers = [ maintainers.rewine ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 42d67021436e..815e0ba64f61 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18648,6 +18648,12 @@ with pkgs; inherit (linuxPackages) perf; }; + qtcreator-qt6 = qt6Packages.callPackage ../development/tools/qtcreator/qt6.nix { + inherit (linuxPackages) perf; + stdenv = llvmPackages_14.stdenv; + llvmPackages = llvmPackages_14; + }; + qxmledit = libsForQt5.callPackage ../applications/editors/qxmledit {} ; r10k = callPackage ../tools/system/r10k { };