From 501cb01e517ee5689577bb01ba8bd1b4c1041a53 Mon Sep 17 00:00:00 2001 From: Vladimir Shaleev Date: Tue, 16 Apr 2024 17:07:01 +0300 Subject: [PATCH] [vladimirshaleev-ipaddress] Add new port (#37418) - [x] Changes comply with the [maintainer guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md). - [x] The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines. - [x] Optional dependencies are resolved in exactly one way. For example, if the component is built with CMake, all `find_package` calls are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or disabled with [CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html). - [x] The versioning scheme in `vcpkg.json` matches what upstream says. - [x] The license declaration in `vcpkg.json` matches what upstream says. - [x] The installed as the "copyright" file matches what upstream says. - [x] The source code of the component installed comes from an authoritative source. - [x] The generated "usage text" is accurate. See [adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md) for context. - [x] The version database is fixed by rerunning `./vcpkg x-add-version --all` and committing the result. - [x] Only one version is in the new port's versions file. - [x] Only one version is added to each modified port's versions file. A [library](https://github.com/VladimirShaleev/ipaddress) that implements functionality similar to the ipaddress library from Python --- .../vladimirshaleev-ipaddress/portfile.cmake | 25 +++++++++++++++++++ ports/vladimirshaleev-ipaddress/usage | 4 +++ ports/vladimirshaleev-ipaddress/vcpkg.json | 17 +++++++++++++ versions/baseline.json | 4 +++ versions/v-/vladimirshaleev-ipaddress.json | 9 +++++++ 5 files changed, 59 insertions(+) create mode 100644 ports/vladimirshaleev-ipaddress/portfile.cmake create mode 100644 ports/vladimirshaleev-ipaddress/usage create mode 100644 ports/vladimirshaleev-ipaddress/vcpkg.json create mode 100644 versions/v-/vladimirshaleev-ipaddress.json diff --git a/ports/vladimirshaleev-ipaddress/portfile.cmake b/ports/vladimirshaleev-ipaddress/portfile.cmake new file mode 100644 index 0000000000..1a705060e4 --- /dev/null +++ b/ports/vladimirshaleev-ipaddress/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vladimirshaleev/ipaddress + REF "v${VERSION}" + SHA512 dc8d37b5a28c80e6ddf4dfa0ffc6973b2625d20dc61cd56e77e1f2cfdc7d427937b73e2abb0d1d85cdfe54fc199fef4132c20fc01b1e91bab6a988650d6e9a6d + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DIPADDRESS_BUILD_DOC=OFF + -DIPADDRESS_BUILD_TESTS=OFF + -DIPADDRESS_BUILD_BENCHMARK=OFF + -DIPADDRESS_BUILD_PACKAGES=OFF + -DIPADDRESS_ENABLE_CLANG_TIDY=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME ipaddress CONFIG_PATH share/cmake/ipaddress) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/vladimirshaleev-ipaddress/usage b/ports/vladimirshaleev-ipaddress/usage new file mode 100644 index 0000000000..2a8af754b1 --- /dev/null +++ b/ports/vladimirshaleev-ipaddress/usage @@ -0,0 +1,4 @@ +vladimirshaleev-ipaddress is header-only and can be used from CMake via: + + find_package(ipaddress CONFIG REQUIRED) + target_link_libraries(main PRIVATE ipaddress::ipaddress) diff --git a/ports/vladimirshaleev-ipaddress/vcpkg.json b/ports/vladimirshaleev-ipaddress/vcpkg.json new file mode 100644 index 0000000000..3bc162c9d7 --- /dev/null +++ b/ports/vladimirshaleev-ipaddress/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "vladimirshaleev-ipaddress", + "version": "1.0.1", + "description": "A library for working and manipulating IPv4/IPv6 addresses and networks in modern C++.", + "homepage": "https://vladimirshaleev.github.io/ipaddress/", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 04f694cd1d..097732af7f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -9136,6 +9136,10 @@ "baseline": "1.2.31", "port-version": 0 }, + "vladimirshaleev-ipaddress": { + "baseline": "1.0.1", + "port-version": 0 + }, "vlfeat": { "baseline": "2020-07-10", "port-version": 3 diff --git a/versions/v-/vladimirshaleev-ipaddress.json b/versions/v-/vladimirshaleev-ipaddress.json new file mode 100644 index 0000000000..febd26abf0 --- /dev/null +++ b/versions/v-/vladimirshaleev-ipaddress.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "641e48d99d750d904e1f9c2627640473d02fd89f", + "version": "1.0.1", + "port-version": 0 + } + ] +}