gnu: Add miniz-for-pytorch.

* gnu/packages/compression.scm (miniz-for-pytorch): New variable.
* gnu/packages/patches/miniz-for-pytorch.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
This commit is contained in:
David Elsing 2024-03-23 22:04:48 +00:00 committed by Ludovic Courtès
parent 9dc696884e
commit 67b412f2b0
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 69 additions and 0 deletions

View file

@ -1734,6 +1734,7 @@ dist_patch_DATA = \
%D%/packages/patches/mingw-w64-reproducible-gendef.patch \
%D%/packages/patches/minisat-friend-declaration.patch \
%D%/packages/patches/minisat-install.patch \
%D%/packages/patches/miniz-for-pytorch.patch \
%D%/packages/patches/mit-krb5-hurd.patch \
%D%/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch \
%D%/packages/patches/mixxx-system-googletest-benchmark.patch \

View file

@ -2968,3 +2968,24 @@ (define-public miniz
specification standards. It supports the most commonly used functions
exported by the zlib library.")
(license license:expat)))
(define-public miniz-for-pytorch
(package
(inherit miniz)
(version "pytorch-2.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/richgel999/miniz")
(commit "2.2.0")))
(file-name (git-file-name (package-name miniz) version))
(sha256
(base32
"09j9ihigfsavgcmk8l36zmbjvdf1x1w7h2v4rkww1qk1sb43y5zf"))
(patches (search-patches "miniz-for-pytorch.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments miniz)
((#:configure-flags flags '())
;; The changes break the examples.
`(cons "-DBUILD_EXAMPLES=OFF" ,flags))))
(properties '((hidden? . #t)))))

View file

@ -0,0 +1,47 @@
Modifications from the internal fork of the python-pytorch package.
diff --git a/miniz.h b/miniz.h
index 42e1ea2..5869ab9 100644
--- a/miniz.h
+++ b/miniz.h
@@ -123,7 +123,7 @@
/* If MINIZ_NO_TIME is specified then the ZIP archive functions will not be able to get the current time, or */
/* get/set file times, and the C run-time funcs that get/set times won't be called. */
/* The current downside is the times written to your archives will be from 1979. */
-/*#define MINIZ_NO_TIME */
+#define MINIZ_NO_TIME
/* Define MINIZ_NO_ARCHIVE_APIS to disable all ZIP archive API's. */
/*#define MINIZ_NO_ARCHIVE_APIS */
@@ -135,7 +135,7 @@
/*#define MINIZ_NO_ZLIB_APIS */
/* Define MINIZ_NO_ZLIB_COMPATIBLE_NAME to disable zlib names, to prevent conflicts against stock zlib. */
-/*#define MINIZ_NO_ZLIB_COMPATIBLE_NAMES */
+#define MINIZ_NO_ZLIB_COMPATIBLE_NAMES
/* Define MINIZ_NO_MALLOC to disable all calls to malloc, free, and realloc.
Note if MINIZ_NO_MALLOC is defined then the user must always provide custom user alloc/free/realloc
@@ -172,8 +172,7 @@
#if !defined(MINIZ_USE_UNALIGNED_LOADS_AND_STORES)
#if MINIZ_X86_OR_X64_CPU
/* Set MINIZ_USE_UNALIGNED_LOADS_AND_STORES to 1 on CPU's that permit efficient integer loads and stores from unaligned addresses. */
-#define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 1
-#define MINIZ_UNALIGNED_USE_MEMCPY
+#define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 0
#else
#define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 0
#endif
diff --git a/miniz_zip.h b/miniz_zip.h
index 82502bd..3d92255 100644
--- a/miniz_zip.h
+++ b/miniz_zip.h
@@ -150,7 +150,7 @@ typedef enum {
MZ_ZIP_TOTAL_ERRORS
} mz_zip_error;
-typedef struct
+typedef struct mz_zip_archive
{
mz_uint64 m_archive_size;
mz_uint64 m_central_directory_file_ofs;