]> git.pld-linux.org Git - packages/cmake.git/blame - cmake.spec
correct bash-completion epoch
[packages/cmake.git] / cmake.spec
CommitLineData
d1b2e54c 1# TODO:
6453b6ac 2# - system kwiml >= 1.0?
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???)
02d8d7ee
JR
8# - FindJNI.cmake module is a PoS full of random incorrect paths,
9# needs lib64/libx32 awareness
ccca321d
KK
10#
11# Conditional build:
b563f9dc
JB
12%bcond_with bootstrap # use internal versions of some libraries
13%bcond_without gui # don't build gui package
63b5fdd8 14%bcond_with tests # perform "make test"
90b41c6c 15%bcond_without doc # don't build documentation
77f8acdd 16
efafbc62 17Summary: Cross-platform, open-source make system
ac3ea35a 18Summary(pl.UTF-8): Wieloplatformowy system make o otwartych źródłach
72a696fa 19Name: cmake
6453b6ac 20Version: 3.23.1
fa78faf9 21Release: 2
efafbc62 22License: BSD
72a696fa 23Group: Development/Building
6453b6ac
JB
24Source0: https://cmake.org/files/v3.23/%{name}-%{version}.tar.gz
25# Source0-md5: b0d46fdcca030372f0a464146243e193
6342daf8 26Patch0: %{name}-lib64.patch
834c9659 27Patch1: %{name}-libx32.patch
3d8172a7 28Patch2: %{name}-jni.patch
834c9659
JR
29Patch3: %{name}-findruby.patch
30Patch4: %{name}-findruby2.patch
22b75947 31URL: https://cmake.org/
17d1eb52 32# system zlib,bzip2,xz,zstd used only when without system libarchive
22b75947
JB
33%if %{with gui}
34BuildRequires: Qt5Core-devel >= 5.0
35BuildRequires: Qt5Gui-devel >= 5.0
36BuildRequires: Qt5Widgets-devel >= 5.0
37%endif
a48136e8 38BuildRequires: curl-devel
a3907799 39BuildRequires: expat-devel
466fdfa1 40BuildRequires: jsoncpp-devel >= 1.6.2-2
132e0ee5 41BuildRequires: libarchive-devel >= 3.3.3
6453b6ac
JB
42BuildRequires: libstdc++-devel >= 6:4.7
43BuildRequires: libuv-devel >= 1.28.0
59917d1a 44BuildRequires: ncurses-devel > 5.9-3
17d1eb52 45BuildRequires: ncurses-ext-devel > 5.9-3
6453b6ac 46BuildRequires: nghttp2-devel
22b75947
JB
47%{?with_gui:BuildRequires: qt5-build >= 5.0}
48%{?with_gui:BuildRequires: qt5-qmake >= 5.0}
4211e02d 49BuildRequires: rhash-devel
8960e23f 50BuildRequires: rpm-build >= 4.6
ece9e155 51BuildRequires: rpmbuild(macros) >= 1.167
90b41c6c 52%{?with_doc:BuildRequires: sphinx-pdg}
6453b6ac 53BuildRequires: xz-devel
a48136e8 54BuildRequires: zlib-devel
6453b6ac 55BuildRequires: zstd-devel
75cb386f 56Requires: filesystem >= 3.0-52
132e0ee5 57Requires: libarchive >= 3.3.3
6453b6ac 58Requires: libuv >= 1.28.0
efafbc62 59BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
3fcbc09a
AG
60
61%description
efafbc62
AG
62CMake is used to control the software compilation process using simple
63platform and compiler independent configuration files. CMake generates
64native makefiles and workspaces that can be used in the compiler
65environment of your choice. CMake is quite sophisticated: it is
66possible to support complex environments requiring system
67configuration, pre-processor generation, code generation, and template
68instantiation.
3fcbc09a 69
520c9eb8
JR
70%description -l pl.UTF-8
71CMake służy do sterowania procesem kompilacji oprogramowania przy
ca760f29 72użyciu prostych plików konfiguracyjnych niezależnych od platformy i
73kompilatora. CMake generuje natywne pliki makefile i workspace,
485d9a7a 74których można używać w wybranym środowisku kompilatora. CMake jest
59787775 75dość wyrafinowany: może obsłużyć złożone środowiska wymagające
ca760f29 76konfiguracji systemu, generowanie preprocesora, generowanie kodu i
77dziedziczenie szablonów.
33042d59 78
fe46a853
JB
79%package doc-html
80Summary: CMake documentation in HTML format
81Summary(pl.UTF-8): Dokumentacja do pakietu CMake w formacie HTML
82Group: Documentation
83
84%description doc-html
85CMake documentation in HTML format.
86
87%description doc-html -l pl.UTF-8
88Dokumentacja do pakietu CMake w formacie HTML.
89
33042d59 90%package gui
b563f9dc
JB
91Summary: Qt GUI for CMake
92Summary(pl.UTF-8): Graficzny interfejs użytkownika Qt dla CMake
33042d59
KK
93Group: Development/Tools
94Requires: %{name} = %{version}-%{release}
95
b563f9dc
JB
96%description gui
97This package contains the Qt based GUI for CMake.
98
99%description gui -l pl.UTF-8
100Ten pakiet zawiera oparty na Qt graficzny interfejs użytkownika dla
101CMake.
72a696fa 102
9ec4f08d 103%package emacs
69d19c08
JB
104Summary: Emacs mode for cmake files
105Summary(pl.UTF-8): Tryb Emacsa dla plików cmake'a
9ec4f08d
KK
106Group: Development/Tools
107
108%description emacs
69d19c08
JB
109Emacs mode for cmake files.
110
111%description emacs -l pl.UTF-8
112Tryb Emacsa dla plików cmake'a.
9ec4f08d
KK
113
114%package -n bash-completion-%{name}
115Summary: bash-completion for cmake
69d19c08 116Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla cmake'a
9ec4f08d 117Group: Applications/Shells
69d19c08 118Requires: %{name} = %{version}-%{release}
34fc3d72 119Requires: bash-completion >= 1:2.0
6465d90a 120BuildArch: noarch
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
3d8172a7 136%patch2 -p1
04706b61 137%patch3 -p1
834c9659 138%patch4 -p1
3fcbc09a 139
4b266473
JR
140%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+bash(\s|$),#!/bin/bash\1,' \
141 Modules/Compiler/XL-Fortran/cpp
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} \
c749d7d4 168 %{?__jobs:--parallel=%{__jobs}} \
a48136e8 169 --verbose
923851a2 170
a48136e8
JB
171%{__make} \
172 VERBOSE=1
3fcbc09a 173
1fbe3ed6
AM
174%{?with_tests:%{__make} test}
175
3fcbc09a 176%install
efafbc62 177rm -rf $RPM_BUILD_ROOT
3d8172a7 178
72a696fa
JB
179%{__make} install \
180 DESTDIR=$RPM_BUILD_ROOT
181
3d8172a7
JB
182# just a bit more recent than packaged in vim.spec
183%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/vim
184# packaged as %doc
75cb386f 185%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
3fcbc09a
AG
186
187%clean
188rm -rf $RPM_BUILD_ROOT
189
190%files
efafbc62 191%defattr(644,root,root,755)
fe46a853 192%doc Copyright.txt README.rst *.gif
72a696fa
JB
193%attr(755,root,root) %{_bindir}/ccmake
194%attr(755,root,root) %{_bindir}/cmake
08b6790a 195%attr(755,root,root) %{_bindir}/cpack
72a696fa 196%attr(755,root,root) %{_bindir}/ctest
90b41c6c 197%if %{with doc}
08bb5e07
JB
198%{_mandir}/man1/ccmake.1*
199%{_mandir}/man1/cmake.1*
08bb5e07
JB
200%{_mandir}/man1/cpack.1*
201%{_mandir}/man1/ctest.1*
a8099d1a 202%{_mandir}/man7/cpack-generators.7*
fe46a853
JB
203%{_mandir}/man7/cmake-buildsystem.7*
204%{_mandir}/man7/cmake-commands.7*
cda7a827 205%{_mandir}/man7/cmake-compile-features.7*
fe46a853 206%{_mandir}/man7/cmake-developer.7*
bac58766 207%{_mandir}/man7/cmake-env-variables.7*
b094c172 208%{_mandir}/man7/cmake-file-api.7*
fe46a853
JB
209%{_mandir}/man7/cmake-generator-expressions.7*
210%{_mandir}/man7/cmake-generators.7*
211%{_mandir}/man7/cmake-language.7*
212%{_mandir}/man7/cmake-modules.7*
213%{_mandir}/man7/cmake-packages.7*
214%{_mandir}/man7/cmake-policies.7*
4b266473 215%{_mandir}/man7/cmake-presets.7*
fe46a853
JB
216%{_mandir}/man7/cmake-properties.7*
217%{_mandir}/man7/cmake-qt.7*
da1ef5d3 218%{_mandir}/man7/cmake-server.7*
fe46a853
JB
219%{_mandir}/man7/cmake-toolchains.7*
220%{_mandir}/man7/cmake-variables.7*
0278e558 221%{_datadir}/cmake/Help
90b41c6c 222%endif
b24a2e64
JB
223# top cmake/Modules dirs belong to filesystem
224%{_datadir}/cmake/Modules/.NoDartCoverage
225%{_datadir}/cmake/Modules/*
226%{_datadir}/cmake/Templates
227%{_datadir}/cmake/include
09f5d631 228%{_aclocaldir}/cmake.m4
33042d59 229
90b41c6c 230%if %{with doc}
fe46a853
JB
231%files doc-html
232%defattr(644,root,root,755)
233%doc Utilities/Sphinx/html/*
90b41c6c 234%endif
fe46a853 235
1a3a9dcd 236%if %{with gui}
33042d59
KK
237%files gui
238%defattr(644,root,root,755)
239%attr(755,root,root) %{_bindir}/cmake-gui
240%{_datadir}/mime/packages/cmakecache.xml
af122c88 241%{_desktopdir}/cmake-gui.desktop
466fdfa1
AM
242%{_iconsdir}/hicolor/128x128/apps/CMakeSetup.png
243%{_iconsdir}/hicolor/32x32/apps/CMakeSetup.png
49e2a1c9 244%if %{with doc}
08bb5e07 245%{_mandir}/man1/cmake-gui.1*
1a3a9dcd 246%endif
49e2a1c9 247%endif
9ec4f08d
KK
248
249%files emacs
250%defattr(644,root,root,755)
251%{_datadir}/emacs/site-lisp/cmake-mode.el
252
253%files -n bash-completion-%{name}
254%defattr(644,root,root,755)
466fdfa1
AM
255%{bash_compdir}/cmake
256%{bash_compdir}/cpack
257%{bash_compdir}/ctest
This page took 0.096811 seconds and 4 git commands to generate.