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