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