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