diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/yder/fix-darwin.patch')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/yder/fix-darwin.patch | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/yder/fix-darwin.patch b/nixpkgs/pkgs/development/libraries/yder/fix-darwin.patch new file mode 100644 index 000000000000..dedde22d9271 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/yder/fix-darwin.patch @@ -0,0 +1,159 @@ +diff --git i/CMakeLists.txt w/CMakeLists.txt +index 036ab73..0bab8c7 100644 +--- i/CMakeLists.txt ++++ w/CMakeLists.txt +@@ -87,33 +87,6 @@ else() + set(DISABLE_JOURNALD ON) + endif () + +-# shared library +- +-add_library(yder SHARED ${LIB_SRC}) +-if (NOT MSVC) +- set_target_properties(yder PROPERTIES +- COMPILE_OPTIONS -Wextra +- PUBLIC_HEADER "${INC_DIR}/yder.h;${PROJECT_BINARY_DIR}/yder-cfg.h" +- VERSION "${LIBRARY_VERSION}" +- SOVERSION "${LIBRARY_SOVERSION}") +-endif() +-if (WIN32) +- set_target_properties(yder PROPERTIES SUFFIX "-${LIBRARY_VERSION_MAJOR}.dll") +-endif () +- +-target_link_libraries(yder ${LIBS} ${ORCANIA_LIBRARIES} ${SYSTEMD_LIBRARIES}) +- +-# static library +- +-option(BUILD_STATIC "Build static library." OFF) +- +-if (BUILD_STATIC) +- add_library(yder_static STATIC ${LIB_SRC}) +- target_compile_definitions(yder_static PUBLIC -DO_STATIC_LIBRARY) +- set_target_properties(yder_static PROPERTIES +- OUTPUT_NAME yder) +-endif () +- + option (SEARCH_ORCANIA "Search for Orcania library" ON) + if (SEARCH_ORCANIA) + set(Orcania_FIND_QUIETLY ON) # force to find Orcania quietly +@@ -145,6 +118,33 @@ else () + set(PKGCONF_REQ_PRIVATE "liborcania") + endif () + ++# shared library ++ ++add_library(yder SHARED ${LIB_SRC}) ++if (NOT MSVC) ++ set_target_properties(yder PROPERTIES ++ COMPILE_OPTIONS -Wextra ++ PUBLIC_HEADER "${INC_DIR}/yder.h;${PROJECT_BINARY_DIR}/yder-cfg.h" ++ VERSION "${LIBRARY_VERSION}" ++ SOVERSION "${LIBRARY_SOVERSION}") ++endif() ++if (WIN32) ++ set_target_properties(yder PROPERTIES SUFFIX "-${LIBRARY_VERSION_MAJOR}.dll") ++endif () ++ ++target_link_libraries(yder ${LIBS} ${ORCANIA_LIBRARIES} ${SYSTEMD_LIBRARIES}) ++ ++# static library ++ ++option(BUILD_STATIC "Build static library." OFF) ++ ++if (BUILD_STATIC) ++ add_library(yder_static STATIC ${LIB_SRC}) ++ target_compile_definitions(yder_static PUBLIC -DO_STATIC_LIBRARY) ++ set_target_properties(yder_static PROPERTIES ++ OUTPUT_NAME yder) ++endif () ++ + # build yder-cfg.h file + configure_file(${INC_DIR}/yder-cfg.h.in ${PROJECT_BINARY_DIR}/yder-cfg.h) + set (CMAKE_EXTRA_INCLUDE_FILES ${PROJECT_BINARY_DIR}) +@@ -168,10 +168,9 @@ if (BUILD_YDER_TESTING) + set(CMAKE_CTEST_COMMAND ctest -V) + + set(TST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/test) +- set(LIBS yder ${LIBS} ${CHECK_LIBRARIES}) + if (NOT WIN32) + find_package(Threads REQUIRED) +- set(LIBS ${LIBS} ${SUBUNIT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} m rt) ++ set(LIBS yder ${LIBS} ${SUBUNIT_LIBRARIES} ${ORCANIA_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${CHECK_LIBRARIES} m) + endif () + + set(TESTS yder_test) +@@ -186,7 +185,6 @@ if (BUILD_YDER_TESTING) + target_include_directories(${t} PUBLIC ${TST_DIR}) + target_link_libraries(${t} PUBLIC ${LIBS}) + add_test(NAME ${t} +- WORKING_DIRECTORY ${TST_DIR} + COMMAND ${t}) + endforeach () + endif () +diff --git i/src/yder.c w/src/yder.c +index 3122e3f..79e4e70 100644 +--- i/src/yder.c ++++ w/src/yder.c +@@ -236,11 +236,12 @@ static int y_write_log(const char * app_name, + if (cur_mode & Y_LOG_MODE_SYSLOG) { + y_write_log_syslog(cur_app_name, level, message); + } +- #ifndef Y_DISABLE_JOURNALD ++#endif ++ ++#if !defined(_WIN32) && !defined(Y_DISABLE_JOURNALD) + if (cur_mode & Y_LOG_MODE_JOURNALD) { + y_write_log_journald(cur_app_name, level, message); + } +- #endif + #endif + if (cur_mode & Y_LOG_MODE_FILE) { + y_write_log_file(cur_app_name, now, cur_log_file, level, message); +@@ -266,18 +267,20 @@ static int y_write_log(const char * app_name, + */ + int y_init_logs(const char * app, const unsigned long init_mode, const unsigned long init_level, const char * init_log_file, const char * message) { + #ifdef _WIN32 +- if (init_mode & Y_LOG_MODE_SYSLOG) { +- perror("syslog mode not supported on your architecture"); +- return 0; +- } else if (init_mode & Y_LOG_MODE_JOURNALD) { +- perror("journald mode not supported on your architecture"); +- return 0; +- } else { +- return y_write_log(app, init_mode, init_level, init_log_file, NULL, NULL, Y_LOG_LEVEL_INFO, message); +- } +-#else +- return y_write_log(app, init_mode, init_level, init_log_file, NULL, NULL, Y_LOG_LEVEL_INFO, message); ++ if (init_mode & Y_LOG_MODE_SYSLOG) { ++ perror("syslog mode not supported on your architecture"); ++ return 0; ++ } + #endif ++ ++#if defined(_WIN32) || defined(Y_DISABLE_JOURNALD) ++ if (init_mode & Y_LOG_MODE_JOURNALD) { ++ perror("journald mode not supported on your architecture"); ++ return 0; ++ } ++#endif ++ ++ return y_write_log(app, init_mode, init_level, init_log_file, NULL, NULL, Y_LOG_LEVEL_INFO, message); + } + + /** +diff --git i/test/yder_test.c w/test/yder_test.c +index a10fd9f..b73fb16 100644 +--- i/test/yder_test.c ++++ w/test/yder_test.c +@@ -27,7 +27,11 @@ START_TEST(test_yder_init) + y_close_logs(); + ck_assert_int_eq(y_init_logs("test_yder_syslog", Y_LOG_MODE_SYSLOG, Y_LOG_LEVEL_DEBUG, NULL, "third test"), 1); + y_close_logs(); ++#ifndef Y_DISABLE_JOURNALD + ck_assert_int_eq(y_init_logs("test_yder_journald", Y_LOG_MODE_JOURNALD, Y_LOG_LEVEL_DEBUG, NULL, "fourth test"), 1); ++#else ++ ck_assert_int_eq(y_init_logs("test_yder_journald", Y_LOG_MODE_JOURNALD, Y_LOG_LEVEL_DEBUG, NULL, "fourth test"), 0); ++#endif + y_close_logs(); + ck_assert_int_eq(y_init_logs("test_yder_file_fail", Y_LOG_MODE_FILE, Y_LOG_LEVEL_DEBUG, "/nope/nope", "second test"), 0); + } |