aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/gumbo
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/gumbo
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/gumbo')
-rw-r--r--vcpkg/ports/gumbo/CMakeLists.txt56
-rw-r--r--vcpkg/ports/gumbo/portfile.cmake32
-rw-r--r--vcpkg/ports/gumbo/vcpkg.json17
3 files changed, 105 insertions, 0 deletions
diff --git a/vcpkg/ports/gumbo/CMakeLists.txt b/vcpkg/ports/gumbo/CMakeLists.txt
new file mode 100644
index 0000000..745a7ef
--- /dev/null
+++ b/vcpkg/ports/gumbo/CMakeLists.txt
@@ -0,0 +1,56 @@
+cmake_minimum_required(VERSION 3.8.0)
+
+project(gumbo)
+
+set(gumbo_public_headers
+ src/gumbo.h
+ src/tag_enum.h
+)
+
+set(gumbo_srcs
+ src/attribute.c
+ src/char_ref.c
+ src/error.c
+ src/parser.c
+ src/string_buffer.c
+ src/string_piece.c
+ src/tag.c
+ src/tokenizer.c
+ src/utf8.c
+ src/util.c
+ src/vector.c
+)
+
+include_directories(src)
+if (MSVC)
+ include_directories(visualc/include)
+endif (MSVC)
+
+add_library(gumbo ${gumbo_srcs})
+
+set_target_properties(gumbo PROPERTIES
+ C_STANDARD 99
+ PUBLIC_HEADER "${gumbo_public_headers}"
+)
+
+target_include_directories(gumbo PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ $<INSTALL_INTERFACE:include/>)
+
+install(
+ TARGETS gumbo EXPORT unofficial-gumbo-config
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ PUBLIC_HEADER DESTINATION include
+)
+
+install(EXPORT unofficial-gumbo-config
+ NAMESPACE unofficial::gumbo::
+ DESTINATION share/unofficial-gumbo
+ )
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gumbo.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/lib/pkgconfig/gumbo.pc" @ONLY)
+
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lib/pkgconfig/gumbo.pc" DESTINATION "lib/pkgconfig")
+
diff --git a/vcpkg/ports/gumbo/portfile.cmake b/vcpkg/ports/gumbo/portfile.cmake
new file mode 100644
index 0000000..89ca188
--- /dev/null
+++ b/vcpkg/ports/gumbo/portfile.cmake
@@ -0,0 +1,32 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://codeberg.org/gumbo-parser/gumbo-parser/archive/${VERSION}.tar.gz"
+ FILENAME "gumbo-${VERSION}.tar.gz"
+ SHA512 15da29bc1b7d70a827870562462ca90fd57469d72d7a4804c59da96c5c46b3a0c50e99a08a80d6e08d2be87f55388c8848918bfbab58ac0c22df85fdc2bd35e7
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ SOURCE_BASE "${VERSION}"
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+
+vcpkg_copy_pdbs()
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-gumbo CONFIG_PATH share/unofficial-gumbo)
+
+vcpkg_fixup_pkgconfig()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/doc/COPYING")
diff --git a/vcpkg/ports/gumbo/vcpkg.json b/vcpkg/ports/gumbo/vcpkg.json
new file mode 100644
index 0000000..d384b3a
--- /dev/null
+++ b/vcpkg/ports/gumbo/vcpkg.json
@@ -0,0 +1,17 @@
+{
+ "name": "gumbo",
+ "version": "0.12.3",
+ "description": "An HTML5 parsing library in pure C99",
+ "homepage": "https://codeberg.org/gumbo-parser/gumbo-parser",
+ "license": "Apache-2.0",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}