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