changeset 2917:ebd2c9ba66c4

patch for compatibility with Cocoa on OS X
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 05 Nov 2018 12:30:16 +0100
parents c226799724bf
children 7791eac62572
files Resources/CMake/UuidConfiguration.cmake Resources/Patches/e2fsprogs-1.43.8-apple.patch
diffstat 2 files changed, 47 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/Resources/CMake/UuidConfiguration.cmake	Mon Nov 05 11:57:16 2018 +0100
+++ b/Resources/CMake/UuidConfiguration.cmake	Mon Nov 05 12:30:16 2018 +0100
@@ -5,8 +5,31 @@
     SET(E2FSPROGS_URL "http://www.orthanc-server.com/downloads/third-party/e2fsprogs-1.43.8.tar.gz")
     SET(E2FSPROGS_MD5 "670b7a74a8ead5333acf21b9afc92b3c")
 
+    if (IS_DIRECTORY "${E2FSPROGS_SOURCES_DIR}")
+      set(FirstRun OFF)
+    else()
+      set(FirstRun ON)
+    endif()
+
     DownloadPackage(${E2FSPROGS_MD5} ${E2FSPROGS_URL} "${E2FSPROGS_SOURCES_DIR}")
 
+    
+    ##
+    ## Patch for OS X, in order to be compatible with Cocoa (used in Stone)
+    ## 
+
+    execute_process(
+      COMMAND ${PATCH_EXECUTABLE} -p0 -N -i
+      ${ORTHANC_ROOT}/Resources/Patches/e2fsprogs-1.43.8-apple.patch
+      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+      RESULT_VARIABLE Failure
+      )
+
+    if (FirstRun AND Failure)
+      message(FATAL_ERROR "Error while patching a file")
+    endif()
+
+
     include_directories(
       BEFORE ${E2FSPROGS_SOURCES_DIR}/lib
       )
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/Patches/e2fsprogs-1.43.8-apple.patch	Mon Nov 05 12:30:16 2018 +0100
@@ -0,0 +1,24 @@
+diff -urEb e2fsprogs-1.43.8.orig/lib/uuid/uuid.h.in e2fsprogs-1.43.8/lib/uuid/uuid.h.in
+--- e2fsprogs-1.43.8.orig/lib/uuid/uuid.h.in	2018-01-02 05:52:58.000000000 +0100
++++ e2fsprogs-1.43.8/lib/uuid/uuid.h.in	2018-11-05 12:18:29.962235770 +0100
+@@ -35,6 +35,20 @@
+ #ifndef _UUID_UUID_H
+ #define _UUID_UUID_H
+ 
++
++#if defined(__APPLE__)
++// This patch defines the "uuid_string_t" type on OS X, which is
++// required if linking against Cocoa (this occurs in Stone of Orthanc)
++#include <sys/_types.h>
++#include <sys/_types/_uuid_t.h>
++
++#ifndef _UUID_STRING_T
++#define _UUID_STRING_T
++typedef __darwin_uuid_string_t  uuid_string_t;
++#endif /* _UUID_STRING_T */
++#endif
++
++
+ #include <sys/types.h>
+ #ifndef _WIN32
+ #include <sys/time.h>