diff --git a/csexp-1.5.1.tbz b/csexp-1.5.1.tbz new file mode 100644 index 0000000000000000000000000000000000000000..90aff546faa296027fb96bd363cbf4b3375e2b4d Binary files /dev/null and b/csexp-1.5.1.tbz differ diff --git a/ocaml-csexp.spec b/ocaml-csexp.spec new file mode 100644 index 0000000000000000000000000000000000000000..d964638cbfaf2fc9a172b51edc768f0b47dd07a6 --- /dev/null +++ b/ocaml-csexp.spec @@ -0,0 +1,139 @@ +%ifnarch %{ocaml_native_compiler} +%global debug_package %{nil} +%endif + +%bcond_with dune + +Name: ocaml-csexp +Version: 1.5.1 +Release: 1 +Summary: Parsing and printing of S-expressions in canonical form + +License: MIT +URL: https://github.com/ocaml-dune/csexp +Source0: https://github.com/ocaml-dune/csexp/releases/download/%{version}/csexp-%{version}.tbz + +BuildRequires: ocaml >= 4.03.0 +%if %{with dune} +BuildRequires: ocaml-dune >= 1.11 +BuildRequires: ocaml-odoc +%endif + +%description +This project provides minimal support for parsing and printing +S-expressions in canonical form, which is a very simple and canonical +binary encoding of S-expressions. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and signature files for +developing applications that use %{name}. + +%prep +%autosetup -N -n csexp-%{version} + +%build +%if %{with dune} +dune build %{?_smp_mflags} --display=verbose @install +dune build %{?_smp_mflags} @doc +%else +OFLAGS="-strict-sequence -strict-formats -short-paths -keep-locs -g" +OCFLAGS="$OFLAGS -bin-annot" +cd src +ocamlc $OCFLAGS -output-obj csexp.mli +ocamlc $OCFLAGS -a -o csexp.cma csexp.ml +%ifarch %{ocaml_native_compiler} +ocamlopt $OFLAGS -ccopt "%{build_cflags}" -cclib "%{build_ldflags}" -a \ + -o csexp.cmxa csexp.ml +ocamlopt $OFLAGS -ccopt "%{build_cflags}" -cclib "%{build_ldflags}" -shared \ + -o csexp.cmxs csexp.ml +%endif +cd - +%endif + +%install +%if %{with dune} +dune install --destdir=%{buildroot} + +find _build/default/_doc/_html -name .dune-keep -delete + +find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete + +rm -fr %{buildroot}%{_prefix}/doc +%else +mkdir -p %{buildroot}%{_libdir}/ocaml/csexp +cp -p src/csexp.{cma,cmi,cmt,cmti,mli} %{buildroot}%{_libdir}/ocaml/csexp +%ifarch %{ocaml_native_compiler} +cp -p src/csexp.{a,cmx,cmxa,cmxs} %{buildroot}%{_libdir}/ocaml/csexp +%endif +cp -p csexp.opam %{buildroot}%{_libdir}/ocaml/csexp/opam + +cat >> %{buildroot}%{_libdir}/ocaml/csexp/META << EOF +version = "%{version}" +description = "Parsing and printing of S-expressions in canonical form" +archive(byte) = "csexp.cma" +%ifarch %{ocaml_native_compiler} +archive(native) = "csexp.cmxa" +%endif +plugin(byte) = "csexp.cma" +%ifarch %{ocaml_native_compiler} +plugin(native) = "csexp.cmxs" +%endif +EOF + +cat >> %{buildroot}%{_libdir}/ocaml/csexp/dune-package << EOF +(lang dune 2.8) +(name csexp) +(version %{version}) +(library + (name csexp) + (kind normal) +%ifarch %{ocaml_native_compiler} + (archives (byte csexp.cma) (native csexp.cmxa)) + (plugins (byte csexp.cma) (native csexp.cmxs)) + (native_archives csexp.a) +%else + (archives (byte csexp.cma)) + (plugins (byte csexp.cma)) +%endif + (main_module_name Csexp) +%ifarch %{ocaml_native_compiler} + (modes byte native) +%else + (modes byte) +%endif + (modules + (singleton (name Csexp) (obj_name csexp) (visibility public) (impl) (intf)))) +EOF +%endif + + +%files +%doc README.md +%license LICENSE.md +%dir %{_libdir}/ocaml/csexp/ +%{_libdir}/ocaml/csexp/META +%{_libdir}/ocaml/csexp/*.cma +%{_libdir}/ocaml/csexp/*.cmi +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/csexp/*.cmxs +%endif + +%files devel +%{_libdir}/ocaml/csexp/dune-package +%{_libdir}/ocaml/csexp/opam +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/csexp/*.a +%{_libdir}/ocaml/csexp/*.cmx +%{_libdir}/ocaml/csexp/*.cmxa +%endif +%{_libdir}/ocaml/csexp/*.cmt +%{_libdir}/ocaml/csexp/*.cmti +%{_libdir}/ocaml/csexp/*.mli + +%changelog +* Thu Jan 20 2022 xu_ping - 1.5.1-1 +- Package init diff --git a/ocaml-csexp.yaml b/ocaml-csexp.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c8295107c8be38951e586a4f848d1b6fd2287caf --- /dev/null +++ b/ocaml-csexp.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: ocaml-dune/csexp +tag_prefix: "^" +seperator: "."