diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/matajoh-libnpy | |
Diffstat (limited to 'vcpkg/ports/matajoh-libnpy')
| -rw-r--r-- | vcpkg/ports/matajoh-libnpy/fix-install.patch | 28 | ||||
| -rw-r--r-- | vcpkg/ports/matajoh-libnpy/fix-miniz.patch | 25 | ||||
| -rw-r--r-- | vcpkg/ports/matajoh-libnpy/fix-npy-config.patch | 17 | ||||
| -rw-r--r-- | vcpkg/ports/matajoh-libnpy/fix-zip-wrapper.patch | 24 | ||||
| -rw-r--r-- | vcpkg/ports/matajoh-libnpy/portfile.cmake | 37 | ||||
| -rw-r--r-- | vcpkg/ports/matajoh-libnpy/vcpkg.json | 18 |
6 files changed, 149 insertions, 0 deletions
diff --git a/vcpkg/ports/matajoh-libnpy/fix-install.patch b/vcpkg/ports/matajoh-libnpy/fix-install.patch new file mode 100644 index 0000000..ff45a3b --- /dev/null +++ b/vcpkg/ports/matajoh-libnpy/fix-install.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 41ce88d..9265075 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -95,7 +95,7 @@ endif() + + target_include_directories(npy + PUBLIC +- $<INSTALL_INTERFACE:build/native/include> ++ $<INSTALL_INTERFACE:include> + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/src +@@ -124,11 +124,11 @@ set(INSTALL_CONFIGDIR "cmake") + + install(TARGETS npy + EXPORT npy-targets +- ARCHIVE DESTINATION "build/native/lib" +- LIBRARY DESTINATION "build/native/lib" ++ ARCHIVE DESTINATION "lib" ++ LIBRARY DESTINATION "lib" + ) + +-install(DIRECTORY include/ DESTINATION "build/native/include") ++install(DIRECTORY include/ DESTINATION "include") + + install(EXPORT npy-targets + FILE diff --git a/vcpkg/ports/matajoh-libnpy/fix-miniz.patch b/vcpkg/ports/matajoh-libnpy/fix-miniz.patch new file mode 100644 index 0000000..7d81ffa --- /dev/null +++ b/vcpkg/ports/matajoh-libnpy/fix-miniz.patch @@ -0,0 +1,25 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 66f8af4..92864c0 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,17 +1,18 @@ ++find_package(miniz CONFIG REQUIRED) ++ + set( SOURCES + dtype.cpp + npy.cpp + npz.cpp + tensor.cpp + zip.cpp +- miniz/miniz.cpp + ) +- + add_definitions( -DLIBNPY_VERSION=${LIBNPY_VERSION} ) + + add_library( npy STATIC ${SOURCES} ) + add_library( npy::npy ALIAS npy ) + ++target_link_libraries(npy PRIVATE miniz::miniz) + if (LIBNPY_SANITIZE) + target_compile_options(npy PUBLIC -g -fsanitize=${REGOCPP_SANITIZE} -fno-omit-frame-pointer) + target_link_libraries(npy PUBLIC -fsanitize=${REGOCPP_SANITIZE}) diff --git a/vcpkg/ports/matajoh-libnpy/fix-npy-config.patch b/vcpkg/ports/matajoh-libnpy/fix-npy-config.patch new file mode 100644 index 0000000..dfebed7 --- /dev/null +++ b/vcpkg/ports/matajoh-libnpy/fix-npy-config.patch @@ -0,0 +1,17 @@ +diff --git a/cmake/npyConfig.cmake.in b/cmake/npyConfig.cmake.in +index 06be483..899ff30 100644 +--- a/cmake/npyConfig.cmake.in ++++ b/cmake/npyConfig.cmake.in +@@ -1,7 +1,10 @@ ++include(CMakeFindDependencyMacro) ++find_dependency(miniz CONFIG) ++ + get_filename_component(NPY_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + + if(NOT TARGET npy::npy) + include("${NPY_CMAKE_DIR}/npyTargets.cmake") + endif() + +-set(LIBNPY_lIBRARIES npy::npy) ++set(LIBNPY_lIBRARIES npy::npy) +\ No newline at end of file diff --git a/vcpkg/ports/matajoh-libnpy/fix-zip-wrapper.patch b/vcpkg/ports/matajoh-libnpy/fix-zip-wrapper.patch new file mode 100644 index 0000000..dcacff8 --- /dev/null +++ b/vcpkg/ports/matajoh-libnpy/fix-zip-wrapper.patch @@ -0,0 +1,24 @@ +diff --git a/src/zip.cpp b/src/zip.cpp +index 1269704..f7f5cb9 100644 +--- a/src/zip.cpp ++++ b/src/zip.cpp +@@ -1,10 +1,18 @@ +-#include "miniz/miniz.h" ++#include <algorithm> ++#include <cstdint> ++#include <memory> ++#include <sstream> ++#include <string> ++#include <vector> ++ + #include <cassert> + #include <stdexcept> + + #include "npy/core.h" + #include "zip.h" + ++#include <miniz/miniz.h> ++ + namespace { + const size_t CHUNK = 1024 * 1024; + const int WINDOW_BITS = -15; diff --git a/vcpkg/ports/matajoh-libnpy/portfile.cmake b/vcpkg/ports/matajoh-libnpy/portfile.cmake new file mode 100644 index 0000000..da8d793 --- /dev/null +++ b/vcpkg/ports/matajoh-libnpy/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO matajoh/libnpy
+ REF "v${VERSION}"
+ SHA512 88b39e5018fbe2ef8b8a40b01fb85beb5e9a25dccff6199924d6eb072f49972501c33a68e6af3e67bba34ae546c632176f86db7cc530e8314666cfee13297907
+ HEAD_REF main
+ PATCHES
+ fix-install.patch
+ fix-miniz.patch
+ fix-zip-wrapper.patch
+ fix-npy-config.patch
+)
+
+file(REMOVE_RECURSE "${SOURCE_PATH}/src/miniz")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DLIBNPY_BUILD_TESTS=OFF
+ -DLIBNPY_BUILD_SAMPLES=OFF
+ -DLIBNPY_BUILD_DOCUMENTATION=OFF
+ -DLIBNPY_INCLUDE_CSHARP=OFF # when swig is added, this can be added as a feature
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH "cmake" PACKAGE_NAME "npy")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/CHANGELOG.md")
+file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/README.md")
+file(RENAME "${CURRENT_PACKAGES_DIR}/CHANGELOG.md" "${CURRENT_PACKAGES_DIR}/share/npy/CHANGELOG.md")
+file(RENAME "${CURRENT_PACKAGES_DIR}/README.md" "${CURRENT_PACKAGES_DIR}/share/npy/README.md")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
\ No newline at end of file diff --git a/vcpkg/ports/matajoh-libnpy/vcpkg.json b/vcpkg/ports/matajoh-libnpy/vcpkg.json new file mode 100644 index 0000000..ec39107 --- /dev/null +++ b/vcpkg/ports/matajoh-libnpy/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "matajoh-libnpy", + "version": "1.5.3", + "description": "Multi-platform C++ library for reading and writing NPY and NPZ files, with an additional .NET interface", + "homepage": "https://github.com/matajoh/libnpy", + "license": "MIT", + "dependencies": [ + "miniz", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |