
9 changed files with 5131 additions and 0 deletions
@ -0,0 +1,12 @@ |
|||||||
|
diff -up a/Modules/Compiler/GNU.cmake.than a/Modules/Compiler/GNU.cmake |
||||||
|
--- a/Modules/Compiler/GNU.cmake.than 2016-06-02 13:42:38.186383915 +0200 |
||||||
|
+++ b/Modules/Compiler/GNU.cmake 2016-06-02 14:00:26.256271135 +0200 |
||||||
|
@@ -40,7 +40,7 @@ |
||||||
|
string(APPEND CMAKE_${lang}_FLAGS_INIT " ") |
||||||
|
string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g") |
||||||
|
string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os -DNDEBUG") |
||||||
|
- string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3 -DNDEBUG") |
||||||
|
+ string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O2 -DNDEBUG") |
||||||
|
string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g -DNDEBUG") |
||||||
|
set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>") |
||||||
|
set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>") |
@ -0,0 +1,19 @@ |
|||||||
|
--- a/Modules/FindRuby.cmake.orig 2014-10-27 08:40:56.000000000 -0600 |
||||||
|
+++ b/Modules/FindRuby.cmake 2014-10-29 20:37:15.832502515 -0600 |
||||||
|
@@ -109,14 +109,8 @@ |
||||||
|
_RUBY_CONFIG_VAR("sitearchdir" RUBY_SITEARCH_DIR) |
||||||
|
_RUBY_CONFIG_VAR("sitelibdir" RUBY_SITELIB_DIR) |
||||||
|
|
||||||
|
- # vendor_ruby available ? |
||||||
|
- execute_process(COMMAND ${RUBY_EXECUTABLE} -r vendor-specific -e "print 'true'" |
||||||
|
- OUTPUT_VARIABLE RUBY_HAS_VENDOR_RUBY ERROR_QUIET) |
||||||
|
- |
||||||
|
- if(RUBY_HAS_VENDOR_RUBY) |
||||||
|
- _RUBY_CONFIG_VAR("vendorlibdir" RUBY_VENDORLIB_DIR) |
||||||
|
- _RUBY_CONFIG_VAR("vendorarchdir" RUBY_VENDORARCH_DIR) |
||||||
|
- endif() |
||||||
|
+ _RUBY_CONFIG_VAR("vendorlibdir" RUBY_VENDORLIB_DIR) |
||||||
|
+ _RUBY_CONFIG_VAR("vendorarchdir" RUBY_VENDORARCH_DIR) |
||||||
|
|
||||||
|
# save the results in the cache so we don't have to run ruby the next time again |
||||||
|
set(RUBY_VERSION_MAJOR ${RUBY_VERSION_MAJOR} CACHE PATH "The Ruby major version" FORCE) |
@ -0,0 +1,9 @@ |
|||||||
|
;; |
||||||
|
;; Setup cmake3-mode for autoloading |
||||||
|
;; |
||||||
|
(autoload 'cmake3-mode "cmake3-mode" "Major mode for editing CMake listfiles." t) |
||||||
|
(setq auto-mode-alist |
||||||
|
(append |
||||||
|
'(("CMakeLists\\.txt\\'" . cmake3-mode)) |
||||||
|
'(("\\.cmake\\'" . cmake3-mode)) |
||||||
|
auto-mode-alist)) |
@ -0,0 +1,115 @@ |
|||||||
|
commit 58a06a071bd16825efe0e44d0729068e97014529 |
||||||
|
Author: Björn Esser <me@besser82.io> |
||||||
|
Date: Tue Aug 23 13:48:13 2016 +0200 |
||||||
|
|
||||||
|
cmake3-libarchive3.patch |
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt |
||||||
|
index 3ef8605..84d3a56 100644 |
||||||
|
--- a/CMakeLists.txt |
||||||
|
+++ b/CMakeLists.txt |
||||||
|
@@ -384,7 +384,7 @@ macro (CMAKE_BUILD_UTILITIES) |
||||||
|
#--------------------------------------------------------------------- |
||||||
|
# Build or use system libarchive for CMake and CTest. |
||||||
|
if(CMAKE_USE_SYSTEM_LIBARCHIVE) |
||||||
|
- find_package(LibArchive 3.0.0) |
||||||
|
+ find_package(LibArchive3 3.0.0) |
||||||
|
if(NOT LibArchive_FOUND) |
||||||
|
message(FATAL_ERROR "CMAKE_USE_SYSTEM_LIBARCHIVE is ON but LibArchive is not found!") |
||||||
|
endif() |
||||||
|
diff --git a/Modules/FindLibArchive3.cmake b/Modules/FindLibArchive3.cmake |
||||||
|
new file mode 100644 |
||||||
|
index 0000000..4e18975 |
||||||
|
--- /dev/null |
||||||
|
+++ b/Modules/FindLibArchive3.cmake |
||||||
|
@@ -0,0 +1,75 @@ |
||||||
|
+#.rst: |
||||||
|
+# FindLibArchive3 |
||||||
|
+# --------------- |
||||||
|
+# |
||||||
|
+# Find libarchive library and headers |
||||||
|
+# |
||||||
|
+# The module defines the following variables: |
||||||
|
+# |
||||||
|
+# :: |
||||||
|
+# |
||||||
|
+# LibArchive_FOUND - true if libarchive was found |
||||||
|
+# LibArchive_INCLUDE_DIRS - include search path |
||||||
|
+# LibArchive_LIBRARIES - libraries to link |
||||||
|
+# LibArchive_VERSION - libarchive 3-component version number |
||||||
|
+ |
||||||
|
+#============================================================================= |
||||||
|
+# Copyright 2010 Kitware, Inc. |
||||||
|
+# |
||||||
|
+# Distributed under the OSI-approved BSD License (the "License"); |
||||||
|
+# see accompanying file Copyright.txt for details. |
||||||
|
+# |
||||||
|
+# This software is distributed WITHOUT ANY WARRANTY; without even the |
||||||
|
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
||||||
|
+# See the License for more information. |
||||||
|
+#============================================================================= |
||||||
|
+# (To distribute this file outside of CMake, substitute the full |
||||||
|
+# License text for the above reference.) |
||||||
|
+ |
||||||
|
+find_path(LibArchive_INCLUDE_DIR |
||||||
|
+ NAMES archive3.h |
||||||
|
+ PATHS |
||||||
|
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\LibArchive;InstallPath]/include" |
||||||
|
+ ) |
||||||
|
+ |
||||||
|
+find_library(LibArchive_LIBRARY |
||||||
|
+ NAMES archive3 libarchive3 |
||||||
|
+ PATHS |
||||||
|
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\LibArchive;InstallPath]/lib" |
||||||
|
+ ) |
||||||
|
+ |
||||||
|
+mark_as_advanced(LibArchive_INCLUDE_DIR LibArchive_LIBRARY) |
||||||
|
+ |
||||||
|
+# Extract the version number from the header. |
||||||
|
+if(LibArchive_INCLUDE_DIR AND EXISTS "${LibArchive_INCLUDE_DIR}/archive3.h") |
||||||
|
+ # The version string appears in one of three known formats in the header: |
||||||
|
+ # #define ARCHIVE_LIBRARY_VERSION "libarchive 2.4.12" |
||||||
|
+ # #define ARCHIVE_VERSION_STRING "libarchive 2.8.4" |
||||||
|
+ # #define ARCHIVE_VERSION_ONLY_STRING "3.2.0" |
||||||
|
+ # Match any format. |
||||||
|
+ set(_LibArchive_VERSION_REGEX "^#define[ \t]+ARCHIVE[_A-Z]+VERSION[_A-Z]*[ \t]+\"(libarchive +)?([0-9]+)\\.([0-9]+)\\.([0-9]+)[^\"]*\".*$") |
||||||
|
+ file(STRINGS "${LibArchive_INCLUDE_DIR}/archive3.h" _LibArchive_VERSION_STRING LIMIT_COUNT 1 REGEX "${_LibArchive_VERSION_REGEX}") |
||||||
|
+ if(_LibArchive_VERSION_STRING) |
||||||
|
+ string(REGEX REPLACE "${_LibArchive_VERSION_REGEX}" "\\2.\\3.\\4" LibArchive_VERSION "${_LibArchive_VERSION_STRING}") |
||||||
|
+ endif() |
||||||
|
+ unset(_LibArchive_VERSION_REGEX) |
||||||
|
+ unset(_LibArchive_VERSION_STRING) |
||||||
|
+endif() |
||||||
|
+ |
||||||
|
+# Handle the QUIETLY and REQUIRED arguments and set LIBARCHIVE_FOUND |
||||||
|
+# to TRUE if all listed variables are TRUE. |
||||||
|
+# (Use ${CMAKE_ROOT}/Modules instead of ${CMAKE_CURRENT_LIST_DIR} because CMake |
||||||
|
+# itself includes this FindLibArchive when built with an older CMake that does |
||||||
|
+# not provide it. The older CMake also does not have CMAKE_CURRENT_LIST_DIR.) |
||||||
|
+include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) |
||||||
|
+find_package_handle_standard_args(LibArchive |
||||||
|
+ REQUIRED_VARS LibArchive_LIBRARY LibArchive_INCLUDE_DIR |
||||||
|
+ VERSION_VAR LibArchive_VERSION |
||||||
|
+ ) |
||||||
|
+set(LibArchive_FOUND ${LIBARCHIVE_FOUND}) |
||||||
|
+unset(LIBARCHIVE_FOUND) |
||||||
|
+ |
||||||
|
+if(LibArchive_FOUND) |
||||||
|
+ set(LibArchive_INCLUDE_DIRS ${LibArchive_INCLUDE_DIR}) |
||||||
|
+ set(LibArchive_LIBRARIES ${LibArchive_LIBRARY}) |
||||||
|
+endif() |
||||||
|
diff --git a/Utilities/cm_libarchive.h b/Utilities/cm_libarchive.h |
||||||
|
index c6a8a82..8fa06b4 100644 |
||||||
|
--- a/Utilities/cm_libarchive.h |
||||||
|
+++ b/Utilities/cm_libarchive.h |
||||||
|
@@ -15,8 +15,8 @@ |
||||||
|
/* Use the libarchive configured for CMake. */ |
||||||
|
#include "cmThirdParty.h" |
||||||
|
#ifdef CMAKE_USE_SYSTEM_LIBARCHIVE |
||||||
|
-#include <archive.h> |
||||||
|
-#include <archive_entry.h> |
||||||
|
+#include <archive3.h> |
||||||
|
+#include <archive_entry3.h> |
||||||
|
#else |
||||||
|
#include <cmlibarchive/libarchive/archive.h> |
||||||
|
#include <cmlibarchive/libarchive/archive_entry.h> |
@ -0,0 +1,2 @@ |
|||||||
|
%__cmake3_provides %{_rpmconfigdir}/cmake3.prov |
||||||
|
%__cmake3_path ^/usr/lib(64)?/cmake/.*/.*(Config\.cmake|-config\.cmake)$ |
@ -0,0 +1,82 @@ |
|||||||
|
#!/usr/bin/python |
||||||
|
# -*- coding:utf-8 -*- |
||||||
|
# |
||||||
|
# Copyright (C) 2015 Daniel Vrátil <dvratil@redhat.com> |
||||||
|
# |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or modify |
||||||
|
# it under the terms of the GNU Library General Public License as |
||||||
|
# published by the Free Software Foundation; either version 2 of the |
||||||
|
# License, or (at your option) any later version. |
||||||
|
# |
||||||
|
# This program is distributed in the hope that it will be useful, |
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
# GNU General Public License for more details. |
||||||
|
# |
||||||
|
# You should have received a copy of the GNU Library General Public |
||||||
|
# License along with this program; if not, write to the |
||||||
|
# Free Software Foundation, Inc., |
||||||
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||||
|
# |
||||||
|
|
||||||
|
import sys |
||||||
|
import re |
||||||
|
import glob |
||||||
|
|
||||||
|
class CMakeParser: |
||||||
|
def __init__(self, filelist = None): |
||||||
|
if filelist == None: |
||||||
|
filelist = sys.stdin |
||||||
|
|
||||||
|
paths = map(lambda x: x.rstrip(), filelist.readlines()) |
||||||
|
for path in paths: |
||||||
|
modulePath, cmakeModule, lowercase = self.parseCmakeModuleConfig(path) |
||||||
|
if modulePath and cmakeModule: |
||||||
|
version = self.resolveCMakeModuleVersion(modulePath, cmakeModule, lowercase) |
||||||
|
|
||||||
|
if version: |
||||||
|
print("cmake(%s) = %s" % (cmakeModule, version)) |
||||||
|
else: |
||||||
|
print("cmake(%s)" % cmakeModule) |
||||||
|
|
||||||
|
|
||||||
|
def parseCmakeModuleConfig(self, configFile): |
||||||
|
paths = configFile.rsplit("/", 3) |
||||||
|
|
||||||
|
modulePath = "%s/cmake/%s" % (paths[0], paths[2]) |
||||||
|
|
||||||
|
lowercase = False |
||||||
|
configFile = glob.glob("%s/*Config.cmake" % modulePath) |
||||||
|
if not configFile: |
||||||
|
configFile = glob.glob("%s/*-config.cmake" % modulePath) |
||||||
|
lowercase = True |
||||||
|
if not configFile: |
||||||
|
return (None, None, None) |
||||||
|
|
||||||
|
if lowercase: |
||||||
|
moduleName = configFile[0][len(modulePath) + 1:-len("-config.cmake")] |
||||||
|
else: |
||||||
|
moduleName = configFile[0][len(modulePath) + 1:-len("Config.cmake")] |
||||||
|
|
||||||
|
return (modulePath, moduleName, lowercase) |
||||||
|
|
||||||
|
def resolveCMakeModuleVersion(self, modulePath, cmakeModule, lowercase): |
||||||
|
versionFile = ("%s/%s-config-version.cmake" if lowercase else "%s/%sConfigVersion.cmake") % (modulePath, cmakeModule) |
||||||
|
try: |
||||||
|
f = open(versionFile, 'r') |
||||||
|
except: |
||||||
|
return None |
||||||
|
|
||||||
|
for line in f: |
||||||
|
line = line.strip() |
||||||
|
|
||||||
|
# set(PACKAGE_VERSION <version>) |
||||||
|
version = re.match(r"^set[\ ]*\([\ ]*PACKAGE_VERSION[\ ]+[\"]*([0-9\.]+)[\"]*[\ ]*[.]*\)", line) |
||||||
|
if version: |
||||||
|
return version.groups(1)[0] |
||||||
|
|
||||||
|
return None |
||||||
|
|
||||||
|
if __name__ == "__main__": |
||||||
|
parser = CMakeParser() |
@ -0,0 +1,34 @@ |
|||||||
|
# |
||||||
|
# Macros for cmake3 |
||||||
|
# |
||||||
|
%_cmake3_lib_suffix64 -DLIB_SUFFIX=64 |
||||||
|
%_cmake3_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=ON |
||||||
|
%_cmake3_version @@CMAKE_VERSION@@ |
||||||
|
%__cmake3 /usr/bin/cmake3 |
||||||
|
|
||||||
|
# - Set default compile flags |
||||||
|
# - CMAKE_*_FLAGS_RELEASE are added *after* the *FLAGS environment variables |
||||||
|
# and default to -O3 -DNDEBUG. Strip the -O3 so we can override with *FLAGS |
||||||
|
# - Turn on verbose makefiles so we can see and verify compile flags |
||||||
|
# - Set default install prefixes and library install directories |
||||||
|
# - Turn on shared libraries by default |
||||||
|
%cmake3 \ |
||||||
|
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ |
||||||
|
CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ |
||||||
|
FFLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FFLAGS ; \ |
||||||
|
FCFLAGS="${FCFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FCFLAGS ; \ |
||||||
|
%{?__global_ldflags:LDFLAGS="${LDFLAGS:-%__global_ldflags}" ; export LDFLAGS ;} \ |
||||||
|
%__cmake3 \\\ |
||||||
|
-DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \\\ |
||||||
|
-DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \\\ |
||||||
|
-DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \\\ |
||||||
|
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \\\ |
||||||
|
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \\\ |
||||||
|
-DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \\\ |
||||||
|
-DLIB_INSTALL_DIR:PATH=%{_libdir} \\\ |
||||||
|
-DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \\\ |
||||||
|
-DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \\\ |
||||||
|
%if "%{?_lib}" == "lib64" \ |
||||||
|
%{?_cmake3_lib_suffix64} \\\ |
||||||
|
%endif \ |
||||||
|
-DBUILD_SHARED_LIBS:BOOL=ON |
@ -0,0 +1,474 @@ |
|||||||
|
# Set to bcond_without or use --with bootstrap if bootstrapping a new release |
||||||
|
# or architecture |
||||||
|
%bcond_with bootstrap |
||||||
|
|
||||||
|
# Set to bcond_with or use --without gui to disable qt4 gui build |
||||||
|
%bcond_without gui |
||||||
|
|
||||||
|
# Setting the Python-version used by default |
||||||
|
%if 0%{?rhel} && 0%{?rhel} < 8 |
||||||
|
%bcond_with python3 |
||||||
|
%else |
||||||
|
%bcond_without python3 |
||||||
|
%endif |
||||||
|
|
||||||
|
# Do we add appdata-files? |
||||||
|
%if 0%{?fedora} || 0%{?rhel} > 7 |
||||||
|
%bcond_without appdata |
||||||
|
%else |
||||||
|
%bcond_with appdata |
||||||
|
%endif |
||||||
|
|
||||||
|
# Sphinx-build cannot import CMakeLexer on EPEL <= 6 |
||||||
|
%if 0%{?fedora} || 0%{?rhel} >= 7 |
||||||
|
%bcond_without sphinx |
||||||
|
%else |
||||||
|
%bcond_with sphinx |
||||||
|
%endif |
||||||
|
|
||||||
|
# Run tests |
||||||
|
%bcond_without test |
||||||
|
|
||||||
|
# Place rpm-macros into proper location |
||||||
|
%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) |
||||||
|
|
||||||
|
# Setup _pkgdocdir if not defined already |
||||||
|
%{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} |
||||||
|
|
||||||
|
%global major_version 3 |
||||||
|
%global minor_version 12 |
||||||
|
# Set to RC version if building RC, else %%{nil} |
||||||
|
#global rcver rc1 |
||||||
|
|
||||||
|
# Uncomment if building for EPEL |
||||||
|
%global name_suffix %{major_version} |
||||||
|
%global orig_name cmake |
||||||
|
|
||||||
|
Name: %{orig_name}%{?name_suffix} |
||||||
|
Version: %{major_version}.%{minor_version}.2 |
||||||
|
Release: 1%{?dist} |
||||||
|
Summary: Cross-platform make system |
||||||
|
|
||||||
|
# most sources are BSD |
||||||
|
# Source/CursesDialog/form/ a bunch is MIT |
||||||
|
# Source/kwsys/MD5.c is zlib |
||||||
|
# some GPL-licensed bison-generated files, which all include an |
||||||
|
# exception granting redistribution under terms of your choice |
||||||
|
License: BSD and MIT and zlib |
||||||
|
URL: http://www.cmake.org |
||||||
|
Source0: http://www.cmake.org/files/v%{major_version}.%{minor_version}/%{orig_name}-%{version}%{?rcver:-%rcver}.tar.gz |
||||||
|
Source1: %{name}-init.el |
||||||
|
Source2: macros.%{name} |
||||||
|
# See https://bugzilla.redhat.com/show_bug.cgi?id=1202899 |
||||||
|
Source3: %{name}.attr |
||||||
|
Source4: %{name}.prov |
||||||
|
|
||||||
|
# Patch to fix RindRuby vendor settings |
||||||
|
# http://public.kitware.com/Bug/view.php?id=12965 |
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=822796 |
||||||
|
Patch2: %{name}-findruby.patch |
||||||
|
# replace release flag -O3 with -O2 for fedora |
||||||
|
Patch3: %{name}-fedora-flag_release.patch |
||||||
|
|
||||||
|
# Patch for renaming on EPEL |
||||||
|
%if 0%{?name_suffix:1} |
||||||
|
Patch1000: %{name}-rename.patch |
||||||
|
Patch1001: %{name}-libarchive3.patch |
||||||
|
%endif |
||||||
|
|
||||||
|
BuildRequires: gcc-gfortran, gcc-c++ |
||||||
|
BuildRequires: ncurses-devel, libX11-devel |
||||||
|
BuildRequires: bzip2-devel |
||||||
|
BuildRequires: curl-devel |
||||||
|
BuildRequires: expat-devel |
||||||
|
BuildRequires: jsoncpp-devel |
||||||
|
%if 0%{?fedora} || 0%{?rhel} >= 7 |
||||||
|
BuildRequires: libarchive-devel |
||||||
|
BuildRequires: /usr/bin/sphinx-build |
||||||
|
BuildRequires: rhash-devel |
||||||
|
BuildRequires: libuv-devel |
||||||
|
%else |
||||||
|
BuildRequires: libarchive3-devel |
||||||
|
%endif |
||||||
|
BuildRequires: xz-devel |
||||||
|
BuildRequires: zlib-devel |
||||||
|
BuildRequires: emacs |
||||||
|
%if %{with python3} |
||||||
|
%{!?python3_pkgversion: %global python3_pkgversion 3} |
||||||
|
BuildRequires: python%{python3_pkgversion}-devel |
||||||
|
%else |
||||||
|
BuildRequires: python2-devel |
||||||
|
%endif |
||||||
|
%if %{without bootstrap} |
||||||
|
#BuildRequires: xmlrpc-c-devel |
||||||
|
%endif |
||||||
|
%if %{with gui} |
||||||
|
%if 0%{?fedora} || 0%{?rhel} > 7 |
||||||
|
BuildRequires: pkgconfig(Qt5Widgets) |
||||||
|
BuildRequires: libappstream-glib |
||||||
|
%else |
||||||
|
BuildRequires: pkgconfig(QtGui) |
||||||
|
%endif |
||||||
|
BuildRequires: desktop-file-utils |
||||||
|
%global qt_gui --qt-gui |
||||||
|
%endif |
||||||
|
|
||||||
|
Requires: %{name}-data = %{version}-%{release} |
||||||
|
Requires: rpm |
||||||
|
|
||||||
|
# Source/kwsys/MD5.c |
||||||
|
# see https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries |
||||||
|
Provides: bundled(md5-deutsch) |
||||||
|
|
||||||
|
# https://fedorahosted.org/fpc/ticket/555 |
||||||
|
Provides: bundled(kwsys) |
||||||
|
|
||||||
|
# cannot do this in epel, ends up replacing os-provided cmake -- Rex |
||||||
|
%if 0%{?fedora} |
||||||
|
%{?name_suffix:Provides: %{orig_name} = %{version}} |
||||||
|
%endif # 0#{?fedora} |
||||||
|
|
||||||
|
%description |
||||||
|
CMake is used to control the software compilation process using simple |
||||||
|
platform and compiler independent configuration files. CMake generates |
||||||
|
native makefiles and workspaces that can be used in the compiler |
||||||
|
environment of your choice. CMake is quite sophisticated: it is possible |
||||||
|
to support complex environments requiring system configuration, preprocessor |
||||||
|
generation, code generation, and template instantiation. |
||||||
|
|
||||||
|
|
||||||
|
%package data |
||||||
|
Summary: Common data-files for %{name} |
||||||
|
Requires: %{name} = %{version}-%{release} |
||||||
|
%if 0%{?fedora} || 0%{?rhel} >= 7 |
||||||
|
Requires: emacs-filesystem >= %{_emacs_version} |
||||||
|
%endif |
||||||
|
|
||||||
|
BuildArch: noarch |
||||||
|
|
||||||
|
%description data |
||||||
|
This package contains common data-files for %{name}. |
||||||
|
|
||||||
|
|
||||||
|
%package doc |
||||||
|
Summary: Documentation for %{name} |
||||||
|
BuildArch: noarch |
||||||
|
|
||||||
|
%description doc |
||||||
|
This package contains documentation for %{name}. |
||||||
|
|
||||||
|
|
||||||
|
%package gui |
||||||
|
Summary: Qt GUI for %{name} |
||||||
|
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release} |
||||||
|
Requires: hicolor-icon-theme |
||||||
|
Requires: shared-mime-info%{?_isa} |
||||||
|
|
||||||
|
%description gui |
||||||
|
The %{name}-gui package contains the Qt based GUI for %{name}. |
||||||
|
|
||||||
|
|
||||||
|
%prep |
||||||
|
%setup -qn %{orig_name}-%{version}%{?rcver:-%rcver} |
||||||
|
|
||||||
|
# Apply renaming on EPEL before all other patches |
||||||
|
%if 0%{?name_suffix:1} |
||||||
|
%patch1000 -p1 |
||||||
|
%if 0%{?rhel} && 0%{?rhel} <= 6 |
||||||
|
%patch1001 -p1 |
||||||
|
%endif |
||||||
|
%endif |
||||||
|
|
||||||
|
# We cannot use backups with patches to Modules as they end up being installed |
||||||
|
%patch2 -p1 |
||||||
|
%patch3 -p1 |
||||||
|
|
||||||
|
%if %{with python3} |
||||||
|
echo '#!%{__python3}' > %{name}.prov |
||||||
|
%else |
||||||
|
echo '#!%{__python2}' > %{name}.prov |
||||||
|
%endif |
||||||
|
tail -n +2 %{SOURCE4} >> %{name}.prov |
||||||
|
|
||||||
|
|
||||||
|
%build |
||||||
|
export CFLAGS="%{optflags}" |
||||||
|
export CXXFLAGS="%{optflags}" |
||||||
|
export LDFLAGS="%{?__global_ldflags}" |
||||||
|
mkdir build |
||||||
|
pushd build |
||||||
|
../bootstrap --prefix=%{_prefix} --datadir=/share/%{name} \ |
||||||
|
--docdir=/share/doc/%{name} --mandir=/share/man \ |
||||||
|
--%{?with_bootstrap:no-}system-libs \ |
||||||
|
--parallel=`/usr/bin/getconf _NPROCESSORS_ONLN` \ |
||||||
|
%{?with_sphinx:--sphinx-man --sphinx-html} \ |
||||||
|
%{?qt_gui}; |
||||||
|
%make_build VERBOSE=1 |
||||||
|
|
||||||
|
|
||||||
|
%install |
||||||
|
%make_install -C build |
||||||
|
find %{buildroot}%{_datadir}/%{name}/Modules -type f | xargs chmod -x |
||||||
|
[ -n "$(find %{buildroot}%{_datadir}/%{name}/Modules -name \*.orig)" ] && |
||||||
|
echo "Found .orig files in %{_datadir}/%{name}/Modules, rebase patches" && |
||||||
|
exit 1 |
||||||
|
|
||||||
|
# Install major_version name links |
||||||
|
%{!?name_suffix:for f in ccmake cmake cpack ctest; do ln -s $f %{buildroot}%{_bindir}/${f}%{major_version}; done} |
||||||
|
# Install bash completion symlinks |
||||||
|
mkdir -p %{buildroot}%{_datadir}/bash-completion/completions |
||||||
|
for f in %{buildroot}%{_datadir}/%{name}/completions/* |
||||||
|
do |
||||||
|
ln -s ../../%{name}/completions/$(basename $f) %{buildroot}%{_datadir}/bash-completion/completions/ |
||||||
|
done |
||||||
|
# Install emacs cmake mode |
||||||
|
mkdir -p %{buildroot}%{_emacs_sitelispdir}/%{name} |
||||||
|
install -p -m 0644 Auxiliary/cmake-mode.el %{buildroot}%{_emacs_sitelispdir}/%{name}/%{name}-mode.el |
||||||
|
%{_emacs_bytecompile} %{buildroot}%{_emacs_sitelispdir}/%{name}/%{name}-mode.el |
||||||
|
mkdir -p %{buildroot}%{_emacs_sitestartdir} |
||||||
|
install -p -m 0644 %SOURCE1 %{buildroot}%{_emacs_sitestartdir}/ |
||||||
|
# RPM macros |
||||||
|
install -p -m0644 -D %{SOURCE2} %{buildroot}%{rpm_macros_dir}/macros.%{name} |
||||||
|
sed -i -e "s|@@CMAKE_VERSION@@|%{version}|" -e "s|@@CMAKE_MAJOR_VERSION@@|%{major_version}|" %{buildroot}%{rpm_macros_dir}/macros.%{name} |
||||||
|
touch -r %{SOURCE2} %{buildroot}%{rpm_macros_dir}/macros.%{name} |
||||||
|
%if 0%{?_rpmconfigdir:1} |
||||||
|
# RPM auto provides |
||||||
|
install -p -m0644 -D %{SOURCE3} %{buildroot}%{_prefix}/lib/rpm/fileattrs/%{name}.attr |
||||||
|
install -p -m0755 -D %{name}.prov %{buildroot}%{_prefix}/lib/rpm/%{name}.prov |
||||||
|
%endif |
||||||
|
mkdir -p %{buildroot}%{_libdir}/%{name} |
||||||
|
# Install copyright files for main package |
||||||
|
find Source Utilities -type f -iname copy\* | while read f |
||||||
|
do |
||||||
|
fname=$(basename $f) |
||||||
|
dir=$(dirname $f) |
||||||
|
dname=$(basename $dir) |
||||||
|
cp -p $f ./${fname}_${dname} |
||||||
|
done |
||||||
|
# Cleanup pre-installed documentation |
||||||
|
%if 0%{?with_sphinx:1} |
||||||
|
mv %{buildroot}%{_docdir}/%{name}/html . |
||||||
|
%endif |
||||||
|
rm -rf %{buildroot}%{_docdir}/%{name} |
||||||
|
# Install documentation to _pkgdocdir |
||||||
|
mkdir -p %{buildroot}%{_pkgdocdir} |
||||||
|
cp -pr %{buildroot}%{_datadir}/%{name}/Help %{buildroot}%{_pkgdocdir} |
||||||
|
mv %{buildroot}%{_pkgdocdir}/Help %{buildroot}%{_pkgdocdir}/rst |
||||||
|
%if 0%{?with_sphinx:1} |
||||||
|
mv html %{buildroot}%{_pkgdocdir} |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with gui} |
||||||
|
# Desktop file |
||||||
|
desktop-file-install --delete-original \ |
||||||
|
--dir=%{buildroot}%{_datadir}/applications \ |
||||||
|
%{buildroot}/%{_datadir}/applications/CMake%{?name_suffix}.desktop |
||||||
|
|
||||||
|
%if %{with appdata} |
||||||
|
# Register as an application to be visible in the software center |
||||||
|
# |
||||||
|
mkdir -p %{buildroot}%{_metainfodir} |
||||||
|
cat > %{buildroot}%{_metainfodir}/CMake3.appdata.xml <<EOF |
||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!-- Copyright 2014 Ryan Lerch <rlerch@redhat.com> --> |
||||||
|
<!-- |
||||||
|
EmailAddress: kitware@kitware.com |
||||||
|
SentUpstream: 2014-09-17 |
||||||
|
--> |
||||||
|
<application> |
||||||
|
<id type="desktop">CMake3.desktop</id> |
||||||
|
<metadata_license>CC0-1.0</metadata_license> |
||||||
|
<name>CMake GUI</name> |
||||||
|
<summary>Create new CMake projects</summary> |
||||||
|
<description> |
||||||
|
<p> |
||||||
|
CMake is an open source, cross platform build system that can build, test, |
||||||
|
and package software. CMake GUI is a graphical user interface that can |
||||||
|
create and edit CMake projects. |
||||||
|
</p> |
||||||
|
</description> |
||||||
|
<url type="homepage">http://www.cmake.org</url> |
||||||
|
<screenshots> |
||||||
|
<screenshot type="default">https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/CMake/a.png</screenshot> |
||||||
|
</screenshots> |
||||||
|
<!-- FIXME: change this to an upstream email address for spec updates |
||||||
|
<updatecontact>cmake3-owner_at_fedoraproject.org</updatecontact> |
||||||
|
--> |
||||||
|
</application> |
||||||
|
EOF |
||||||
|
|
||||||
|
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml |
||||||
|
%endif |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with test} |
||||||
|
%check |
||||||
|
%if 0%{?rhel} && 0%{?rhel} <= 6 |
||||||
|
mv -f Modules/FindLibArchive.cmake Modules/FindLibArchive.disabled |
||||||
|
%endif |
||||||
|
pushd build |
||||||
|
#CMake.FileDownload, CTestTestUpload, and curl require internet access |
||||||
|
# RunCMake.CPack_RPM is broken if disttag contains "+", bug #1499151 |
||||||
|
# |
||||||
|
# CMakeWizardTest failure: Failed Required regular expression not found.Regex=[The "cmake -i" wizard mode is no longer supported. |
||||||
|
NO_TEST="CMake.FileDownload|CTestTestUpload|curl|RunCMake.CPack_RPM|Server|CMakeWizardTest" |
||||||
|
# RunCMake.File_Generate fails on S390X |
||||||
|
%ifarch s390x |
||||||
|
NO_TEST="$NO_TEST|RunCMake.File_Generate" |
||||||
|
%endif |
||||||
|
export NO_TEST |
||||||
|
bin/ctest%{?name_suffix} -V -E "$NO_TEST" %{?_smp_mflags} |
||||||
|
popd |
||||||
|
%if 0%{?rhel} && 0%{?rhel} <= 6 |
||||||
|
mv -f Modules/FindLibArchive.disabled Modules/FindLibArchive.cmake |
||||||
|
%endif |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with gui} |
||||||
|
%post gui |
||||||
|
update-desktop-database &> /dev/null || : |
||||||
|
/bin/touch --no-create %{_datadir}/mime || : |
||||||
|
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : |
||||||
|
|
||||||
|
%postun gui |
||||||
|
update-desktop-database &> /dev/null || : |
||||||
|
if [ $1 -eq 0 ] ; then |
||||||
|
/bin/touch --no-create %{_datadir}/mime || : |
||||||
|
update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || : |
||||||
|
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : |
||||||
|
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : |
||||||
|
fi |
||||||
|
|
||||||
|
%posttrans gui |
||||||
|
update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || : |
||||||
|
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : |
||||||
|
%endif |
||||||
|
|
||||||
|
%files |
||||||
|
%license Copyright.txt* |
||||||
|
%license COPYING* |
||||||
|
%{_bindir}/c%{name} |
||||||
|
%{!?name_suffix:%{_bindir}/c%{name}%{major_version}} |
||||||
|
%{_bindir}/%{name} |
||||||
|
%{!?name_suffix:%{_bindir}/%{name}%{major_version}} |
||||||
|
%{_bindir}/cpack%{?name_suffix} |
||||||
|
%{!?name_suffix:%{_bindir}/cpack%{major_version}} |
||||||
|
%{_bindir}/ctest%{?name_suffix} |
||||||
|
%{!?name_suffix:%{_bindir}/ctest%{major_version}} |
||||||
|
%if 0%{?with_sphinx:1} |
||||||
|
%{_mandir}/man1/c%{name}.1.* |
||||||
|
%{_mandir}/man1/%{name}.1.* |
||||||
|
%{_mandir}/man1/cpack%{?name_suffix}.1.* |
||||||
|
%{_mandir}/man1/ctest%{?name_suffix}.1.* |
||||||
|
%{_mandir}/man7/*.7.* |
||||||
|
%endif |
||||||
|
%{_libdir}/%{name}/ |
||||||
|
|
||||||
|
%files data |
||||||
|
%{_datadir}/aclocal/%{name}.m4 |
||||||
|
%{_datadir}/bash-completion/ |
||||||
|
%{_datadir}/%{name}/ |
||||||
|
%if 0%{?fedora} || 0%{?rhel} >= 7 |
||||||
|
%{_emacs_sitelispdir}/%{name} |
||||||
|
%{_emacs_sitestartdir}/%{name}-init.el |
||||||
|
%else |
||||||
|
%{_emacs_sitelispdir} |
||||||
|
%{_emacs_sitestartdir} |
||||||
|
%endif |
||||||
|
%{rpm_macros_dir}/macros.%{name} |
||||||
|
%if 0%{?_rpmconfigdir:1} |
||||||
|
%{_rpmconfigdir}/fileattrs/%{name}.attr |
||||||
|
%{_rpmconfigdir}/%{name}.prov |
||||||
|
%endif |
||||||
|
|
||||||
|
%files doc |
||||||
|
# Pickup license-files from main-pkg's license-dir |
||||||
|
# If there's no license-dir they are picked up by %%doc previously |
||||||
|
%{?_licensedir:%license %{_datadir}/licenses/%{name}*} |
||||||
|
%{_pkgdocdir}/ |
||||||
|
|
||||||
|
%if %{with gui} |
||||||
|
%files gui |
||||||
|
%{_bindir}/%{name}-gui |
||||||
|
%if %{with appdata} |
||||||
|
%{_metainfodir}/*.appdata.xml |
||||||
|
%endif |
||||||
|
%{_datadir}/applications/CMake%{?name_suffix}.desktop |
||||||
|
%{_datadir}/mime/packages/ |
||||||
|
%{_datadir}/icons/hicolor/*/apps/CMake%{?name_suffix}Setup.png |
||||||
|
%if 0%{?with_sphinx:1} |
||||||
|
%{_mandir}/man1/%{name}-gui.1.* |
||||||
|
%endif |
||||||
|
%endif |
||||||
|
|
||||||
|
|
||||||
|
%changelog |
||||||
|
* Thu Oct 04 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.12.2-1 |
||||||
|
- Update to cmake-3.12.2 |
||||||
|
|
||||||
|
* Mon Aug 20 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.12.1-1 |
||||||
|
- Update to cmake-3.12.1 |
||||||
|
|
||||||
|
* Fri Jul 27 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.12.0-1 |
||||||
|
- Update to cmake-3.12.0 |
||||||
|
- Use %%_metainfodir |
||||||
|
|
||||||
|
* Sat May 19 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.11.2-1 |
||||||
|
- Update to cmake-3.11.2 |
||||||
|
- Fix appdata file's entries |
||||||
|
|
||||||
|
* Sat Apr 07 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.11.0-1 |
||||||
|
- Update to cmake-3.11.0 |
||||||
|
- Add libuv rhash development packages |
||||||
|
- Adapt 'cmake3-rename' patch to CMake-3.11 |
||||||
|
- Move appdata file into the metainfo sub-data directory |
||||||
|
|
||||||
|
* Thu Feb 09 2017 Orion Poplawski <orion@cora.nwra.com> 3.6.3-1 |
||||||
|
- Update to 3.6.3 |
||||||
|
- Fix cmake3.prov error |
||||||
|
|
||||||
|
* Thu Sep 01 2016 Rex Dieter <rdieter@fedoraproject.org> 3.6.1-2 |
||||||
|
- drop Provides: cmake |
||||||
|
|
||||||
|
* Tue Aug 23 2016 Björn Esser <fedora@besser82.io> - 3.6.1-1 |
||||||
|
- Update to 3.6.1 (#1353778) |
||||||
|
|
||||||
|
* Fri Apr 22 2016 Björn Esser <fedora@besser82.io> - 3.5.2-2 |
||||||
|
- Do not own /usr/lib/rpm/fileattrs |
||||||
|
|
||||||
|
* Sat Apr 16 2016 Björn Esser <fedora@besser82.io> - 3.5.2-1 |
||||||
|
- Update to 3.5.2 (#1327794) |
||||||
|
|
||||||
|
* Fri Mar 25 2016 Björn Esser <fedora@besser82.io> - 3.5.1-1 |
||||||
|
- Update to 3.5.1 (#1321198) |
||||||
|
|
||||||
|
* Fri Mar 11 2016 Björn Esser <fedora@besser82.io> - 3.5.0-2.1 |
||||||
|
- fix emacs-filesystem requires for epel6 |
||||||
|
|
||||||
|
* Thu Mar 10 2016 Björn Esser <fedora@besser82.io> - 3.5.0-2 |
||||||
|
- keep Help-directory and its contents in %%_datadir/%%name |
||||||
|
|
||||||
|
* Wed Mar 09 2016 Björn Esser <fedora@besser82.io> - 3.5.0-1.2 |
||||||
|
- do not provide cmake = %%{version} |
||||||
|
|
||||||
|
* Wed Mar 09 2016 Björn Esser <fedora@besser82.io> - 3.5.0-1.1 |
||||||
|
- fix macros |
||||||
|
|
||||||
|
* Wed Mar 09 2016 Björn Esser <fedora@besser82.io> - 3.5.0-1 |
||||||
|
- update to 3.5.0 final |
||||||
|
|
||||||
|
* Tue Mar 08 2016 Björn Esser <fedora@besser82.io> - 3.5.0-0.3.rc3 |
||||||
|
- bump after review (#1315193) |
||||||
|
|
||||||
|
* Mon Mar 07 2016 Björn Esser <fedora@besser82.io> - 3.5.0-0.2.rc3 |
||||||
|
- addressing issues from review (#1315193) |
||||||
|
- fix emacs-packaging |
||||||
|
- use %%license-macro |
||||||
|
- fix arch'ed Requires |
||||||
|
- removed BuildRoot |
||||||
|
- use %%global instead of %%define |
||||||
|
- split documentation into noarch'ed doc-subpkg |
||||||
|
|
||||||
|
* Mon Mar 07 2016 Björn Esser <fedora@besser82.io> - 3.5.0-0.1.rc3 |
||||||
|
- initial epel-release (#1315193) |
Loading…
Reference in new issue