From d816aa6266fe5f7f4310cdf00048202b18452b74 Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Apr 07 2019 09:10:32 +0000 Subject: Initial import --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..409d88a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/ocp-indent-1.7.0.tar.gz diff --git a/ocaml-ocp-indent.spec b/ocaml-ocp-indent.spec new file mode 100644 index 0000000..cce1b7f --- /dev/null +++ b/ocaml-ocp-indent.spec @@ -0,0 +1,114 @@ +Name: ocaml-ocp-indent +Version: 1.7.0 +Release: 2%{?dist} +Summary: A simple tool to indent OCaml programs + +%global libname %(echo %{name} | sed -e 's/^ocaml-//') + +# The entire source code is LGPLv2 with exceptions except +# src/approx_tokens.ml is QPL +License: (LGPLv2 with exceptions) and QPL +URL: https://github.com/OCamlPro/%{libname} +Source0: https://github.com/OCamlPro/%{libname}/archive/%{version}/%{libname}-%{version}.tar.gz + +BuildRequires: ocaml +BuildRequires: ocaml-dune +BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml-cmdliner-devel +BuildRequires: ocaml-result-devel +# Required for tests, not available in Fedora +#BuildRequires: craml +BuildRequires: emacs +# For byte-compile elisp +#BuildRequires: emacs-auto-complete +#BuildRequires: emacs-tuareg +# The following two are not yet available in Fedora. +# So byte compilation is disabled +#BuildRequires: emacs-company +#BuildRequires: emacs-iedit +BuildRequires: vim-enhanced +Requires: emacs-filesystem >= %{_emacs_version} +Requires: vim-filesystem + +%description +Ocp-indent is based on an approximate, tolerant OCaml parser and a simple stack +machine ; this is much faster and more reliable than using regexps. Presets and +configuration options available, with the possibility to set them project-wide. +Supports most common syntax extensions, and extensible for others. + +Includes: + +- An indentor program, callable from the command-line or from within editors +- Bindings for popular editors +- A library that can be directly used by editor writers, or just for + fault-tolerant/approximate parsing. + +%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 +%setup -q -n %{libname}-%{version} + + +%build +dune build %{?_smp_mflags} --profile=release + + +%install +dune install --prefix=%{buildroot}%{_prefix} --libdir=%{buildroot}%{_libdir}/ocaml + +chmod 755 %{buildroot}%{_libdir}/ocaml/%{libname}/*/*.cmxs + +# Reinstall vim files to Fedora default location +mkdir -p %{buildroot}%{vimfiles_root} +mv %{buildroot}%{_datadir}/%{libname}/vim/* %{buildroot}%{vimfiles_root} +rmdir %{buildroot}%{_datadir}/%{libname}/vim +rmdir %{buildroot}%{_datadir}/%{libname} +# Reinstall documents using %%doc later +rm -fr %{buildroot}%{_prefix}/doc +mkdir -p %{buildroot}%{_datadir} +mv %{buildroot}%{_prefix}/man %{buildroot}%{_datadir} + +%check +#Tests only run on a git checkout +# ./tests/test.sh + + +%files +%doc README.md CHANGELOG +%license LICENSE +%{_bindir}/* +%{_libdir}/ocaml/%{libname} +%ifarch %{ocaml_native_compiler} +%exclude %{_libdir}/ocaml/%{libname}/*/*.a +%exclude %{_libdir}/ocaml/%{libname}/*/*.cmxa +%exclude %{_libdir}/ocaml/%{libname}/*/*.cmx +%endif +%exclude %{_libdir}/ocaml/%{libname}/*/*.mli +%exclude %{_libdir}/ocaml/%{libname}/*/*.ml +%{_emacs_sitelispdir}/* +%{vimfiles_root}/*/* +%{_mandir}/man1/%{libname}* + +%files devel +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/%{libname}/*/*.a +%{_libdir}/ocaml/%{libname}/*/*.cmxa +%{_libdir}/ocaml/%{libname}/*/*.cmx +%endif +%{_libdir}/ocaml/%{libname}/*/*.mli +%{_libdir}/ocaml/%{libname}/*/*.ml + +%changelog +* Sat Apr 6 2019 Robin Lee - 1.7.0-2 +- Make cmxs files executable to properly generate debuginfo + +* Fri Apr 5 2019 Robin Lee - 1.7.0-1 +- Initial packaging + diff --git a/sources b/sources new file mode 100644 index 0000000..7f5970e --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (ocp-indent-1.7.0.tar.gz) = 5b28ae8695612c95cb0f5748de9b9f01d8ef4ad18b31340dc526ccae5fb1b6ee7e12024ff1beb817a43796183a83bca144222ca2d77d7750f2ff56108b5fa350