diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5b5452e --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/editorconfig-core-test-0.13.tar.gz +/editorconfig-plugin-tests-cb7ae15d16ab3d72a1139f7a629b11cfe16d972f.tar.gz +/editorconfig-vim-1.1.1.tar.gz +/editorconfig-vim-1.2.0.tar.gz +/editorconfig-core-test-5ca0b296dc31124d0303895c163013450bd97958.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..42d3de5 --- /dev/null +++ b/sources @@ -0,0 +1,3 @@ +SHA512 (editorconfig-vim-1.2.0.tar.gz) = 1101562e71f2a9f356a3773cc32f4f091d5a0b67c85a8d78d70f76a73ec3b709f5ac5b7db7448972409031d37176190922912945be05037b627d1cf766bbb731 +SHA512 (editorconfig-core-test-5ca0b296dc31124d0303895c163013450bd97958.tar.gz) = df5f772cef2f97bb1a4ebc4fec4e51d0e49949a12649e07ff06d1afa45fca2f2f4fd69386a74f04b583e11235a9820392dffd8abd7c480ba7c1b75e944333099 +SHA512 (editorconfig-plugin-tests-cb7ae15d16ab3d72a1139f7a629b11cfe16d972f.tar.gz) = 0f003fbe538c03bc18fcda9c2f6f20d4f6c451b22f7957806487792bffe529ab5dd608a2b602f895f61b3c442237b2640918c7052b49f19b68297964d3db227c diff --git a/vim-editorconfig.spec b/vim-editorconfig.spec new file mode 100644 index 0000000..cf179fe --- /dev/null +++ b/vim-editorconfig.spec @@ -0,0 +1,120 @@ +# 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 plugin_tests 0 + +# In Fedora, vim plugin packages should ideally start with the vim- prefix: +Name: vim-editorconfig +Summary: EditorConfig Vim Plugin +Version: 1.2.0 +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 +# or snapshot of the tests. +%global core_tests_commit 5ca0b296dc31124d0303895c163013450bd97958 +%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/editorconfig-vim +Source0: %{url}/archive/v%{version}/editorconfig-vim-%{version}.tar.gz +Source1: %{core_tests_url}/archive/%{core_tests_commit}/editorconfig-core-test-%{core_tests_commit}.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 editorconfig-vim-%{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 editorconfig-vim-%{version} +cp -rp ../editorconfig-core-test-%{core_tests_commit} tests/core/tests +%if %{with plugin_tests} +rm -rvf tests/plugin/spec/plugin_tests +%setup -q -T -D -b 2 -n editorconfig-vim-%{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