Merge commit staging+systemd into closure-size
Many non-conflict problems weren't (fully) resolved in this commit yet.
This commit is contained in:
@@ -0,0 +1,237 @@
|
||||
--- cmake-2.8.10/Source/cmFileCommand.cxx 2012-10-31 10:32:06.000000000 -0500
|
||||
+++ cmake-2.8.10/Source/cmFileCommand.cxx 2013-03-16 22:55:11.306681100 -0500
|
||||
@@ -1002,7 +1002,7 @@ protected:
|
||||
MatchProperties CollectMatchProperties(const char* file)
|
||||
{
|
||||
// Match rules are case-insensitive on some platforms.
|
||||
-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
|
||||
+#if defined(_WIN32) || defined(__APPLE__)
|
||||
std::string lower = cmSystemTools::LowerCase(file);
|
||||
const char* file_to_match = lower.c_str();
|
||||
#else
|
||||
--- cmake-2.8.10/Source/cmInstallCommand.cxx 2012-10-31 10:32:06.000000000 -0500
|
||||
+++ cmake-2.8.10/Source/cmInstallCommand.cxx 2013-03-16 22:56:21.008667800 -0500
|
||||
@@ -1090,7 +1090,7 @@ cmInstallCommand::HandleDirectoryMode(st
|
||||
{
|
||||
literal_args += " REGEX \"";
|
||||
// Match rules are case-insensitive on some platforms.
|
||||
-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
|
||||
+#if defined(_WIN32) || defined(__APPLE__)
|
||||
std::string regex = cmSystemTools::LowerCase(args[i]);
|
||||
#else
|
||||
std::string regex = args[i];
|
||||
--- cmake-2.8.10/Source/kwsys/Glob.cxx 2012-10-31 10:32:06.000000000 -0500
|
||||
+++ cmake-2.8.10/Source/kwsys/Glob.cxx 2013-03-16 22:58:54.192429400 -0500
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <string.h>
|
||||
namespace KWSYS_NAMESPACE
|
||||
{
|
||||
-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
|
||||
+#if defined(_WIN32) || defined(__APPLE__)
|
||||
// On Windows and apple, no difference between lower and upper case
|
||||
# define KWSYS_GLOB_CASE_INDEPENDENT
|
||||
#endif
|
||||
--- cmake-2.8.11/Source/kwsys/SystemInformation.cxx 2013-05-15 12:38:13.000000000 -0500
|
||||
+++ cmake-2.8.11/Source/kwsys/SystemInformation.cxx 2013-07-08 01:57:31.216321800 -0500
|
||||
@@ -888,7 +888,7 @@ void SystemInformation::RunMemoryCheck()
|
||||
// Hide implementation details in an anonymous namespace.
|
||||
namespace {
|
||||
// *****************************************************************************
|
||||
-#if defined(__linux) || defined(__APPLE__)
|
||||
+#if defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__)
|
||||
int LoadLines(
|
||||
FILE *file,
|
||||
kwsys_stl::vector<kwsys_stl::string> &lines)
|
||||
@@ -918,7 +918,7 @@ int LoadLines(
|
||||
return nRead;
|
||||
}
|
||||
|
||||
-# if defined(__linux)
|
||||
+# if defined(__linux) || defined(__CYGWIN__)
|
||||
// *****************************************************************************
|
||||
int LoadLines(
|
||||
const char *fileName,
|
||||
@@ -957,7 +957,7 @@ int NameValue(
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined(__linux)
|
||||
+#if defined(__linux) || defined(__CYGWIN__)
|
||||
// ****************************************************************************
|
||||
template<typename T>
|
||||
int GetFieldsFromFile(
|
||||
@@ -2869,7 +2869,6 @@ bool SystemInformationImplementation::Re
|
||||
pos = buffer.find("processor\t",pos+1);
|
||||
}
|
||||
|
||||
-#ifdef __linux
|
||||
// Find the largest physical id.
|
||||
int maxId = -1;
|
||||
kwsys_stl::string idc =
|
||||
@@ -2893,14 +2892,6 @@ bool SystemInformationImplementation::Re
|
||||
this->NumberOfPhysicalCPU=static_cast<unsigned int>(
|
||||
numberOfCoresPerCPU*(maxId+1));
|
||||
|
||||
-#else // __CYGWIN__
|
||||
- // does not have "physical id" entries, neither "cpu cores"
|
||||
- // this has to be fixed for hyper-threading.
|
||||
- kwsys_stl::string cpucount =
|
||||
- this->ExtractValueFromCpuInfoFile(buffer,"cpu count");
|
||||
- this->NumberOfPhysicalCPU=
|
||||
- this->NumberOfLogicalCPU = atoi(cpucount.c_str());
|
||||
-#endif
|
||||
// gotta have one, and if this is 0 then we get a / by 0n
|
||||
// better to have a bad answer than a crash
|
||||
if(this->NumberOfPhysicalCPU <= 0)
|
||||
@@ -3086,7 +3077,7 @@ SystemInformationImplementation::GetHost
|
||||
GlobalMemoryStatusEx(&statex);
|
||||
return statex.ullTotalPhys/1024;
|
||||
# endif
|
||||
-#elif defined(__linux)
|
||||
+#elif defined(__linux) || defined(__CYGWIN__)
|
||||
SystemInformation::LongLong memTotal=0;
|
||||
int ierr=GetFieldFromFile("/proc/meminfo","MemTotal:",memTotal);
|
||||
if (ierr)
|
||||
@@ -3217,7 +3208,7 @@ SystemInformationImplementation::GetHost
|
||||
GlobalMemoryStatusEx(&statex);
|
||||
return (statex.ullTotalPhys - statex.ullAvailPhys)/1024;
|
||||
# endif
|
||||
-#elif defined(__linux)
|
||||
+#elif defined(__linux) || defined(__CYGWIN__)
|
||||
const char *names[3]={"MemTotal:","MemFree:",NULL};
|
||||
SystemInformation::LongLong values[2]={SystemInformation::LongLong(0)};
|
||||
int ierr=GetFieldsFromFile("/proc/meminfo",names,values);
|
||||
@@ -3276,7 +3267,7 @@ SystemInformationImplementation::GetProc
|
||||
return -2;
|
||||
}
|
||||
return pmc.WorkingSetSize/1024;
|
||||
-#elif defined(__linux)
|
||||
+#elif defined(__linux) || defined(__CYGWIN__)
|
||||
SystemInformation::LongLong memUsed=0;
|
||||
int ierr=GetFieldFromFile("/proc/self/status","VmRSS:",memUsed);
|
||||
if (ierr)
|
||||
@@ -3328,7 +3319,7 @@ SystemInformationImplementation::GetProc
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
return GetCurrentProcessId();
|
||||
-#elif defined(__linux) || defined(__APPLE__)
|
||||
+#elif defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__)
|
||||
return getpid();
|
||||
#else
|
||||
return -1;
|
||||
--- cmake-2.8.10/Source/kwsys/SystemTools.cxx 2012-10-31 10:32:06.000000000 -0500
|
||||
+++ cmake-2.8.10/Source/kwsys/SystemTools.cxx 2013-03-16 22:52:11.830415600 -0500
|
||||
@@ -75,19 +75,12 @@
|
||||
// Windows API.
|
||||
#if defined(_WIN32)
|
||||
# include <windows.h>
|
||||
-#elif defined (__CYGWIN__)
|
||||
-# include <windows.h>
|
||||
-# undef _WIN32
|
||||
#endif
|
||||
|
||||
#if !KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H
|
||||
extern char **environ;
|
||||
#endif
|
||||
|
||||
-#ifdef __CYGWIN__
|
||||
-extern "C" void cygwin_conv_to_win32_path(const char *path, char *win32_path);
|
||||
-#endif
|
||||
-
|
||||
// getpwnam doesn't exist on Windows and Cray Xt3/Catamount
|
||||
// same for TIOCGWINSZ
|
||||
#if defined(_WIN32) || defined (__LIBCATAMOUNT__)
|
||||
@@ -1068,7 +1061,7 @@ bool SystemTools::SameFile(const char* f
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
-#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
+#if defined(_WIN32)
|
||||
static bool WindowsFileExists(const char* filename)
|
||||
{
|
||||
WIN32_FILE_ATTRIBUTE_DATA fd;
|
||||
@@ -1083,7 +1076,7 @@ bool SystemTools::FileExists(const char*
|
||||
{
|
||||
return false;
|
||||
}
|
||||
-#if defined(__CYGWIN__)
|
||||
+#if 0
|
||||
// Convert filename to native windows path if possible.
|
||||
char winpath[MAX_PATH];
|
||||
if(SystemTools::PathCygwinToWin32(filename, winpath))
|
||||
@@ -1111,7 +1104,7 @@ bool SystemTools::FileExists(const char*
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
-#ifdef __CYGWIN__
|
||||
+#if 0
|
||||
bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path)
|
||||
{
|
||||
SystemToolsTranslationMap::iterator i =
|
||||
@@ -3894,7 +3887,7 @@ bool SystemTools::LocateFileInDir(const
|
||||
bool SystemTools::FileIsFullPath(const char* in_name)
|
||||
{
|
||||
kwsys_stl::string name = in_name;
|
||||
-#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
+#if defined(_WIN32)
|
||||
// On Windows, the name must be at least two characters long.
|
||||
if(name.length() < 2)
|
||||
{
|
||||
@@ -4712,9 +4705,6 @@ bool SystemTools::ParseURL( const kwsys_
|
||||
unsigned int SystemToolsManagerCount;
|
||||
SystemToolsTranslationMap *SystemTools::TranslationMap;
|
||||
SystemToolsTranslationMap *SystemTools::LongPathMap;
|
||||
-#ifdef __CYGWIN__
|
||||
-SystemToolsTranslationMap *SystemTools::Cyg2Win32Map;
|
||||
-#endif
|
||||
|
||||
// SystemToolsManager manages the SystemTools singleton.
|
||||
// SystemToolsManager should be included in any translation unit
|
||||
@@ -4760,9 +4750,6 @@ void SystemTools::ClassInitialize()
|
||||
// Allocate the translation map first.
|
||||
SystemTools::TranslationMap = new SystemToolsTranslationMap;
|
||||
SystemTools::LongPathMap = new SystemToolsTranslationMap;
|
||||
-#ifdef __CYGWIN__
|
||||
- SystemTools::Cyg2Win32Map = new SystemToolsTranslationMap;
|
||||
-#endif
|
||||
|
||||
// Add some special translation paths for unix. These are not added
|
||||
// for windows because drive letters need to be maintained. Also,
|
||||
@@ -4817,9 +4804,6 @@ void SystemTools::ClassFinalize()
|
||||
{
|
||||
delete SystemTools::TranslationMap;
|
||||
delete SystemTools::LongPathMap;
|
||||
-#ifdef __CYGWIN__
|
||||
- delete SystemTools::Cyg2Win32Map;
|
||||
-#endif
|
||||
}
|
||||
|
||||
|
||||
--- cmake-2.8.10/Source/kwsys/SystemTools.hxx.in 2012-10-31 10:32:06.000000000 -0500
|
||||
+++ cmake-2.8.10/Source/kwsys/SystemTools.hxx.in 2013-03-16 23:10:30.185237900 -0500
|
||||
@@ -277,15 +277,6 @@ public:
|
||||
static bool FileExists(const char* filename);
|
||||
|
||||
/**
|
||||
- * Converts Cygwin path to Win32 path. Uses dictionary container for
|
||||
- * caching and calls to cygwin_conv_to_win32_path from Cygwin dll
|
||||
- * for actual translation. Returns true on success, else false.
|
||||
- */
|
||||
-#ifdef __CYGWIN__
|
||||
- static bool PathCygwinToWin32(const char *path, char *win32_path);
|
||||
-#endif
|
||||
-
|
||||
- /**
|
||||
* Return file length
|
||||
*/
|
||||
static unsigned long FileLength(const char *filename);
|
||||
@@ -887,9 +878,6 @@ private:
|
||||
*/
|
||||
static SystemToolsTranslationMap *TranslationMap;
|
||||
static SystemToolsTranslationMap *LongPathMap;
|
||||
-#ifdef __CYGWIN__
|
||||
- static SystemToolsTranslationMap *Cyg2Win32Map;
|
||||
-#endif
|
||||
friend class SystemToolsManager;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
{ stdenv, fetchurl, fetchpatch, replace, curl, expat, zlib, bzip2, libarchive
|
||||
, useNcurses ? false, ncurses, useQt4 ? false, qt4, wantPS ? false, ps ? null
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
assert wantPS -> (ps != null);
|
||||
|
||||
let
|
||||
os = stdenv.lib.optionalString;
|
||||
majorVersion = "2.8";
|
||||
minorVersion = "12.2";
|
||||
version = "${majorVersion}.${minorVersion}";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
|
||||
|
||||
inherit majorVersion;
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
|
||||
sha256 = "0phf295a9cby0v7zqdswr238v5aiy3rb2fs6dz39zjxbmzlp8rcc";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches =
|
||||
[(fetchpatch { # see http://www.cmake.org/Bug/view.php?id=13959
|
||||
name = "FindFreetype-2.5.patch";
|
||||
url = "http://www.cmake.org/Bug/file_download.php?file_id=4660&type=bug";
|
||||
sha256 = "136z63ff83hnwd247cq4m8m8164pklzyl5i2csf5h6wd8p01pdkj";
|
||||
})] ++
|
||||
# Don't search in non-Nix locations such as /usr, but do search in
|
||||
# Nixpkgs' Glibc.
|
||||
optional (stdenv ? glibc) ./search-path.patch ++
|
||||
optional (stdenv ? cross) (fetchurl {
|
||||
name = "fix-darwin-cross-compile.patch";
|
||||
url = "http://public.kitware.com/Bug/file_download.php?"
|
||||
+ "file_id=4981&type=bug";
|
||||
sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv";
|
||||
});
|
||||
|
||||
buildInputs = [ curl expat zlib bzip2 libarchive ]
|
||||
++ optional useNcurses ncurses
|
||||
++ optional useQt4 qt4;
|
||||
|
||||
propagatedBuildInputs = optional wantPS ps;
|
||||
|
||||
CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
|
||||
|
||||
configureFlags =
|
||||
"--docdir=/share/doc/${name} --mandir=/share/man --system-libs"
|
||||
+ stdenv.lib.optionalString useQt4 " --qt-gui";
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
preConfigure = optionalString (stdenv ? glibc)
|
||||
''
|
||||
source $setupHook
|
||||
fixCmakeFiles .
|
||||
substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.cmake.org/;
|
||||
description = "Cross-Platform Makefile Generator";
|
||||
platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
|
||||
maintainers = with stdenv.lib.maintainers; [ urkud mornfall ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,274 @@
|
||||
--- cmake-3.2.2/Source/cmFileCommand.cxx 2015-04-13 19:09:00.000000000 +0200
|
||||
+++ cmake-3.2.2/Source/ccmFileCommand.cxx 2015-06-10 11:02:27.345598700 +0200
|
||||
@@ -1179,7 +1179,7 @@
|
||||
MatchProperties CollectMatchProperties(const char* file)
|
||||
{
|
||||
// Match rules are case-insensitive on some platforms.
|
||||
-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
|
||||
+#if defined(_WIN32) || defined(__APPLE__)
|
||||
std::string lower = cmSystemTools::LowerCase(file);
|
||||
const char* file_to_match = lower.c_str();
|
||||
#else
|
||||
--- cmake-3.2.2/Source/cmInstallCommand.cxx 2015-04-13 19:09:00.000000000 +0200
|
||||
+++ cmake-3.2.2/Source/cmInstallCommand.cxx 2015-06-10 11:04:19.257935200 +0200
|
||||
@@ -1138,7 +1138,7 @@
|
||||
{
|
||||
literal_args += " REGEX \"";
|
||||
// Match rules are case-insensitive on some platforms.
|
||||
-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
|
||||
+#if defined(_WIN32) || defined(__APPLE__)
|
||||
std::string regex = cmSystemTools::LowerCase(args[i]);
|
||||
#else
|
||||
std::string regex = args[i];
|
||||
--- cmake-3.2.2/Source/kwsys/Glob.cxx 2015-04-13 19:09:00.000000000 +0200
|
||||
+++ cmake-3.2.2/Source/kwsys/Glob.cxx 2015-06-10 11:05:51.602674000 +0200
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <string.h>
|
||||
namespace KWSYS_NAMESPACE
|
||||
{
|
||||
-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
|
||||
+#if defined(_WIN32) || defined(__APPLE__)
|
||||
// On Windows and apple, no difference between lower and upper case
|
||||
# define KWSYS_GLOB_CASE_INDEPENDENT
|
||||
#endif
|
||||
--- cmake-3.2.2/Source/kwsys/SystemInformation.cxx 2015-04-13 19:09:00.000000000 +0200
|
||||
+++ cmake-3.2.2/Source/kwsys/SystemInformation.cxx 2015-06-10 11:13:00.308303500 +0200
|
||||
@@ -911,7 +911,7 @@
|
||||
// Hide implementation details in an anonymous namespace.
|
||||
namespace {
|
||||
// *****************************************************************************
|
||||
-#if defined(__linux) || defined(__APPLE__)
|
||||
+#if defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__)
|
||||
int LoadLines(
|
||||
FILE *file,
|
||||
kwsys_stl::vector<kwsys_stl::string> &lines)
|
||||
@@ -947,7 +947,7 @@
|
||||
return nRead;
|
||||
}
|
||||
|
||||
-# if defined(__linux)
|
||||
+# if defined(__linux) || defined(__CYGWIN__)
|
||||
// *****************************************************************************
|
||||
int LoadLines(
|
||||
const char *fileName,
|
||||
@@ -986,7 +986,7 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined(__linux)
|
||||
+#if defined(__linux) || defined(__CYGWIN__)
|
||||
// ****************************************************************************
|
||||
template<typename T>
|
||||
int GetFieldsFromFile(
|
||||
@@ -3132,7 +3132,6 @@
|
||||
pos = buffer.find("processor\t",pos+1);
|
||||
}
|
||||
|
||||
-#ifdef __linux
|
||||
// Find the largest physical id.
|
||||
int maxId = -1;
|
||||
kwsys_stl::string idc =
|
||||
@@ -3165,14 +3164,6 @@
|
||||
atoi(this->ExtractValueFromCpuInfoFile(buffer,"ncpus active").c_str());
|
||||
}
|
||||
|
||||
-#else // __CYGWIN__
|
||||
- // does not have "physical id" entries, neither "cpu cores"
|
||||
- // this has to be fixed for hyper-threading.
|
||||
- kwsys_stl::string cpucount =
|
||||
- this->ExtractValueFromCpuInfoFile(buffer,"cpu count");
|
||||
- this->NumberOfPhysicalCPU=
|
||||
- this->NumberOfLogicalCPU = atoi(cpucount.c_str());
|
||||
-#endif
|
||||
// gotta have one, and if this is 0 then we get a / by 0n
|
||||
// better to have a bad answer than a crash
|
||||
if(this->NumberOfPhysicalCPU <= 0)
|
||||
@@ -3370,7 +3361,7 @@
|
||||
GlobalMemoryStatusEx(&statex);
|
||||
return statex.ullTotalPhys/1024;
|
||||
# endif
|
||||
-#elif defined(__linux)
|
||||
+#elif defined(__linux) || defined(__CYGWIN__)
|
||||
SystemInformation::LongLong memTotal=0;
|
||||
int ierr=GetFieldFromFile("/proc/meminfo","MemTotal:",memTotal);
|
||||
if (ierr)
|
||||
@@ -3501,7 +3492,7 @@
|
||||
GlobalMemoryStatusEx(&statex);
|
||||
return (statex.ullTotalPhys - statex.ullAvailPhys)/1024;
|
||||
# endif
|
||||
-#elif defined(__linux)
|
||||
+#elif defined(__linux) || defined(__CYGWIN__)
|
||||
const char *names[3]={"MemTotal:","MemFree:",NULL};
|
||||
SystemInformation::LongLong values[2]={SystemInformation::LongLong(0)};
|
||||
int ierr=GetFieldsFromFile("/proc/meminfo",names,values);
|
||||
@@ -3560,7 +3551,7 @@
|
||||
return -2;
|
||||
}
|
||||
return pmc.WorkingSetSize/1024;
|
||||
-#elif defined(__linux)
|
||||
+#elif defined(__linux) || defined(__CYGWIN__)
|
||||
SystemInformation::LongLong memUsed=0;
|
||||
int ierr=GetFieldFromFile("/proc/self/status","VmRSS:",memUsed);
|
||||
if (ierr)
|
||||
@@ -3612,7 +3603,7 @@
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
return GetCurrentProcessId();
|
||||
-#elif defined(__linux) || defined(__APPLE__)
|
||||
+#elif defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__)
|
||||
return getpid();
|
||||
#else
|
||||
return -1;
|
||||
--- cmake-3.2.2/Source/kwsys/SystemTools.cxx 2015-04-13 19:09:00.000000000 +0200
|
||||
+++ cmake-3.2.2/Source/kwsys/SystemTools.cxx 2015-06-10 11:21:58.980443200 +0200
|
||||
@@ -93,19 +93,12 @@
|
||||
# if defined(_MSC_VER) && _MSC_VER >= 1800
|
||||
# define KWSYS_WINDOWS_DEPRECATED_GetVersionEx
|
||||
# endif
|
||||
-#elif defined (__CYGWIN__)
|
||||
-# include <windows.h>
|
||||
-# undef _WIN32
|
||||
#endif
|
||||
|
||||
#if !KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H
|
||||
extern char **environ;
|
||||
#endif
|
||||
|
||||
-#ifdef __CYGWIN__
|
||||
-# include <sys/cygwin.h>
|
||||
-#endif
|
||||
-
|
||||
// getpwnam doesn't exist on Windows and Cray Xt3/Catamount
|
||||
// same for TIOCGWINSZ
|
||||
#if defined(_WIN32) || defined (__LIBCATAMOUNT__)
|
||||
@@ -1148,15 +1141,7 @@
|
||||
{
|
||||
return false;
|
||||
}
|
||||
-#if defined(__CYGWIN__)
|
||||
- // Convert filename to native windows path if possible.
|
||||
- char winpath[MAX_PATH];
|
||||
- if(SystemTools::PathCygwinToWin32(filename.c_str(), winpath))
|
||||
- {
|
||||
- return (GetFileAttributesA(winpath) != INVALID_FILE_ATTRIBUTES);
|
||||
- }
|
||||
- return access(filename.c_str(), R_OK) == 0;
|
||||
-#elif defined(_WIN32)
|
||||
+#if defined(_WIN32)
|
||||
return (GetFileAttributesW(
|
||||
SystemTools::ConvertToWindowsExtendedPath(filename).c_str())
|
||||
!= INVALID_FILE_ATTRIBUTES);
|
||||
@@ -1190,28 +1175,6 @@
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
-#ifdef __CYGWIN__
|
||||
-bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path)
|
||||
-{
|
||||
- SystemToolsTranslationMap::iterator i =
|
||||
- SystemTools::Cyg2Win32Map->find(path);
|
||||
-
|
||||
- if (i != SystemTools::Cyg2Win32Map->end())
|
||||
- {
|
||||
- strncpy(win32_path, i->second.c_str(), MAX_PATH);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- if(cygwin_conv_path(CCP_POSIX_TO_WIN_A, path, win32_path, MAX_PATH) != 0)
|
||||
- {
|
||||
- win32_path[0] = 0;
|
||||
- }
|
||||
- SystemToolsTranslationMap::value_type entry(path, win32_path);
|
||||
- SystemTools::Cyg2Win32Map->insert(entry);
|
||||
- }
|
||||
- return win32_path[0] != 0;
|
||||
-}
|
||||
-#endif
|
||||
|
||||
bool SystemTools::Touch(const kwsys_stl::string& filename, bool create)
|
||||
{
|
||||
@@ -4307,7 +4270,7 @@
|
||||
|
||||
bool SystemTools::FileIsFullPath(const char* in_name, size_t len)
|
||||
{
|
||||
-#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
+#if defined(_WIN32)
|
||||
// On Windows, the name must be at least two characters long.
|
||||
if(len < 2)
|
||||
{
|
||||
@@ -5078,9 +5041,6 @@
|
||||
static unsigned int SystemToolsManagerCount;
|
||||
SystemToolsTranslationMap *SystemTools::TranslationMap;
|
||||
SystemToolsTranslationMap *SystemTools::LongPathMap;
|
||||
-#ifdef __CYGWIN__
|
||||
-SystemToolsTranslationMap *SystemTools::Cyg2Win32Map;
|
||||
-#endif
|
||||
|
||||
// SystemToolsManager manages the SystemTools singleton.
|
||||
// SystemToolsManager should be included in any translation unit
|
||||
@@ -5126,9 +5086,6 @@
|
||||
// Allocate the translation map first.
|
||||
SystemTools::TranslationMap = new SystemToolsTranslationMap;
|
||||
SystemTools::LongPathMap = new SystemToolsTranslationMap;
|
||||
-#ifdef __CYGWIN__
|
||||
- SystemTools::Cyg2Win32Map = new SystemToolsTranslationMap;
|
||||
-#endif
|
||||
|
||||
// Add some special translation paths for unix. These are not added
|
||||
// for windows because drive letters need to be maintained. Also,
|
||||
@@ -5183,9 +5140,6 @@
|
||||
{
|
||||
delete SystemTools::TranslationMap;
|
||||
delete SystemTools::LongPathMap;
|
||||
-#ifdef __CYGWIN__
|
||||
- delete SystemTools::Cyg2Win32Map;
|
||||
-#endif
|
||||
}
|
||||
|
||||
|
||||
--- cmake-3.2.2/Source/kwsys/SystemTools.hxx.in 2015-04-13 19:09:00.000000000 +0200
|
||||
+++ cmake-3.2.2/Source/kwsys/SystemTools.hxx.in 2015-06-10 11:24:24.271286600 +0200
|
||||
@@ -298,15 +298,6 @@
|
||||
static bool FileExists(const kwsys_stl::string& filename);
|
||||
|
||||
/**
|
||||
- * Converts Cygwin path to Win32 path. Uses dictionary container for
|
||||
- * caching and calls to cygwin_conv_to_win32_path from Cygwin dll
|
||||
- * for actual translation. Returns true on success, else false.
|
||||
- */
|
||||
-#ifdef __CYGWIN__
|
||||
- static bool PathCygwinToWin32(const char *path, char *win32_path);
|
||||
-#endif
|
||||
-
|
||||
- /**
|
||||
* Return file length
|
||||
*/
|
||||
static unsigned long FileLength(const kwsys_stl::string& filename);
|
||||
@@ -942,9 +933,6 @@
|
||||
*/
|
||||
static SystemToolsTranslationMap *TranslationMap;
|
||||
static SystemToolsTranslationMap *LongPathMap;
|
||||
-#ifdef __CYGWIN__
|
||||
- static SystemToolsTranslationMap *Cyg2Win32Map;
|
||||
-#endif
|
||||
friend class SystemToolsManager;
|
||||
};
|
||||
|
||||
--- cmake-3.2.2/Modules/FindCurses.cmake 2015-04-13 19:09:00.000000000 +0200
|
||||
+++ cmake-3.2.2/Modules/FindCurses.cmake 2015-06-10 12:10:19.682030300 +0200
|
||||
@@ -60,15 +60,6 @@
|
||||
if(CURSES_NCURSES_LIBRARY AND ((NOT CURSES_CURSES_LIBRARY) OR CURSES_NEED_NCURSES))
|
||||
set(CURSES_USE_NCURSES TRUE)
|
||||
endif()
|
||||
-# http://cygwin.com/ml/cygwin-announce/2010-01/msg00002.html
|
||||
-# cygwin ncurses stopped providing curses.h symlinks see above
|
||||
-# message. Cygwin is an ncurses package, so force ncurses on
|
||||
-# cygwin if the curses.h is missing
|
||||
-if(CYGWIN)
|
||||
- if(NOT EXISTS /usr/include/curses.h)
|
||||
- set(CURSES_USE_NCURSES TRUE)
|
||||
- endif()
|
||||
-endif()
|
||||
|
||||
|
||||
# Not sure the logic is correct here.
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, pkgconfig
|
||||
, bzip2, curl, expat, jsoncpp, libarchive, xz, zlib
|
||||
, bzip2, curl, expat, libarchive, xz, zlib
|
||||
, useNcurses ? false, ncurses, useQt4 ? false, qt4
|
||||
, wantPS ? false, ps ? null
|
||||
}:
|
||||
@@ -10,8 +10,8 @@ assert wantPS -> (ps != null);
|
||||
|
||||
let
|
||||
os = stdenv.lib.optionalString;
|
||||
majorVersion = "3.2";
|
||||
minorVersion = "1";
|
||||
majorVersion = "3.3";
|
||||
minorVersion = "2";
|
||||
version = "${majorVersion}.${minorVersion}";
|
||||
in
|
||||
|
||||
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
|
||||
sha256 = "0b2hy4p0aa9zshlxyw9nmlh5q8q1lmnwmb594rvh6sx2n7v1r7vm";
|
||||
sha256 = "08pwy9ip9cgwgynhn5vrjw8drw29gijy1rmziq22n65zds6ifnp7";
|
||||
};
|
||||
|
||||
patches =
|
||||
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||
url = "http://public.kitware.com/Bug/file_download.php?"
|
||||
+ "file_id=4981&type=bug";
|
||||
sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv";
|
||||
});
|
||||
}) ++ stdenv.lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch;
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
setOutputFlags = false;
|
||||
@@ -43,7 +43,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs =
|
||||
[ setupHook pkgconfig bzip2 curl expat libarchive xz zlib ]
|
||||
++ optional (jsoncpp != null) jsoncpp
|
||||
++ optional useNcurses ncurses
|
||||
++ optional useQt4 qt4;
|
||||
|
||||
@@ -58,11 +57,13 @@ stdenv.mkDerivation rec {
|
||||
--subst-var-by glibc_lib ${glibc.out or glibc}
|
||||
'';
|
||||
configureFlags =
|
||||
[
|
||||
"--system-libs"
|
||||
[ "--docdir=/share/doc/${name}"
|
||||
"--no-system-jsoncpp"
|
||||
]
|
||||
++ optional (jsoncpp == null) "--no-system-jsoncpp"
|
||||
++ optional useQt4 "--qt-gui";
|
||||
++ optional (!stdenv.isCygwin) "--system-libs"
|
||||
++ optional useQt4 "--qt-gui"
|
||||
++ ["--"]
|
||||
++ optional (!useNcurses) "-DBUILD_CursesDialog=OFF";
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
diff --git a/Modules/Platform/Linux.cmake b/Modules/Platform/Linux.cmake
|
||||
index fe8e003..378512c 100644
|
||||
--- a/Modules/Platform/Linux.cmake
|
||||
+++ b/Modules/Platform/Linux.cmake
|
||||
@@ -36,13 +36,13 @@ else()
|
||||
# checking the platform every time. This option is advanced enough
|
||||
# that only package maintainers should need to adjust it. They are
|
||||
# capable of providing a setting on the command line.
|
||||
- if(EXISTS "/etc/debian_version")
|
||||
- set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
|
||||
- "Install .so files without execute permission.")
|
||||
- else()
|
||||
+ # if(EXISTS "/etc/debian_version")
|
||||
+ # set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
|
||||
+ # "Install .so files without execute permission.")
|
||||
+ # else()
|
||||
set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
|
||||
"Install .so files without execute permission.")
|
||||
- endif()
|
||||
+ # endif()
|
||||
endif()
|
||||
|
||||
# Match multiarch library directory names.
|
||||
@@ -52,6 +52,6 @@ include(Platform/UnixPaths)
|
||||
|
||||
# Debian has lib64 paths only for compatibility so they should not be
|
||||
# searched.
|
||||
-if(EXISTS "/etc/debian_version")
|
||||
- set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
|
||||
-endif()
|
||||
+# if(EXISTS "/etc/debian_version")
|
||||
+# set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
|
||||
+#endif()
|
||||
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
|
||||
index ccb2663..39834e6 100644
|
||||
--- a/Modules/Platform/UnixPaths.cmake
|
||||
+++ b/Modules/Platform/UnixPaths.cmake
|
||||
@@ -33,55 +33,18 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
|
||||
# search types.
|
||||
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
|
||||
# Standard
|
||||
- /usr/local /usr /
|
||||
-
|
||||
- # CMake install location
|
||||
- "${_CMAKE_INSTALL_DIR}"
|
||||
-
|
||||
- # Project install destination.
|
||||
- "${CMAKE_INSTALL_PREFIX}"
|
||||
- )
|
||||
-
|
||||
-# List common include file locations not under the common prefixes.
|
||||
-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
|
||||
- # Windows API on Cygwin
|
||||
- /usr/include/w32api
|
||||
-
|
||||
- # X11
|
||||
- /usr/X11R6/include /usr/include/X11
|
||||
-
|
||||
- # Other
|
||||
- /usr/pkg/include
|
||||
- /opt/csw/include /opt/include
|
||||
- /usr/openwin/include
|
||||
- )
|
||||
-
|
||||
-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
|
||||
- # Windows API on Cygwin
|
||||
- /usr/lib/w32api
|
||||
-
|
||||
- # X11
|
||||
- /usr/X11R6/lib /usr/lib/X11
|
||||
-
|
||||
- # Other
|
||||
- /usr/pkg/lib
|
||||
- /opt/csw/lib /opt/lib
|
||||
- /usr/openwin/lib
|
||||
- )
|
||||
-
|
||||
-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
|
||||
- /usr/pkg/bin
|
||||
+ "@glibc@"
|
||||
)
|
||||
|
||||
list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
|
||||
- /lib /usr/lib /usr/lib32 /usr/lib64
|
||||
+ "@glibc@/lib"
|
||||
)
|
||||
|
||||
list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
|
||||
- /usr/include
|
||||
+ "@glibc@/include"
|
||||
)
|
||||
list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
|
||||
- /usr/include
|
||||
+ "@glibc@/include"
|
||||
)
|
||||
|
||||
# Enable use of lib64 search path variants by default.
|
||||
Reference in New Issue
Block a user