X-Git-Url: http://git.pld-linux.org/?p=packages%2Fcmake.git;a=blobdiff_plain;f=cmake.spec;h=f738bfb7fe0b534b9fb4485ddb372c60fae9b1f1;hp=906643d05379dd261acae5ceae8305b734f4b3b4;hb=HEAD;hpb=05f7a9f9f783a996ad00ae8044e5beed1ebf27d9 diff --git a/cmake.spec b/cmake.spec index 906643d..fd92643 100644 --- a/cmake.spec +++ b/cmake.spec @@ -1,32 +1,67 @@ # TODO: +# - system kwiml >= 1.0? +# - make lib64/libx32 patch changes applicable everywhere # - any valid CMAKE_BUILD_TYPE causes overriding of our optflags # (and default non-verbose makefiles are hiding it!) # - rpmldflags/rpmcppflags are not passed through %%cmake macro at all # (is there any standard way???) +# - FindJNI.cmake module is a PoS full of random incorrect paths, +# needs lib64/libx32 awareness # # Conditional build: %bcond_with bootstrap # use internal versions of some libraries -%bcond_without gui # don't build gui package -# +%bcond_without gui # gui package +%bcond_with tests # perform "make test" +%bcond_without doc # documentation + Summary: Cross-platform, open-source make system Summary(pl.UTF-8): Wieloplatformowy system make o otwartych źródłach Name: cmake -Version: 2.6.1 -Release: 3 +Version: 3.27.6 +Release: 1 License: BSD Group: Development/Building -Source0: http://www.cmake.org/files/v2.6/%{name}-%{version}.tar.gz -# Source0-md5: 6717f4bc3cfcced4172ad98660ce7599 +Source0: https://cmake.org/files/v3.27/%{name}-%{version}.tar.gz +# Source0-md5: 900aad400c67bf40238e5c0119128549 Patch0: %{name}-lib64.patch -Patch1: %{name}-ar.patch -URL: http://www.cmake.org/ -%{?with_gui:BuildRequires: QtGui-devel} -BuildRequires: libstdc++-devel -BuildRequires: ncurses-devel -%{?with_gui:BuildRequires: qt4-build} -%{?with_gui:BuildRequires: qt4-qmake} -BuildRequires: rpmbuild(macros) >= 1.167 -%{!?with_bootstrap:BuildRequires: xmlrpc-c-devel} +Patch1: %{name}-libx32.patch +Patch2: %{name}-jni.patch +Patch3: %{name}-findruby.patch +Patch4: %{name}-findruby2.patch +Patch5: disable-completness-check.patch +URL: https://cmake.org/ +# system zlib,bzip2,xz,zstd used only when without system libarchive +%if %{with gui} +BuildRequires: Qt5Core-devel >= 5.0 +BuildRequires: Qt5Gui-devel >= 5.0 +BuildRequires: Qt5Widgets-devel >= 5.0 +%endif +BuildRequires: automake +BuildRequires: cppdap-devel +BuildRequires: curl-devel +BuildRequires: expat-devel +BuildRequires: jsoncpp-devel >= 1.6.2-2 +BuildRequires: libarchive-devel >= 3.3.3 +%ifnarch %arch_with_atomics64 +BuildRequires: libatomic-devel +%endif +BuildRequires: libstdc++-devel >= 6:4.7 +BuildRequires: libuv-devel >= 1.28.0 +BuildRequires: ncurses-devel > 5.9-3 +BuildRequires: ncurses-ext-devel > 5.9-3 +BuildRequires: nghttp2-devel +%{?with_gui:BuildRequires: qt5-build >= 5.0} +%{?with_gui:BuildRequires: qt5-qmake >= 5.0} +BuildRequires: rhash-devel +BuildRequires: rpm-build >= 4.6 +BuildRequires: rpmbuild(macros) >= 2.025 +%{?with_doc:BuildRequires: sphinx-pdg} +BuildRequires: xz-devel +BuildRequires: zlib-devel +BuildRequires: zstd-devel +Requires: filesystem >= 3.0-52 +Requires: libarchive >= 3.3.3 +Requires: libuv >= 1.28.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -40,18 +75,32 @@ instantiation. %description -l pl.UTF-8 CMake służy do sterowania procesem kompilacji oprogramowania przy -użyciu prostych plików konfiguracyjnych niezależnych od platformy -i kompilatora. CMake generuje natywne pliki makefile i workspace, +użyciu prostych plików konfiguracyjnych niezależnych od platformy i +kompilatora. CMake generuje natywne pliki makefile i workspace, których można używać w wybranym środowisku kompilatora. CMake jest -dość przemyślany: może obsłużyć złożone środowiska wymagające -konfiguracji systemu, generowanie preprocesora, generowanie kodu -i dziedziczenie szablonów. +dość wyrafinowany: może obsłużyć złożone środowiska wymagające +konfiguracji systemu, generowanie preprocesora, generowanie kodu i +dziedziczenie szablonów. + +%package doc-html +Summary: CMake documentation in HTML format +Summary(pl.UTF-8): Dokumentacja do pakietu CMake w formacie HTML +Group: Documentation + +%description doc-html +CMake documentation in HTML format. + +%description doc-html -l pl.UTF-8 +Dokumentacja do pakietu CMake w formacie HTML. %package gui Summary: Qt GUI for CMake Summary(pl.UTF-8): Graficzny interfejs użytkownika Qt dla CMake Group: Development/Tools +Requires(post,postun): desktop-file-utils +Requires(post,postun): gtk-update-icon-cache Requires: %{name} = %{version}-%{release} +Requires: hicolor-icon-theme %description gui This package contains the Qt based GUI for CMake. @@ -60,17 +109,64 @@ This package contains the Qt based GUI for CMake. Ten pakiet zawiera oparty na Qt graficzny interfejs użytkownika dla CMake. +%package emacs +Summary: Emacs mode for cmake files +Summary(pl.UTF-8): Tryb Emacsa dla plików cmake'a +Group: Development/Tools + +%description emacs +Emacs mode for cmake files. + +%description emacs -l pl.UTF-8 +Tryb Emacsa dla plików cmake'a. + +%package -n bash-completion-%{name} +Summary: bash-completion for cmake +Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla cmake'a +Group: Applications/Shells +Requires: %{name} = %{version}-%{release} +Requires: bash-completion >= 1:2.0 +BuildArch: noarch + +%description -n bash-completion-%{name} +bash-completion for cmake. + +%description -n bash-completion-%{name} -l pl.UTF-8 +Bashowe dopełnianie parametrów dla cmake'a. + %prep %setup -q %if "%{_lib}" == "lib64" %patch0 -p1 %endif -%patch1 -p0 +%if "%{_lib}" == "libx32" +%patch1 -p1 +%endif +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 + +%{__sed} -i -e '1s,/usr/bin/env bash,/bin/bash,' \ + Modules/Compiler/XL-Fortran/cpp cat > "init.cmake" <