]> git.pld-linux.org Git - packages/cmake.git/blame_incremental - cmake.spec
- up to 3.16.4
[packages/cmake.git] / cmake.spec
... / ...
CommitLineData
1# TODO:
2# - system kwiml?
3# - make lib64/libx32 patch changes applicable everywhere
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???)
8#
9# Conditional build:
10%bcond_with bootstrap # use internal versions of some libraries
11%bcond_without gui # don't build gui package
12%bcond_with tests # perform "make test"
13%bcond_without doc # don't build documentation
14
15Summary: Cross-platform, open-source make system
16Summary(pl.UTF-8): Wieloplatformowy system make o otwartych źródłach
17Name: cmake
18Version: 3.16.4
19Release: 1
20License: BSD
21Group: Development/Building
22Source0: https://cmake.org/files/v3.16/%{name}-%{version}.tar.gz
23# Source0-md5: e3dacb6b612a6b06f7054c7fb4e18616
24Patch0: %{name}-lib64.patch
25Patch1: %{name}-libx32.patch
26Patch2: %{name}-helpers.patch
27Patch3: %{name}-findruby.patch
28Patch4: %{name}-findruby2.patch
29URL: https://cmake.org/
30%if %{with gui}
31BuildRequires: Qt5Core-devel >= 5.0
32BuildRequires: Qt5Gui-devel >= 5.0
33BuildRequires: Qt5Widgets-devel >= 5.0
34%endif
35BuildRequires: curl-devel
36BuildRequires: expat-devel
37BuildRequires: jsoncpp-devel >= 1.6.2-2
38BuildRequires: libarchive-devel
39BuildRequires: libstdc++-devel
40BuildRequires: libuv-devel
41BuildRequires: ncurses-devel > 5.9-3
42%{?with_gui:BuildRequires: qt5-build >= 5.0}
43%{?with_gui:BuildRequires: qt5-qmake >= 5.0}
44BuildRequires: rhash-devel
45BuildRequires: rpmbuild(macros) >= 1.167
46%{?with_doc:BuildRequires: sphinx-pdg}
47BuildRequires: zlib-devel
48Requires: filesystem >= 3.0-52
49BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50
51%description
52CMake is used to control the software compilation process using simple
53platform and compiler independent configuration files. CMake generates
54native makefiles and workspaces that can be used in the compiler
55environment of your choice. CMake is quite sophisticated: it is
56possible to support complex environments requiring system
57configuration, pre-processor generation, code generation, and template
58instantiation.
59
60%description -l pl.UTF-8
61CMake służy do sterowania procesem kompilacji oprogramowania przy
62użyciu prostych plików konfiguracyjnych niezależnych od platformy i
63kompilatora. CMake generuje natywne pliki makefile i workspace,
64których można używać w wybranym środowisku kompilatora. CMake jest
65dość wyrafinowany: może obsłużyć złożone środowiska wymagające
66konfiguracji systemu, generowanie preprocesora, generowanie kodu i
67dziedziczenie szablonów.
68
69%package doc-html
70Summary: CMake documentation in HTML format
71Summary(pl.UTF-8): Dokumentacja do pakietu CMake w formacie HTML
72Group: Documentation
73
74%description doc-html
75CMake documentation in HTML format.
76
77%description doc-html -l pl.UTF-8
78Dokumentacja do pakietu CMake w formacie HTML.
79
80%package gui
81Summary: Qt GUI for CMake
82Summary(pl.UTF-8): Graficzny interfejs użytkownika Qt dla CMake
83Group: Development/Tools
84Requires: %{name} = %{version}-%{release}
85
86%description gui
87This package contains the Qt based GUI for CMake.
88
89%description gui -l pl.UTF-8
90Ten pakiet zawiera oparty na Qt graficzny interfejs użytkownika dla
91CMake.
92
93%package emacs
94Summary: Emacs mode for cmake files
95Summary(pl.UTF-8): Tryb Emacsa dla plików cmake'a
96Group: Development/Tools
97
98%description emacs
99Emacs mode for cmake files.
100
101%description emacs -l pl.UTF-8
102Tryb Emacsa dla plików cmake'a.
103
104%package -n bash-completion-%{name}
105Summary: bash-completion for cmake
106Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla cmake'a
107Group: Applications/Shells
108Requires: %{name} = %{version}-%{release}
109Requires: bash-completion >= 2.0
110%if "%{_rpmversion}" >= "5"
111BuildArch: noarch
112%endif
113
114%description -n bash-completion-%{name}
115bash-completion for cmake.
116
117%description -n bash-completion-%{name} -l pl.UTF-8
118Bashowe dopełnianie parametrów dla cmake'a.
119
120%prep
121%setup -q
122%if "%{_lib}" == "lib64"
123%patch0 -p1
124%endif
125%if "%{_lib}" == "libx32"
126%patch1 -p1
127%endif
128%patch2 -p1
129%patch3 -p1
130%patch4 -p1
131
132cat > "init.cmake" <<EOF
133SET (CURSES_INCLUDE_PATH "/usr/include/ncurses" CACHE PATH " " FORCE)
134SET (CMAKE_INSTALL_SYSCONFDIR "%{_sysconfdir}" CACHE PATH " " FORCE)
135SET (CMAKE_INSTALL_DATADIR "%{_datadir}" CACHE PATH " " FORCE)
136EOF
137
138# cleanup backups after patching, modules are copied as-is
139find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
140
141%build
142export CC="%{__cc}"
143export CXX="%{__cxx}"
144export CFLAGS="%{rpmcflags}"
145export CXXFLAGS="%{rpmcxxflags}"
146export LDFLAGS="%{rpmldflags}"
147./bootstrap \
148 --prefix=%{_prefix} \
149 --mandir=/share/man \
150 --datadir=/share/cmake \
151 --init=init.cmake \
152 %{!?with_bootstrap:--system-libs} \
153 %{?with_gui:--qt-gui} \
154 --qt-qmake=%{_bindir}/qmake-qt5 \
155 %{?with_doc:--sphinx-html} \
156 %{?with_doc:--sphinx-man} \
157 --verbose
158
159%{__make} \
160 VERBOSE=1
161
162%{?with_tests:%{__make} test}
163
164%install
165rm -rf $RPM_BUILD_ROOT
166%{__make} install \
167 DESTDIR=$RPM_BUILD_ROOT
168
169%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
170
171%clean
172rm -rf $RPM_BUILD_ROOT
173
174%files
175%defattr(644,root,root,755)
176%doc Copyright.txt README.rst *.gif
177%attr(755,root,root) %{_bindir}/ccmake
178%attr(755,root,root) %{_bindir}/cmake
179%attr(755,root,root) %{_bindir}/cpack
180%attr(755,root,root) %{_bindir}/ctest
181%if %{with doc}
182%{_mandir}/man1/ccmake.1*
183%{_mandir}/man1/cmake.1*
184%{_mandir}/man1/cpack.1*
185%{_mandir}/man1/ctest.1*
186%{_mandir}/man7/cpack-generators.7*
187%{_mandir}/man7/cmake-buildsystem.7*
188%{_mandir}/man7/cmake-commands.7*
189%{_mandir}/man7/cmake-compile-features.7*
190%{_mandir}/man7/cmake-developer.7*
191%{_mandir}/man7/cmake-env-variables.7*
192%{_mandir}/man7/cmake-file-api.7*
193%{_mandir}/man7/cmake-generator-expressions.7*
194%{_mandir}/man7/cmake-generators.7*
195%{_mandir}/man7/cmake-language.7*
196%{_mandir}/man7/cmake-modules.7*
197%{_mandir}/man7/cmake-packages.7*
198%{_mandir}/man7/cmake-policies.7*
199%{_mandir}/man7/cmake-properties.7*
200%{_mandir}/man7/cmake-qt.7*
201%{_mandir}/man7/cmake-server.7*
202%{_mandir}/man7/cmake-toolchains.7*
203%{_mandir}/man7/cmake-variables.7*
204%{_datadir}/cmake/Help
205%endif
206# top cmake/Modules dirs belong to filesystem
207%{_datadir}/cmake/Modules/.NoDartCoverage
208%{_datadir}/cmake/Modules/*
209%{_datadir}/cmake/Templates
210%{_datadir}/cmake/editors
211%{_datadir}/cmake/include
212%{_aclocaldir}/cmake.m4
213
214%if %{with doc}
215%files doc-html
216%defattr(644,root,root,755)
217%doc Utilities/Sphinx/html/*
218%endif
219
220%if %{with gui}
221%files gui
222%defattr(644,root,root,755)
223%attr(755,root,root) %{_bindir}/cmake-gui
224%{_datadir}/mime/packages/cmakecache.xml
225%{_desktopdir}/cmake-gui.desktop
226%{_iconsdir}/hicolor/128x128/apps/CMakeSetup.png
227%{_iconsdir}/hicolor/32x32/apps/CMakeSetup.png
228%{_mandir}/man1/cmake-gui.1*
229%endif
230
231%files emacs
232%defattr(644,root,root,755)
233%{_datadir}/emacs/site-lisp/cmake-mode.el
234
235%files -n bash-completion-%{name}
236%defattr(644,root,root,755)
237%{bash_compdir}/cmake
238%{bash_compdir}/cpack
239%{bash_compdir}/ctest
This page took 0.03032 seconds and 4 git commands to generate.