aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/matajoh-libnpy
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/matajoh-libnpy
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/matajoh-libnpy')
-rw-r--r--vcpkg/ports/matajoh-libnpy/fix-install.patch28
-rw-r--r--vcpkg/ports/matajoh-libnpy/fix-miniz.patch25
-rw-r--r--vcpkg/ports/matajoh-libnpy/fix-npy-config.patch17
-rw-r--r--vcpkg/ports/matajoh-libnpy/fix-zip-wrapper.patch24
-rw-r--r--vcpkg/ports/matajoh-libnpy/portfile.cmake37
-rw-r--r--vcpkg/ports/matajoh-libnpy/vcpkg.json18
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
+ }
+ ]
+}