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