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