vis-master/vis.spec

115 lines
4.3 KiB
RPMSpec

#
# spec file for package vis
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define test_version 0.5
Name: vis
Version: 0.7+git
Release: 0
Summary: An editor combining the strengths of both vi(m) and sam
License: ISC
Group: Productivity/Text/Editors
URL: https://github.com/martanne/vis
#!RemoteAssetUrl: git+https://github.com/martanne/vis.git
#!RemoteAssetUrl: git+https://github.com/martanne/vis-test.git#v0.5
Source99: vis-rpmlintrc
# PATCH-FEATURE-UPSTREAM 675-non-block_subproc.patch gh#martanne/vis#675 mcepl@suse.com
# adds function vis.commuincate which spawns a process and returns handles to its std files.
# seems to be the cause of crash in gh#martanne/vis#988
Patch0: 675-non-block_subproc.patch
# PATCH-FIX-UPSTREAM 699-no-crash-reenter-prompt.patch gh#martanne/vis#628 mcepl@suse.com
# don't crash on reenter of the prompt window
Patch1: 699-no-crash-reenter-prompt.patch
# PATCH-FIX-UPSTREAM 946-non-ASCII-completion.patch gh#martanne/vis#941 mcepl@suse.com
# make vis-menu handle non-ASCII characters better
Patch2: 946-non-ASCII-completion.patch
# # PATCH-FEATURE-UPSTREAM 948-soft-word-wrapping.patch gh#martanne/vis#948 mcepl@suse.com
# # adds soft word wrapping (linebreak in vim)
# Patch3: 948-soft-word-wrapping.patch
# PATCH-FEATURE-UPSTREAM 617-vis-highlight.patch gh#martanne/vis#617 mcepl@suse.com
# add vis-highlight command
Patch4: 617-vis-highlight.patch
# PATCH-FEATURE-UPSTREAM 959-flexible-insert-completion.patch gh#martanne/vis#959
# allow changes for https://github.com/jpaulogg/vis-ins-completion/tree/flex-completion
Patch5: 959-flexible-insert-completion.patch
# PATCH-FEATURE-UPSTREAM 977-makefile-multiple-targets.patch gh#martanne/vis#977
# lexers/makefile: Support multiple targets in a single definition
Patch6: 977-makefile-multiple-targets.patch
# PATCH-FIX-UPSTREAM 558-gf_reimplementation.patch gh#martanne/vis#558 mcepl@suse.com
# Implementation of the gf command, v2
# This patch seems to ignite gh#martanne/vis#827 again.
Patch7: 558-gf_reimplementation.patch
# PATCH-FIX-UPSTREAM no-EOL-to-wl-clipboard.patch mcepl@suse.com
# don't add \n on paste
# from https://lists.sr.ht/~martanne/devel/%3C20211231195631.12681-1-mcepl%40cepl.eu%3E
Patch8: no-EOL-to-wl-clipboard.patch
# PATCH-FIX-UPSTREAM 881-linewise-inner-objects.patch gh#martanne/vis#881 mcepl@suse.com
# make linewise inner objects work differently from outer ones
Patch9: 881-linewise-inner-objects.patch
BuildRequires: libselinux-devel
BuildRequires: libtermkey-devel
BuildRequires: ncurses-devel
BuildRequires: tar
BuildRequires: tre-devel
ExclusiveArch: x86_64 %{ix86}
%if 0%{?suse_version} > 1500
BuildRequires: lua54-devel
BuildRequires: lua54-lpeg
Requires: lua54
%else
BuildRequires: lua-devel
BuildRequires: lua-lpeg
Requires: lua
%endif
%description
Vis aims to be a modern, legacy free, simple yet efficient editor combining the strengths of both vi(m) and sam.
It extends vi's modal editing with built-in support for multiple cursors/selections and combines it with sam's structural regular expression based command language.
%prep
%setup -q -n vis -c -T
cp -a %{_sourcedir}/vis/* .
cp -a %{_sourcedir}/vis-test/* test/
%autopatch -p1
%build
export CFLAGS="%{optflags} -fcommon"
%configure
%make_build debug
%install
%make_install
%check
# According to the debian/rules:
# The vim tests harness is not solid, let's skip them for the moment.
# Upstream mentioned the possibility of phasing them out entirely.
%make_build -C test/core
# No busted yet make -C test/lua
%make_build -C test/vis
%files
%{_bindir}/vis*
%{_datadir}/vis
%{_mandir}/man1/*
%dir %{_datadir}/doc/vis
%{_datadir}/doc/vis/LICENSE
%{_datadir}/doc/vis/README.md
%changelog