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