- pl for -emacs and bash-completion-
[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
11 Summary:        Cross-platform, open-source make system
12 Summary(pl.UTF-8):      Wieloplatformowy system make o otwartych źródłach
13 Name:           cmake
14 Version:        2.8.9
15 Release:        1
16 License:        BSD
17 Group:          Development/Building
18 Source0:        http://www.cmake.org/files/v2.8/%{name}-%{version}.tar.gz
19 # Source0-md5:  801f4c87f8b604f727df5bf1f05a59e7
20 Patch0:         %{name}-lib64.patch
21 Patch1:         %{name}-helpers.patch
22 URL:            http://www.cmake.org/
23 %{?with_gui:BuildRequires:      QtGui-devel}
24 BuildRequires:  libarchive-devel
25 BuildRequires:  libstdc++-devel
26 BuildRequires:  ncurses-devel > 5.9-3
27 %{?with_gui:BuildRequires:      qt4-build}
28 %{?with_gui:BuildRequires:      qt4-qmake}
29 BuildRequires:  rpmbuild(macros) >= 1.167
30 %{!?with_bootstrap:BuildRequires:       xmlrpc-c-devel >= 1.4.12-2}
31 Requires:       filesystem >= 3.0-52
32 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33
34 %description
35 CMake is used to control the software compilation process using simple
36 platform and compiler independent configuration files. CMake generates
37 native makefiles and workspaces that can be used in the compiler
38 environment of your choice. CMake is quite sophisticated: it is
39 possible to support complex environments requiring system
40 configuration, pre-processor generation, code generation, and template
41 instantiation.
42
43 %description -l pl.UTF-8
44 CMake służy do sterowania procesem kompilacji oprogramowania przy
45 użyciu prostych plików konfiguracyjnych niezależnych od platformy i
46 kompilatora. CMake generuje natywne pliki makefile i workspace,
47 których można używać w wybranym środowisku kompilatora. CMake jest
48 dość wyrafinowany: może obsłużyć złożone środowiska wymagające
49 konfiguracji systemu, generowanie preprocesora, generowanie kodu i
50 dziedziczenie szablonów.
51
52 %package gui
53 Summary:        Qt GUI for CMake
54 Summary(pl.UTF-8):      Graficzny interfejs użytkownika Qt dla CMake
55 Group:          Development/Tools
56 Requires:       %{name} = %{version}-%{release}
57
58 %description gui
59 This package contains the Qt based GUI for CMake.
60
61 %description gui -l pl.UTF-8
62 Ten pakiet zawiera oparty na Qt graficzny interfejs użytkownika dla
63 CMake.
64
65 %package emacs
66 Summary:        Emacs mode for cmake files
67 Summary(pl.UTF-8):      Tryb Emacsa dla plików cmake'a
68 Group:          Development/Tools
69
70 %description emacs
71 Emacs mode for cmake files.
72
73 %description emacs -l pl.UTF-8
74 Tryb Emacsa dla plików cmake'a.
75
76 %package -n bash-completion-%{name}
77 Summary:        bash-completion for cmake
78 Summary(pl.UTF-8):      Bashowe dopełnianie parametrów dla cmake'a
79 Group:          Applications/Shells
80 Requires:       %{name} = %{version}-%{release}
81
82 %description -n bash-completion-%{name}
83 bash-completion for cmake.
84
85 %description -n bash-completion-%{name} -l pl.UTF-8
86 Bashowe dopełnianie parametrów dla cmake'a.
87
88 %prep
89 %setup -q
90 %if "%{_lib}" == "lib64"
91 %patch0 -p1
92 %endif
93 %patch1 -p1
94
95 cat > "init.cmake" <<EOF
96 SET (CURSES_INCLUDE_PATH "/usr/include/ncurses" CACHE PATH " " FORCE)
97 SET (CMAKE_INSTALL_SYSCONFDIR "%{_sysconfdir}" CACHE PATH " " FORCE)
98 SET (CMAKE_INSTALL_DATADIR "%{_datadir}" CACHE PATH " " FORCE)
99 EOF
100
101 %build
102 export CC="%{__cc}"
103 export CXX="%{__cxx}"
104 export CFLAGS="%{rpmcflags}"
105 export CXXFLAGS="%{rpmcxxflags}"
106 export LDFLAGS="%{rpmldflags}"
107 ./bootstrap \
108         --prefix=%{_prefix} \
109         --mandir=/share/man \
110         --datadir=/share/cmake \
111         --init=init.cmake \
112         %{!?with_bootstrap:--system-libs} \
113         %{?with_gui:--qt-gui} \
114         --qt-qmake=/usr/bin/qmake-qt4 \
115         --verbose
116
117 %{__make} VERBOSE=1
118
119 %install
120 rm -rf $RPM_BUILD_ROOT
121
122 %{__make} install \
123         DESTDIR=$RPM_BUILD_ROOT
124
125 %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
126
127 %clean
128 rm -rf $RPM_BUILD_ROOT
129
130 %files
131 %defattr(644,root,root,755)
132 %doc ChangeLog.* Copyright.txt *.gif Docs/{cmake,ctest}.{txt,html}
133 %attr(755,root,root) %{_bindir}/ccmake
134 %attr(755,root,root) %{_bindir}/cmake
135 %attr(755,root,root) %{_bindir}/cpack
136 %attr(755,root,root) %{_bindir}/ctest
137 %{_mandir}/man1/ccmake.1*
138 %{_mandir}/man1/cmake.1*
139 %{_mandir}/man1/cmakecommands.1*
140 %{_mandir}/man1/cmakecompat.1*
141 %{_mandir}/man1/cmakemodules.1*
142 %{_mandir}/man1/cmakepolicies.1*
143 %{_mandir}/man1/cmakeprops.1*
144 %{_mandir}/man1/cmakevars.1*
145 %{_mandir}/man1/cpack.1*
146 %{_mandir}/man1/ctest.1*
147 # top cmake/Modules dirs belong to filesystem
148 %{_datadir}/cmake/Modules/.NoDartCoverage
149 %{_datadir}/cmake/Modules/*
150 %{_datadir}/cmake/Templates
151 %{_datadir}/cmake/include
152 %{_aclocaldir}/cmake.m4
153
154 %if %{with gui}
155 %files gui
156 %defattr(644,root,root,755)
157 %attr(755,root,root) %{_bindir}/cmake-gui
158 %{_datadir}/mime/packages/cmakecache.xml
159 %{_desktopdir}/CMake.desktop
160 %{_pixmapsdir}/CMakeSetup32.png
161 %{_mandir}/man1/cmake-gui.1*
162 %endif
163
164 %files emacs
165 %defattr(644,root,root,755)
166 %{_datadir}/emacs/site-lisp/cmake-mode.el
167
168 %files -n bash-completion-%{name}
169 %defattr(644,root,root,755)
170 /etc/bash_completion.d/cmake
171 /etc/bash_completion.d/cpack
172 /etc/bash_completion.d/ctest
This page took 0.061777 seconds and 3 git commands to generate.