3
4
Fork 0
mirror of git://git.savannah.gnu.org/guix.git synced 2023-12-14 03:33:07 +01:00

gnu: Add clog.

* gnu/packages/parallel.scm (clog): New variable.
* gnu/packages/patches/clog-fix-shared-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
This commit is contained in:
Antero Mejr 2023-04-07 01:06:20 +00:00 committed by Nicolas Goaziou
parent 9d7ba42dbf
commit 2662f074a0
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D
3 changed files with 115 additions and 0 deletions

View file

@ -1002,6 +1002,7 @@ dist_patch_DATA = \
%D%/packages/patches/classpath-aarch64-support.patch \
%D%/packages/patches/classpath-miscompilation.patch \
%D%/packages/patches/cling-use-shared-library.patch \
%D%/packages/patches/clog-fix-shared-build.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/cmake-curl-certificates.patch \
%D%/packages/patches/cmake-curl-certificates-3.24.patch \

View file

@ -500,6 +500,35 @@ obtain information about the CPU being used: supported instruction set,
processor name, cache information, and topology information.")
(license license:bsd-2))))
(define-public clog
(package
(inherit cpuinfo) ;distributed with cpuinfo but not built by it
(name "clog")
(source (origin
(inherit (package-source cpuinfo))
(patches (search-patches "clog-fix-shared-build.patch"))))
(arguments
(list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "deps/clog"))))))
(native-inputs (list googletest))
(inputs '())
(synopsis "C-style logging library based on printf")
(description
"This package provides a C-style library for logging errors,
warnings, information notes, and debug information. Its features are:
@itemize
@item printf-style interface for formatting variadic parameters.
@item Separate functions for logging errors, warnings, information notes, and
debug information.
@item Independent logging settings for different modules.
@item Logging to logcat on Android and stderr/stdout on other platforms.
@item Compatible with C99 and C++.
@item Covered with unit tests.
@end itemize")))
(define-public psimd
;; There is currently no tag in this repo.
(let ((commit "072586a71b55b7f8c584153d223e95687148a900")

View file

@ -0,0 +1,85 @@
Author: Antero Mejr <antero@mailbox.org>
Notes: Disabled function visibility hacks and googletest download. Enabled
non-static builds.
diff --git a/deps/clog/CMakeLists.txt b/deps/clog/CMakeLists.txt
index 083f519..b7b225a 100644
--- a/deps/clog/CMakeLists.txt
+++ b/deps/clog/CMakeLists.txt
@@ -38,20 +38,8 @@ SET(CONFU_DEPENDENCIES_SOURCE_DIR ${CMAKE_SOURCE_DIR}/deps
SET(CONFU_DEPENDENCIES_BINARY_DIR ${CMAKE_BINARY_DIR}/deps
CACHE PATH "Confu-style dependencies binary directory")
-IF(CLOG_BUILD_TESTS)
- IF(NOT DEFINED GOOGLETEST_SOURCE_DIR)
- MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)")
- CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt")
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download")
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download")
- SET(GOOGLETEST_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest" CACHE STRING "Google Test source directory")
- ENDIF()
-ENDIF()
-
# ---[ clog library
-ADD_LIBRARY(clog STATIC src/clog.c)
+ADD_LIBRARY(clog src/clog.c)
SET_TARGET_PROPERTIES(clog PROPERTIES
C_STANDARD 99
C_EXTENSIONS NO)
@@ -74,16 +62,6 @@ INSTALL(TARGETS clog
# ---[ clog tests
IF(CLOG_BUILD_TESTS)
- # ---[ Build google test
- IF(NOT TARGET gtest)
- IF(MSVC AND NOT CLOG_RUNTIME_TYPE STREQUAL "static")
- SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
- ENDIF()
- ADD_SUBDIRECTORY(
- "${GOOGLETEST_SOURCE_DIR}"
- "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest")
- ENDIF()
-
ADD_EXECUTABLE(clog-test test/clog.cc)
SET_TARGET_PROPERTIES(clog-test PROPERTIES
CXX_STANDARD 11
diff --git a/deps/clog/include/clog.h b/deps/clog/include/clog.h
index 4143761..aa9000f 100644
--- a/deps/clog/include/clog.h
+++ b/deps/clog/include/clog.h
@@ -11,16 +11,6 @@
#define CLOG_INFO 4
#define CLOG_DEBUG 5
-#ifndef CLOG_VISIBILITY
- #if defined(__ELF__)
- #define CLOG_VISIBILITY __attribute__((__visibility__("internal")))
- #elif defined(__MACH__)
- #define CLOG_VISIBILITY __attribute__((__visibility__("hidden")))
- #else
- #define CLOG_VISIBILITY
- #endif
-#endif
-
#ifndef CLOG_ARGUMENTS_FORMAT
#if defined(__GNUC__)
#define CLOG_ARGUMENTS_FORMAT __attribute__((__format__(__printf__, 1, 2)))
@@ -33,11 +23,11 @@
extern "C" {
#endif
-CLOG_VISIBILITY void clog_vlog_debug(const char* module, const char* format, va_list args);
-CLOG_VISIBILITY void clog_vlog_info(const char* module, const char* format, va_list args);
-CLOG_VISIBILITY void clog_vlog_warning(const char* module, const char* format, va_list args);
-CLOG_VISIBILITY void clog_vlog_error(const char* module, const char* format, va_list args);
-CLOG_VISIBILITY void clog_vlog_fatal(const char* module, const char* format, va_list args);
+void clog_vlog_debug(const char* module, const char* format, va_list args);
+void clog_vlog_info(const char* module, const char* format, va_list args);
+void clog_vlog_warning(const char* module, const char* format, va_list args);
+void clog_vlog_error(const char* module, const char* format, va_list args);
+void clog_vlog_fatal(const char* module, const char* format, va_list args);
#define CLOG_DEFINE_LOG_DEBUG(log_debug_function_name, module, level) \
CLOG_ARGUMENTS_FORMAT \