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