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