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