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