Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ocaml-camlbz2 for openSUSE:Factory checked in at 2021-04-29 01:36:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ocaml-camlbz2 (Old) and /work/SRC/openSUSE:Factory/.ocaml-camlbz2.new.12324 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ocaml-camlbz2" Thu Apr 29 01:36:42 2021 rev:2 rq:867926 version:0.7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ocaml-camlbz2/ocaml-camlbz2.changes 2020-03-03 10:19:35.887067199 +0100 +++ /work/SRC/openSUSE:Factory/.ocaml-camlbz2.new.12324/ocaml-camlbz2.changes 2021-04-29 01:37:09.538472862 +0200 @@ -1,0 +2,6 @@ +Thu Jan 21 21:21:21 UTC 2021 - [email protected] + +- Update to version 0.7.0 +- build with dune via ocaml-camlbz2.patch + +------------------------------------------------------------------- Old: ---- ocaml-camlbz2-0.6.0.tar.xz New: ---- ocaml-camlbz2-0.7.0.tar.xz ocaml-camlbz2.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ocaml-camlbz2.spec ++++++ --- /var/tmp/diff_new_pack.ZIutgs/_old 2021-04-29 01:37:09.938473429 +0200 +++ /var/tmp/diff_new_pack.ZIutgs/_new 2021-04-29 01:37:09.938473429 +0200 @@ -1,7 +1,7 @@ # # spec file for package ocaml-camlbz2 # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,17 +17,18 @@ Name: ocaml-camlbz2 -Version: 0.6.0 +Version: 0.7.0 Release: 0 %{?ocaml_preserve_bytecode} Summary: OCaml bindings for bz2 License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception Group: Development/Languages/OCaml -URL: https://github.com/olafhering/camlbz2 +URL: https://opam.ocaml.org/packages/camlbz2 Source0: %{name}-%{version}.tar.xz +Patch0: ocaml-camlbz2.patch BuildRequires: ocaml BuildRequires: ocaml-dune -BuildRequires: ocaml-rpm-macros >= 20191101 +BuildRequires: ocaml-rpm-macros >= 20210121 BuildRequires: ocamlfind(dune.configurator) BuildRequires: ocamlfind(stdlib-shims) BuildRequires: pkgconfig(bzip2) ++++++ _service ++++++ --- /var/tmp/diff_new_pack.ZIutgs/_old 2021-04-29 01:37:09.966473469 +0200 +++ /var/tmp/diff_new_pack.ZIutgs/_new 2021-04-29 01:37:09.966473469 +0200 @@ -1,11 +1,13 @@ <services> <service name="tar_scm" mode="disabled"> <param name="filename">ocaml-camlbz2</param> - <param name="revision">dune</param> + <param name="revision">e5a008a9672f28d281ff9bc3e39838b1b90186f1</param> <param name="scm">git</param> <param name="submodules">disable</param> - <param name="url">https://github.com/olafhering/ocaml-camlbz2.git</param> - <param name="versionformat">0.6.0</param> + <param name="url">https://gitlab.com/irill/camlbz2.git</param> + <param name="versionformat">@PARENT_TAG@</param> + <param name="versionrewrite-pattern">[v]?([^\+]+)(.*)</param> + <param name="versionrewrite-replacement">\1</param> </service> <service name="recompress" mode="disabled"> <param name="file">*.tar</param> ++++++ ocaml-camlbz2-0.6.0.tar.xz -> ocaml-camlbz2-0.7.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/BUGS new/ocaml-camlbz2-0.7.0/BUGS --- old/ocaml-camlbz2-0.6.0/BUGS 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-camlbz2-0.7.0/BUGS 2021-01-18 17:38:53.000000000 +0100 @@ -0,0 +1,9 @@ + +BUGS +==== + +Please look for them and report them into the CamlBZ2 bug tracker, +available at: + + http://forge.ocamlcore.org/tracker/?group_id=63 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/ChangeLog new/ocaml-camlbz2-0.7.0/ChangeLog --- old/ocaml-camlbz2-0.6.0/ChangeLog 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-camlbz2-0.7.0/ChangeLog 2021-01-18 17:38:53.000000000 +0100 @@ -0,0 +1,23 @@ +2021-01-18 Johannes Schauer Marin Rodrigues <[email protected]> + + * Version 0.7.0 released + * No changes to the last version but bumping the version number to + indicate a breaking change compared to 0.6.0 + +2021-01-11 Johannes Schauer Marin Rodrigues <[email protected]> + + * Version 0.6.1 released + * Changes with respect to 0.6.0: + - add examples/ dir, with a "bunzip2" replacement example + - change interface to use bytes instead of string because the latter + is immutable + +2008-11-08 Stefano Zacchiroli <[email protected]> + + * Version 0.6.0 released + * Changes with respect to 0.5.99: + - update copyright headers + - get rid of bashisms in Makefile + - add docs pointing to forge entry points + - fix Findlib names: now consistently "bz2" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/INSTALL new/ocaml-camlbz2-0.7.0/INSTALL --- old/ocaml-camlbz2-0.6.0/INSTALL 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-camlbz2-0.7.0/INSTALL 2021-01-18 17:38:53.000000000 +0100 @@ -0,0 +1,20 @@ + +INSTALLING +========== + +* `./configure` +* `make all` builds the bytecode and native-code libraries (where + available), and the stub code +* `make install` (or `make install DESTDIR=/shome/where/else`) + +Options: + +* for configure : + CPPFLAGS="-I <location of zlib header>" + LIBS="-L <location of zlib library>" + +Requirements: + +- OCaml >= 3.10 +- Findlib + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/META new/ocaml-camlbz2-0.7.0/META --- old/ocaml-camlbz2-0.6.0/META 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-camlbz2-0.7.0/META 2021-01-18 17:38:53.000000000 +0100 @@ -0,0 +1,3 @@ +version = "x.y.z" +archive(byte) = "bz2.cma" +archive(native) = "bz2.cmxa" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/Makefile.in new/ocaml-camlbz2-0.7.0/Makefile.in --- old/ocaml-camlbz2-0.6.0/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-camlbz2-0.7.0/Makefile.in 2021-01-18 17:38:53.000000000 +0100 @@ -0,0 +1,135 @@ +OCAMLC := @OCAMLC@ +OCAMLOPT := @OCAMLOPT@ +OCAMLDEP := @OCAMLDEP@ +OCAMLLIB := @OCAMLLIB@ +OCAMLFIND := @OCAMLFIND@ +OCAMLDOC := @OCAMLDOC@ +OCAMLMKLIB := @OCAMLMKLIB@ + +INSTALL := @INSTALL@ +INSTALL_DATA := @INSTALL_DATA@ +INSTALLDIR := @INSTALLDIR@ + +CLIBS := $(filter -l%,@LIBS@) +CLIBSDIR := $(filter -L%,@LIBS@) +BZ_PREFIX := @BZ_PREFIX@ +CPPFLAGS = $(if $(BZ_PREFIX),-D BZ_PREFIX) @CPPFLAGS@ + +NAME := camlbz2 +SHORTNAME := bz2 +VERSION := 0.6.0 + +INSTALLFILES := \ + $(SHORTNAME).cmi $(SHORTNAME).mli $(SHORTNAME).cma \ + dll$(NAME).so lib$(NAME).a + +DISTSRC := $(SHORTNAME).ml $(SHORTNAME).mli \ + c_bz.c io.h \ + aclocal.m4 install-sh \ + Makefile.in configure configure.in \ + META doc \ + BUGS COPYING INSTALL LICENSE README ROADMAP ChangeLog + +DESTDIR = + +ifndef OCAMLOPT +all : stub lib +else +INSTALLFILES += $(SHORTNAME).cmx $(SHORTNAME).cmxa $(SHORTNAME).a +all : stub lib libopt +endif + +ifdef OCAMLFIND +install : findlib-install +ifeq ($(DESTDIR),) +DESTDIR_FLAGS = +else +DESTDIR_FLAGS = -destdir $(DESTDIR) +findlib-install : install-mkdir +install-mkdir : + test -d $(DESTDIR) || mkdir -p $(DESTDIR) +endif +else +install : normal-install +endif + +stub : dll$(NAME).so lib$(NAME).a +lib : $(SHORTNAME).cma +libopt : $(SHORTNAME).cmxa + +lib$(NAME).a dll$(NAME).so : c_bz.o + $(OCAMLMKLIB) -oc $(NAME) $^ $(CLIBS) $(CLIBSDIR) + +$(SHORTNAME).cma : $(SHORTNAME).cmo + $(OCAMLMKLIB) -oc $(NAME) -o $(SHORTNAME) $^ $(CLIBS) $(CLIBSDIR) + +$(SHORTNAME).cmxa : bz2.cmx + $(OCAMLMKLIB) -oc $(NAME) -o $(SHORTNAME) $^ $(CLIBS) $(CLIBSDIR) + + +test : INCDIR= $(if $(OCAMLFIND),$(shell ocamlfind query $(SHORTNAME)),$(INSTALLDIR)) +test : test.ml + $(OCAMLC) -o $@ -dllpath $(INCDIR) -I $(INCDIR) $(SHORTNAME).cma $^ + +test.opt : INCDIR= $(if $(OCAMLFIND),$(shell ocamlfind query $(SHORTNAME)),$(INSTALLDIR)) +test.opt : test.ml + $(OCAMLOPT) -o $@ -I $(INCDIR) $(SHORTNAME).cmxa $^ + +normal-install: all + mkdir -p $(INSTALLDIR) + $(INSTALL_DATA) $(INSTALLFILES) $(INSTALLDIR) + @echo "You need to put a link to the shared stub in $$($(OCAMLC) -where)/stublibs" + +findlib-install: all + -$(OCAMLFIND) remove $(DESTDIR_FLAGS) $(SHORTNAME) + $(OCAMLFIND) install $(DESTDIR_FLAGS) \ + -patch-version $(VERSION) -ldconf ignore \ + $(SHORTNAME) META $(INSTALLFILES) + +clean: + rm -f *.cm* *.a *.so *.o *.opt test test.opt .depend +distclean: clean + rm -f config.log config.status Makefile +maintainer-clean: distclean + rm -rf aclocal.m4 doc/ + rm -f aclocal.m4 configure + +ifdef OCAMLDOC +doc : doc/index.html +doc/index.html : bz2.mli + mkdir -p doc/ + $(OCAMLDOC) -html -d doc $^ +else +doc : ; $(error "you need ocamldoc to generate the documentation") +endif + +dist: doc $(NAME)-$(VERSION).tar.gz + +$(NAME)-$(VERSION).tar.gz: dummy + cd .. && mv $(NAME) $(NAME)-$(VERSION) && \ + tar zcvf $@ $(addprefix $(NAME)-$(VERSION)/, $(DISTSRC)) && \ + mv $(NAME)-$(VERSION) $(NAME) + +.PHONY: all lib libopt clean doc dist normal-install findlib-install dummy stub + +%.cmo : %.ml + $(OCAMLC) -c $< + +%.cmx : %.ml + $(OCAMLOPT) -c $< + +%.cmi : %.mli + $(OCAMLC) -c $< + +%.o : %.c + $(OCAMLC) -ccopt "$(CPPFLAGS) $(CFLAGS)" -c $< + +.depend : $(wildcard *.ml *.mli) + -@$(OCAMLDEP) $^ > .depend + +-include .depend + +configure : configure.in aclocal.m4 + autoconf +aclocal.m4 : ocaml.m4 + aclocal -I . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/ROADMAP new/ocaml-camlbz2-0.7.0/ROADMAP --- old/ocaml-camlbz2-0.6.0/ROADMAP 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-camlbz2-0.7.0/ROADMAP 2021-01-18 17:38:53.000000000 +0100 @@ -0,0 +1,20 @@ + +ROADMAP +======= + +* 0.7.0 + +- bindings for the "low-level" bzip2 (de)compression API + + http://www.bzip.org/1.0.5/bzip2-manual-1.0.5.html#low-level + + That API would enable to (de)compress in memory, without forcibly + having to (de)compress all the data at once (as currently supported + by Bz2.{un,}compress). Low-level API bindings are a must for + integration into Batteries (http://batteries.forge.ocamlcore.org). + +* 0.6.0 + +- feature complete wrt the latest "GZ" release + (of course excluding zlib bindings, which have been removed) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/bz2.ml new/ocaml-camlbz2-0.7.0/bz2.ml --- old/ocaml-camlbz2-0.6.0/bz2.ml 2019-10-17 12:01:44.000000000 +0200 +++ new/ocaml-camlbz2-0.7.0/bz2.ml 2021-01-18 17:38:53.000000000 +0100 @@ -28,31 +28,31 @@ let version = library_version () -external open_in : ?small:bool -> ?unused:string -> Stdlib.Pervasives.in_channel -> +external open_in : ?small:bool -> ?unused:bytes -> Pervasives.in_channel -> in_channel = "mlbz_readopen" -external read : in_channel -> string -> int -> int -> int +external read : in_channel -> bytes -> int -> int -> int = "mlbz_read" -external read_get_unused : in_channel -> string +external read_get_unused : in_channel -> bytes = "mlbz_readgetunused" external close_in : in_channel -> unit = "mlbz_readclose" -external open_out : ?block:int -> Stdlib.Pervasives.out_channel -> out_channel +external open_out : ?block:int -> Pervasives.out_channel -> out_channel = "mlbz_writeopen" -external write : out_channel -> string -> int -> int -> unit +external write : out_channel -> bytes -> int -> int -> unit = "mlbz_write" external close_out : out_channel -> unit = "mlbz_writeclose" -external compress : ?block:int -> string -> int -> int -> string +external compress : ?block:int -> bytes -> int -> int -> bytes = "mlbz_compress" -external uncompress : ?small:bool -> string -> int -> int -> string +external uncompress : ?small:bool -> bytes -> int -> int -> bytes = "mlbz_uncompress" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/bz2.mli new/ocaml-camlbz2-0.7.0/bz2.mli --- old/ocaml-camlbz2-0.6.0/bz2.mli 2019-10-17 12:01:44.000000000 +0200 +++ new/ocaml-camlbz2-0.7.0/bz2.mli 2021-01-18 17:38:53.000000000 +0100 @@ -51,7 +51,7 @@ decompressing that is slower but uses less memory. Defaults: [false] *) -val open_in : ?small:bool -> ?unused:string -> Stdlib.Pervasives.in_channel -> +val open_in : ?small:bool -> ?unused:bytes -> Pervasives.in_channel -> in_channel (** [read buf pos len] reads up to [len] characters and store them in @@ -61,12 +61,12 @@ [len] means end of stream). @raise End_of_file if end of stream was already reached. *) -val read : in_channel -> string -> int -> int -> int +val read : in_channel -> bytes -> int -> int -> int (** If there's some data after the compressed stream that you want to read from the same [Pervasives] [in_channel], use [read_get_unused]. *) -val read_get_unused : in_channel -> string +val read_get_unused : in_channel -> bytes val close_in : in_channel -> unit @@ -81,11 +81,11 @@ @param block block size to use for compresion. It is a value between 1 and 9 inclusive. 9 is the default and provides best compression but takes most memory. *) -val open_out : ?block:int -> Stdlib.Pervasives.out_channel -> out_channel +val open_out : ?block:int -> Pervasives.out_channel -> out_channel (** [write oc buf pos len] writes [len] characters, coming from [buf] and starting at position [pos], to [oc] *) -val write : out_channel -> string -> int -> int -> unit +val write : out_channel -> bytes -> int -> int -> unit val close_out : out_channel -> unit @@ -98,11 +98,11 @@ [len] character long, and starting at [pos]. @return compressed data chunk as string *) -val compress : ?block:int -> string -> int -> int -> string +val compress : ?block:int -> bytes -> int -> int -> bytes (** [uncompress buf pos len] uncompress a data chunk comfing from [buf], [len] character long, and starting at [pos]. @param small see [Bz2.open_in] above @return uncompressed data chunk as string *) -val uncompress : ?small:bool -> string -> int -> int -> string +val uncompress : ?small:bool -> bytes -> int -> int -> bytes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/config/discover.ml new/ocaml-camlbz2-0.7.0/config/discover.ml --- old/ocaml-camlbz2-0.6.0/config/discover.ml 2019-10-17 12:01:44.000000000 +0200 +++ new/ocaml-camlbz2-0.7.0/config/discover.ml 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ -module C = Configurator.V1 - -let () = -C.main ~name:"bz2" (fun c -> - -let stale_bzip2 : C.Pkg_config.package_conf = { - libs = [ "-lbz2" ]; - cflags = [] -} in - -let conf = - match C.Pkg_config.get c with - | None -> C.die "'pkg-config' missing" - | Some pc -> - match (C.Pkg_config.query pc ~package:"bzip2") with - | None -> stale_bzip2 - | Some deps -> deps - in - - C.Flags.write_sexp "c_flags.sexp" conf.cflags; - C.Flags.write_sexp "c_library_flags.sexp" conf.libs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/config/dune new/ocaml-camlbz2-0.7.0/config/dune --- old/ocaml-camlbz2-0.6.0/config/dune 2019-10-17 12:01:44.000000000 +0200 +++ new/ocaml-camlbz2-0.7.0/config/dune 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -(executable - (name discover) - (libraries dune.configurator)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/configure.in new/ocaml-camlbz2-0.7.0/configure.in --- old/ocaml-camlbz2-0.6.0/configure.in 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-camlbz2-0.7.0/configure.in 2021-01-18 17:38:53.000000000 +0100 @@ -0,0 +1,42 @@ +# autoconf input using ocaml.m4 + +AC_INIT(bz2.mli) + +use_findlib=yes +# check for OCaml compiler +AC_PROG_OCAML +AC_PROG_FINDLIB +AC_ARG_OCAML_INSTALLDIR + +AC_CACHE_SAVE + +# check the C compiler +if test "$CFLAGS" = "" ; then + CFLAGS="-O2" +fi +AC_PROG_CC +AC_PROG_INSTALL + +# check for bzlib +AC_CHECK_HEADER(bzlib.h,,AC_MSG_ERROR(not found)) + +BZ_PREFIX="BZ2_" +not_ok="" +AC_CHECK_LIB(bz2,${BZ_PREFIX}bzReadOpen,,not_ok=y) +if test $not_ok +then + not_ok="" + BZ_PREFIX="" + AC_CHECK_LIB(bz2,${BZ_PREFIX}bzReadOpen,,not_ok=y) +fi +if test $not_ok +then AC_MSG_ERROR(libbz2 not found) +fi +unset not_ok + +AC_SUBST(CFLAGS) +AC_SUBST(LIBS) +AC_SUBST(BZ_PREFIX) + +# Finally create the Makefile from Makefile.in +AC_OUTPUT(Makefile) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/dune new/ocaml-camlbz2-0.7.0/dune --- old/ocaml-camlbz2-0.6.0/dune 2019-10-17 12:01:44.000000000 +0200 +++ new/ocaml-camlbz2-0.7.0/dune 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -(library - (public_name bz2) - (synopsis "bindings for bzip2") - (modules bz2) - (libraries stdlib-shims) - (c_names c_bz) - (c_flags - "-DBZ_PREFIX" - (:include c_flags.sexp)) - (c_library_flags - (:include c_library_flags.sexp))) - -(rule - (targets c_flags.sexp c_library_flags.sexp) - (deps - (:discover config/discover.exe)) - (action - (run %{discover}))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/dune-project new/ocaml-camlbz2-0.7.0/dune-project --- old/ocaml-camlbz2-0.6.0/dune-project 2019-10-17 12:01:44.000000000 +0200 +++ new/ocaml-camlbz2-0.7.0/dune-project 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -(lang dune 1.10) - -(generate_opam_files true) - -(license "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception") - -(authors - "Olivier Andrieu <[email protected]>, Nicolas George <[email protected]>") - -(maintainers - "Stefano Zacchiroli <[email protected]>, Olivier Andrieu <[email protected]>") - -(homepage "http://camlbz2.forge.ocamlcore.org/") - -(bug_reports "http://forge.ocamlcore.org/tracker/?atid=338&group_id=63") - -(package - (name bz2) - (synopsis "OCaml bindings for bzip2") - (description - "This is CamlBZ2, OCaml bindings for the libbz2 (AKA, bzip2) (de)compression library.") - (depends "dune.configurator")) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/examples/bunzip2.ml new/ocaml-camlbz2-0.7.0/examples/bunzip2.ml --- old/ocaml-camlbz2-0.6.0/examples/bunzip2.ml 2019-10-17 12:01:44.000000000 +0200 +++ new/ocaml-camlbz2-0.7.0/examples/bunzip2.ml 2021-01-18 17:38:53.000000000 +0100 @@ -30,13 +30,13 @@ open_out (Filename.chop_suffix iname ".bz2") let buflen = 8192 -let buf = String.make buflen (char_of_int 0x0) +let buf = String.create buflen let bzic = Bz2.open_in ic let _ = try while true do let bytes = Bz2.read bzic buf 0 buflen in - output oc (Bytes.of_string buf) 0 bytes; + output oc buf 0 bytes; if bytes < buflen then raise End_of_file done with End_of_file -> (); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/examples/dune new/ocaml-camlbz2-0.7.0/examples/dune --- old/ocaml-camlbz2-0.6.0/examples/dune 2019-10-17 12:01:44.000000000 +0200 +++ new/ocaml-camlbz2-0.7.0/examples/dune 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -(executable - (name bunzip2) - (public_name ocaml-bunzip2) - (libraries bz2)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/install-sh new/ocaml-camlbz2-0.7.0/install-sh --- old/ocaml-camlbz2-0.6.0/install-sh 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-camlbz2-0.7.0/install-sh 2021-01-18 17:38:53.000000000 +0100 @@ -0,0 +1,323 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2005-05-14.22 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= +dstarg= +no_target_directory= + +usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: +-c (ignored) +-d create directories instead of installing files. +-g GROUP $chgrpprog installed files to GROUP. +-m MODE $chmodprog installed files to MODE. +-o USER $chownprog installed files to USER. +-s $stripprog installed files. +-t DIRECTORY install into DIRECTORY. +-T report an error if DSTFILE is a directory. +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -c) shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit $?;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t) dstarg=$2 + shift + shift + continue;; + + -T) no_target_directory=true + shift + continue;; + + --version) echo "$0 $scriptversion"; exit $?;; + + *) # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + test -n "$dir_arg$dstarg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + mkdircmd=: + chmodcmd= + else + mkdircmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dstarg: Is a directory" >&2 + exit 1 + fi + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + shift + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test -d "$pathcomp" || exit + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $mkdircmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Copy the file name to the temp name. + $doit $cpprog "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit 1 + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit 1; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit 0 +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-camlbz2-0.6.0/ocaml.m4 new/ocaml-camlbz2-0.7.0/ocaml.m4 --- old/ocaml-camlbz2-0.6.0/ocaml.m4 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-camlbz2-0.7.0/ocaml.m4 2021-01-18 17:38:53.000000000 +0100 @@ -0,0 +1,207 @@ +dnl -*- autoconf -*- macros for OCaml +dnl by Olivier Andrieu +dnl from a configure.in by Jean-Christophe Filli?tre, +dnl from a first script by Georges Mariano +dnl +dnl defines AC_PROG_OCAML that will check the OCaml compiler +dnl and set the following variables : +dnl OCAMLC "ocamlc" if present in the path, or a failure +dnl or "ocamlc.opt" if present with same version number as ocamlc +dnl OCAMLOPT "ocamlopt" (or "ocamlopt.opt" if present), or unset +dnl OCAMLBEST either "byte" if no native compiler was found, +dnl "opt" otherwise +dnl OCAMLDEP "ocamldep" +dnl OCAMLLIB the path to the ocaml standard library +dnl OCAMLVERSION the ocaml version number +dnl +dnl OCAMLMKTOP +dnl OCAMLMKLIB +dnl OCAMLDOC +AC_DEFUN(AC_PROG_OCAML, +[dnl +# checking for ocamlc +AC_CHECK_PROG(OCAMLC,ocamlc,ocamlc,AC_MSG_ERROR(Cannot find ocamlc.)) +OCAMLVERSION=$($OCAMLC -version) +AC_MSG_RESULT(OCaml version is $OCAMLVERSION) +OCAMLLIB=$($OCAMLC -where) +AC_MSG_RESULT(OCaml library path is $OCAMLLIB) +# checking for ocamlopt +AC_CHECK_PROG(OCAMLOPT,ocamlopt,ocamlopt) +OCAMLBEST=byte +if test -z "$OCAMLOPT"; then + AC_MSG_WARN(Cannot find ocamlopt; bytecode compilation only.) +else + TMPVERSION=$($OCAMLOPT -version) + if test "$TMPVERSION" != "$OCAMLVERSION" ; then + AC_MSG_RESULT(versions differs from ocamlc; ocamlopt discarded.) + unset OCAMLOPT + else + OCAMLBEST=opt + fi +fi +# checking for ocamlc.opt +AC_CHECK_PROG(OCAMLCDOTOPT,ocamlc.opt,ocamlc.opt) +if test "$OCAMLCDOTOPT"; then + TMPVERSION=$($OCAMLCDOTOPT -version) + if test "$TMPVERSION" != "$OCAMLVERSION" ; then + AC_MSG_RESULT(versions differs from ocamlc; ocamlc.opt discarded.) + else + OCAMLC=$OCAMLCDOTOPT + fi +fi +# checking for ocamlopt.opt +if test "$OCAMLOPT" ; then + AC_CHECK_PROG(OCAMLOPTDOTOPT,ocamlopt.opt,ocamlopt.opt) + if test "$OCAMLOPTDOTOPT"; then + TMPVERSION=$($OCAMLOPTDOTOPT -version) + if test "$TMPVERSION" != "$OCAMLVERSION" ; then + AC_MSG_RESULT(version differs from ocamlc; ocamlopt.opt discarded.) + else + OCAMLOPT=$OCAMLOPTDOTOPT + fi + fi +fi +# checking for ocamldep +AC_CHECK_PROG(OCAMLDEP,ocamldep,ocamldep,AC_MSG_ERROR(Cannot find ocamldep.)) + +#checking for ocamlmktop +AC_CHECK_PROG(OCAMLMKTOP,ocamlmktop,ocamlmktop, AC_MSG_WARN(Cannot find ocamlmktop.)) +#checking for ocamlmklib +AC_CHECK_PROG(OCAMLMKLIB,ocamlmklib,ocamlmklib, AC_MSG_WARN(Cannot find ocamlmklib.)) +# checking for ocamldoc +AC_CHECK_PROG(OCAMLDOC,ocamldoc,ocamldoc, AC_MSG_WARN(Cannot find ocamldoc.)) + +# get the C compiler used by ocamlc +if test -z "$CC" ; then + touch conftest.c + CC=$($OCAMLC -verbose conftest.c 2>&1 | awk '/^+/ {print $[]2 ; exit}') + echo OCaml uses $CC to compile C files +fi + +AC_SUBST(OCAMLC) +AC_SUBST(OCAMLOPT) +AC_SUBST(OCAMLDEP) +AC_SUBST(OCAMLBEST) +AC_SUBST(OCAMLVERSION) +AC_SUBST(OCAMLLIB) +AC_SUBST(OCAMLMKLIB) +AC_SUBST(OCAMLMKTOP) +AC_SUBST(OCAMLDOC) +]) +dnl +dnl +dnl +dnl macro AC_PROG_OCAML_TOOLS will check OCamllex and OCamlyacc : +dnl OCAMLLEX "ocamllex" or "ocamllex.opt" if present +dnl OCAMLYACC "ocamlyac" +AC_DEFUN(AC_PROG_OCAML_TOOLS, +[dnl +# checking for ocamllex and ocamlyacc +AC_CHECK_PROG(OCAMLLEX,ocamllex,ocamllex,AC_MSG_ERROR(Cannot find ocamllex.)) +if test "$OCAMLLEX"; then + AC_CHECK_PROG(OCAMLLEXDOTOPT,ocamllex.opt,ocamllex.opt) + if test "$OCAMLLEXDOTOPT"; then + OCAMLLEX=$OCAMLLEXDOTOPT + fi +fi +AC_CHECK_PROG(OCAMLYACC,ocamlyacc,ocamlyacc,AC_MSG_ERROR(Cannot find ocamlyacc.)) +AC_SUBST(OCAMLLEX) +AC_SUBST(OCAMLYACC) +]) +dnl +dnl +dnl +dnl AC_PROG_CAMLP4 checks for Camlp4 +AC_DEFUN(AC_PROG_CAMLP4, +[dnl +AC_REQUIRE([AC_PROG_OCAML]) +# checking for camlp4 +AC_CHECK_PROG(CAMLP4,camlp4,camlp4) +if test "$CAMLP4"; then + TMPVERSION=$($CAMLP4 -v 2>&1| sed -n -e 's|.*version *\(.*\)$|\1|p') + if test "$TMPVERSION" != "$OCAMLVERSION" ; then + AC_MSG_ERROR(versions differs from ocamlc) + else + AC_CHECK_PROG(CAMLP4O,camlp4o,camlp4o) + fi +fi +AC_SUBST(CAMLP4) +AC_SUBST(CAMLP4O) +]) +dnl +dnl +dnl +dnl macro AC_PROG_FINDLIB will check for the presence of +dnl ocamlfind if configure is called with --with-findlib +AC_DEFUN(AC_PROG_FINDLIB, +[dnl +AC_ARG_WITH(findlib,[ --with-findlib use findlib package system], + use_findlib="$withval") +# checking for ocamlfind +if test "$use_findlib" = yes ; then + AC_CHECK_PROG(OCAMLFIND,ocamlfind,ocamlfind, + AC_MSG_ERROR(ocamlfind not found)) +else + unset OCAMLFIND +fi +AC_SUBST(OCAMLFIND) +]) +dnl +dnl +dnl +dnl AC_CHECK_OCAML_PKG checks wether a findlib package is present +dnl defines pkg_name to name +AC_DEFUN(AC_CHECK_OCAML_PKG, +[dnl +AC_REQUIRE([AC_PROG_FINDLIB]) +if test "$use_findlib" = yes ; then + AC_MSG_CHECKING(findlib package $1) + if $OCAMLFIND query $1 >/dev/null 2>/dev/null; then + AC_MSG_RESULT(found) + pkg_$1="$1" + else + AC_MSG_WARN(not found) + unset pkg_$1 + fi +fi +]) +dnl +dnl +dnl +dnl AC_ARG_OCAML_INSTALLDIR adds a --with-installdir option +AC_DEFUN(AC_ARG_OCAML_INSTALLDIR, +[dnl +AC_ARG_WITH(installdir,[ --with-installdir=DIR specify installation directory],INSTALLDIR="$withval") +if ! test "$INSTALLDIR" -o "$use_findlib" ; then + INSTALLDIR='$(OCAMLLIB)/$(NAME)' +fi +AC_SUBST(INSTALLDIR) +]) +dnl +dnl +dnl +dnl AC_CHECK_OCAML_MODULE looks for a module in a given path +dnl 1 -> name (for printing) +dnl 2 -> env var name +dnl 3 -> module to check +dnl 4 -> default dirs +AC_DEFUN(AC_CHECK_OCAML_MODULE, +[dnl +AC_MSG_CHECKING($1 directory) +cat > conftest.ml <<EOF +open $3 +EOF +unset found +for $2 in $$2 $4 ; do + if $OCAMLC -c -I "$$2" conftest.ml > /dev/null 2>&1 ; then + found=yes + break + fi +done +if test "$found" ; then + AC_MSG_RESULT($$2) +else + AC_MSG_RESULT(not found) + unset $2 +fi +AC_SUBST($2)]) ++++++ ocaml-camlbz2.patch ++++++ --- a/c_bz.c +++ b/c_bz.c @@ -118,7 +118,7 @@ value mlbz_readopen(value small, value u if(Is_block(small)) c_small = Bool_val(Field(small, 0)) ; if(Is_block(unused)){ - c_unused = String_val(Field(unused, 0)) ; + c_unused = &Byte(Field(unused, 0), 0); c_nunused = string_length(Field(unused, 0)); } c_chan = stream_of_channel(chan, "rb") ; @@ -140,7 +140,7 @@ value mlbz_read(value chan, value buf, v if((c_len + c_pos > string_length(buf)) || (c_len < 0) || (c_pos < 0)) invalid_argument("Bz.read") ; - c_buf = String_val(buf) + c_pos ; + c_buf = &Byte(buf, c_pos); res = BZ_P(bzRead)(&bzerror, Bzfile_val(chan), c_buf, c_len) ; if(bzerror == BZ_STREAM_END) set_eof_flag(chan) ; @@ -171,7 +171,7 @@ value mlbz_readgetunused(value chan) BZ_P(bzReadGetUnused)(&bzerror, Bzfile_val(chan), &unused, &nunused) ; mlbz_error(bzerror, "Bz.read_get_unused: not at end of stream", chan, 1) ; result = alloc_string(nunused) ; - memcpy(String_val(result), unused, nunused) ; + memcpy(&Byte(result, 0), unused, nunused) ; return result; } @@ -201,7 +201,7 @@ value mlbz_write(value chan, value buf, if((c_len + c_pos > string_length(buf)) || (c_len < 0) || (c_pos < 0)) invalid_argument("Bz.write") ; - c_buf = String_val(buf) + c_pos ; + c_buf = &Byte(buf, c_pos); BZ_P(bzWrite)(&bzerror, Bzfile_val(chan), c_buf, c_len) ; mlbz_error(bzerror, "Bz.write", chan, 0) ; return Val_unit; @@ -239,7 +239,7 @@ value mlbz_compress(value block, value s || c_pos < 0 || c_len < 0 || c_pos + c_len > string_length(src)) invalid_argument("Bz.compress") ; - src_buf = String_val(src) + c_pos; + src_buf = &Byte(src, c_pos); dst_buf_len = c_len * 1.01 + 600 ; dst_buf = malloc(dst_buf_len) ; if(dst_buf == NULL) @@ -264,7 +264,7 @@ value mlbz_compress(value block, value s } } result = alloc_string(dst_len); - memcpy(String_val(result), dst_buf, dst_len); + memcpy(&Byte(result, 0), dst_buf, dst_len); free(dst_buf); return result ; } @@ -284,7 +284,7 @@ value mlbz_uncompress(value small, value if(c_pos < 0 || c_len < 0 || c_pos + c_len > string_length(src)) invalid_argument("Bz.uncompress") ; - src_buf = String_val(src) + c_pos; + src_buf = &Byte(src, c_pos); dst_buf_len = c_len * 2 ; dst_buf = malloc(dst_buf_len) ; if(dst_buf == NULL) @@ -317,7 +317,7 @@ value mlbz_uncompress(value small, value } } result = alloc_string(dst_len); - memcpy(String_val(result), dst_buf, dst_len); + memcpy(&Byte(result, 0), dst_buf, dst_len); free(dst_buf); return result ; } --- /dev/null +++ b/config/discover.ml @@ -0,0 +1,21 @@ +module C = Configurator.V1 + +let () = +C.main ~name:"bz2" (fun c -> + +let stale_bzip2 : C.Pkg_config.package_conf = { + libs = [ "-lbz2" ]; + cflags = [] +} in + +let conf = + match C.Pkg_config.get c with + | None -> C.die "'pkg-config' missing" + | Some pc -> + match (C.Pkg_config.query pc ~package:"bzip2") with + | None -> stale_bzip2 + | Some deps -> deps + in + + C.Flags.write_sexp "c_flags.sexp" conf.cflags; + C.Flags.write_sexp "c_library_flags.sexp" conf.libs) --- /dev/null +++ b/config/dune @@ -0,0 +1,3 @@ +(executable + (name discover) + (libraries dune.configurator)) --- /dev/null +++ b/dune @@ -0,0 +1,17 @@ +(library + (public_name bz2) + (synopsis "bindings for bzip2") + (modules bz2) + (c_names c_bz) + (c_flags + "-DBZ_PREFIX" + (:include c_flags.sexp)) + (c_library_flags + (:include c_library_flags.sexp))) + +(rule + (targets c_flags.sexp c_library_flags.sexp) + (deps + (:discover config/discover.exe)) + (action + (run %{discover}))) --- /dev/null +++ b/dune-project @@ -0,0 +1,22 @@ +(lang dune 1.10) + +(generate_opam_files true) + +(license "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception") + +(authors + "Olivier Andrieu <[email protected]>, Nicolas George <[email protected]>") + +(maintainers + "Stefano Zacchiroli <[email protected]>, Olivier Andrieu <[email protected]>") + +(homepage "http://camlbz2.forge.ocamlcore.org/") + +(bug_reports "http://forge.ocamlcore.org/tracker/?atid=338&group_id=63") + +(package + (name bz2) + (synopsis "OCaml bindings for bzip2") + (description + "This is CamlBZ2, OCaml bindings for the libbz2 (AKA, bzip2) (de)compression library.") + (depends "dune.configurator")) --- /dev/null +++ b/examples/dune @@ -0,0 +1,4 @@ +(executable + (name bunzip2) + (public_name ocaml-bunzip2) + (libraries bz2))
