summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2014-07-17 13:44:28 +0000
committerryoon <ryoon@pkgsrc.org>2014-07-17 13:44:28 +0000
commite3b1fca69b92e77cc3a86f68eadc69fb26a39f74 (patch)
treec2a2c3b75b936de267a522f7636ac73ca316d014
parentc03bd9f190870827519d0f09068199ab5905a9ef (diff)
downloadpkgsrc-e3b1fca69b92e77cc3a86f68eadc69fb26a39f74.tar.gz
Add SCO OpenServer 5.0.7/3.2 support. Fix build.
-rw-r--r--devel/cmake/distinfo5
-rw-r--r--devel/cmake/patches/patch-Modules_Platform_SCO__SV.cmake10
-rw-r--r--devel/cmake/patches/patch-Source_cmELF.cxx48
-rw-r--r--devel/cmake/patches/patch-Source_kwsys_SystemTools.cxx19
4 files changed, 81 insertions, 1 deletions
diff --git a/devel/cmake/distinfo b/devel/cmake/distinfo
index cc937398047..133a3531509 100644
--- a/devel/cmake/distinfo
+++ b/devel/cmake/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.58 2014/03/25 07:11:52 asau Exp $
+$NetBSD: distinfo,v 1.59 2014/07/17 13:44:28 ryoon Exp $
SHA1 (cmake-2.8.12.2.tar.gz) = cca70b307aa32a6a32c72e01fdfcecc84c1c2690
RMD160 (cmake-2.8.12.2.tar.gz) = ee92327c3870f3ae2ea997d0258b0ef141e90525
@@ -6,8 +6,11 @@ Size (cmake-2.8.12.2.tar.gz) = 6068231 bytes
SHA1 (patch-CMakeLists.txt) = a37825ad9d1704b9cb716a52148c637d26733898
SHA1 (patch-Modules_FindFreetype.cmake) = 7868ab96cadc011ccb16205382a3cbfa3d159f32
SHA1 (patch-Modules_FindX11.cmake) = e5c9f5fd382effb85ae75fe603de00e5e58d788a
+SHA1 (patch-Modules_Platform_SCO__SV.cmake) = 3ed230b3a06ea693812db8f57bc73aebec12b99f
SHA1 (patch-Modules_Platform_SunOS.cmake) = 7a53ae3c902dd69ee22ef9fe0ae2a022d5284f16
+SHA1 (patch-Source_cmELF.cxx) = da40cca878c400cbb3f1867b3a1e919c0183a68a
SHA1 (patch-Source_kwsys_SystemInformation.cxx) = 7bad025ea21164f8a4b835665bea87166a5c478c
+SHA1 (patch-Source_kwsys_SystemTools.cxx) = 8fb75a9afd7f9b0efa0ee3d8fc004853fc3d650d
SHA1 (patch-Utilities_KWIML_CMakeLists.txt) = 4e8cef0eab2ad8cb27cd7076e077bb5e7425a95c
SHA1 (patch-aa) = 97bfad3d2c357e9af01677ba86057b78f0661b9b
SHA1 (patch-ab) = aee3fb2f908aed1ce6e92b7c7ccf5b06f0596502
diff --git a/devel/cmake/patches/patch-Modules_Platform_SCO__SV.cmake b/devel/cmake/patches/patch-Modules_Platform_SCO__SV.cmake
new file mode 100644
index 00000000000..95269dc4d48
--- /dev/null
+++ b/devel/cmake/patches/patch-Modules_Platform_SCO__SV.cmake
@@ -0,0 +1,10 @@
+$NetBSD: patch-Modules_Platform_SCO__SV.cmake,v 1.1 2014/07/17 13:44:28 ryoon Exp $
+
+* so filename versioning requires CMAKE_SHARED_LIBRARY_SONAME_C_FLAG.
+
+--- Modules/Platform/SCO_SV.cmake.orig 2014-01-16 17:15:08.000000000 +0000
++++ Modules/Platform/SCO_SV.cmake
+@@ -1,2 +1,3 @@
+ set(CMAKE_DL_LIBS "")
++set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-h,")
+ include(Platform/UnixPaths)
diff --git a/devel/cmake/patches/patch-Source_cmELF.cxx b/devel/cmake/patches/patch-Source_cmELF.cxx
new file mode 100644
index 00000000000..58b414531a4
--- /dev/null
+++ b/devel/cmake/patches/patch-Source_cmELF.cxx
@@ -0,0 +1,48 @@
+$NetBSD: patch-Source_cmELF.cxx,v 1.1 2014/07/17 13:44:28 ryoon Exp $
+
+* SCO OpenServer 5.0.7/3.2 has not 64bit ELF support.
+
+--- Source/cmELF.cxx.orig 2014-01-16 17:15:08.000000000 +0000
++++ Source/cmELF.cxx
+@@ -28,6 +28,9 @@
+ #if defined(__sun)
+ # include <sys/link.h> // For dynamic section information
+ #endif
++#if defined(_SCO_DS)
++# include <link.h> // For DT_SONAME etc.
++#endif
+
+ //----------------------------------------------------------------------------
+ // Low-level byte swapping implementation.
+@@ -181,6 +184,8 @@ struct cmELFTypes32
+ };
+
+ // Configure the implementation template for 32-bit ELF files.
++#if !defined(_SCO_DS)
++// SCO OpenServer 5.0.7/3.2 has not 64bit ELF support.
+ struct cmELFTypes64
+ {
+ typedef Elf64_Ehdr ELF_Ehdr;
+@@ -189,6 +194,7 @@ struct cmELFTypes64
+ typedef Elf64_Half ELF_Half;
+ static const char* GetName() { return "64-bit"; }
+ };
++#endif
+
+ //----------------------------------------------------------------------------
+ // Parser implementation template.
+@@ -764,11 +770,14 @@ cmELF::cmELF(const char* fname): Interna
+ // 32-bit ELF
+ this->Internal = new cmELFInternalImpl<cmELFTypes32>(this, fin, order);
+ }
++#if !defined(_SCO_DS)
++// SCO OpenServer 5.0.7/3.2 has not 64bit ELF support.
+ else if(ident[EI_CLASS] == ELFCLASS64)
+ {
+ // 64-bit ELF
+ this->Internal = new cmELFInternalImpl<cmELFTypes64>(this, fin, order);
+ }
++#endif
+ else
+ {
+ this->ErrorMessage = "ELF file class is not 32-bit or 64-bit.";
diff --git a/devel/cmake/patches/patch-Source_kwsys_SystemTools.cxx b/devel/cmake/patches/patch-Source_kwsys_SystemTools.cxx
new file mode 100644
index 00000000000..7fe47f9b0c3
--- /dev/null
+++ b/devel/cmake/patches/patch-Source_kwsys_SystemTools.cxx
@@ -0,0 +1,19 @@
+$NetBSD: patch-Source_kwsys_SystemTools.cxx,v 1.1 2014/07/17 13:44:28 ryoon Exp $
+
+* SCO OpenServer 5.0.7/3.2's command has 711 permission.
+
+--- Source/kwsys/SystemTools.cxx.orig 2014-01-16 17:15:08.000000000 +0000
++++ Source/kwsys/SystemTools.cxx
+@@ -1071,7 +1071,12 @@ bool SystemTools::FileExists(const char*
+ #elif defined(_WIN32)
+ return WindowsFileExists(filename);
+ #else
++// SCO OpenServer 5.0.7/3.2's command has 711 permission.
++# if defined(_SCO_DS)
++ return access(filename, F_OK) == 0;
++# else
+ return access(filename, R_OK) == 0;
++# endif
+ #endif
+ }
+