]> git.pld-linux.org Git - packages/cmake.git/blame - cmake.spec
Rediff.
[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 112BuildArch: noarch
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
49e2a1c9 228%if %{with doc}
08bb5e07 229%{_mandir}/man1/cmake-gui.1*
1a3a9dcd 230%endif
49e2a1c9 231%endif
9ec4f08d
KK
232
233%files emacs
234%defattr(644,root,root,755)
235%{_datadir}/emacs/site-lisp/cmake-mode.el
236
237%files -n bash-completion-%{name}
238%defattr(644,root,root,755)
466fdfa1
AM
239%{bash_compdir}/cmake
240%{bash_compdir}/cpack
241%{bash_compdir}/ctest
This page took 0.129327 seconds and 4 git commands to generate.