openimageio: link against libnetwork.

fix infinite loop in strutil.
This commit is contained in:
Jerome Duval
2019-11-07 21:40:42 +01:00
parent 03001dabf7
commit 3e94e5751b
2 changed files with 88 additions and 5 deletions

View File

@@ -8,7 +8,7 @@ world, and is also incorporated into several commercial products."
HOMEPAGE="https://github.com/OpenImageIO/"
COPYRIGHT="2008-2019 Larry Gritz et al."
LICENSE="BSD (3-clause)"
REVISION="1"
REVISION="2"
SOURCE_URI="$HOMEPAGE/oiio/archive/Release-$portVersion.tar.gz"
CHECKSUM_SHA256="930a142c9cabbbc3b249577083c97e9f0407cc8cbf933144f3a3ed0f3ec9cfe0"
SOURCE_FILENAME="openimageio-$portVersion.tar.gz"
@@ -130,3 +130,9 @@ INSTALL()
packageEntries devel \
$developDir
}
TEST()
{
cd build
make test
}

View File

@@ -1,9 +1,36 @@
From 7b71ab34d25bda3c95fd91774ef520930c8e4fba Mon Sep 17 00:00:00 2001
From 5a64a6b23447c2c548578e014cc126c5292eea7b Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sun, 7 Jun 2015 22:05:26 +0000
Subject: Haiku patch
diff --git a/src/cmake/compiler.cmake b/src/cmake/compiler.cmake
index fb0b43a..b7b840c 100644
--- a/src/cmake/compiler.cmake
+++ b/src/cmake/compiler.cmake
@@ -400,6 +400,9 @@ else ()
add_definitions (-DBOOST_ALL_DYN_LINK)
add_definitions (-DOPENEXR_DLL)
endif ()
+ if (HAIKU)
+ set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
+ endif ()
endif ()
if (DEFINED ENV{TRAVIS} OR DEFINED ENV{APPVEYOR} OR DEFINED ENV{CI})
diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt
index e3e673a..bf167d8 100644
--- a/src/libOpenImageIO/CMakeLists.txt
+++ b/src/libOpenImageIO/CMakeLists.txt
@@ -164,6 +164,8 @@ if (MSVC)
target_link_libraries (OpenImageIO psapi.lib)
elseif(MINGW)
target_link_libraries (OpenImageIO psapi ws2_32)
+elseif (HAIKU)
+ target_link_libraries (OpenImageIO network)
endif ()
if (VISIBILITY_MAP_FILE)
diff --git a/src/libutil/farmhash.cpp b/src/libutil/farmhash.cpp
index 9b50f14..af7bf4b 100644
--- a/src/libutil/farmhash.cpp
@@ -83,10 +110,10 @@ index dacdc2e..4918389 100644
ifeq (${uname},cygwin)
platform := windows
--
2.23.0
2.21.0
From a93e85695c6796a11553a712030c7bb277dd40eb Mon Sep 17 00:00:00 2001
From 4208089ae2fb0924fda1ec1d6f82510231f7a01b Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 6 Nov 2019 23:18:49 +0100
Subject: tiff uses uint32 instead of uint32_t
@@ -116,5 +143,55 @@ index 416ebfa..205f6a4 100644
OIIO_PLUGIN_NAMESPACE_BEGIN
--
2.23.0
2.21.0
From adfc822a9a5053a8feeeea4457c1506c964ae419 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 7 Nov 2019 21:30:03 +0100
Subject: strutil: specify the global namespace for strtof and strtod calls.
diff --git a/src/libutil/strutil.cpp b/src/libutil/strutil.cpp
index cf7b9c6..2277a0d 100644
--- a/src/libutil/strutil.cpp
+++ b/src/libutil/strutil.cpp
@@ -1238,7 +1238,7 @@ Strutil::strtof(const char* nptr, char** endptr)
= std::use_facet<std::numpunct<char>>(native).decimal_point();
// If the native locale uses decimal, just directly use strtof.
if (nativepoint == '.')
- return strtof(nptr, endptr);
+ return ::strtof(nptr, endptr);
// Complex case -- CHEAT by making a copy of the string and replacing
// the decimal, then use system strtof!
std::string s(nptr);
@@ -1251,7 +1251,7 @@ Strutil::strtof(const char* nptr, char** endptr)
return d;
}
// No decimal point at all -- use regular strtof
- return strtof(s.c_str(), endptr);
+ return ::strtof(s.c_str(), endptr);
#endif
}
@@ -1276,7 +1276,7 @@ Strutil::strtod(const char* nptr, char** endptr)
= std::use_facet<std::numpunct<char>>(native).decimal_point();
// If the native locale uses decimal, just directly use strtod.
if (nativepoint == '.')
- return strtod(nptr, endptr);
+ return ::strtod(nptr, endptr);
// Complex case -- CHEAT by making a copy of the string and replacing
// the decimal, then use system strtod!
std::string s(nptr);
@@ -1289,7 +1289,7 @@ Strutil::strtod(const char* nptr, char** endptr)
return d;
}
// No decimal point at all -- use regular strtod
- return strtod(s.c_str(), endptr);
+ return ::strtod(s.c_str(), endptr);
#endif
}
--
2.21.0