- add support for ImageMagick 7
[packages/cmake.git] / cmake.spec
CommitLineData
d1b2e54c 1# TODO:
0f3fad68 2# - extend libx32 patch to work also on 64-bit arch
d1b2e54c
JB
3# - any valid CMAKE_BUILD_TYPE causes overriding of our optflags
4# (and default non-verbose makefiles are hiding it!)
5# - rpmldflags/rpmcppflags are not passed through %%cmake macro at all
6# (is there any standard way???)
ccca321d
KK
7#
8# Conditional build:
b563f9dc
JB
9%bcond_with bootstrap # use internal versions of some libraries
10%bcond_without gui # don't build gui package
63b5fdd8 11%bcond_with tests # perform "make test"
90b41c6c 12%bcond_without doc # don't build documentation
77f8acdd 13
efafbc62 14Summary: Cross-platform, open-source make system
ac3ea35a 15Summary(pl.UTF-8): Wieloplatformowy system make o otwartych źródłach
72a696fa 16Name: cmake
22b75947 17Version: 3.5.2
9947e59f 18Release: 2
efafbc62 19License: BSD
72a696fa 20Group: Development/Building
22b75947
JB
21Source0: https://cmake.org/files/v3.5/%{name}-%{version}.tar.gz
22# Source0-md5: 701386a1b5ec95f8d1075ecf96383e02
6342daf8 23Patch0: %{name}-lib64.patch
834c9659
JR
24Patch1: %{name}-libx32.patch
25Patch2: %{name}-helpers.patch
26Patch3: %{name}-findruby.patch
27Patch4: %{name}-findruby2.patch
44c49ab5 28Patch5: man-syntax.patch
9947e59f 29Patch6: imagemagick7.patch
22b75947
JB
30URL: https://cmake.org/
31%if %{with gui}
32BuildRequires: Qt5Core-devel >= 5.0
33BuildRequires: Qt5Gui-devel >= 5.0
34BuildRequires: Qt5Widgets-devel >= 5.0
35%endif
a3907799
JB
36BuildRequires: curl-devel
37BuildRequires: expat-devel
466fdfa1 38BuildRequires: jsoncpp-devel >= 1.6.2-2
fef12180 39BuildRequires: libarchive-devel
ece9e155 40BuildRequires: libstdc++-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}
ece9e155 44BuildRequires: rpmbuild(macros) >= 1.167
90b41c6c 45%{?with_doc:BuildRequires: sphinx-pdg}
ab02ad6a 46%{!?with_bootstrap:BuildRequires: xmlrpc-c-devel >= 1.4.12-2}
a3907799 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
44c49ab5 131%patch5 -p1
9947e59f 132%patch6 -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} \
923851a2
AG
159 --verbose
160
28f0bd6c 161%{__make} VERBOSE=1
3fcbc09a 162
1fbe3ed6
AM
163%{?with_tests:%{__make} test}
164
3fcbc09a 165%install
efafbc62 166rm -rf $RPM_BUILD_ROOT
72a696fa
JB
167%{__make} install \
168 DESTDIR=$RPM_BUILD_ROOT
169
75cb386f 170%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
3fcbc09a
AG
171
172%clean
173rm -rf $RPM_BUILD_ROOT
174
175%files
efafbc62 176%defattr(644,root,root,755)
fe46a853 177%doc Copyright.txt README.rst *.gif
72a696fa
JB
178%attr(755,root,root) %{_bindir}/ccmake
179%attr(755,root,root) %{_bindir}/cmake
08b6790a 180%attr(755,root,root) %{_bindir}/cpack
72a696fa 181%attr(755,root,root) %{_bindir}/ctest
90b41c6c 182%if %{with doc}
08bb5e07
JB
183%{_mandir}/man1/ccmake.1*
184%{_mandir}/man1/cmake.1*
08bb5e07
JB
185%{_mandir}/man1/cpack.1*
186%{_mandir}/man1/ctest.1*
fe46a853
JB
187%{_mandir}/man7/cmake-buildsystem.7*
188%{_mandir}/man7/cmake-commands.7*
cda7a827 189%{_mandir}/man7/cmake-compile-features.7*
fe46a853
JB
190%{_mandir}/man7/cmake-developer.7*
191%{_mandir}/man7/cmake-generator-expressions.7*
192%{_mandir}/man7/cmake-generators.7*
193%{_mandir}/man7/cmake-language.7*
194%{_mandir}/man7/cmake-modules.7*
195%{_mandir}/man7/cmake-packages.7*
196%{_mandir}/man7/cmake-policies.7*
197%{_mandir}/man7/cmake-properties.7*
198%{_mandir}/man7/cmake-qt.7*
199%{_mandir}/man7/cmake-toolchains.7*
200%{_mandir}/man7/cmake-variables.7*
0278e558 201%{_datadir}/cmake/Help
90b41c6c 202%endif
b24a2e64
JB
203# top cmake/Modules dirs belong to filesystem
204%{_datadir}/cmake/Modules/.NoDartCoverage
205%{_datadir}/cmake/Modules/*
206%{_datadir}/cmake/Templates
f13d1e41 207%{_datadir}/cmake/editors
b24a2e64 208%{_datadir}/cmake/include
09f5d631 209%{_aclocaldir}/cmake.m4
33042d59 210
90b41c6c 211%if %{with doc}
fe46a853
JB
212%files doc-html
213%defattr(644,root,root,755)
214%doc Utilities/Sphinx/html/*
90b41c6c 215%endif
fe46a853 216
1a3a9dcd 217%if %{with gui}
33042d59
KK
218%files gui
219%defattr(644,root,root,755)
220%attr(755,root,root) %{_bindir}/cmake-gui
221%{_datadir}/mime/packages/cmakecache.xml
222%{_desktopdir}/CMake.desktop
466fdfa1
AM
223%{_iconsdir}/hicolor/128x128/apps/CMakeSetup.png
224%{_iconsdir}/hicolor/32x32/apps/CMakeSetup.png
08bb5e07 225%{_mandir}/man1/cmake-gui.1*
1a3a9dcd 226%endif
9ec4f08d
KK
227
228%files emacs
229%defattr(644,root,root,755)
230%{_datadir}/emacs/site-lisp/cmake-mode.el
231
232%files -n bash-completion-%{name}
233%defattr(644,root,root,755)
466fdfa1
AM
234%{bash_compdir}/cmake
235%{bash_compdir}/cpack
236%{bash_compdir}/ctest
This page took 0.27543 seconds and 4 git commands to generate.