]> git.pld-linux.org Git - packages/cmake.git/blame - cmake.spec
- updated to 3.27.3
[packages/cmake.git] / cmake.spec
CommitLineData
d1b2e54c 1# TODO:
6453b6ac 2# - system kwiml >= 1.0?
bdbf72c3 3# - make lib64/libx32 patch changes applicable everywhere
d1b2e54c
JB
4# - any valid CMAKE_BUILD_TYPE causes overriding of our optflags
5# (and default non-verbose makefiles are hiding it!)
6# - rpmldflags/rpmcppflags are not passed through %%cmake macro at all
7# (is there any standard way???)
02d8d7ee
JR
8# - FindJNI.cmake module is a PoS full of random incorrect paths,
9# needs lib64/libx32 awareness
ccca321d
KK
10#
11# Conditional build:
b563f9dc 12%bcond_with bootstrap # use internal versions of some libraries
c5ca293a 13%bcond_without gui # gui package
63b5fdd8 14%bcond_with tests # perform "make test"
c5ca293a 15%bcond_without doc # documentation
77f8acdd 16
efafbc62 17Summary: Cross-platform, open-source make system
ac3ea35a 18Summary(pl.UTF-8): Wieloplatformowy system make o otwartych źródłach
72a696fa 19Name: cmake
c5ca293a 20Version: 3.27.3
8df6345d 21Release: 1
efafbc62 22License: BSD
72a696fa 23Group: Development/Building
c5ca293a
JB
24Source0: https://cmake.org/files/v3.27/%{name}-%{version}.tar.gz
25# Source0-md5: 7228f5fcc8a858fdeac27e29bda0c144
6342daf8 26Patch0: %{name}-lib64.patch
834c9659 27Patch1: %{name}-libx32.patch
3d8172a7 28Patch2: %{name}-jni.patch
834c9659
JR
29Patch3: %{name}-findruby.patch
30Patch4: %{name}-findruby2.patch
8f9c22ed 31Patch5: disable-completness-check.patch
c5ca293a 32Patch6: %{name}-zlib.patch
22b75947 33URL: https://cmake.org/
17d1eb52 34# system zlib,bzip2,xz,zstd used only when without system libarchive
22b75947
JB
35%if %{with gui}
36BuildRequires: Qt5Core-devel >= 5.0
37BuildRequires: Qt5Gui-devel >= 5.0
38BuildRequires: Qt5Widgets-devel >= 5.0
39%endif
c5ca293a 40BuildRequires: cppdap-devel
a48136e8 41BuildRequires: curl-devel
a3907799 42BuildRequires: expat-devel
466fdfa1 43BuildRequires: jsoncpp-devel >= 1.6.2-2
132e0ee5 44BuildRequires: libarchive-devel >= 3.3.3
6453b6ac
JB
45BuildRequires: libstdc++-devel >= 6:4.7
46BuildRequires: libuv-devel >= 1.28.0
59917d1a 47BuildRequires: ncurses-devel > 5.9-3
17d1eb52 48BuildRequires: ncurses-ext-devel > 5.9-3
6453b6ac 49BuildRequires: nghttp2-devel
22b75947
JB
50%{?with_gui:BuildRequires: qt5-build >= 5.0}
51%{?with_gui:BuildRequires: qt5-qmake >= 5.0}
4211e02d 52BuildRequires: rhash-devel
8960e23f 53BuildRequires: rpm-build >= 4.6
ece9e155 54BuildRequires: rpmbuild(macros) >= 1.167
90b41c6c 55%{?with_doc:BuildRequires: sphinx-pdg}
6453b6ac 56BuildRequires: xz-devel
a48136e8 57BuildRequires: zlib-devel
6453b6ac 58BuildRequires: zstd-devel
75cb386f 59Requires: filesystem >= 3.0-52
132e0ee5 60Requires: libarchive >= 3.3.3
6453b6ac 61Requires: libuv >= 1.28.0
efafbc62 62BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
3fcbc09a
AG
63
64%description
efafbc62
AG
65CMake is used to control the software compilation process using simple
66platform and compiler independent configuration files. CMake generates
67native makefiles and workspaces that can be used in the compiler
68environment of your choice. CMake is quite sophisticated: it is
69possible to support complex environments requiring system
70configuration, pre-processor generation, code generation, and template
71instantiation.
3fcbc09a 72
520c9eb8
JR
73%description -l pl.UTF-8
74CMake służy do sterowania procesem kompilacji oprogramowania przy
ca760f29 75użyciu prostych plików konfiguracyjnych niezależnych od platformy i
76kompilatora. CMake generuje natywne pliki makefile i workspace,
485d9a7a 77których można używać w wybranym środowisku kompilatora. CMake jest
59787775 78dość wyrafinowany: może obsłużyć złożone środowiska wymagające
ca760f29 79konfiguracji systemu, generowanie preprocesora, generowanie kodu i
80dziedziczenie szablonów.
33042d59 81
fe46a853
JB
82%package doc-html
83Summary: CMake documentation in HTML format
84Summary(pl.UTF-8): Dokumentacja do pakietu CMake w formacie HTML
85Group: Documentation
86
87%description doc-html
88CMake documentation in HTML format.
89
90%description doc-html -l pl.UTF-8
91Dokumentacja do pakietu CMake w formacie HTML.
92
33042d59 93%package gui
b563f9dc
JB
94Summary: Qt GUI for CMake
95Summary(pl.UTF-8): Graficzny interfejs użytkownika Qt dla CMake
33042d59
KK
96Group: Development/Tools
97Requires: %{name} = %{version}-%{release}
98
b563f9dc
JB
99%description gui
100This package contains the Qt based GUI for CMake.
101
102%description gui -l pl.UTF-8
103Ten pakiet zawiera oparty na Qt graficzny interfejs użytkownika dla
104CMake.
72a696fa 105
9ec4f08d 106%package emacs
69d19c08
JB
107Summary: Emacs mode for cmake files
108Summary(pl.UTF-8): Tryb Emacsa dla plików cmake'a
9ec4f08d
KK
109Group: Development/Tools
110
111%description emacs
69d19c08
JB
112Emacs mode for cmake files.
113
114%description emacs -l pl.UTF-8
115Tryb Emacsa dla plików cmake'a.
9ec4f08d
KK
116
117%package -n bash-completion-%{name}
118Summary: bash-completion for cmake
69d19c08 119Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla cmake'a
9ec4f08d 120Group: Applications/Shells
69d19c08 121Requires: %{name} = %{version}-%{release}
34fc3d72 122Requires: bash-completion >= 1:2.0
6465d90a 123BuildArch: noarch
9ec4f08d
KK
124
125%description -n bash-completion-%{name}
69d19c08
JB
126bash-completion for cmake.
127
128%description -n bash-completion-%{name} -l pl.UTF-8
129Bashowe dopełnianie parametrów dla cmake'a.
9ec4f08d 130
3fcbc09a 131%prep
923851a2 132%setup -q
286b1479 133%if "%{_lib}" == "lib64"
6342daf8 134%patch0 -p1
286b1479 135%endif
834c9659 136%if "%{_lib}" == "libx32"
9ec4f08d 137%patch1 -p1
834c9659 138%endif
3d8172a7 139%patch2 -p1
04706b61 140%patch3 -p1
834c9659 141%patch4 -p1
8f9c22ed 142%patch5 -p1
c5ca293a 143%patch6 -p1
3fcbc09a 144
c5ca293a
JB
145%{__sed} -i -e '1s,/usr/bin/env bash,/bin/bash,' \
146 Modules/Compiler/XL-Fortran/cpp
4b266473 147
ece9e155 148cat > "init.cmake" <<EOF
286b1479 149SET (CURSES_INCLUDE_PATH "/usr/include/ncurses" CACHE PATH " " FORCE)
9ec4f08d
KK
150SET (CMAKE_INSTALL_SYSCONFDIR "%{_sysconfdir}" CACHE PATH " " FORCE)
151SET (CMAKE_INSTALL_DATADIR "%{_datadir}" CACHE PATH " " FORCE)
ece9e155
KK
152EOF
153
b343cdb1
JR
154# cleanup backups after patching, modules are copied as-is
155find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
156
3fcbc09a 157%build
ece9e155
KK
158export CC="%{__cc}"
159export CXX="%{__cxx}"
160export CFLAGS="%{rpmcflags}"
161export CXXFLAGS="%{rpmcxxflags}"
ccca321d 162export LDFLAGS="%{rpmldflags}"
923851a2
AG
163./bootstrap \
164 --prefix=%{_prefix} \
165 --mandir=/share/man \
166 --datadir=/share/cmake \
ece9e155 167 --init=init.cmake \
c342f103 168 %{!?with_bootstrap:--system-libs} \
33042d59 169 %{?with_gui:--qt-gui} \
22b75947 170 --qt-qmake=%{_bindir}/qmake-qt5 \
90b41c6c
JR
171 %{?with_doc:--sphinx-html} \
172 %{?with_doc:--sphinx-man} \
c749d7d4 173 %{?__jobs:--parallel=%{__jobs}} \
a48136e8 174 --verbose
923851a2 175
a48136e8
JB
176%{__make} \
177 VERBOSE=1
3fcbc09a 178
1fbe3ed6
AM
179%{?with_tests:%{__make} test}
180
3fcbc09a 181%install
efafbc62 182rm -rf $RPM_BUILD_ROOT
3d8172a7 183
72a696fa
JB
184%{__make} install \
185 DESTDIR=$RPM_BUILD_ROOT
186
3d8172a7
JB
187# just a bit more recent than packaged in vim.spec
188%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/vim
189# packaged as %doc
75cb386f 190%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
3fcbc09a
AG
191
192%clean
193rm -rf $RPM_BUILD_ROOT
194
195%files
efafbc62 196%defattr(644,root,root,755)
fe46a853 197%doc Copyright.txt README.rst *.gif
72a696fa
JB
198%attr(755,root,root) %{_bindir}/ccmake
199%attr(755,root,root) %{_bindir}/cmake
08b6790a 200%attr(755,root,root) %{_bindir}/cpack
72a696fa 201%attr(755,root,root) %{_bindir}/ctest
90b41c6c 202%if %{with doc}
08bb5e07
JB
203%{_mandir}/man1/ccmake.1*
204%{_mandir}/man1/cmake.1*
08bb5e07
JB
205%{_mandir}/man1/cpack.1*
206%{_mandir}/man1/ctest.1*
a8099d1a 207%{_mandir}/man7/cpack-generators.7*
fe46a853
JB
208%{_mandir}/man7/cmake-buildsystem.7*
209%{_mandir}/man7/cmake-commands.7*
cda7a827 210%{_mandir}/man7/cmake-compile-features.7*
c5ca293a 211%{_mandir}/man7/cmake-configure-log.7*
fe46a853 212%{_mandir}/man7/cmake-developer.7*
bac58766 213%{_mandir}/man7/cmake-env-variables.7*
b094c172 214%{_mandir}/man7/cmake-file-api.7*
fe46a853
JB
215%{_mandir}/man7/cmake-generator-expressions.7*
216%{_mandir}/man7/cmake-generators.7*
217%{_mandir}/man7/cmake-language.7*
218%{_mandir}/man7/cmake-modules.7*
219%{_mandir}/man7/cmake-packages.7*
220%{_mandir}/man7/cmake-policies.7*
4b266473 221%{_mandir}/man7/cmake-presets.7*
fe46a853
JB
222%{_mandir}/man7/cmake-properties.7*
223%{_mandir}/man7/cmake-qt.7*
da1ef5d3 224%{_mandir}/man7/cmake-server.7*
fe46a853
JB
225%{_mandir}/man7/cmake-toolchains.7*
226%{_mandir}/man7/cmake-variables.7*
0278e558 227%{_datadir}/cmake/Help
90b41c6c 228%endif
b24a2e64
JB
229# top cmake/Modules dirs belong to filesystem
230%{_datadir}/cmake/Modules/.NoDartCoverage
231%{_datadir}/cmake/Modules/*
232%{_datadir}/cmake/Templates
233%{_datadir}/cmake/include
09f5d631 234%{_aclocaldir}/cmake.m4
33042d59 235
90b41c6c 236%if %{with doc}
fe46a853
JB
237%files doc-html
238%defattr(644,root,root,755)
239%doc Utilities/Sphinx/html/*
90b41c6c 240%endif
fe46a853 241
1a3a9dcd 242%if %{with gui}
33042d59
KK
243%files gui
244%defattr(644,root,root,755)
245%attr(755,root,root) %{_bindir}/cmake-gui
246%{_datadir}/mime/packages/cmakecache.xml
af122c88 247%{_desktopdir}/cmake-gui.desktop
466fdfa1
AM
248%{_iconsdir}/hicolor/128x128/apps/CMakeSetup.png
249%{_iconsdir}/hicolor/32x32/apps/CMakeSetup.png
49e2a1c9 250%if %{with doc}
08bb5e07 251%{_mandir}/man1/cmake-gui.1*
1a3a9dcd 252%endif
49e2a1c9 253%endif
9ec4f08d
KK
254
255%files emacs
256%defattr(644,root,root,755)
257%{_datadir}/emacs/site-lisp/cmake-mode.el
258
259%files -n bash-completion-%{name}
260%defattr(644,root,root,755)
466fdfa1
AM
261%{bash_compdir}/cmake
262%{bash_compdir}/cpack
263%{bash_compdir}/ctest
This page took 0.152104 seconds and 4 git commands to generate.