Compare commits

..

No commits in common. "rawhide" and "f29" have entirely different histories.
rawhide ... f29

4 changed files with 55 additions and 190 deletions

1
.gitignore vendored
View File

@ -1,2 +1 @@
/ocp-indent-1.7.0.tar.gz /ocp-indent-1.7.0.tar.gz
/ocp-indent-1.8.2.tar.gz

View File

@ -1,31 +0,0 @@
--- a/tools/ocp-indent.el 2019-10-23 07:04:10.000000000 -0600
+++ b/tools/ocp-indent.el 2021-02-23 09:00:39.282453922 -0700
@@ -28,7 +28,7 @@
;;; Code:
-(require 'cl)
+(require 'cl-lib)
(defgroup ocp-indent nil
"ocp-indent OCaml indenter binding configuration"
@@ -76,8 +76,8 @@ are blanks."
(list "--numeric"
"--lines" (format "%d-%d" start-line end-line))
(if ocp-indent-config (list "--config" ocp-indent-config) nil)
- (reduce (lambda (acc syn) (list* "--syntax" syn acc))
- ocp-indent-syntax :initial-value nil)))
+ (cl-reduce #'(lambda (acc syn) (cl-list* "--syntax" syn acc))
+ ocp-indent-syntax :initial-value nil)))
(defun ocp-indent-file-to-string (file)
(replace-regexp-in-string
@@ -126,7 +126,7 @@ buffer."
(delete-file errfile))
(save-excursion
(goto-char start)
- (mapcar
+ (mapc
#'(lambda (indent) (indent-line-to indent) (forward-line))
indents))
(when (ocp-in-indentation-p) (back-to-indentation))))

View File

