diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a55b81a --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/editorconfig-core-test-0.13.tar.gz +/editorconfig-plugin-tests-cb7ae15d16ab3d72a1139f7a629b11cfe16d972f.tar.gz +/editorconfig-vim-1.1.1.tar.gz diff --git a/README.md b/README.md new file mode 100644 index 0000000..4a857c0 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# vim-editorconfig + +The vim-editorconfig package diff --git a/changelog b/changelog new file mode 100644 index 0000000..861b17a --- /dev/null +++ b/changelog @@ -0,0 +1,2 @@ +* Mon Apr 12 2021 Benjamin A. Beasley - 1.1.1-1 +- Initial package diff --git a/dead.package b/dead.package deleted file mode 100644 index 5204a84..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Orphaned for 6+ weeks diff --git a/sources b/sources new file mode 100644 index 0000000..0fc9dd7 --- /dev/null +++ b/sources @@ -0,0 +1,3 @@ +SHA512 (editorconfig-core-test-0.13.tar.gz) = 655da56c688e06ec0fb6fee06c89ad2eeef7be48ec2df861ed5ce20417801b4fe8ddf2df31026a8b2fb35fe1ab96daadedceb34f4d3231f931c30f109a5d894b +SHA512 (editorconfig-plugin-tests-cb7ae15d16ab3d72a1139f7a629b11cfe16d972f.tar.gz) = 0f003fbe538c03bc18fcda9c2f6f20d4f6c451b22f7957806487792bffe529ab5dd608a2b602f895f61b3c442237b2640918c7052b49f19b68297964d3db227c +SHA512 (editorconfig-vim-1.1.1.tar.gz) = 7b94db4b2f641ecd2d2623bf55bf9b457c007b2b5c8553cba5b7a75bc34823d6995d3c9ed13febe0f59de6f87c52eb0367591213c43c6fcd7c331c529126f4d6 diff --git a/vim-editorconfig.spec b/vim-editorconfig.spec new file mode 100644 index 0000000..aa4eeec --- /dev/null +++ b/vim-editorconfig.spec @@ -0,0 +1,123 @@ +# Upstream project name: +%global srcname editorconfig-vim + +# Currently, rubygem(vimrunner) is not packaged so we cannot run the plugin +# tests. Some other work may be required to get them running. See also +# https://github.com/editorconfig/editorconfig-vim/issues/150. +%bcond_with plugin_tests + +# In Fedora, vim plugin packages should ideally start with the vim- prefix: +Name: vim-editorconfig +Summary: EditorConfig Vim Plugin +Version: 1.1.1 +Release: %autorelease + +# The editorconfig core tests are included as a git submodule do not appear in +# the GitHub-generated release tarball, so we need a separate source archive +# for them. We do not treat this as a bundled library because the tests do not +# contribute to the installed files in any way. When the package is updated, +# the maintainer should check that we still have the correct (latest) version +# of the tests. +%global core_tests_version 0.13 +%global core_tests_url https://github.com/editorconfig/editorconfig-core-test/ +# Same for the plugin tests; these do not tag releases, so we reference a +# particular commit. +%global plugin_tests_commit cb7ae15d16ab3d72a1139f7a629b11cfe16d972f +%global plugin_tests_url https://github.com/editorconfig/editorconfig-plugin-tests/ + +# The entire source is BSD-2-Clause, except that the following files are +# (BSD-2-Clause AND PSF-2.0) since they are derived from the Python standard +# library: +# - autoload/editorconfig_core/fnmatch.vim +# - autoload/editorconfig_core/ini.vim +License: BSD-2-Clause AND (BSD-2-Clause AND PSF-2.0) +URL: https://github.com/editorconfig/%{srcname} +Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz +Source1: %{core_tests_url}/archive/v%{core_tests_version}/editorconfig-core-test-%{core_tests_version}.tar.gz +# Files in this source are licensed CC-BY; however, nothing derived from them +# is installed, so this does not affect the License field. +Source2: %{plugin_tests_url}/archive/%{plugin_tests_commit}/editorconfig-plugin-tests-%{plugin_tests_commit}.tar.gz + +BuildArch: noarch + +# For all tests: +BuildRequires: editorconfig +BuildRequires: vim-enhanced +# For core tests +BuildRequires: cmake +%if %{with plugin_tests} +# For plugin tests +BuildRequires: xorg-x11-server-Xvfb +BuildRequires: rubygem(rake) +BuildRequires: rubygem(rspec) +# tests/plugin/spec/editorconfig_spec.rb: require 'vimrunner' +BuildRequires: rubygem(vimrunner) +%endif + +Requires: vim-filesystem +# The plugin calls the editorconfig executable. +Requires: editorconfig + +%description +This is an EditorConfig plugin for Vim. + + +%prep +%autosetup -n %{srcname}-%{version} + +# Copy in the editorconfig core and plugin tests from the respective GitHub +# tarballs. +rm -rvf tests/core/tests +%setup -q -T -D -b 1 -n %{srcname}-%{version} +cp -rp ../editorconfig-core-test-%{core_tests_version} tests/core/tests +%if %{with plugin_tests} +rm -rvf tests/plugin/spec/plugin_tests +%setup -q -T -D -b 2 -n %{srcname}-%{version} +cp -rp ../editorconfig-plugin-tests-%{plugin_tests_commit} \ + tests/plugin/spec/plugin_tests +%endif + +# Fix executable bit on license file +chmod -v a-x LICENSE.PSF + + +%build +pushd tests/core +%cmake +# There is not actually anything to do here: +%cmake_build +popd + + +%install +install -d '%{buildroot}%{_datadir}/vim/vimfiles' +cp -rvp autoload plugin '%{buildroot}%{_datadir}/vim/vimfiles' + + +%check +# Core tests: these could also be executed by “./tests/travis-test.sh core”. +pushd tests/core +%ctest +popd + +%if %{with plugin_tests} +# Plugin tests: +export EDITORCONFIG_VIM_EXTERNAL_CORE='%{_bindir}/editorconfig' +%{_bindir}/xvfb-run -a rspec tests/plugin/spec/editorconfig_spec.rb +%endif + + +%files +%license LICENSE LICENSE.PSF +%doc CONTRIBUTORS +%doc README.md +%doc doc/*.txt + +%{_datadir}/vim/vimfiles/autoload/editorconfig.vim +%{_datadir}/vim/vimfiles/autoload/editorconfig_core.vim +%{_datadir}/vim/vimfiles/autoload/editorconfig_core +%{_datadir}/vim/vimfiles/plugin/editorconfig.vim + + +%changelog +%autochangelog