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