Compare commits

...

14 Commits
f32 ... rawhide

Author SHA1 Message Date
Richard W.M. Jones
93913770dd Bump and rebuild for updated ocaml-findlib. 2021-03-15 15:45:45 +00:00
Richard W.M. Jones
f54c212b3c Make ocaml-odoc dependency conditional. 2021-03-01 17:30:39 +00:00
Richard W.M. Jones
ef6a09ed5a OCaml 4.12.0 build 2021-03-01 16:57:59 +00:00
Jerry James
3585e93217 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.
2021-02-23 12:07:54 -07:00
Jerry James
3fe10ae709 Rebuild for changed dynlink dependency. 2021-02-21 10:25:00 -07:00
Fedora Release Engineering
56397441a1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 22:02:22 +00:00
Richard W.M. Jones
ae4ff4d737 OCaml 4.11.1 rebuild 2020-09-01 20:48:53 +01:00
Richard W.M. Jones
6791246c05 OCaml 4.11.0 rebuild 2020-08-21 12:45:50 +01:00
Robin Lee
f3180e11af Update to 1.8.2 2020-08-10 09:13:25 +08:00
Fedora Release Engineering
645e76a9d8 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 06:40:11 +00:00
Fedora Release Engineering
e46db14178 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 12:14:28 +00:00
Richard W.M. Jones
aea2b1545b OCaml 4.11.0+dev2-2020-04-22 rebuild 2020-05-05 10:58:52 +01:00
Richard W.M. Jones
9242f8cb63 OCaml 4.11.0 pre-release attempt 2 2020-04-21 19:33:41 +01:00
Richard W.M. Jones
7f4b528488 Update all OCaml dependencies for RPM 4.16. 2020-04-03 13:38:18 +01:00
4 changed files with 173 additions and 59 deletions

1
.gitignore vendored
View File

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

View File

@ -0,0 +1,31 @@
--- 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,44 +1,52 @@
Name: ocaml-ocp-indent %ifnarch %{ocaml_native_compiler}
Version: 1.7.0 %global debug_package %{nil}
Release: 8%{?dist} %endif
Summary: A simple tool to indent OCaml programs
%global libname %(echo %{name} | sed -e 's/^ocaml-//') # 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
# 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://github.com/OCamlPro/%{libname} URL: https://www.typerex.org/ocp-indent.html
Source0: https://github.com/OCamlPro/%{libname}/archive/%{version}/%{libname}-%{version}.tar.gz Source0: https://github.com/OCamlPro/%{srcname}/archive/%{version}/%{srcname}-%{version}.tar.gz
# Update the Emacs interface for Emacs 27.1
Patch0: %{name}-emacs.patch
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 BuildRequires: emacs
# For byte-compile elisp BuildRequires: emacs-tuareg
#BuildRequires: emacs-auto-complete BuildRequires: ocaml
#BuildRequires: emacs-tuareg BuildRequires: ocaml-cmdliner-devel >= 1.0.0
# The following two are not yet available in Fedora. BuildRequires: ocaml-dune >= 1.0
# So byte compilation is disabled BuildRequires: ocaml-findlib-devel
#BuildRequires: emacs-company %if %{with doc}
#BuildRequires: emacs-iedit BuildRequires: ocaml-odoc
%endif
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 based on an approximate, tolerant OCaml parser and a simple stack Ocp-indent is a simple tool and library to indent OCaml code. It is
machine ; this is much faster and more reliable than using regexps. Presets and based on an approximate, tolerant OCaml parser and a simple stack
configuration options available, with the possibility to set them project-wide. machine; this is much faster and more reliable than using regexps.
Supports most common syntax extensions, and extensible for others. Presets and configuration options are available, with the possibility to
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 editors - An indentor program, callable from the command-line or from within
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.
@ -51,63 +59,137 @@ 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
%setup -q -n %{libname}-%{version} %autosetup -n %{srcname}-%{version} -p1
%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 \ dune install --destdir=%{buildroot}
--destdir=%{buildroot} \
--prefix=%{_prefix} \
--libdir=%{_libdir}/ocaml \
--mandir=%{_mandir}
chmod 755 %{buildroot}%{_libdir}/ocaml/%{libname}/*/*.cmxs %if %{with doc}
# 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}/%{libname}/vim/* %{buildroot}%{vimfiles_root} mv %{buildroot}%{_datadir}/%{srcname}/vim/* %{buildroot}%{vimfiles_root}
rmdir %{buildroot}%{_datadir}/%{libname}/vim rm -fr %{buildroot}%{_datadir}/%{srcname}
rmdir %{buildroot}%{_datadir}/%{libname}
# Reinstall documents using %%doc later # Generate the autoload file for the Emacs interface and byte compile
rm -fr %{buildroot}%{_prefix}/doc cd %{buildroot}%{_emacs_sitelispdir}
emacs -batch --no-init-file --no-site-file \
--eval "(progn (setq generated-autoload-file \"$PWD/ocp-indent-autoloads.el\" backup-inhibited t) (update-directory-autoloads \".\"))"
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}/* %{_bindir}/ocp-indent
%{_libdir}/ocaml/%{libname} %dir %{_libdir}/ocaml/%{srcname}/
%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}
%exclude %{_libdir}/ocaml/%{libname}/*/*.a %{_libdir}/ocaml/%{srcname}/*/*.cmxs
%exclude %{_libdir}/ocaml/%{libname}/*/*.cmxa
%exclude %{_libdir}/ocaml/%{libname}/*/*.cmx
%endif %endif
%exclude %{_libdir}/ocaml/%{libname}/*/*.mli %{_emacs_sitelispdir}/ocp-indent.el{,c}
%exclude %{_libdir}/ocaml/%{libname}/*/*.ml %{_emacs_sitestartdir}/ocp-indent-autoloads.el
%{_emacs_sitelispdir}/* %{vimfiles_root}/indent/ocaml.vim
%{vimfiles_root}/*/* %{_mandir}/man1/%{srcname}.1*
%{_mandir}/man1/%{libname}*
%files devel %files devel
%ifarch %{ocaml_native_compiler} %if %{with doc}
%{_libdir}/ocaml/%{libname}/*/*.a %doc _build/default/_doc/*
%{_libdir}/ocaml/%{libname}/*/*.cmxa
%{_libdir}/ocaml/%{libname}/*/*.cmx
%endif %endif
%{_libdir}/ocaml/%{libname}/*/*.mli %{_libdir}/ocaml/%{srcname}/dune-package
%{_libdir}/ocaml/%{libname}/*/*.ml %{_libdir}/ocaml/%{srcname}/opam
%ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/%{srcname}/*/*.a
%{_libdir}/ocaml/%{srcname}/*/*.cmx
%{_libdir}/ocaml/%{srcname}/*/*.cmxa
%endif
%{_libdir}/ocaml/%{srcname}/*/*.cmt
%{_libdir}/ocaml/%{srcname}/*/*.cmti
%{_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 * Wed Feb 26 2020 Richard W.M. Jones <rjones@redhat.com> - 1.7.0-8
- OCaml 4.10.0 final. - OCaml 4.10.0 final.

View File

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