push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
version="@VERSION@"
description="reading and writing ZIP, JAR and GZIP files"
requires="unix"
archive(byte)="zip.cma"
archive(native)="zip.cmxa"
linkopts = ""

View File

@@ -0,0 +1,100 @@
{
lib,
stdenv,
fetchurl,
zlib,
ocaml,
findlib,
}:
let
common = {
patches = [ ];
postPatchInit = ''
cp META-zip META-camlzip
echo 'directory="../zip"' >> META-camlzip
'';
};
param =
if lib.versionAtLeast ocaml.version "4.07" then
common
// {
version = "1.11";
url = "https://github.com/xavierleroy/camlzip/archive/rel111.tar.gz";
sha256 = "sha256-/7vF3j4cE9wOWScjdtIy0u3pGzJ1UQY9R/3bdPHV7Tc=";
}
else if lib.versionAtLeast ocaml.version "4.02" then
common
// {
version = "1.10";
url = "https://github.com/xavierleroy/camlzip/archive/rel110.tar.gz";
sha256 = "X0YcczaQ3lFeJEiTIgjSSZ1zi32KFMtmZsP0FFpyfbI=";
}
else
{
version = "1.05";
download_id = "1037";
url = "http://forge.ocamlcore.org/frs/download.php/${param.download_id}/camlzip-${param.version}.tar.gz";
sha256 = "930b70c736ab5a7ed1b05220102310a0a2241564786657abe418e834a538d06b";
patches = [ ./makefile_1_05.patch ];
postPatchInit = ''
substitute ${./META} META --subst-var-by VERSION "${param.version}"
'';
};
in
stdenv.mkDerivation {
pname = "ocaml${ocaml.version}-camlzip";
version = param.version;
src = fetchurl {
inherit (param) url;
inherit (param) sha256;
};
nativeBuildInputs = [
ocaml
findlib
];
propagatedBuildInputs = [ zlib ];
strictDeps = true;
inherit (param) patches;
postPatch = param.postPatchInit + ''
substituteInPlace Makefile \
--subst-var-by ZLIB_LIBDIR "${zlib.out}/lib" \
--subst-var-by ZLIB_INCLUDE "${zlib.dev}/include"
'';
buildFlags = [
"all"
"allopt"
];
preInstall = ''
mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
'';
postInstall = ''
ln -s $out/lib/ocaml/${ocaml.version}/site-lib/{,caml}zip
'';
meta = with lib; {
homepage = "http://cristal.inria.fr/~xleroy/software.html#camlzip";
description = "Library for handling ZIP and GZIP files in OCaml";
longDescription = ''
This Objective Caml library provides easy access to compressed files in
ZIP and GZIP format, as well as to Java JAR files. It provides functions
for reading from and writing to compressed files in these formats.
'';
license = with lib.licenses; [
lgpl21Plus
ocamlLgplLinkingException
];
inherit (ocaml.meta) platforms;
maintainers = with maintainers; [ maggesi ];
};
}

View File

@@ -0,0 +1,54 @@
diff -Nuar camlzip-1.04/Makefile camlzip-1.04.nixpkgs/Makefile
--- camlzip-1.04/Makefile 2002-04-22 17:28:57.000000000 +0200
+++ camlzip-1.04.nixpkgs/Makefile 2010-12-12 18:30:49.000000000 +0100
@@ -4,14 +4,10 @@
ZLIB_LIB=-lz
# The directory containing the Zlib library (libz.a or libz.so)
-ZLIB_LIBDIR=/usr/local/lib
+ZLIB_LIBDIR=@ZLIB_LIBDIR@
# The directory containing the Zlib header file (zlib.h)
-ZLIB_INCLUDE=/usr/local/include
-
-# Where to install the library. By default: sub-directory 'zip' of
-# OCaml's standard library directory.
-INSTALLDIR=`$(OCAMLC) -where`/zip
+ZLIB_INCLUDE=@ZLIB_INCLUDE@
### End of configuration section
@@ -19,10 +15,13 @@
OCAMLOPT=ocamlopt
OCAMLDEP=ocamldep
OCAMLMKLIB=ocamlmklib
+OCAMLFIND=ocamlfind
OBJS=zlib.cmo zip.cmo gzip.cmo
C_OBJS=zlibstubs.o
+LIBINSTALL_FILES = $(wildcard *.mli *.cmi *.cma *.cmxa *.a *.so)
+
all: libcamlzip.a zip.cma
allopt: libcamlzip.a zip.cmxa
@@ -55,18 +54,7 @@
rm -f *.o *.a
install:
- mkdir -p $(INSTALLDIR)
- cp zip.cma zip.cmi gzip.cmi zip.mli gzip.mli libcamlzip.a $(INSTALLDIR)
- if test -f dllcamlzip.so; then \
- cp dllcamlzip.so $(INSTALLDIR); \
- ldconf=`$(OCAMLC) -where`/ld.conf; \
- installdir=$(INSTALLDIR); \
- if test `grep -s -c $$installdir'$$' $$ldconf || :` = 0; \
- then echo $$installdir >> $$ldconf; fi \
- fi
-
-installopt:
- cp zip.cmxa zip.a zip.cmx gzip.cmx $(INSTALLDIR)
+ $(OCAMLFIND) install zip META $(LIBINSTALL_FILES)
depend:
gcc -MM -I$(ZLIB_INCLUDE) *.c > .depend