%undefine _package_note_flags %ifnarch %{ocaml_native_compiler} %global debug_package %{nil} %endif %global ocamlver 414 Name: ocaml-merlin Version: 4.5 Release: 5%{?dist} Summary: Context sensitive completion for OCaml # The entire source is MIT except: # QPL: # - src/ocaml/driver/pparse.ml{,i} # - src/ocaml/preprocess/lexer_ident.mll # - src/ocaml/preprocess/lexer_raw.ml{i,l} # LGPL-2.1-only WITH OCaml-LGPL-linking-exception # - src/ocaml/preprocess/parser_raw.mly # - upstream/ocaml_413/parsing/parser.mly # - upstream/ocaml_413/utils/domainstate.ml{,i}.c # - upstream/ocaml_414/parsing/parser.mly # - upstream/ocaml_414/utils/domainstate.ml{,i}.c License: MIT AND QPL-1.0 AND LGPL-2.1-only WITH OCaml-LGPL-linking-exception URL: https://ocaml.github.io/merlin/ Source0: https://github.com/ocaml/merlin/releases/download/v%{version}-%{ocamlver}/merlin-%{version}-%{ocamlver}.tbz # Fix the tests to work with /usr/lib64 as well as /usr/lib Patch0001: 0001-Use-usr-lib64-for-Fedora.patch BuildRequires: emacs BuildRequires: emacs-auto-complete BuildRequires: emacs-company-mode BuildRequires: emacs-iedit BuildRequires: jq BuildRequires: ocaml >= 4.14 BuildRequires: ocaml-caml-mode BuildRequires: ocaml-csexp-devel >= 1.2.3 BuildRequires: ocaml-dune >= 2.9.0 BuildRequires: ocaml-findlib-devel >= 1.6.0 BuildRequires: ocaml-menhir BuildRequires: ocaml-source BuildRequires: ocaml-yojson-devel >= 1.6.0 BuildRequires: vim-enhanced Requires: dot-merlin-reader%{?_isa} = %{version}-%{release} Recommends: ocaml-source %global _desc %{expand: Merlin is an assistant for editing OCaml code. It aims to provide the features available in modern IDEs: error reporting, auto completion, source browsing and much more.} %description %_desc You should also install a package that integrates with your editor of choice, such as emacs-merlin or vim-merlin. %package -n dot-merlin-reader License: MIT Summary: Merlin configuration file reader %description -n dot-merlin-reader This package contains a helper process that reads .merlin files and gives the normalized content to merlin. %package -n emacs-merlin License: MIT Summary: Context sensitive completion for OCaml in Emacs BuildArch: noarch Requires: ocaml-merlin = %{version}-%{release} Requires: emacs(bin) >= %{?_emacs_version}%{!?_emacs_version:0} Requires: emacs-caml-mode Recommends: emacs-auto-complete Recommends: emacs-company-mode Recommends: emacs-iedit %description -n emacs-merlin %_desc This package contains the Emacs interface to merlin. %package -n vim-merlin License: MIT Summary: Context sensitive completion for OCaml in Vim BuildArch: noarch Requires: ocaml-merlin = %{version}-%{release} Requires: vim-filesystem %description -n vim-merlin %_desc This package contains the Vim interface to merlin. %prep %autosetup -n merlin-%{version}-%{ocamlver} -p1 %build %dune_build @install %install %dune_install -s -n # Reinstall vim files to Fedora default location mkdir -p %{buildroot}%{vimfiles_root} mv %{buildroot}%{_datadir}/merlin/vim/* %{buildroot}%{vimfiles_root} rm -fr %{buildroot}%{_datadir}/merlin # Generate the autoload file for the Emacs interface and byte compile cd %{buildroot}%{_emacs_sitelispdir} emacs -batch --no-init-file --no-site-file \ --eval "(progn (setq generated-autoload-file \"$PWD/merlin-autoloads.el\" backup-inhibited t) (update-directory-autoloads \".\"))" mkdir -p %{buildroot}%{_emacs_sitestartdir} mv merlin-autoloads.el %{buildroot}%{_emacs_sitestartdir} %_emacs_bytecompile *.el cd - %check %dune_check %files %doc featuremap.* CHANGES.md README.md %license LICENSE %{_bindir}/ocamlmerlin %{_bindir}/ocamlmerlin-server %{ocamldir}/merlin/ %files -n dot-merlin-reader %license LICENSE %{_bindir}/dot-merlin-reader %{ocamldir}/dot-merlin-reader/ %files -n emacs-merlin %{_emacs_sitelispdir}/merlin* %{_emacs_sitestartdir}/merlin-autoloads.el %files -n vim-merlin %{vimfiles_root}/*/* %changelog * Tue Jan 24 2023 Richard W.M. Jones - 4.5-5 - Rebuild OCaml packages for F38 * Thu Jan 19 2023 Fedora Release Engineering - 4.5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Mon Dec 12 2022 Jerry James - 4.5-3 - Convert License tags to SPDX * Fri Jul 22 2022 Fedora Release Engineering - 4.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Wed Jul 20 2022 Jerry James - 4.5-2 - Use new OCaml macros * Sun Jun 19 2022 Richard W.M. Jones - 4.5-2 - OCaml 4.14.0 rebuild * Wed Apr 27 2022 Jerry James - 4.5-1 - Version 4.5 * Fri Feb 04 2022 Richard W.M. Jones - 4.4-3 - OCaml 4.13.1 rebuild to remove package notes * Thu Jan 20 2022 Fedora Release Engineering - 4.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Tue Nov 23 2021 Jerry James - 4.4-1 - Version 4.4 - OCaml 4.13 is now fully supported, so drop related patches * Mon Oct 04 2021 Richard W.M. Jones - 4.3.1-2 - OCaml 4.13.1 build * Tue Jul 27 2021 Jerry James - 4.3.1-1 - Version 4.3.1 - Drop upstreamed -emacs patch * Thu Jul 22 2021 Fedora Release Engineering - 4.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Apr 13 2021 Jerry James - 4.2-1 - Version 4.2 - Drop upstreamed -iedit patch - Add -emacs patch to fix various Emacs issues - Add -textrel patch to fix FTBFS on i386 * Fri Mar 26 2021 Jerry James - 4.1-2 - Fix tests on 64-bit systems with the -test-lib64 patch - Add -emacs-iedit patch to adapt to recent iedit changes - Build with auto-complete, company-mode, and caml-mode support - Add subpackages: dot-merlin-reader, emacs-merlin, and vim-merlin - Generate autoloads for the Emacs interface * Mon Mar 1 2021 Richard W.M. Jones - 4.1-1 - New upstream version 4.1. - OCaml 4.12.0 build * Tue Jan 26 2021 Fedora Release Engineering - 3.3.7-0.4.preview1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Tue Sep 01 2020 Richard W.M. Jones - 3.3.7-0.3.preview1 - OCaml 4.11.1 rebuild * Fri Aug 21 2020 Richard W.M. Jones - 3.3.7-0.2.preview1 - OCaml 4.11.0 rebuild * Fri Aug 7 2020 Robin Lee - 3.3.7-0.1.preview1 - Update to 3.3.7-preview1 * Sat Aug 01 2020 Fedora Release Engineering - 3.3.4-3 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 3.3.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Sat Apr 18 2020 Robin Lee - 3.3.4-1 - Update to 3.3.4 final * Tue Mar 3 2020 Robin Lee - 3.3.4-0.1.preview1 - Update to 3.3.4-preview1, supports OCaml 4.10 (BZ#1799817, BZ#1809312) * Wed Jan 29 2020 Fedora Release Engineering - 3.3.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Sun Dec 1 2019 Robin Lee - 3.3.3-1 - Release 3.3.3 (RHBZ#1778280) - Fix Release tag (RHBZ#1777835) * Sat Aug 3 2019 Robin Lee - 3.3.2-1 - Update to 3.3.2 * Thu Jul 25 2019 Fedora Release Engineering - 3.3.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Fri Jun 28 2019 Robin Lee - 3.3.1-1 - Update to 3.3.1 (BZ#1703452) * Sun Mar 31 2019 Robin Lee - 3.2.2-2 - Fix ocaml library path * Fri Mar 1 2019 Robin Lee - 3.2.2-1 - Initial packaging