Index: head/graphics/sekrit-twc-zimg/Makefile =================================================================== --- head/graphics/sekrit-twc-zimg/Makefile (revision 432338) +++ head/graphics/sekrit-twc-zimg/Makefile (revision 432339) @@ -1,60 +1,62 @@ # $FreeBSD$ PORTNAME= zimg -PORTVERSION= 2.3 +PORTVERSION= 2.4 DISTVERSIONPREFIX= release- CATEGORIES= graphics PKGNAMEPREFIX= ${GH_ACCOUNT}- MAINTAINER= jbeich@FreeBSD.org COMMENT= Scaling, colorspace conversion, and dithering library LICENSE= WTFPL2 LICENSE_NAME= Do What The Fuck You Want To Public License version 2 LICENSE_FILE= ${WRKSRC}/COPYING LICENSE_PERMS= ${_LICENSE_PERMS_DEFAULT} USE_GITHUB= yes GH_ACCOUNT= sekrit-twc CONFLICTS_INSTALL= zimg-[0-9]* # include/zimg.h USES= autoreconf compiler:c++11-lib gmake libtool pathfix EXTRACT_AFTER_ARGS= --exclude test/extra +EXTRA_PATCHES+= ${EXTRA_PATCHES_${OPSYS}_${OSREL}} +EXTRA_PATCHES_FreeBSD_10.3= ${PATCHDIR}/extra-patch-src_zimg_api_zimg.cpp GNU_CONFIGURE= yes CPPFLAGS+= -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 \ -D_DECLARE_C99_LDBL_MATH # XXX ports/193528 CPPFLAGS+= ${CPPFLAGS_${CHOSEN_COMPILER_TYPE}_${COMPILER_VERSION}} CPPFLAGS_clang_34= -include x86intrin.h # revert 575bd93 INSTALL_TARGET= install-strip USE_LDCONFIG= yes PORTEXAMPLES= * OPTIONS_DEFINE= EXAMPLES TEST OPTIONS_DEFINE_amd64= SIMD OPTIONS_DEFINE_i386= SIMD OPTIONS_DEFAULT_amd64= SIMD OPTIONS_DEFAULT_i386= SIMD # runtime detection EXAMPLES_CONFIGURE_ENABLE= example EXAMPLES_MAKE_ARGS= exampledir="${EXAMPLESDIR}" EXAMPLES_MAKE_ARGS_OFF= dist_example_DATA= dist_examplemisc_DATA= SIMD_CONFIGURE_ENABLE= x86simd TEST_BUILD_DEPENDS= googletest>=1.6.0:devel/googletest TEST_USES= localbase TEST_CONFIGURE_ENABLE= unit-test TEST_TEST_TARGET= check VERBOSE=1 post-patch: @${REINPLACE_CMD} -e 's/x86_64/&|amd64/g' \ ${WRKSRC}/configure.ac @${REINPLACE_CMD} -e 's/-O2 //' \ -e '/dist_doc_DATA/d' \ ${WRKSRC}/Makefile.am pre-install-TEST-on: do-test .include Index: head/graphics/sekrit-twc-zimg/distinfo =================================================================== --- head/graphics/sekrit-twc-zimg/distinfo (revision 432338) +++ head/graphics/sekrit-twc-zimg/distinfo (revision 432339) @@ -1,3 +1,3 @@ -TIMESTAMP = 1475114874 -SHA256 (sekrit-twc-zimg-release-2.3_GH0.tar.gz) = 09962385f986dbcfd8ed6160cdafc2bc57bef8c6bfb3ca3a4bcaa482f09c06fa -SIZE (sekrit-twc-zimg-release-2.3_GH0.tar.gz) = 188682 +TIMESTAMP = 1485025143 +SHA256 (sekrit-twc-zimg-release-2.4_GH0.tar.gz) = 996ea0e446df6ff4d6cb9c04a77d60978eca47c32d3785cd63fe8c29a9523d1f +SIZE (sekrit-twc-zimg-release-2.4_GH0.tar.gz) = 193791 Index: head/graphics/sekrit-twc-zimg/files/extra-patch-src_zimg_api_zimg.cpp =================================================================== --- head/graphics/sekrit-twc-zimg/files/extra-patch-src_zimg_api_zimg.cpp (nonexistent) +++ head/graphics/sekrit-twc-zimg/files/extra-patch-src_zimg_api_zimg.cpp (revision 432339) @@ -0,0 +1,62 @@ +FreeBSD 10.3 lacks __cxa_thread_atexit, so revert +https://github.com/sekrit-twc/zimg/commit/7e47d8d2a892 + +--- src/zimg/api/zimg.cpp.orig 2017-01-21 18:59:03 UTC ++++ src/zimg/api/zimg.cpp +@@ -1,6 +1,5 @@ + #include + #include +-#include + #include + #include + #include +@@ -31,7 +30,7 @@ constexpr unsigned API_VERSION_2_2 = ZIM + #define STRIDE_ALIGNMENT_ASSERT(x) zassert_d(!(x) || (x) % zimg::ALIGNMENT == 0, "buffer stride not aligned") + + thread_local zimg_error_code_e g_last_error = ZIMG_ERROR_SUCCESS; +-thread_local std::string g_last_error_msg; ++thread_local char g_last_error_msg[1024]; + + constexpr unsigned VERSION_INFO[] = { 2, 4, 0 }; + +@@ -43,19 +42,10 @@ T *assert_dynamic_type(U *ptr) noexcept + return static_cast(ptr); + } + +-void clear_last_error_message() noexcept +-{ +- g_last_error_msg.clear(); +- g_last_error_msg.shrink_to_fit(); +-} +- + void record_exception_message(const zimg::error::Exception &e) noexcept + { +- try { +- g_last_error_msg = e.what(); +- } catch (const std::bad_alloc &) { +- clear_last_error_message(); +- } ++ strncpy(g_last_error_msg, e.what(), sizeof(g_last_error_msg) - 1); ++ g_last_error_msg[sizeof(g_last_error_msg) - 1] = '\0'; + } + + zimg_error_code_e handle_exception(std::exception_ptr eptr) noexcept +@@ -438,7 +428,7 @@ unsigned zimg_get_api_version(unsigned * + zimg_error_code_e zimg_get_last_error(char *err_msg, size_t n) + { + if (err_msg && n) { +- std::strncpy(err_msg, g_last_error_msg.c_str(), n); ++ strncpy(err_msg, g_last_error_msg, n); + err_msg[n - 1] = '\0'; + } + +@@ -447,8 +437,8 @@ zimg_error_code_e zimg_get_last_error(ch + + void zimg_clear_last_error(void) + { ++ g_last_error_msg[0] = '\0'; + g_last_error = ZIMG_ERROR_SUCCESS; +- clear_last_error_message(); + } + + unsigned zimg_select_buffer_mask(unsigned count) Property changes on: head/graphics/sekrit-twc-zimg/files/extra-patch-src_zimg_api_zimg.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/graphics/sekrit-twc-zimg/files/patch-test_resize_resize__impl__test.cpp =================================================================== --- head/graphics/sekrit-twc-zimg/files/patch-test_resize_resize__impl__test.cpp (revision 432338) +++ head/graphics/sekrit-twc-zimg/files/patch-test_resize_resize__impl__test.cpp (revision 432339) @@ -1,36 +1,36 @@ test/resize/resize_impl_test.cpp:37:3: error: no matching conversion for functional-style cast from 'std::__1::unique_ptr >' to '::testing::AssertionResult' ASSERT_TRUE(filter); ^~~~~~~~~~~~~~~~~~~ /usr/local/include/gtest/gtest.h:1921:3: note: expanded from macro 'ASSERT_TRUE' GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtest/internal/gtest-internal.h:1111:7: note: expanded from macro 'GTEST_TEST_BOOLEAN_' ::testing::AssertionResult(expression)) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtest/gtest.h:260:3: note: candidate constructor not viable: no known conversion from 'std::__1::unique_ptr >' to 'const testing::AssertionResult' for 1st argument AssertionResult(const AssertionResult& other); ^ /usr/local/include/gtest/gtest.h:262:12: note: candidate constructor not viable: no known conversion from 'std::__1::unique_ptr >' to 'bool' for 1st argument explicit AssertionResult(bool success) : success_(success) {} ^ 1 error generated. ---- test/resize/resize_impl_test.cpp.orig 2016-01-22 18:12:28 UTC +--- test/resize/resize_impl_test.cpp.orig 2017-01-21 18:59:03 UTC +++ test/resize/resize_impl_test.cpp -@@ -34,7 +34,7 @@ void test_case(const zimg::PixelFormat & - set_shift(shift). - set_subwidth(subwidth_factor * (horizontal ? src_w : src_h)).create(); +@@ -35,7 +35,7 @@ void test_case(const zimg::PixelFormat & + .set_subwidth(subwidth_factor * (horizontal ? src_w : src_h)) + .create(); - ASSERT_TRUE(filter); + ASSERT_TRUE(static_cast(filter)); validate_filter(filter.get(), src_w, src_h, format, expected_sha1[sha1_idx++]); } }