]> git.pld-linux.org Git - packages/cmake.git/blame_incremental - cmake.spec
- updated to 3.5.2
[packages/cmake.git] / cmake.spec
... / ...
CommitLineData
1# TODO:
2# - extend libx32 patch to work also on 64-bit arch
3# - any valid CMAKE_BUILD_TYPE causes overriding of our optflags
4# (and default non-verbose makefiles are hiding it!)
5# - rpmldflags/rpmcppflags are not passed through %%cmake macro at all
6# (is there any standard way???)
7#
8# Conditional build:
9%bcond_with bootstrap # use internal versions of some libraries
10%bcond_without gui # don't build gui package
11%bcond_with tests # perform "make test"
12%bcond_without doc # don't build documentation
13
14Summary: Cross-platform, open-source make system
15Summary(pl.UTF-8): Wieloplatformowy system make o otwartych źródłach
16Name: cmake
17Version: 3.5.2
18Release: 1
19License: BSD
20Group: Development/Building
21Source0: https://cmake.org/files/v3.5/%{name}-%{version}.tar.gz
22# Source0-md5: 701386a1b5ec95f8d1075ecf96383e02
23Patch0: %{name}-lib64.patch
24Patch1: %{name}-libx32.patch
25Patch2: %{name}-helpers.patch
26Patch3: %{name}-findruby.patch
27Patch4: %{name}-findruby2.patch
28Patch5: man-syntax.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: ncurses-devel > 5.9-3
41%{?with_gui:BuildRequires: qt5-build >= 5.0}
42%{?with_gui:BuildRequires: qt5-qmake >= 5.0}
43BuildRequires: rpmbuild(macros) >= 1.167
44%{?with_doc:BuildRequires: sphinx-pdg}
45%{!?with_bootstrap:BuildRequires: xmlrpc-c-devel >= 1.4.12-2}
46BuildRequires: zlib-devel
47Requires: filesystem >= 3.0-52
48BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
50%description
51CMake is used to control the software compilation process using simple
52platform and compiler independent configuration files. CMake generates
53native makefiles and workspaces that can be used in the compiler
54environment of your choice. CMake is quite sophisticated: it is
55possible to support complex environments requiring system
56configuration, pre-processor generation, code generation, and template
57instantiation.
58
59%description -l pl.UTF-8
60CMake służy do sterowania procesem kompilacji oprogramowania przy
61użyciu prostych plików konfiguracyjnych niezależnych od platformy i
62kompilatora. CMake generuje natywne pliki makefile i workspace,
63których można używać w wybranym środowisku kompilatora. CMake jest
64dość wyrafinowany: może obsłużyć złożone środowiska wymagające
65konfiguracji systemu, generowanie preprocesora, generowanie kodu i
66dziedziczenie szablonów.
67
68%package doc-html
69Summary: CMake documentation in HTML format
70Summary(pl.UTF-8): Dokumentacja do pakietu CMake w formacie HTML
71Group: Documentation
72
73%description doc-html
74CMake documentation in HTML format.
75
76%description doc-html -l pl.UTF-8
77Dokumentacja do pakietu CMake w formacie HTML.
78
79%package gui
80Summary: Qt GUI for CMake
81Summary(pl.UTF-8): Graficzny interfejs użytkownika Qt dla CMake
82Group: Development/Tools
83Requires: %{name} = %{version}-%{release}
84
85%description gui
86This package contains the Qt based GUI for CMake.
87
88%description gui -l pl.UTF-8
89Ten pakiet zawiera oparty na Qt graficzny interfejs użytkownika dla
90CMake.
91
92%package emacs
93Summary: Emacs mode for cmake files
94Summary(pl.UTF-8): Tryb Emacsa dla plików cmake'a
95Group: Development/Tools
96
97%description emacs
98Emacs mode for cmake files.
99
100%description emacs -l pl.UTF-8
101Tryb Emacsa dla plików cmake'a.
102
103%package -n bash-completion-%{name}
104Summary: bash-completion for cmake
105Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla cmake'a
106Group: Applications/Shells
107Requires: %{name} = %{version}-%{release}
108Requires: bash-completion >= 2.0
109%if "%{_rpmversion}" >= "5"
110BuildArch: noarch
111%endif
112
113%description -n bash-completion-%{name}
114bash-completion for cmake.
115
116%description -n bash-completion-%{name} -l pl.UTF-8
117Bashowe dopełnianie parametrów dla cmake'a.
118
119%prep
120%setup -q
121%if "%{_lib}" == "lib64"
122%patch0 -p1
123%endif
124%if "%{_lib}" == "libx32"
125%patch1 -p1
126%endif
127%patch2 -p1
128%patch3 -p1
129%patch4 -p1
130%patch5 -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} VERBOSE=1
160
161%{?with_tests:%{__make} test}
162
163%install
164rm -rf $RPM_BUILD_ROOT
165%{__make} install \
166 DESTDIR=$RPM_BUILD_ROOT
167
168%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
169
170%clean
171rm -rf $RPM_BUILD_ROOT
172
173%files
174%defattr(644,root,root,755)
175%doc Copyright.txt README.rst *.gif
176%attr(755,root,root) %{_bindir}/ccmake
177%attr(755,root,root) %{_bindir}/cmake
178%attr(755,root,root) %{_bindir}/cpack
179%attr(755,root,root) %{_bindir}/ctest
180%if %{with doc}
181%{_mandir}/man1/ccmake.1*
182%{_mandir}/man1/cmake.1*
183%{_mandir}/man1/cpack.1*
184%{_mandir}/man1/ctest.1*
185%{_mandir}/man7/cmake-buildsystem.7*
186%{_mandir}/man7/cmake-commands.7*
187%{_mandir}/man7/cmake-compile-features.7*
188%{_mandir}/man7/cmake-developer.7*
189%{_mandir}/man7/cmake-generator-expressions.7*
190%{_mandir}/man7/cmake-generators.7*
191%{_mandir}/man7/cmake-language.7*
192%{_mandir}/man7/cmake-modules.7*
193%{_mandir}/man7/cmake-packages.7*
194%{_mandir}/man7/cmake-policies.7*
195%{_mandir}/man7/cmake-properties.7*
196%{_mandir}/man7/cmake-qt.7*
197%{_mandir}/man7/cmake-toolchains.7*
198%{_mandir}/man7/cmake-variables.7*
199%{_datadir}/cmake/Help
200%endif
201# top cmake/Modules dirs belong to filesystem
202%{_datadir}/cmake/Modules/.NoDartCoverage
203%{_datadir}/cmake/Modules/*
204%{_datadir}/cmake/Templates
205%{_datadir}/cmake/editors
206%{_datadir}/cmake/include
207%{_aclocaldir}/cmake.m4
208
209%if %{with doc}
210%files doc-html
211%defattr(644,root,root,755)
212%doc Utilities/Sphinx/html/*
213%endif
214
215%if %{with gui}
216%files gui
217%defattr(644,root,root,755)
218%attr(755,root,root) %{_bindir}/cmake-gui
219%{_datadir}/mime/packages/cmakecache.xml
220%{_desktopdir}/CMake.desktop
221%{_iconsdir}/hicolor/128x128/apps/CMakeSetup.png
222%{_iconsdir}/hicolor/32x32/apps/CMakeSetup.png
223%{_mandir}/man1/cmake-gui.1*
224%endif
225
226%files emacs
227%defattr(644,root,root,755)
228%{_datadir}/emacs/site-lisp/cmake-mode.el
229
230%files -n bash-completion-%{name}
231%defattr(644,root,root,755)
232%{bash_compdir}/cmake
233%{bash_compdir}/cpack
234%{bash_compdir}/ctest
This page took 0.026541 seconds and 4 git commands to generate.