diff --git a/kdevelop-22.08.0.tar.xz b/kdevelop-22.08.0.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..8cee1c96f54f2d7b5cfad3b0a6071cd30246e51c Binary files /dev/null and b/kdevelop-22.08.0.tar.xz differ diff --git a/kdevelop-5.2.3-qmake.patch b/kdevelop-5.2.3-qmake.patch new file mode 100644 index 0000000000000000000000000000000000000000..bfa5d2c727ea25df605e0162e6973d3af42b6fac --- /dev/null +++ b/kdevelop-5.2.3-qmake.patch @@ -0,0 +1,39 @@ +diff --git a/plugins/qmakemanager/qmakeconfig.cpp b/plugins/qmakemanager/qmakeconfig.cpp +index 98dc77b..92f221a 100644 +--- a/plugins/qmakemanager/qmakeconfig.cpp ++++ b/plugins/qmakemanager/qmakeconfig.cpp +@@ -82,15 +82,15 @@ QString QMakeConfig::qmakeExecutable(const IProject* project) + } + } + } +- if (exe.isEmpty()) { +- exe = QStandardPaths::findExecutable(QStringLiteral("qmake")); +- } + if (exe.isEmpty()) { + exe = QStandardPaths::findExecutable(QStringLiteral("qmake-qt5")); + } + if (exe.isEmpty()) { + exe = QStandardPaths::findExecutable(QStringLiteral("qmake-qt4")); + } ++ if (exe.isEmpty()) { ++ exe = QStandardPaths::findExecutable(QStringLiteral("qmake")); ++ } + Q_ASSERT(!exe.isEmpty()); + return exe; + } +diff --git a/plugins/qthelp/qthelpqtdoc.cpp b/plugins/qthelp/qthelpqtdoc.cpp +index 8f9f8e1..6770e03 100644 +--- a/plugins/qthelp/qthelpqtdoc.cpp ++++ b/plugins/qthelp/qthelpqtdoc.cpp +@@ -38,9 +38,9 @@ QString qmakeCandidate() + { + // return the first qmake executable we can find + const QStringList candidates { +- QStringLiteral("qmake"), ++ QStringLiteral("qmake-qt5"), + QStringLiteral("qmake-qt4"), +- QStringLiteral("qmake-qt5") ++ QStringLiteral("qmake") + }; + auto it = std::find_if(candidates.constBegin(), candidates.constEnd(), [](const QString& candidate) { + return !QStandardPaths::findExecutable(candidate).isEmpty(); diff --git a/kdevelop.spec b/kdevelop.spec new file mode 100644 index 0000000000000000000000000000000000000000..6326fd2f968818266143602fa8fe0661d3ef3b40 --- /dev/null +++ b/kdevelop.spec @@ -0,0 +1,230 @@ +%undefine __cmake_in_source_build +Name: kdevelop +Summary: Integrated Development Environment for C++/C +Epoch: 9 +Version: 22.08.0 +Release: 1 +License: GPLv2 +URL: http://www.kdevelop.org/ +Source0: https://download.kde.org/stable/release-service/%{version}/src/kdevelop-%{version}.tar.xz + +%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) +Source10: macros.kdevelop +Patch0: kdevelop-5.2.3-qmake.patch + +# upstreamable patches + +# upstream patches + +BuildRequires: gcc-c++ gcc +BuildRequires: boost-devel +BuildRequires: desktop-file-utils +BuildRequires: gettext +BuildRequires: shared-mime-info +BuildRequires: llvm-devel +BuildRequires: clang-devel +BuildRequires: okteta-devel +BuildRequires: pcre-devel +BuildRequires: subversion-devel +BuildRequires: kdevelop-pg-qt-devel >= 2.0 +BuildRequires: libksysguard-devel +BuildRequires: grantlee-qt5-devel + +%{?grantlee5_requires} +BuildRequires: libkomparediff2-devel +BuildRequires: kf5-rpm-macros +BuildRequires: extra-cmake-modules +BuildRequires: kf5-karchive-devel +BuildRequires: kf5-kconfig-devel +BuildRequires: kf5-kguiaddons-devel +BuildRequires: kf5-kiconthemes-devel +BuildRequires: kf5-ki18n-devel +BuildRequires: kf5-kitemmodels-devel +BuildRequires: kf5-kitemviews-devel +BuildRequires: kf5-kjobwidgets-devel +BuildRequires: kf5-kcmutils-devel +BuildRequires: kf5-kio-devel +BuildRequires: kf5-kdoctools-devel +BuildRequires: kf5-knewstuff-devel +BuildRequires: kf5-knotifications-devel +BuildRequires: kf5-knotifyconfig-devel +BuildRequires: kf5-kparts-devel +BuildRequires: kf5-kservice-devel +BuildRequires: kf5-ktexteditor-devel +BuildRequires: kf5-threadweaver-devel +BuildRequires: kf5-kwindowsystem-devel +BuildRequires: kf5-kdeclarative-devel +BuildRequires: kf5-kxmlgui-devel +BuildRequires: kf5-plasma-devel +BuildRequires: kf5-krunner-devel +BuildRequires: kf5-kcrash-devel + +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qtdeclarative-devel +BuildRequires: qt5-qtwebkit-devel +BuildRequires: qt5-qtscript-devel +BuildRequires: qt5-qttools-devel + +# For AutoReq cmake-filesystem +BuildRequires: cmake + +# some arches don't have valgrind so we need to disable its support on them +%ifarch %{ix86} x86_64 ppc ppc64 s390x +BuildRequires: valgrind-devel +%endif + +# kdevelop-custom-buildsystem has been merged to kdevelop 4.5.0 +Provides: kdevelop-custom-buildsystem = 9:%{version}-%{release} +Obsoletes: kdevelop-custom-buildsystem < 1.2.1-5 + +Provides: kdevplatform = %{version}-%{release} +Obsoletes: kdevplatform < 5.1.80-1 + +# kdevappwizard/templates/qmake_qt4guiapp moved here +Conflicts: kapptemplate < 16.03.80 + +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: astyle +Requires: cmake +Requires: clang-tools-extra +Suggests: clazy +Requires: cppcheck +Requires: git +Requires: meson + +%description +The KDevelop Integrated Development Environment provides many features +that developers need as well as providing a unified interface to programs +like gdb, the C/C++ compiler, and make. KDevelop manages or provides: + +All development tools needed for C++ programming like Compiler, +Linker, automake and autoconf; KAppWizard, which generates complete, +ready-to-go sample applications; Classgenerator, for creating new +classes and integrating them into the current project; File management +for sources, headers, documentation etc. to be included in the +project; The creation of User-Handbooks written with SGML and the +automatic generation of HTML-output with the KDE look and feel; +Automatic HTML-based API-documentation for your project's classes with +cross-references to the used libraries; Internationalization support +for your application, allowing translators to easily add their target +language to a project; + +KDevelop also includes WYSIWYG (What you see is what you get)-creation +of user interfaces with a built-in dialog editor; Debugging your +application by integrating KDbg; Editing of project-specific pixmaps +with KIconEdit; The inclusion of any other program you need for +development by adding it to the "Tools"-menu according to your +individual needs. + + +%package devel +Summary: Development files for %{name} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +Provides: kdevplatform-devel = %{version}-%{release} +Obsoletes: kdevplatform-devel < 5.1.80-1 +%description devel +%{summary}. + +%package libs +Summary: %{name} runtime libraries +# helps multilib upgrades +Obsoletes: kdevelop < 9:3.9.95 +Requires: %{name} = %{epoch}:%{version}-%{release} +Provides: kdevplatform-libs = %{version}-%{release} +Obsoletes: kdevplatform-libs < 5.1.80-1 +%description libs +%{summary}. + + +%prep +%setup -q -n kdevelop-%{version} +%patch0 -p1 -b .qmake + +%build +mkdir build +pushd build + %cmake_kf5 .. + %make_build +popd + +%install +pushd build + %make_install +popd + +%find_lang %{name} --all-name + +# rpm macros +install -p -m644 -D %{SOURCE10} \ + %{buildroot}%{rpm_macros_dir}/macros.kdevelop +sed -i \ + -e "s|@@NAME@@|%{name}|g" \ + -e "s|@@EPOCH@@|%{?epoch}%{!?epoch:0}|g" \ + -e "s|@@VERSION@@|%{version}|g" \ + -e "s|@@EVR@@|%{?epoch:%{epoch}:}%{version}-%{release}|g" \ + %{buildroot}%{rpm_macros_dir}/macros.kdevelop + +# drop zsh, using bash as default +rm -f %{buildroot}%{_datadir}/kdevplatform/shellutils/.zshrc + +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/org.kde.kdevelop.desktop + +%files -f %{name}.lang +%doc AUTHORS +%license COPYING.DOC +%{_bindir}/kdevelop +%{_bindir}/kdevelop! +%{_bindir}/kdev_includepathsconverter +%{_bindir}/kdev_dbus_socket_transformer +%{_bindir}/kdevplatform_shell_environment.sh +%{_bindir}/kdev_format_source +%{_datadir}/kdev*/ +%{_datadir}/applications/org.kde.kdevelop.desktop +%{_datadir}/applications/org.kde.kdevelop_ps.desktop +%{_datadir}/applications/org.kde.kdevelop_bzr.desktop +%{_datadir}/applications/org.kde.kdevelop_git.desktop +%{_datadir}/applications/org.kde.kdevelop_kdev4.desktop +%{_datadir}/applications/org.kde.kdevelop_svn.desktop +%{_datadir}/kservices5/*.desktop +%{_datadir}/mime/packages/kdevelop.xml +%{_datadir}/mime/packages/kdevclang.xml +%{_datadir}/mime/packages/kdevgit.xml +%{_datadir}/plasma/plasmoids/kdevelopsessions/* +%{_datadir}/knotifications5/kdevelop.notifyrc +%{_datadir}/icons/hicolor/*/*/* +%{_datadir}/metainfo/org.kde.kdevelop.appdata.xml +%{_datadir}/qlogging-categories5/kdevelop.categories +%{_datadir}/qlogging-categories5/kdevplatform.categories +# %{_datadir}/bash-completion/completions/kdevelop +%{_datadir}/knsrcfiles/kdev*.knsrc +%{_docdir}/HTML/*/kdevelop/ +%{_kf5_datadir}/kservicetypes5/kdevelopplugin.desktop +%{_qt5_qmldir}/org/kde/plasma/private/kdevelopsessions/libkdevelopsessionsplugin.so +%{_qt5_qmldir}/org/kde/plasma/private/kdevelopsessions/qmldir + +%ldconfig_scriptlets libs + +%files libs +%{_libdir}/lib*.so.* +%{_libdir}/*.so +%{_libdir}/libKDevClangPrivate.so* +%{_kf5_qtplugindir}/kf5/krunner/krunner_kdevelopsessions.so +%{_kf5_qtplugindir}/kdevplatform/ +%{_kf5_qtplugindir}/grantlee/%{grantlee5_plugins}/kdev_filters.so +# FIXME/TODO: does not use standard %%{?grantlee5_plugindir}, is that a problem? -- rex +%dir %{_kf5_qtplugindir}/grantlee/ +%dir %{_kf5_qtplugindir}/grantlee/%{grantlee5_plugins}/ +%{_qt5_qmldir}/org/kde/kdevplatform/ + +%files devel +%{_libdir}/cmake/KDevelop/ +%{_libdir}/cmake/KDevPlatform +%{_includedir}/kdevelop/ +%{_includedir}/kdevplatform/ +%{_libdir}/lib*.so +%{rpm_macros_dir}/macros.kdevelop + +%changelog +* Mon Sep 05 2022 liweiganga - 9:22.08.0-1 +- init for openEuler diff --git a/kdevelop.yaml b/kdevelop.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6963b0b8ed13ac58203e6fef2d30ebbd434fae48 --- /dev/null +++ b/kdevelop.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: https://github.com/KDE/kdevelop +tag_prefix: "v" +seperator: "." diff --git a/macros.kdevelop b/macros.kdevelop new file mode 100644 index 0000000000000000000000000000000000000000..6940d85a6ae87f59de2ca0c090603c1433ef3b02 --- /dev/null +++ b/macros.kdevelop @@ -0,0 +1,9 @@ +%kdevelop @@NAME@@ +%kdevelop_epoch @@EPOCH@@ +%kdevelop_version @@VERSION@@ +%kdevelop_evr @@EVR@@ + +%kdevelop_requires \ +Requires: %{kdevelop} >= %{kdevelop_evr} \ +%{nil} +