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