]> git.pld-linux.org Git - packages/cmake.git/blame_incremental - cmake.spec
fix build without doc
[packages/cmake.git] / cmake.spec
... / ...
CommitLineData
1# TODO:
2# - system kwiml?
3# - make lib64/libx32 patch changes applicable everywhere
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???)
8#
9# Conditional build:
10%bcond_with bootstrap # use internal versions of some libraries
11%bcond_without gui # don't build gui package
12%bcond_with tests # perform "make test"
13%bcond_without doc # don't build documentation
14
15Summary: Cross-platform, open-source make system
16Summary(pl.UTF-8): Wieloplatformowy system make o otwartych źródłach
17Name: cmake
18Version: 3.16.4
19Release: 1
20License: BSD
21Group: Development/Building
22Source0: https://cmake.org/files/v3.16/%{name}-%{version}.tar.gz
23# Source0-md5: e3dacb6b612a6b06f7054c7fb4e18616
24Patch0: %{name}-lib64.patch
25Patch1: %{name}-libx32.patch
26Patch2: %{name}-helpers.patch
27Patch3: %{name}-findruby.patch
28Patch4: %{name}-findruby2.patch
29URL: https://cmake.org/
30# system zlib,bzip2,xz,zstd used only when without system libarchive
31%if %{with gui}
32BuildRequires: Qt5Core-devel >= 5.0
33BuildRequires: Qt5Gui-devel >= 5.0
34BuildRequires: Qt5Widgets-devel >= 5.0
35%endif
36BuildRequires: curl-devel
37BuildRequires: expat-devel
38BuildRequires: jsoncpp-devel >= 1.6.2-2
39BuildRequires: libarchive-devel
40BuildRequires: libstdc++-devel
41BuildRequires: libuv-devel
42BuildRequires: ncurses-devel > 5.9-3
43BuildRequires: ncurses-ext-devel > 5.9-3
44%{?with_gui:BuildRequires: qt5-build >= 5.0}
45%{?with_gui:BuildRequires: qt5-qmake >= 5.0}
46BuildRequires: rhash-devel
47BuildRequires: rpmbuild(macros) >= 1.167
48%{?with_doc:BuildRequires: sphinx-pdg}
49BuildRequires: zlib-devel
50Requires: filesystem >= 3.0-52
51BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52
53%description
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.
61
62%description -l pl.UTF-8
63CMake służy do sterowania procesem kompilacji oprogramowania przy
64użyciu prostych plików konfiguracyjnych niezależnych od platformy i
65kompilatora. CMake generuje natywne pliki makefile i workspace,
66których można używać w wybranym środowisku kompilatora. CMake jest
67dość wyrafinowany: może obsłużyć złożone środowiska wymagające
68konfiguracji systemu, generowanie preprocesora, generowanie kodu i
69dziedziczenie szablonów.
70
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
82%package gui
83Summary: Qt GUI for CMake
84Summary(pl.UTF-8): Graficzny interfejs użytkownika Qt dla CMake
85Group: Development/Tools
86Requires: %{name} = %{version}-%{release}
87
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.
94
95%package emacs
96Summary: Emacs mode for cmake files
97Summary(pl.UTF-8): Tryb Emacsa dla plików cmake'a
98Group: Development/Tools
99
100%description emacs
101Emacs mode for cmake files.
102
103%description emacs -l pl.UTF-8
104Tryb Emacsa dla plików cmake'a.
105
106%package -n bash-completion-%{name}
107Summary: bash-completion for cmake
108Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla cmake'a
109Group: Applications/Shells
110Requires: %{name} = %{version}-%{release}
111Requires: bash-completion >= 2.0
112%if "%{_rpmversion}" >= "5"
113BuildArch: noarch
114%endif
115
116%description -n bash-completion-%{name}
117bash-completion for cmake.
118
119%description -n bash-completion-%{name} -l pl.UTF-8
120Bashowe dopełnianie parametrów dla cmake'a.
121
122%prep
123%setup -q
124%if "%{_lib}" == "lib64"
125%patch0 -p1
126%endif
127%if "%{_lib}" == "libx32"
128%patch1 -p1
129%endif
130%patch2 -p1
131%patch3 -p1
132%patch4 -p1
133
134cat > "init.cmake" <<EOF
135SET (CURSES_INCLUDE_PATH "/usr/include/ncurses" CACHE PATH " " FORCE)
136SET (CMAKE_INSTALL_SYSCONFDIR "%{_sysconfdir}" CACHE PATH " " FORCE)
137SET (CMAKE_INSTALL_DATADIR "%{_datadir}" CACHE PATH " " FORCE)
138EOF
139
140# cleanup backups after patching, modules are copied as-is
141find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
142
143%build
144export CC="%{__cc}"
145export CXX="%{__cxx}"
146export CFLAGS="%{rpmcflags}"
147export CXXFLAGS="%{rpmcxxflags}"
148export LDFLAGS="%{rpmldflags}"
149./bootstrap \
150 --prefix=%{_prefix} \
151 --mandir=/share/man \
152 --datadir=/share/cmake \
153 --init=init.cmake \
154 %{!?with_bootstrap:--system-libs} \
155 %{?with_gui:--qt-gui} \
156 --qt-qmake=%{_bindir}/qmake-qt5 \
157 %{?with_doc:--sphinx-html} \
158 %{?with_doc:--sphinx-man} \
159 --verbose
160
161%{__make} \
162 VERBOSE=1
163
164%{?with_tests:%{__make} test}
165
166%install
167rm -rf $RPM_BUILD_ROOT
168%{__make} install \
169 DESTDIR=$RPM_BUILD_ROOT
170
171%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
172
173%clean
174rm -rf $RPM_BUILD_ROOT
175
176%files
177%defattr(644,root,root,755)
178%doc Copyright.txt README.rst *.gif
179%attr(755,root,root) %{_bindir}/ccmake
180%attr(755,root,root) %{_bindir}/cmake
181%attr(755,root,root) %{_bindir}/cpack
182%attr(755,root,root) %{_bindir}/ctest
183%if %{with doc}
184%{_mandir}/man1/ccmake.1*
185%{_mandir}/man1/cmake.1*
186%{_mandir}/man1/cpack.1*
187%{_mandir}/man1/ctest.1*
188%{_mandir}/man7/cpack-generators.7*
189%{_mandir}/man7/cmake-buildsystem.7*
190%{_mandir}/man7/cmake-commands.7*
191%{_mandir}/man7/cmake-compile-features.7*
192%{_mandir}/man7/cmake-developer.7*
193%{_mandir}/man7/cmake-env-variables.7*
194%{_mandir}/man7/cmake-file-api.7*
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*
203%{_mandir}/man7/cmake-server.7*
204%{_mandir}/man7/cmake-toolchains.7*
205%{_mandir}/man7/cmake-variables.7*
206%{_datadir}/cmake/Help
207%endif
208# top cmake/Modules dirs belong to filesystem
209%{_datadir}/cmake/Modules/.NoDartCoverage
210%{_datadir}/cmake/Modules/*
211%{_datadir}/cmake/Templates
212%{_datadir}/cmake/editors
213%{_datadir}/cmake/include
214%{_aclocaldir}/cmake.m4
215
216%if %{with doc}
217%files doc-html
218%defattr(644,root,root,755)
219%doc Utilities/Sphinx/html/*
220%endif
221
222%if %{with gui}
223%files gui
224%defattr(644,root,root,755)
225%attr(755,root,root) %{_bindir}/cmake-gui
226%{_datadir}/mime/packages/cmakecache.xml
227%{_desktopdir}/cmake-gui.desktop
228%{_iconsdir}/hicolor/128x128/apps/CMakeSetup.png
229%{_iconsdir}/hicolor/32x32/apps/CMakeSetup.png
230%if %{with doc}
231%{_mandir}/man1/cmake-gui.1*
232%endif
233%endif
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)
241%{bash_compdir}/cmake
242%{bash_compdir}/cpack
243%{bash_compdir}/ctest
This page took 0.030174 seconds and 4 git commands to generate.