From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id aKY2EMxsL2RUkAAASxT56A (envelope-from ) for ; Fri, 07 Apr 2023 03:07:24 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id +NEWEMxsL2RJzwAA9RJhRA (envelope-from ) for ; Fri, 07 Apr 2023 03:07:24 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A858C25F3A for ; Fri, 7 Apr 2023 03:07:23 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pkaZF-0007re-B6; Thu, 06 Apr 2023 21:07:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pkaZD-0007rU-Ll for guix-patches@gnu.org; Thu, 06 Apr 2023 21:07:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pkaZC-0001Wh-Ri for guix-patches@gnu.org; Thu, 06 Apr 2023 21:07:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pkaZC-0005lD-7F for guix-patches@gnu.org; Thu, 06 Apr 2023 21:07:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62705] [PATCH] gnu: Add clog. Resent-From: Antero Mejr Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 07 Apr 2023 01:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 62705 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62705@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.168082960222116 (code B ref -1); Fri, 07 Apr 2023 01:07:01 +0000 Received: (at submit) by debbugs.gnu.org; 7 Apr 2023 01:06:42 +0000 Received: from localhost ([127.0.0.1]:55405 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pkaYr-0005ke-M8 for submit@debbugs.gnu.org; Thu, 06 Apr 2023 21:06:42 -0400 Received: from lists.gnu.org ([209.51.188.17]:36682) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pkaYn-0005kT-Oj for submit@debbugs.gnu.org; Thu, 06 Apr 2023 21:06:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pkaYn-0007og-Hy for guix-patches@gnu.org; Thu, 06 Apr 2023 21:06:37 -0400 Received: from mout-p-101.mailbox.org ([80.241.56.151]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1pkaYk-0001N8-MI for guix-patches@gnu.org; Thu, 06 Apr 2023 21:06:37 -0400 Received: from smtp102.mailbox.org (unknown [10.196.197.102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4Pt0Yw11Tkz9sb8 for ; Fri, 7 Apr 2023 03:06:28 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org; s=mail20150812; t=1680829588; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=bOEcSw/CBQ2mtMZqNWWvLw/VLDt36/fmyjR+X9uiQpc=; b=OkG4v7MrCO8/Az8RakST0pgonVCv4Mg2hEEU9IA7GC2XHGTaZOgK3KB9NEhfVX/Kdn9ZJK PSZzONNHqNoA9pBbvPGahypxv4mA5RKOfld5DMeWWM/5Z3e+eHVfwk0P4KHaBMdvxVJ8SL bpHMZTnbHuOWIf48EVe9cqjVQXbzihi5sexiqY2UGK6+iykViLVh2xguYzUcxhBrCW4cQz e6IBrqcgf1SAbZ5YyeijVeNlXhpT93Gk7jZsddsCh5ZRb2S5KjVFECJjzC2EsCp5wycdcb RtS0GtRkL35rUJW+pDv6c5esY7w7drqCvCHaFkP7lw7IPF7KLgsgTputrK+Z9A== Date: Fri, 7 Apr 2023 01:06:20 +0000 Message-Id: <20230407010620.13291-1-antero@mailbox.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-MBO-RS-META: cjdad88adnc7iex3fecs5pw1qswy86se X-MBO-RS-ID: 13e1ba257445953d888 Received-SPF: pass client-ip=80.241.56.151; envelope-from=antero@mailbox.org; helo=mout-p-101.mailbox.org X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Antero Mejr X-ACL-Warn: , Antero Mejr via Guix-patches From: Antero Mejr via Guix-patches via Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1680829644; a=rsa-sha256; cv=none; b=VYViN/wB+ShXwuSBb7db2mA4oTR7XVl7ZvBNK388qHo0mMSpGx9zy1Cd4Wz9/oyre5Hol7 9ZtdoewTeGzNdQA7MbIBsoAcJeU08ZuLJTtMf0vUXXW/yaCNVS9rgkQZHvo2g2Y9uOeptS LSzilGxrCa6iT2jD1zPiRYeOrto4Uvj5kLsdyyF0JPTkcX3rJk4LXfaCUPw/3IY5gnwi4W nzT8F/wMrfaagF6cFfHfzIVTx2gPr6yZylsq1f+YZSVZ8TYa3cjoVuoQZsh4AwV+7cGFG6 s48nHg2NCAU+wGmMFDKdYqebDqGREUrUcGahoEbsInfANHXQ0AhYPpX1+6r+Yg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=mailbox.org header.s=mail20150812 header.b=OkG4v7Mr; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1680829644; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=bOEcSw/CBQ2mtMZqNWWvLw/VLDt36/fmyjR+X9uiQpc=; b=LsM47tjhIfCtwbZgaBGcEFwZ6+/oytrVuXwL6fA2QMaSvOn0JSUrZUe3g4UqLR96IGECaG rdZZGT11pymYZpK8iIcWc6ZPVb7G4/PIvu7heGmWdFy18o7u+/xcvGNThS8YLENBB5/MQQ nKLiPDX0920vnq0WonORWZWTjXfEGhQi8XvU7tZgdRcCaoJqHI0J/eaQq4Ej+hnDpJBK0C QXIfhZKmqNR/cVVvHF3YrrAAwrb6/SAJq6PLbxKJmh0EgPsJx1KrwtIVce0OYOfnjwrSvN qFqnV0xK9arOQFkvs2Lp6TTgxg14z28rLu/m/VEKMT3GKS2JgTOBIyAXqncvlQ== X-Migadu-Spam-Score: -3.52 X-Migadu-Scanner: scn1.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=mailbox.org header.s=mail20150812 header.b=OkG4v7Mr; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Spam-Score: -3.52 X-Migadu-Queue-Id: A858C25F3A X-TUID: efvo3WzoV4ck * 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. --- Putting clog in parallel.scm (next to cpuinfo) because putting it in logging.scm causes a circular dependency. Plus it's part of cpuinfo. gnu/local.mk | 1 + gnu/packages/parallel.scm | 29 +++++++ .../patches/clog-fix-shared-build.patch | 85 +++++++++++++++++++ 3 files changed, 115 insertions(+) create mode 100644 gnu/packages/patches/clog-fix-shared-build.patch diff --git a/gnu/local.mk b/gnu/local.mk index b7e19b6bc2..10778d6585 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1001,6 +1001,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 \ diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 3c638e4ff9..9a22774789 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -490,6 +490,35 @@ (define-public cpuinfo 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") diff --git a/gnu/packages/patches/clog-fix-shared-build.patch b/gnu/packages/patches/clog-fix-shared-build.patch new file mode 100644 index 0000000000..bf80544b90 --- /dev/null +++ b/gnu/packages/patches/clog-fix-shared-build.patch @@ -0,0 +1,85 @@ +Author: Antero Mejr +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 \ -- 2.38.1