summaryrefslogtreecommitdiff
path: root/cmake.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-08-23 02:24:39 +0000
committerCoprDistGit <infra@openeuler.org>2023-08-23 02:24:39 +0000
commit2410ee7bf77e221898aaa5785887a7012a3cbc68 (patch)
tree259fabde9d7fcbbef7b290af1626dedec1521855 /cmake.spec
parente7c266f64a53735ff18acb8a5b3693f1041b69f0 (diff)
automatic import of cmake
Diffstat (limited to 'cmake.spec')
-rw-r--r--cmake.spec288
1 files changed, 288 insertions, 0 deletions
diff --git a/cmake.spec b/cmake.spec
new file mode 100644
index 0000000..5e86930
--- /dev/null
+++ b/cmake.spec
@@ -0,0 +1,288 @@
+%define debug_package %{nil}
+%bcond_with bootstrap
+%bcond_without ncurses
+%bcond_without sphinx
+%bcond_without X11_test
+%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
+
+%{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/cmake-%{version}}
+%{?rcsuf:%global relsuf .%{rcsuf}}
+%{?rcsuf:%global versuf -%{rcsuf}}
+
+Name: cmake
+Version: 3.26.4
+Release: 1
+Summary: Cross-platform make system
+License: BSD and MIT and zlib
+URL: http://www.cmake.org
+Source0: https://www.cmake.org/files/v3.26/cmake-%{version}.tar.gz
+Source1: cmake-init.el
+Source2: macros.cmake
+Source3: cmake.attr
+Source4: cmake.prov
+Source5: cmake.req
+Patch0: cmake-findruby.patch
+#Patch1: cmake-fedora-flag_release.patch
+Patch2: cmake-mingw-dl.patch
+%ifarch sw_64
+Patch3: cmake-3.22.0-sw.patch
+%endif
+
+BuildRequires: coreutils findutils gcc-c++ gcc-gfortran sed
+BuildRequires: emacs python3-devel pkgconfig(Qt5Widgets) desktop-file-utils
+%if %{with X11_test}
+BuildRequires: libX11-devel
+%endif
+%if %{with ncurses}
+BuildRequires: ncurses-devel
+%endif
+%if %{with sphinx}
+BuildRequires: python3-sphinx
+%endif
+%if %{without bootstrap}
+BuildRequires: bzip2-devel curl-devel expat-devel jsoncpp-devel libarchive-devel
+BuildRequires: libuv-devel xz-devel zlib-devel cmake-rpm-macros
+%endif
+
+Requires: cmake-data = %{version}-%{release} cmake-rpm-macros = %{version}-%{release}
+Requires: cmake-filesystem = %{version}-%{release}
+Provides: cmake3 = %{version}-%{release} bundled(md5-deutsch) bundled(kwsys)
+
+%description
+CMake is used to control the software compilation process using simple
+platform and compiler independent configuration files. CMake generates
+native makefiles and workspaces that can be used in the compiler
+environment of your choice. CMake is quite sophisticated: it is possible
+to support complex environments requiring system configuration, preprocessor
+generation, code generation, and template instantiation.
+
+%package data
+Summary: Common data-files for cmake
+Requires: cmake = %{version}-%{release} cmake-filesystem = %{version}-%{release}
+Requires: cmake-rpm-macros = %{version}-%{release}
+Requires: emacs-filesystem%{?_emacs_version: >= %{_emacs_version}}
+
+BuildArch: noarch
+
+%description data
+This package contains common data-files for cmake.
+
+%package filesystem
+Summary: Directories used by CMake modules
+
+%description filesystem
+This package owns all directories used by CMake modules.
+
+%package gui
+Summary: Qt GUI for cmake
+
+Requires: cmake = %{version}-%{release}
+Requires: hicolor-icon-theme
+Requires: shared-mime-info
+
+%description gui
+The cmake-gui package contains the Qt based GUI for cmake.
+
+%package rpm-macros
+Summary: Common RPM macros for cmake
+Requires: rpm
+Conflicts: cmake-data < 3.10.1-2
+BuildArch: noarch
+
+%description rpm-macros
+This package contains common RPM macros for cmake.
+
+%package help
+Summary: Documentation for cmake
+Provides: %{name}-doc = %{version}-%{release}
+Obsoletes: %{name}-doc < %{version}-%{release}
+BuildArch: noarch
+
+%description help
+Documentation for cmake.
+
+%prep
+%autosetup -n cmake-%{version}%{?versuf} -p 1
+sed '1c #!%{__python3}' %{SOURCE4} > cmake.prov
+sed '1c #!%{__python3}' %{SOURCE5} > cmake.req
+
+%build
+export CFLAGS=`echo %{optflags} | sed 's/-g\b/-s/g'`
+export CXXFLAGS=`echo %{optflags} | sed 's/-g\b/-s/g'`
+export LDFLAGS="%{?__global_ldflags}"
+mkdir build
+pushd build
+../bootstrap --prefix=%{_prefix} --datadir=/share/cmake \
+ --docdir=/share/doc/cmake --mandir=/share/man \
+ --%{?with_bootstrap:no-}system-libs \
+ --parallel=`/usr/bin/getconf _NPROCESSORS_ONLN` \
+ --no-system-librhash \
+%if %{with sphinx}
+ --sphinx-man --sphinx-html \
+%else
+ --sphinx-build=%{_bindir}/false \
+%endif
+ --qt-gui \
+;
+%make_build VERBOSE=1
+
+%install
+install -d %{buildroot}%{_pkgdocdir}
+%make_install -C build CMAKE_DOC_DIR=%{buildroot}%{_pkgdocdir}
+find %{buildroot}%{_datadir}/cmake/Modules -type f | xargs chmod -x
+for f in ccmake cmake cpack ctest;
+do
+ ln -s $f %{buildroot}%{_bindir}/${f}3;
+done
+install -d %{buildroot}%{_datadir}/bash-completion/completions
+for f in %{buildroot}%{_datadir}/cmake/completions/*
+do
+ ln -s ../../cmake/completions/$(basename $f) %{buildroot}%{_datadir}/bash-completion/completions
+done
+install -d %{buildroot}%{_emacs_sitelispdir}/cmake
+install -p -m 0644 Auxiliary/cmake-mode.el %{buildroot}%{_emacs_sitelispdir}/cmake/cmake-mode.el
+%{_emacs_bytecompile} %{buildroot}%{_emacs_sitelispdir}/cmake/cmake-mode.el
+install -d %{buildroot}%{_emacs_sitestartdir}
+install -p -m 0644 %SOURCE1 %{buildroot}%{_emacs_sitestartdir}
+install -p -m0644 -D %{SOURCE2} %{buildroot}%{rpm_macros_dir}/macros.cmake
+sed -i -e "s|@@CMAKE_VERSION@@|%{version}|" -e "s|@@CMAKE_MAJOR_VERSION@@|3|" %{buildroot}%{rpm_macros_dir}/macros.cmake
+touch -r %{SOURCE2} %{buildroot}%{rpm_macros_dir}/macros.cmake
+install -p -m0644 -D %{SOURCE3} %{buildroot}%{_prefix}/lib/rpm/fileattrs/cmake.attr
+install -p -m0755 -D cmake.prov %{buildroot}%{_prefix}/lib/rpm/cmake.prov
+install -p -m0755 -D cmake.req %{buildroot}%{_prefix}/lib/rpm/cmake.req
+install -d %{buildroot}%{_libdir}/cmake
+find Source Utilities -type f -iname copy\*
+cp -p Source/kwsys/Copyright.txt ./Copyright_kwsys
+cp -p Utilities/KWIML/Copyright.txt ./Copyright_KWIML
+cp -p Utilities/cmlibarchive/COPYING ./COPYING_cmlibarchive
+cp -p Utilities/cmliblzma/COPYING ./COPYING_cmliblzma
+cp -p Utilities/cmcurl/COPYING ./COPYING_cmcurl
+cp -p Utilities/cmlibrhash/COPYING ./COPYING_cmlibrhash
+cp -p Utilities/cmzlib/Copyright.txt ./Copyright_cmzlib
+cp -p Utilities/cmexpat/COPYING ./COPYING_cmexpat
+install -d %{buildroot}%{_pkgdocdir}
+cp -pr %{buildroot}%{_datadir}/cmake/Help %{buildroot}%{_pkgdocdir}
+
+desktop-file-install --delete-original \
+ --dir=%{buildroot}%{_datadir}/applications \
+ %{buildroot}%{_datadir}/applications/cmake-gui.desktop
+install -d %{buildroot}%{_metainfodir}
+
+find %{buildroot}%{_datadir}/cmake -type d | sed -e 's!^%{buildroot}!%%dir "!g' -e 's!$!"!g' > data_dirs.mf
+find %{buildroot}%{_datadir}/cmake -type f | sed -e 's!^%{buildroot}!"!g' -e 's!$!"!g' > data_files.mf
+find %{buildroot}%{_libdir}/cmake -type d | sed -e 's!^%{buildroot}!%%dir "!g' -e 's!$!"!g' > lib_dirs.mf
+find %{buildroot}%{_libdir}/cmake -type f | sed -e 's!^%{buildroot}!"!g' -e 's!$!"!g' > lib_files.mf
+find %{buildroot}%{_bindir} -type f -or -type l -or -xtype l | \
+ sed -e '/.*-gui$/d' -e '/^$/d' -e 's!^%{buildroot}!"!g' -e 's!$!"!g' >> lib_files.mf
+
+%check
+#cd build
+#export NO_TEST="CMake.FileDownload|CTestTestUpload|curl|RunCMake.CPack_RPM"
+#bin/ctest -V -E "$NO_TEST" %{?_smp_mflags}
+
+%post gui
+update-desktop-database &> /dev/null || :
+touch --no-create %{_datadir}/mime || :
+touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
+
+%postun gui
+update-desktop-database &> /dev/null || :
+if [ $1 -eq 0 ] ; then
+ touch --no-create %{_datadir}/mime || :
+ update-mime-database %{_datadir}/mime &> /dev/null || :
+ touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
+ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+fi
+
+%posttrans gui
+update-mime-database %{_datadir}/mime &> /dev/null || :
+gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+
+%files -f lib_files.mf
+%doc %dir %{_pkgdocdir}
+%license Copyright_* COPYING* Copyright.txt
+
+%files data -f data_files.mf
+%{_datadir}/aclocal/cmake.m4
+%{_datadir}/bash-completion
+%{_emacs_sitelispdir}/cmake
+%{_emacs_sitelispdir}/cmake-mode.el
+%{_emacs_sitestartdir}/cmake-init.el
+%{_datadir}/vim/vimfiles/indent/%{name}.vim
+%{_datadir}/vim/vimfiles//syntax/%{name}.vim
+
+%files filesystem -f data_dirs.mf -f lib_dirs.mf
+
+%files gui
+%{_bindir}/cmake-gui
+%{_datadir}/applications/cmake-gui.desktop
+%{_datadir}/mime/packages
+%{_datadir}/icons/hicolor/*/apps/CMake%{?name_suffix}Setup.png
+
+%files rpm-macros
+%{rpm_macros_dir}/macros.cmake
+%{_rpmconfigdir}/fileattrs/cmake.attr
+%{_rpmconfigdir}/cmake.prov
+%{_rpmconfigdir}/cmake.req
+
+%files help
+%if %{with sphinx}
+%{_mandir}/man1/ccmake.1.*
+%{_mandir}/man1/cmake.1.*
+%{_mandir}/man1/cpack.1.*
+%{_mandir}/man1/ctest.1.*
+%{_mandir}/man7/*.7.*
+%{_mandir}/man1/cmake-gui.1.*
+%endif
+%doc %{_pkgdocdir}
+%exclude %{_pkgdocdir}/Copyright.txt
+
+%changelog
+* Mon Nov 14 2022 jchzhou <zhoujiacheng@iscas.ac.cn> - 3.24.3-1
+- Update to 3.24.3
+
+* Wed Oct 19 2022 wuzx<wuzx1226@qq.com> - 3.22.0-3
+- add sw64 patch
+
+* Wed Mar 2 2022 wangchen <wangchen137@h-partners.com> - 3.22.0-2
+- Remove rhash-devel from BuildRequires
+
+* Sat Feb 12 2022 wangchen <wangchen137@h-partners.com> - 3.22.0-1
+- Update to 3.22.0
+
+* Tue Jul 20 2021 wangchen <wangchen137@huawei.com> - 3.19.2-3
+- Delete unnecessary gdb from BuildRequires
+
+* Mon Mar 22 2021 lirui <lirui130@huawei.com> - 3.19.2-2
+- Remove the -g option and the debug package
+- add the -s option
+
+* Mon Jan 25 2021 wangchen <wangchen137@huawei.com> - 3.19.2-1
+- Update to 3.19.2
+
+* Sat Aug 29 2020 wangchen <wangchen137@huawei.com> - 3.18.0-3
+- Revert macros.cmake
+
+* Tue Aug 25 2020 wangchen <wangchen137@huawei.com> - 3.18.0-2
+- Modify macros.cmake
+
+* Thu Jul 30 2020 wangchen <wangchen137@huawei.com> - 3.18.0-1
+- Update to cmake-3.18.0
+
+* Mon May 25 2020 licihua <licihua@huawei.com> - 3.17.2-1
+- Update to cmake-3.17.2
+
+* Fri Apr 03 2020 zhouyihang <zhouyihang1@huawei.com> - 3.12.1-6
+- Remove useless scriptlet
+
+* Mon Mar 23 2020 Xiangyang Yu <yuxiangyang4@huawei.com> -3.12.1-5
+- add BuildRequires:gdb to fix src.rpm build error
+
+* Thu Feb 20 2020 lijin Yang <yanglijin@huawei.com> -3.12.1-4
+- make sphinx-build enable
+
+* Wed Jan 22 2020 Yiru Wang <wangyiru1@huawei.com> - 3.12.1-3
+- Disable test
+
+* Fri Nov 29 2019 lijin Yang <yanglijin@huawei.com> - 3.12.1-2
+- init package