# HG changeset patch # User Franz Glasner # Date 1742370697 -3600 # Node ID b3adf5848e4cf06887f13d249d0576143f8d1255 # Parent e38a6e16e756bd718b7759a4601fd9dff9935207# Parent b25a1823eec3b6455b534a86c46d0dff3ffce281 MERGE: the moved libpromhttp diff -r e38a6e16e756 -r b3adf5848e4c prometheus-client-c-libpromhttp/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prometheus-client-c-libpromhttp/Makefile Wed Mar 19 08:51:37 2025 +0100 @@ -0,0 +1,30 @@ +PORTNAME= prometheus-client-c-libpromhttp +DISTVERSION= 0.1.3 +CATEGORIES= net-mgmt + +MAINTAINER= freebsd-dev@dom66.de +COMMENT= This is libpromhttp -- a C-client library for Prometheus +WWW= https://github.com/digitalocean/prometheus-client-c + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= cmake:noninja compiler:c11 + +USE_GITHUB= yes +GH_ACCOUNT= digitalocean +GH_PROJECT= prometheus-client-c +GH_TAGNAME= v${DISTVERSION} + +LIB_DEPENDS= libprom.so:net-mgmt/prometheus-client-c-libprom \ + libmicrohttpd.so:www/libmicrohttpd + +USE_LDCONFIG= yes + +CMAKE_SOURCE_PATH= ${WRKSRC}/promhttp + +do-install: + (cd ${CMAKE_SOURCE_PATH}/include && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include) + ${INSTALL_LIB} ${BUILD_WRKSRC}/libpromhttp.so ${STAGEDIR}${PREFIX}/lib/libpromhttp.so + +.include diff -r e38a6e16e756 -r b3adf5848e4c prometheus-client-c-libpromhttp/distinfo --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prometheus-client-c-libpromhttp/distinfo Wed Mar 19 08:51:37 2025 +0100 @@ -0,0 +1,3 @@ +TIMESTAMP = 1742306323 +SHA256 (digitalocean-prometheus-client-c-0.1.3-v0.1.3_GH0.tar.gz) = 3a82e302a5bdbbd5f699cf21bee97217c0386b5076d878cab724d5f672ef5092 +SIZE (digitalocean-prometheus-client-c-0.1.3-v0.1.3_GH0.tar.gz) = 1038300 diff -r e38a6e16e756 -r b3adf5848e4c prometheus-client-c-libpromhttp/files/patch-promhttp_CMakeLists.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prometheus-client-c-libpromhttp/files/patch-promhttp_CMakeLists.txt Wed Mar 19 08:51:37 2025 +0100 @@ -0,0 +1,31 @@ +--- promhttp/CMakeLists.txt.orig 2020-12-08 07:38:13 UTC ++++ promhttp/CMakeLists.txt +@@ -38,7 +38,7 @@ set(private_files ${private_dir}/promhttp.c) + set(public_files ${public_dir}/promhttp.h) + set(private_files ${private_dir}/promhttp.c) + +-link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../prom/build) ++link_directories(/usr/local/lib) + + include(FindThreads) + +@@ -46,7 +46,7 @@ target_include_directories( + + target_include_directories( + promhttp +- PUBLIC ${public_dir} /usr/include ${prom_include_dir} ++ PUBLIC ${public_dir} /usr/include /usr/local/include + PRIVATE ${private_dir} + ) + +@@ -56,8 +56,8 @@ target_sources( + PRIVATE ${private_files} + ) + +-find_library(prom prom HINTS ${CMAKE_CURRENT_SOURCE_DIR}/../prom/build) +-find_library(microhttpd microhttpd) ++find_library(prom prom HINT /usr/local/lib) ++find_library(microhttpd microhttpd HINT /usr/local/lib) + + target_compile_options(promhttp PRIVATE "-Werror" "-Wuninitialized" "-Wall" "-Wno-unused-label" "-std=gnu11") + target_compile_options(promhttp PUBLIC "-Werror" "-Wuninitialized" "-Wall" "-Wno-unused-label" "-std=gnu11") diff -r e38a6e16e756 -r b3adf5848e4c prometheus-client-c-libpromhttp/files/patch-promhttp_src_promhttp.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prometheus-client-c-libpromhttp/files/patch-promhttp_src_promhttp.c Wed Mar 19 08:51:37 2025 +0100 @@ -0,0 +1,40 @@ +--- promhttp/src/promhttp.c.orig 2020-12-08 07:38:13 UTC ++++ promhttp/src/promhttp.c +@@ -29,32 +29,32 @@ void promhttp_set_active_collector_registry(prom_colle + } + } + +-int promhttp_handler(void *cls, struct MHD_Connection *connection, const char *url, const char *method, ++enum MHD_Result promhttp_handler(void *cls, struct MHD_Connection *connection, const char *url, const char *method, + const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls) { + if (strcmp(method, "GET") != 0) { + char *buf = "Invalid HTTP Method\n"; + struct MHD_Response *response = MHD_create_response_from_buffer(strlen(buf), (void *)buf, MHD_RESPMEM_PERSISTENT); +- int ret = MHD_queue_response(connection, MHD_HTTP_BAD_REQUEST, response); ++ enum MHD_Result ret = MHD_queue_response(connection, MHD_HTTP_BAD_REQUEST, response); + MHD_destroy_response(response); + return ret; + } + if (strcmp(url, "/") == 0) { + char *buf = "OK\n"; + struct MHD_Response *response = MHD_create_response_from_buffer(strlen(buf), (void *)buf, MHD_RESPMEM_PERSISTENT); +- int ret = MHD_queue_response(connection, MHD_HTTP_OK, response); ++ enum MHD_Result ret = MHD_queue_response(connection, MHD_HTTP_OK, response); + MHD_destroy_response(response); + return ret; + } + if (strcmp(url, "/metrics") == 0) { + const char *buf = prom_collector_registry_bridge(PROM_ACTIVE_REGISTRY); + struct MHD_Response *response = MHD_create_response_from_buffer(strlen(buf), (void *)buf, MHD_RESPMEM_MUST_FREE); +- int ret = MHD_queue_response(connection, MHD_HTTP_OK, response); ++ enum MHD_Result ret = MHD_queue_response(connection, MHD_HTTP_OK, response); + MHD_destroy_response(response); + return ret; + } + char *buf = "Bad Request\n"; + struct MHD_Response *response = MHD_create_response_from_buffer(strlen(buf), (void *)buf, MHD_RESPMEM_PERSISTENT); +- int ret = MHD_queue_response(connection, MHD_HTTP_BAD_REQUEST, response); ++ enum MHD_Result ret = MHD_queue_response(connection, MHD_HTTP_BAD_REQUEST, response); + MHD_destroy_response(response); + return ret; + } diff -r e38a6e16e756 -r b3adf5848e4c prometheus-client-c-libpromhttp/pkg-descr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prometheus-client-c-libpromhttp/pkg-descr Wed Mar 19 08:51:37 2025 +0100 @@ -0,0 +1,9 @@ +Tis is libpromhttp -- a C-client library for Prometheus +from https://github.com/digitalocean/prometheus-client-c. + +This project provides this shared library for instrumenting software via +Prometheus. + + libpromhttp: Provides a simple web handler to expose Prometheus + metrics for scraping. This library has a dependency on + libmicrohttpd. diff -r e38a6e16e756 -r b3adf5848e4c prometheus-client-c-libpromhttp/pkg-plist --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prometheus-client-c-libpromhttp/pkg-plist Wed Mar 19 08:51:37 2025 +0100 @@ -0,0 +1,2 @@ +include/promhttp.h +lib/libpromhttp.so