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