@ -1,52 +1,44 @@
%ifnarch %{ocaml_native_compiler} Name: ocaml-ocp-indent
%global debug_package %{nil} Version: 1.7.0
%endif Release: 2%{?dist}
# Documentation adds a circular dependency, so by
# default we build without.
%bcond_with doc
%global srcname ocp-indent
Name: ocaml-%{srcname}
Version: 1.8.2
Release: 7%{?dist}
Summary: A simple tool to indent OCaml programs 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 # The entire source code is LGPLv2 with exceptions except
# src/approx_tokens.ml is QPL # src/approx_tokens.ml is QPL
License: (LGPLv2 with exceptions) and QPL License: (LGPLv2 with exceptions) and QPL
URL: https://www.typerex.org/ocp-indent.html URL: https://github.com/OCamlPro/%{libname}
Source0: https://github.com/OCamlPro/%{srcname}/archive/%{version}/%{srcname}-%{version}.tar.gz Source0: https://github.com/OCamlPro/%{libname}/archive/%{version}/%{libname}-%{version}.tar.gz
# Update the Emacs interface for Emacs 27.1
Patch0: %{name}-emacs.patch
BuildRequires: emacs
BuildRequires: emacs-tuareg
BuildRequires: ocaml BuildRequires: ocaml
BuildRequires: ocaml-cmdliner-devel >= 1.0.0 BuildRequires: ocaml-dune
BuildRequires: ocaml-dune >= 1.0
BuildRequires: ocaml-findlib-devel BuildRequires: ocaml-findlib-devel
%if %{with doc} BuildRequires: ocaml-cmdliner-devel
BuildRequires: ocaml-odoc BuildRequires: ocaml-result-devel
%endif # 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 BuildRequires: vim-enhanced
Requires: emacs-filesystem >= %{_emacs_version} Requires: emacs-filesystem >= %{_emacs_version}
Requires: vim-filesystem Requires: vim-filesystem
%description %description
Ocp-indent is a simple tool and library to indent OCaml code. It is Ocp-indent is based on an approximate, tolerant OCaml parser and a simple stack
based on an approximate, tolerant OCaml parser and a simple stack machine ; this is much faster and more reliable than using regexps. Presets and
machine; this is much faster and more reliable than using regexps. configuration options available, with the possibility to set them project-wide.
Presets and configuration options are available, with the possibility to Supports most common syntax extensions, and extensible for others.
set them project-wide. Ocp-indent supports most common syntax
extensions, and is extensible for others.
Includes: Includes:
- An indentor program, callable from the command-line or from within - An indentor program, callable from the command-line or from within editors
editors
- Bindings for popular editors - Bindings for popular editors
- A library that can be directly used by editor writers, or just for - A library that can be directly used by editor writers, or just for
fault-tolerant/approximate parsing. fault-tolerant/approximate parsing.
@ -59,156 +51,61 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
The %{name}-devel package contains libraries and signature files for The %{name}-devel package contains libraries and signature files for
developing applications that use %{name}. developing applications that use %{name}.
%prep %prep
%autosetup -n %{srcname}-%{version} -p1 %setup -q -n %{libname}-%{version}
%build %build
dune build %{?_smp_mflags} --profile=release dune build %{?_smp_mflags} --profile=release
%if %{with doc}
dune build %{?_smp_mflags} @doc
%endif
%install %install
dune install --destdir=%{buildroot} dune install --prefix=%{buildroot}%{_prefix} --libdir=%{buildroot}%{_libdir}/ocaml
%if %{with doc} chmod 755 %{buildroot}%{_libdir}/ocaml/%{libname}/*/*.cmxs
# We do not want the dune markers
find _build/default/_doc/_html -name .dune-keep -delete
%endif
# We do not want the ml files
find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete
# We install the documentation with the doc macro
rm -fr %{buildroot}%{_prefix}/doc
%ifarch %{ocaml_native_compiler}
# Add missing executable bits
find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod a+x {} \+
%endif
# The man page has A0 bytes for non-breaking spaces, but this is invalid UTF-8
sed -i 's/\xa0/\\ /g' %{buildroot}%{_mandir}/man1/ocp-indent.1
# Reinstall vim files to Fedora default location # Reinstall vim files to Fedora default location
mkdir -p %{buildroot}%{vimfiles_root} mkdir -p %{buildroot}%{vimfiles_root}
mv %{buildroot}%{_datadir}/%{srcname}/vim/* %{buildroot}%{vimfiles_root} mv %{buildroot}%{_datadir}/%{libname}/vim/* %{buildroot}%{vimfiles_root}
rm -fr %{buildroot}%{_datadir}/%{srcname} rmdir %{buildroot}%{_datadir}/%{libname}/vim
rmdir %{buildroot}%{_datadir}/%{libname}
# Generate the autoload file for the Emacs interface and byte compile # Reinstall documents using %%doc later
cd %{buildroot}%{_emacs_sitelispdir} rm -fr %{buildroot}%{_prefix}/doc
emacs -batch --no-init-file --no-site-file \ mkdir -p %{buildroot}%{_datadir}
--eval "(progn (setq generated-autoload-file \"$PWD/ocp-indent-autoloads.el\" backup-inhibited t) (update-directory-autoloads \".\"))" mv %{buildroot}%{_prefix}/man %{buildroot}%{_datadir}
mkdir -p %{buildroot}%{_emacs_sitestartdir}
mv ocp-indent-autoloads.el %{buildroot}%{_emacs_sitestartdir}
%_emacs_bytecompile ocp-indent.el
cd -
%check %check
#Tests only run on a git checkout #Tests only run on a git checkout
# ./tests/test.sh # ./tests/test.sh
%files %files
%doc README.md CHANGELOG %doc README.md CHANGELOG
%license LICENSE %license LICENSE
%{_bindir}/ocp-indent %{_bindir}/*
%dir %{_libdir}/ocaml/%{srcname}/ %{_libdir}/ocaml/%{libname}
%dir %{_libdir}/ocaml/%{srcname}/dynlink/
%dir %{_libdir}/ocaml/%{srcname}/lexer/
%dir %{_libdir}/ocaml/%{srcname}/lib/
%dir %{_libdir}/ocaml/%{srcname}/utils/
%{_libdir}/ocaml/%{srcname}/META
%{_libdir}/ocaml/%{srcname}/*/*.cma
%{_libdir}/ocaml/%{srcname}/*/*.cmi
%ifarch %{ocaml_native_compiler} %ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/%{srcname}/*/*.cmxs %exclude %{_libdir}/ocaml/%{libname}/*/*.a
%exclude %{_libdir}/ocaml/%{libname}/*/*.cmxa
%exclude %{_libdir}/ocaml/%{libname}/*/*.cmx
%endif %endif
%{_emacs_sitelispdir}/ocp-indent.el{,c} %exclude %{_libdir}/ocaml/%{libname}/*/*.mli
%{_emacs_sitestartdir}/ocp-indent-autoloads.el %exclude %{_libdir}/ocaml/%{libname}/*/*.ml
%{vimfiles_root}/indent/ocaml.vim %{_emacs_sitelispdir}/*
%{_mandir}/man1/%{srcname}.1* %{vimfiles_root}/*/*
%{_mandir}/man1/%{libname}*
%files devel %files devel
%if %{with doc}
%doc _build/default/_doc/*
%endif
%{_libdir}/ocaml/%{srcname}/dune-package
%{_libdir}/ocaml/%{srcname}/opam
%ifarch %{ocaml_native_compiler} %ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/%{srcname}/*/*.a %{_libdir}/ocaml/%{libname}/*/*.a
%{_libdir}/ocaml/%{srcname}/*/*.cmx %{_libdir}/ocaml/%{libname}/*/*.cmxa
%{_libdir}/ocaml/%{srcname}/*/*.cmxa %{_libdir}/ocaml/%{libname}/*/*.cmx
%endif %endif
%{_libdir}/ocaml/%{srcname}/*/*.cmt %{_libdir}/ocaml/%{libname}/*/*.mli
%{_libdir}/ocaml/%{srcname}/*/*.cmti %{_libdir}/ocaml/%{libname}/*/*.ml
%{_libdir}/ocaml/%{srcname}/*/*.mli
%changelog %changelog
* Mon Mar 15 2021 Richard W.M. Jones <rjones@redhat.com> - 1.8.2-7
- Bump and rebuild for updated ocaml-findlib.
* Mon Mar 1 16:57:58 GMT 2021 Richard W.M. Jones <rjones@redhat.com> - 1.8.2-6
- OCaml 4.12.0 build
- Make ocaml-odoc dependency conditional.
* Tue Feb 23 2021 Jerry James <loganjerry@gmail.com> - 1.8.2-5
- Spec file cleanup
- Add -emacs patch to adapt to Emacs 27.1
- Build documentation with odoc
- Fix non-Unicode man page
- Generate autoloads for the Emacs interface
- Byte compile the Emacs interface
* Sat Feb 20 2021 Jerry James <loganjerry@gmail.com> - 1.8.2-5
- Rebuild for changed dynlink dependency
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Sep 01 2020 Richard W.M. Jones <rjones@redhat.com> - 1.8.2-3
- OCaml 4.11.1 rebuild
* Fri Aug 21 2020 Richard W.M. Jones <rjones@redhat.com> - 1.8.2-2
- OCaml 4.11.0 rebuild
* Sun Aug 9 2020 Robin Lee <cheeselee@fedoraproject.org> - 1.8.2-1
- Update to 1.8.2
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-13
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 05 2020 Richard W.M. Jones <rjones@redhat.com> - 1.7.0-11
- OCaml 4.11.0+dev2-2020-04-22 rebuild
* Tue Apr 21 2020 Richard W.M. Jones <rjones@redhat.com> - 1.7.0-10
- OCaml 4.11.0 pre-release attempt 2
* Fri Apr 03 2020 Richard W.M. Jones <rjones@redhat.com> - 1.7.0-9
- Update all OCaml dependencies for RPM 4.16.
* Wed Feb 26 2020 Richard W.M. Jones <rjones@redhat.com> - 1.7.0-8
- OCaml 4.10.0 final.
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sun Jan 19 2020 Richard W.M. Jones <rjones@redhat.com> - 1.7.0-6
- OCaml 4.10.0+beta1 rebuild.
- Use dune install --destdir option.
* Fri Dec 06 2019 Richard W.M. Jones <rjones@redhat.com> - 1.7.0-5
- OCaml 4.09.0 (final) rebuild.
* Wed Sep 18 2019 Richard W.M. Jones <rjones@redhat.com> - 1.7.0-4
- Bump release and rebuild.
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Apr 6 2019 Robin Lee <cheeselee@fedoraproject.org> - 1.7.0-2 * Sat Apr 6 2019 Robin Lee <cheeselee@fedoraproject.org> - 1.7.0-2
- Make cmxs files executable to properly generate debuginfo - Make cmxs files executable to properly generate debuginfo

View File

@ -1 +1 @@
SHA512 (ocp-indent-1.8.2.tar.gz) = c5f8b63d6d3baabbadffba159d485f54f6e903eaa59a58b6df509e12e679b5b63a1cf7734d336d6b3456ea6ac74e42c58889199f2a3ed584566589d0c9bbfef5 SHA512 (ocp-indent-1.7.0.tar.gz) = 5b28ae8695612c95cb0f5748de9b9f01d8ef4ad18b31340dc526ccae5fb1b6ee7e12024ff1beb817a43796183a83bca144222ca2d77d7750f2ff56108b5fa350