cmake-vl.spec 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. # Set to bcond_without or use --with bootstrap if bootstrapping a new release
  2. # or architecture
  3. %bcond_with bootstrap
  4. # Set to bcond_with or use --without gui to disable qt4 gui build
  5. %bcond_with gui
  6. # Do not build non-lto objects to reduce build time significantly.
  7. %global build_cflags %(echo '%{build_cflags}' | sed -e 's!-ffat-lto-objects!-fno-fat-lto-objects!g')
  8. %global build_cxxflags %(echo '%{build_cxxflags}' | sed -e 's!-ffat-lto-objects!-fno-fat-lto-objects!g')
  9. %global build_fflags %(echo '%{build_fflags}' | sed -e 's!-ffat-lto-objects!-fno-fat-lto-objects!g')
  10. %global build_fcflags %(echo '%{build_fflags}' | sed -e 's!-ffat-lto-objects!-fno-fat-lto-objects!g')
  11. Name: cmake
  12. Summary: Cross-platform make system
  13. Summary(ja): クロスプラットフォームな Make システム
  14. Version: 3.31.8
  15. Release: 1%{?_dist_release}
  16. Group: programming
  17. Vendor: Project Vine
  18. Distribution: Vine Linux
  19. License: BSD
  20. URL: https://www.cmake.org/
  21. Source0: https://github.com/Kitware/CMake/releases/download/v%{version}/cmake-%{version}.tar.gz
  22. Source1: macros.cmake
  23. Source3: %{name}.attr
  24. Source4: %{name}.prov
  25. Source5: %{name}.req
  26. # Patch to fix RindRuby vendor settings
  27. # http://public.kitware.com/Bug/view.php?id=12965
  28. # https://bugzilla.redhat.com/show_bug.cgi?id=822796
  29. Patch100: %{name}-findruby.patch
  30. BuildRequires: curl-devel
  31. BuildRequires: expat-devel
  32. BuildRequires: gcc-gfortran
  33. BuildRequires: libarchive-devel
  34. #BuildRequires: libidn-devel
  35. BuildRequires: ncurses-devel
  36. BuildRequires: openssl-devel
  37. BuildRequires: pkgconfig(zlib)
  38. BuildRequires: xz-devel
  39. BuildRequires: jsoncpp-devel
  40. %if %{with gui}
  41. BuildRequires: qt4-devel, desktop-file-utils
  42. %define qt_gui --qt-gui
  43. %else
  44. %define qt_gui --no-qt-gui
  45. %endif
  46. Provides: %{name}-filesystem%{?_isa} = %{version}-%{release}
  47. %global major_version %(echo %{version} | cut -d . -f 1)
  48. %global minor_version %(echo %{version} | cut -d . -f 2)
  49. %description
  50. CMake is used to control the software compilation process using simple
  51. platform and compiler independent configuration files. CMake generates
  52. native makefiles and workspaces that can be used in the compiler
  53. environment of your choice. CMake is quite sophisticated: it is possible
  54. to support complex environments requiring system configuration, pre-processor
  55. generation, code generation, and template instantiation.
  56. %package gui
  57. Summary: Qt GUI for %{name}
  58. Group: programming
  59. Requires: %{name} = %{version}-%{release}
  60. Requires(post): desktop-file-utils, shared-mime-info
  61. Requires(postun): desktop-file-utils, shared-mime-info
  62. %description gui
  63. The %{name}-gui package contains the Qt based GUI for CMake.
  64. %debug_package
  65. %prep
  66. %setup -q
  67. %autopatch -p1
  68. %build
  69. %{set_build_flags}
  70. ./bootstrap \
  71. --prefix=%{_prefix} \
  72. --datadir=/share/%{name} \
  73. --docdir=/share/doc/%{name} \
  74. --mandir=/share/man \
  75. %if 0%{?with_bootstrap}
  76. --no-system-libs \
  77. %else
  78. --system-curl \
  79. --system-expat \
  80. --system-jsoncpp \
  81. --system-zlib \
  82. --system-bzip2 \
  83. --system-liblzma \
  84. --system-libarchive \
  85. --no-system-librhash \
  86. --no-system-libuv \
  87. %endif
  88. --parallel="$(echo %{?_smp_mflags} | sed -e 's|-j||g')" \
  89. %{?qt_gui} \
  90. -- \
  91. -DCMAKE_AR=%{_bindir}/gcc-ar \
  92. -DCMAKE_RANLIB=%{_bindir}/gcc-ranlib \
  93. -DCMAKE_C_FLAGS_RELEASE:STRING="-O2 -g -DNDEBUG" \
  94. -DCMAKE_CXX_FLAGS_RELEASE:STRING="-O2 -g -DNDEBUG" \
  95. -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-O2 -g -DNDEBUG" \
  96. -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
  97. -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \
  98. -DCMake_TEST_NO_NETWORK:BOOL=ON \
  99. %{nil}
  100. # sed -i 's/-lcurses/-lcurses -ltinfo/' Source/CMakeFiles/ccmake.dir/link.txt
  101. %make_build
  102. %install
  103. rm -rf %{buildroot}
  104. make install DESTDIR=%{buildroot}
  105. find %{buildroot}/%{_datadir}/%{name}/Modules -type f | xargs chmod -x
  106. rm -rf %{buildroot}/usr/doc
  107. # RPM macros
  108. install -p -m0644 -D %{SOURCE1} %{buildroot}%{_rpmmacrodir}/macros.cmake
  109. sed -i -e "s|@@CMAKE_MAJOR_VERSION@@|%{major_version}|" %{buildroot}%{_rpmmacrodir}/macros.cmake
  110. touch -r %{SOURCE1} %{buildroot}%{_rpmmacrodir}/macros.cmake
  111. # RPM auto provides
  112. install -p -m0644 -D %{SOURCE3} %{buildroot}%{_prefix}/lib/rpm/fileattrs/%{name}.attr
  113. install -p -m0755 -D %{SOURCE4} %{buildroot}%{_prefix}/lib/rpm/%{name}.prov
  114. install -p -m0755 -D %{SOURCE5} %{buildroot}%{_prefix}/lib/rpm/%{name}.req
  115. %if %{with gui}
  116. # Desktop file
  117. desktop-file-install --delete-original \
  118. --dir=%{buildroot}%{_datadir}/applications \
  119. %{buildroot}/%{_datadir}/applications/CMake.desktop
  120. %endif
  121. rm -rf doc
  122. mv -f %{buildroot}%{_docdir}/%{name} ./doc
  123. %files
  124. %doc CMakeLogo.gif README.* doc
  125. %doc Help
  126. %license Copyright.txt Licenses/*
  127. %config(noreplace) %{_rpmmacrodir}/macros.cmake
  128. %{_rpmconfigdir}/fileattrs/%{name}.attr
  129. %{_rpmconfigdir}/%{name}.prov
  130. %{_rpmconfigdir}/%{name}.req
  131. %{_bindir}/ccmake
  132. %{_bindir}/cmake
  133. %{_bindir}/cpack
  134. %{_bindir}/ctest
  135. %{_datadir}/%{name}/
  136. %{_datadir}/aclocal/cmake.m4
  137. %dir %{_datadir}/bash-completion
  138. %dir %{_datadir}/bash-completion/completions
  139. %{_datadir}/bash-completion/completions/*
  140. %exclude /usr/share/vim
  141. %exclude /usr/share/emacs
  142. %if %{with gui}
  143. %files gui
  144. %{_bindir}/cmake-gui
  145. %{_datadir}/applications/CMake.desktop
  146. %{_datadir}/mime/packages/cmakecache.xml
  147. %{_datadir}/icons/hicolor/*/*/*
  148. %endif
  149. %changelog
  150. * Fri Jun 13 2025 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.31.8-1
  151. - new upstream release.
  152. * Wed May 7 2025 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.31.7-1
  153. - new upstream release.
  154. * Mon Jun 17 2024 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.29.5-1
  155. - new upstream release.
  156. * Fri Nov 18 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.25.0-1
  157. - new upstream release.
  158. * Fri Oct 28 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.24.2-1
  159. - new upstream release.
  160. * Sat Nov 27 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.22.0-1
  161. - new upstream release.
  162. * Tue Aug 10 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.20.1-1
  163. - new upstream release.
  164. * Sun Mar 28 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.20.0-1
  165. - nre upstream release.
  166. - updated macros.req.
  167. * Sat Feb 27 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.19.6-1
  168. - updated to 3.19.6.
  169. - updated macros.cmake.
  170. * Thu Jul 16 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.18.0-1
  171. - updated to 3.18.0.
  172. * Sat Sep 21 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.15.3-1
  173. - updated to 3.15.3.
  174. * Mon Jan 01 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.10.1-1
  175. - updated to 3.10.1.
  176. - updated macros.cmake.
  177. - disabled gui.
  178. * Thu Jun 30 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.5.2-2
  179. - rebuild with gcc-5.4.0
  180. * Sat May 07 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.5.2-1
  181. - update to 3.5.2
  182. - add BuildRequires: xz-devel, jsoncpp-devel
  183. - remove old patches
  184. * Sat Sep 12 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.12.2-1
  185. - update to 2.8.12.2
  186. * Sat Sep 12 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.12.2-1
  187. - update to 2.8.12.2
  188. - add Patch2 (cmake-2.8.12.2-ruby-2.2.x.patch)
  189. * Sun Jul 06 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.12.1-2
  190. - rebuild with libarchive-3.1.2
  191. * Mon Dec 23 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.12.1-1
  192. - new upstream release
  193. - add Patch1 (cmake-2.8.12.1-FindFreetype.patch)
  194. * Sun Jul 07 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.11.2-1
  195. - new upstream release
  196. * Wed Jun 05 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.11-1
  197. - new upstream release
  198. * Mon Apr 29 2013 Toshiharu Kudoh <toshi.kd2@gmail.com> 2.8.10.2-1
  199. - new upstream release
  200. - fixed desktop file warning
  201. * Sun Jun 10 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.6-2
  202. - rebuild with libarchive-3.0.4
  203. * Sat Nov 19 2011 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.8.6-1
  204. - new upstream release
  205. - forced to link with libtinfo.so (ccmake)
  206. - used --system-libs again
  207. * Sat Jan 8 2011 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.8.3-1
  208. - new upstream release
  209. - used --no-system-libs, removed BR: curl-devel, expat-devel, zlib-devel
  210. * Sun Sep 5 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.8.2-4
  211. - fixed typo (not --with-system-libs, but --system-libs)
  212. - added BR: curl-devel, expat-devel, zlib-devel
  213. * Mon Aug 23 2010 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.2-3
  214. - add BuildRequires: ncurses-devel
  215. * Sun Aug 22 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.8.2-2
  216. - generate gui package
  217. - renamed module directory
  218. * Sun Jul 25 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.8.2-1
  219. - new upstream release
  220. * Fri Feb 05 2010 Shu KONNO <owa@bg.wakwak.com> 2.6.4-3
  221. - rebuilt with new toolchain
  222. * Sun Aug 30 2009 NAKAMURA Kenta <kenta@vinelinux.org> 2.6.4-2
  223. - imported RPM macros from Fedora (cmake-2.6.4-3.fc12)
  224. * Tue Aug 25 2009 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.6.4-1
  225. - new upstream release
  226. - added Vendor/Distribution tag
  227. * Wed Mar 25 2009 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 2.6.3-1
  228. - new upstream release
  229. * Tue Oct 21 2008 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 2.6.2-1
  230. - new upstream release
  231. * Sat Mar 29 2008 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 2.4.8-1
  232. - new upstream release
  233. * Wed Aug 15 2007 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 2.4.7-0vl1
  234. - new upstream release
  235. * Mon May 14 2007 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 2.4.6-0vl1
  236. - new upstream release
  237. - drop Patch100
  238. - use bootstrap script instead of configure
  239. - delete caches from %%doc
  240. * Sat May 12 2007 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 2.4.3-0vl2
  241. - rebuilt with new toolchain
  242. * Tue Oct 31 2006 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 2.4.3-0vl1
  243. - new upstream release
  244. - delete duped docs
  245. * Fri Oct 13 2006 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 2.2.3-0vl2
  246. - added Patch100 (especially for ppc to solve ppc/powerpc issue)
  247. * Mon Feb 06 2006 Seiya Nishizawa <seiya@kugi.kyoto-u.ac.jp> 2.2.3-0vl1
  248. - source version up
  249. * Sun Mar 20 2005 Seiya Nishizawa <seiya@kugi.kyoto-u.ac.jp> 2.0.5-0vl1
  250. - initial build for Vine Linux