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