aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/launch-darkly-server
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/launch-darkly-server
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/launch-darkly-server')
-rw-r--r--vcpkg/ports/launch-darkly-server/FixStrictPrototypes.patch26
-rw-r--r--vcpkg/ports/launch-darkly-server/findPCRE.patch17
-rw-r--r--vcpkg/ports/launch-darkly-server/launch-darkly-server-config.cmake2
-rw-r--r--vcpkg/ports/launch-darkly-server/portfile.cmake94
-rw-r--r--vcpkg/ports/launch-darkly-server/removeWarningAsError.patch32
-rw-r--r--vcpkg/ports/launch-darkly-server/usage5
-rw-r--r--vcpkg/ports/launch-darkly-server/vcpkg.json20
7 files changed, 196 insertions, 0 deletions
diff --git a/vcpkg/ports/launch-darkly-server/FixStrictPrototypes.patch b/vcpkg/ports/launch-darkly-server/FixStrictPrototypes.patch
new file mode 100644
index 0000000..870a847
--- /dev/null
+++ b/vcpkg/ports/launch-darkly-server/FixStrictPrototypes.patch
@@ -0,0 +1,26 @@
+diff --git a/c-sdk-common/src/ldvalue.c b/c-sdk-common/src/ldvalue.c
+index c3fbce9..53f0515 100644
+--- a/c-sdk-common/src/ldvalue.c
++++ b/c-sdk-common/src/ldvalue.c
+@@ -166,7 +166,7 @@ unsigned int LDValue_Count(struct LDValue *value) {
+ return cJSON_GetArraySize(AS_CJSON(value));
+ }
+
+-struct LDObject *LDObject_New() {
++struct LDObject *LDObject_New(void) {
+ return AS_LDOBJECT(cJSON_CreateObject());
+ }
+
+diff --git a/src/integrations/test_data.c b/src/integrations/test_data.c
+index 24146c9..4a2587f 100644
+--- a/src/integrations/test_data.c
++++ b/src/integrations/test_data.c
+@@ -96,7 +96,7 @@ LDBoolean LDi_isBooleanFlag(struct LDFlagBuilder *flagBuilder) {
+ }
+
+ struct LDTestData *
+-LDTestDataInit() {
++LDTestDataInit(void) {
+ struct LDTestData *res;
+ struct LDJSON *currentFlags;
+ if(!ALLOCATE(struct LDTestData, res)) {
diff --git a/vcpkg/ports/launch-darkly-server/findPCRE.patch b/vcpkg/ports/launch-darkly-server/findPCRE.patch
new file mode 100644
index 0000000..50633fd
--- /dev/null
+++ b/vcpkg/ports/launch-darkly-server/findPCRE.patch
@@ -0,0 +1,17 @@
+diff --git a/cmake/FindPCRE.cmake b/cmake/FindPCRE.cmake
+index dbbd60a..68042fe 100644
+--- a/cmake/FindPCRE.cmake
++++ b/cmake/FindPCRE.cmake
+@@ -19,7 +19,11 @@
+ FIND_PATH(PCRE_INCLUDE_DIR NAMES pcre.h)
+
+ # Look for the library.
+-FIND_LIBRARY(PCRE_LIBRARY NAMES pcre)
++SET(pcre_DEBUG_NAME "")
++IF(CMAKE_BUILD_TYPE MATCHES "Debug")
++ SET(pcre_DEBUG_NAME pcred)
++ENDIF()
++FIND_LIBRARY(PCRE_LIBRARY NAMES ${pcre_DEBUG_NAME} pcre)
+
+ # Handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if all listed variables are TRUE.
+ INCLUDE(FindPackageHandleStandardArgs)
diff --git a/vcpkg/ports/launch-darkly-server/launch-darkly-server-config.cmake b/vcpkg/ports/launch-darkly-server/launch-darkly-server-config.cmake
new file mode 100644
index 0000000..d3cbd3e
--- /dev/null
+++ b/vcpkg/ports/launch-darkly-server/launch-darkly-server-config.cmake
@@ -0,0 +1,2 @@
+include(${CMAKE_CURRENT_LIST_DIR}/ldserverapi-targets.cmake)
+
diff --git a/vcpkg/ports/launch-darkly-server/portfile.cmake b/vcpkg/ports/launch-darkly-server/portfile.cmake
new file mode 100644
index 0000000..ca8b508
--- /dev/null
+++ b/vcpkg/ports/launch-darkly-server/portfile.cmake
@@ -0,0 +1,94 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO launchdarkly/c-server-sdk
+ REF 66c24c874d623338636083f81ed258bc5101f504 # 2.9.3
+ SHA512 38dd411da0cae016f781efc467a9c230236160e3db737550809f5c7b799c2946deec191d6abcf2f677d6452ad0c273c864e9a78674f6c547d1fd8a88d9d73bcc
+ HEAD_REF master
+ PATCHES
+ findPCRE.patch
+ FixStrictPrototypes.patch # required with clang-15
+ removeWarningAsError.patch
+)
+
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH HEXIFY_SOURCE_DIR
+ REPO pepaslabs/hexify.c
+ REF f823bd619f73584a75829cc1e44a532f5e09336e
+ SHA512 fdfd3877874cb5b3e506d791c08840b156ba6905cee520adc225755f7ca768e54a2efa4d05cbef72d275ca2596e1a4d8e4fbb254f9cc4188c31a41b9904479bc
+ HEAD_REF master
+ PATCHES
+ ${SOURCE_PATH}/patches/hexify.patch
+)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SEMVER_SOURCE_DIR
+ REPO h2non/semver.c
+ REF bd1db234a68f305ed10268bd023df1ad672061d7
+ SHA512 29c7ab45e6550977bb6c74ebddfff440559a6e6494b701fc69a815912e6d683e5f4b4dfe17c98a892e8a82766f33c83edbe11e973579bd1d2175384cbaadd731
+ HEAD_REF master
+ PATCHES
+ ${SOURCE_PATH}/patches/semver.patch
+)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SHA1_SOURCE_DIR
+ REPO clibs/sha1
+ REF fa1d96ec293d2968791603548125e3274bd6b472
+ SHA512 fd7dfbed4ac10e2c482da1cd460dabf0a53965e6fa17fab97156becb8214e435ee3605b2748705141380e254de7c32ab42da5e42cd6e4494f7ecaafb3b9e19f0
+ HEAD_REF master
+ PATCHES
+ ${SOURCE_PATH}/patches/sha1.patch
+)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH TIMESTAMP_SOURCE_DIR
+ REPO chansen/c-timestamp
+ REF b205c407ae6680d23d74359ac00444b80989792f
+ SHA512 497a1766b58e6e1c5ff2edf4fd6ff5f1065c4bdac60767988a5da03f93b0724ef582240aa015f3ab724200c249fe98072c67efbfc90e54d986a42212b43030ea
+ HEAD_REF master
+ PATCHES
+ ${SOURCE_PATH}/patches/timestamp.patch
+)
+
+vcpkg_download_distfile(UTHASH_COMPRESSED_FILE
+ URLS https://github.com/troydhanson/uthash/archive/v2.3.0.tar.gz
+ FILENAME uthash-archive-v2.3.0.tar.gz
+ SHA512 3b01f1074790fb242900411cb16eb82c1a9afcf58e3196a0f4611d9d7ef94690ad38c0a500e7783d3efa20328aa8d6ab14f246be63b3b3d385502ba2b6b2a294
+)
+vcpkg_extract_source_archive(UTHASH_SOURCE_DIR
+ ARCHIVE ${UTHASH_COMPRESSED_FILE}
+)
+
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DBUILD_TESTING=OFF
+ -DFETCHCONTENT_SOURCE_DIR_HEXIFY=${HEXIFY_SOURCE_DIR}
+ -DFETCHCONTENT_SOURCE_DIR_SEMVER=${SEMVER_SOURCE_DIR}
+ -DFETCHCONTENT_SOURCE_DIR_SHA1=${SHA1_SOURCE_DIR}
+ -DFETCHCONTENT_SOURCE_DIR_TIMESTAMP=${TIMESTAMP_SOURCE_DIR}
+ -DFETCHCONTENT_SOURCE_DIR_UTHASH=${UTHASH_SOURCE_DIR}
+ -DSKIP_DATABASE_TESTS=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(
+ CONFIG_PATH lib/cmake/ldserverapi
+)
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+)
+
+vcpkg_copy_pdbs()
+
+set(shareDir "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/launch-darkly-server-config.cmake DESTINATION ${shareDir})
+file(RENAME ${shareDir}/ldserverapiTargets.cmake ${shareDir}/ldserverapi-targets.cmake)
+
+file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
diff --git a/vcpkg/ports/launch-darkly-server/removeWarningAsError.patch b/vcpkg/ports/launch-darkly-server/removeWarningAsError.patch
new file mode 100644
index 0000000..8174ed4
--- /dev/null
+++ b/vcpkg/ports/launch-darkly-server/removeWarningAsError.patch
@@ -0,0 +1,32 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9acff7d..12904e6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -184,7 +184,6 @@ else()
+ -pedantic
+ -Wall
+ -Wextra
+- -Werror
+ -Wstrict-prototypes
+ -Wmissing-prototypes
+ -Wmissing-declarations
+diff --git a/c-sdk-common/CMakeLists.txt b/c-sdk-common/CMakeLists.txt
+index 15340f7..091e46d 100644
+--- a/c-sdk-common/CMakeLists.txt
++++ b/c-sdk-common/CMakeLists.txt
+@@ -87,7 +87,6 @@ else()
+ -pedantic
+ -Wall
+ -Wextra
+- -Werror
+ -Wstrict-prototypes
+ -Wmissing-prototypes
+ -Wmissing-declarations
+@@ -123,7 +122,6 @@ else()
+ PRIVATE -fno-omit-frame-pointer
+ -Wall
+ -Wextra
+- -Werror
+ -Wstrict-prototypes
+ -Wmissing-prototypes
+ -Wmissing-declarations
diff --git a/vcpkg/ports/launch-darkly-server/usage b/vcpkg/ports/launch-darkly-server/usage
new file mode 100644
index 0000000..92e9b6b
--- /dev/null
+++ b/vcpkg/ports/launch-darkly-server/usage
@@ -0,0 +1,5 @@
+The package launchdarklyserver provides CMake targets:
+
+ find_package(launch-darkly-server CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE ldserverapi::ldserverapi)
+
diff --git a/vcpkg/ports/launch-darkly-server/vcpkg.json b/vcpkg/ports/launch-darkly-server/vcpkg.json
new file mode 100644
index 0000000..7dae80e
--- /dev/null
+++ b/vcpkg/ports/launch-darkly-server/vcpkg.json
@@ -0,0 +1,20 @@
+{
+ "name": "launch-darkly-server",
+ "version": "2.9.3",
+ "description": "LaunchDarkly server-side SDK for C/C++",
+ "homepage": "https://github.com/launchdarkly/c-server-sdk",
+ "license": "Apache-2.0",
+ "supports": "!uwp",
+ "dependencies": [
+ "curl",
+ "pcre",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}