diff --git a/.gitignore b/.gitignore index 7d9b445..36b6d4d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -yard-0.5.3.gem +/yard-*.gem +/yard-*-spec.txz +/yard-*-test-missing-files.tar.gz diff --git a/rubygem-yard.spec b/rubygem-yard.spec index 6114a66..01473b6 100644 --- a/rubygem-yard.spec +++ b/rubygem-yard.spec @@ -1,27 +1,48 @@ -%define gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null) -%define gemname yard -%define geminstdir %{gemdir}/gems/%{gemname}-%{version} +%global gem_name yard -%define rubyabi 1.8 +Name: rubygem-%{gem_name} +Version: 0.9.38 +Release: 2%{?dist} -Name: rubygem-%{gemname} -Summary: Documentation tool for consistent and usable documentation in Ruby -Version: 0.5.3 -Release: 3%{?dist} -Group: Development/Languages -License: MIT and (GPLv2 or Ruby) -URL: http://yardoc.org +Summary: Documentation tool for consistent and usable documentation in Ruby -Source0: http://gemcutter.org/downloads/%{gemname}-%{version}.gem -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Requires: rubygems -Requires: ruby(abi) = %{rubyabi} -BuildRequires: rubygems -BuildRequires(check): rubygem(rake) -BuildRequires(check): rubygem(rspec) -BuildRequires(check): rubygem(RedCloth) -BuildArch: noarch -Provides: rubygem(%{gemname}) = %{version} +# lib/yard/parser/ruby/legacy/ruby_lex.rb: under GPL-2.0-only OR Ruby +# lib/yard/rubygems/backports/: MIT OR Ruby +# lib/yard/server/http_utils.rb: BSD 2-Clause +# lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js: +# MIT OR GPL(version 2??), as this is OR, use MIT for now +# Others are MIT +# SPDX confirmed +License: MIT AND (MIT OR Ruby) AND BSD-2-Clause AND (GPL-2.0-only OR Ruby) + +URL: http://yardoc.org +Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem +Source1: %{gem_name}-%{version}-test-missing-files.tar.gz +# Source1 is created by $ bash %%SOURCE2 %%version +Source2: yard-create-missing-test-files.sh +# https://github.com/lsegal/yard/issues/1637 +# Fix spec testsuite with namespace collision +Patch0: yard-0.9.38-issue1637-spec-namespace-collision.patch + +# The 'irb/notifier' might be required for parsing of some old Ruby code. +# https://github.com/lsegal/yard/blob/v0.9.24/lib/yard/parser/ruby/legacy/irb/slex.rb#L13 +Recommends: rubygem(irb) + +BuildRequires: ruby(release) +BuildRequires: rubygems-devel +BuildRequires: ruby +BuildRequires: rubygem(RedCloth) +BuildRequires: rubygem(asciidoctor) +BuildRequires: rubygem(bundler) +BuildRequires: rubygem(irb) +BuildRequires: rubygem(rack) +BuildRequires: /usr/bin/rackup +BuildRequires: rubygem(rake) +BuildRequires: rubygem(redcarpet) +BuildRequires: rubygem(rspec) +BuildRequires: rubygem(webrick) + +BuildArch: noarch %description YARD is a documentation generation tool for the Ruby programming language. @@ -30,55 +51,240 @@ exported to a number of formats very easily, and also supports extending for custom Ruby constructs such as custom class level definitions. +%package doc +Summary: Documentation for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description doc +Documentation for %{name}. + %prep -%setup -q -T -c +%setup -q -n %{gem_name}-%{version} -b1 +%patch -P0 -p1 +mv ../%{gem_name}-%{version}.gemspec . %build +gem build ./%{gem_name}-%{version}.gemspec +%gem_install %install -rm -rf %{buildroot} -mkdir -p %{buildroot}%{gemdir} -mkdir -p %{buildroot}/%{_bindir} +mkdir -p %{buildroot}%{gem_dir} +cp -a .%{gem_dir}/* \ + %{buildroot}%{gem_dir}/ -gem install --local --install-dir ./%{gemdir} \ - --force --rdoc %{SOURCE0} -cp -a ./%{gemdir}/* %{buildroot}/%{gemdir}/. -mv %{buildroot}%{gemdir}/bin/* %{buildroot}/%{_bindir} -rmdir %{buildroot}%{gemdir}/bin -find %{buildroot}%{geminstdir}/bin -type f | xargs chmod a+x +pushd %{buildroot}%{gem_instdir} +rm -rf .yardopts* \ + %{nil} +popd -%clean -rm -rf %{buildroot} +mkdir -p %{buildroot}%{_bindir} +cp -a .%{_bindir}/* \ + %{buildroot}%{_bindir}/ + +find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod 0755 +rm -f %{buildroot}%{gem_cache} %check -pushd .%{geminstdir} -rake spec || : +# FIXME +# investigate this: was okay with yard 0.9.28 +sed -i spec/cli/diff_spec.rb \ + -e '\@"searches for .gem file"@s|\([ \t]it \)|\txit |' +rspec -r spec_helper spec %files -%defattr(-, root, root, -) +%dir %{gem_instdir} +%license %{gem_instdir}/LEGAL +%license %{gem_instdir}/LICENSE +%doc %{gem_instdir}/CHANGELOG.md +%doc %{gem_instdir}/README.md + +%{_bindir}/yard %{_bindir}/yardoc %{_bindir}/yri -%{_bindir}/yard-graph -%dir %{geminstdir} -%{geminstdir}/bin -%{geminstdir}/lib -%{geminstdir}/templates -%{geminstdir}/.yardopts -%{gemdir}/cache/%{gemname}-%{version}.gem -%{gemdir}/specifications/%{gemname}-%{version}.gemspec +%{gem_libdir}/ +%{gem_instdir}/bin +%{gem_instdir}/po/ +%{gem_instdir}/templates/ -%doc %{geminstdir}/LICENSE -%doc %{geminstdir}/README.md -%doc %{geminstdir}/Rakefile -%doc %{geminstdir}/ChangeLog -%doc %{geminstdir}/benchmarks -%doc %{geminstdir}/spec -%doc %{geminstdir}/docs -%doc %{gemdir}/doc/%{gemname}-%{version} +%{gem_spec} +%{?gem_plugin} +%files doc +%doc %{gem_docdir} +%doc %{gem_instdir}/docs/ %changelog +* Fri Jan 02 2026 Mamoru TASAKA - 0.9.38-2 +- Fix spec testsuite failure with namespace collision + +* Mon Dec 08 2025 Mamoru TASAKA - 0.9.38-1 +- 0.9.38 + +* Fri Jul 25 2025 Fedora Release Engineering - 0.9.37-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jun 10 2025 Mamoru TASAKA - 0.9.37-3 +- BR: /usr/bin/rackup for rack / rackup gem split (bug 2371181) + +* Sun Jan 19 2025 Fedora Release Engineering - 0.9.37-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Sep 05 2024 Mamoru TASAKA - 0.9.37-1 +- 0.9.37 + +* Fri Jul 19 2024 Fedora Release Engineering - 0.9.36-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Mar 01 2024 Mamoru TASAKA - 0.9.36-1 +- 0.9.36 (Fixes CVE-2024-27285) + +* Fri Jan 26 2024 Fedora Release Engineering - 0.9.34-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Nov 10 2023 Mamoru TASAKA - 0.9.34-4 +- Testsuite: remove invalid yield usage from spec (for ruby3.3) + +* Mon Sep 25 2023 Mamoru TASAKA - 0.9.34-3 +- Backport upstream patch for BOM detection change in ruby33 + +* Fri Jul 21 2023 Fedora Release Engineering - 0.9.34-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Apr 13 2023 Mamoru TASAKA - 0.9.34-1 +- 0.9.34 + +* Wed Apr 12 2023 Mamoru TASAKA - 0.9.33-1 +- 0.9.33 + +* Mon Apr 10 2023 Mamoru TASAKA - 0.9.32-1 +- 0.9.32 + +* Sun Apr 9 2023 Mamoru TASAKA - 0.9.29-1 +- 0.9.29 +- Whitespace cleanup +- SPDX migration + +* Fri Jan 20 2023 Fedora Release Engineering - 0.9.28-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Aug 08 2022 Vít Ondruch - 0.9.28-1 +- Update to YARD 0.9.28. + Resolves: rhbz#2027537 + Resolves: rhbz#2113713 + +* Sat Jul 23 2022 Fedora Release Engineering - 0.9.26-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jan 21 2022 Fedora Release Engineering - 0.9.26-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 0.9.26-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Apr 06 2021 Vít Ondruch - 0.9.26-3 +- Add `BR: rubygem(irb)`, which was previosly pulled in indirectly. + +* Wed Jan 27 2021 Fedora Release Engineering - 0.9.26-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Dec 18 02:42:33 CET 2020 Pavel Valena - 0.9.26-1 +- Update to yard 0.9.26. + Resolves: rhbz#1830795 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_3.0 + +* Wed Jul 29 2020 Fedora Release Engineering - 0.9.24-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Feb 04 2020 Vít Ondruch - 0.9.24-1 +- Update to YARD 0.9.24. + +* Thu Jan 30 2020 Fedora Release Engineering - 0.9.12-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 0.9.12-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 0.9.12-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 0.9.12-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Mar 29 2018 Vít Ondruch - 0.9.12-3 +- Fix FTBFS due to failing test suite (rhbz#1556422). + +* Fri Feb 09 2018 Fedora Release Engineering - 0.9.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Dec 01 2017 Vít Ondruch - 0.9.12-1 +- Update to YARD 0.9.12. + +* Thu Jul 27 2017 Fedora Release Engineering - 0.9.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.9.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Jan 30 2017 Vít Ondruch - 0.9.8-1 +- Update to YARD 0.9.8. + +* Wed May 25 2016 Jun Aruga - 0.8.7.6-3 +- Fix test suite for Ruby 2.3 compatibility. (rhbz#1308100) + +* Thu Feb 04 2016 Fedora Release Engineering - 0.8.7.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jul 08 2015 Vít Ondruch - 0.8.7.6-1 +- Update to YARD 0.8.7.6. + +* Fri Jun 19 2015 Fedora Release Engineering - 0.8.7.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Jul 03 2014 Vít Ondruch - 0.8.7.4-1 +- Update to yard 0.8.7.4. + +* Sun Jun 08 2014 Fedora Release Engineering - 0.8.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Aug 14 2013 Vít Ondruch - 0.8.7-1 +- Update to yard 0.8.7. + +* Sun Aug 04 2013 Fedora Release Engineering - 0.8.5.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Mar 15 2013 Vít Ondruch - 0.8.5.2-1 +- Update to yard 0.8.5.2. + +* Fri Mar 15 2013 Vít Ondruch - 0.8.2.1-3 +- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0 + +* Thu Feb 14 2013 Fedora Release Engineering - 0.8.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jul 27 2012 Vít Ondruch - 0.8.2.1-1 +- Update to yard 0.8.2.1. + +* Thu May 03 2012 Vít Ondruch - 0.8.1-1 +- Update to yard 0.8.1. + +* Wed Jan 25 2012 Vít Ondruch - 0.7.4-3 +- Rebuilt for Ruby 1.9.3. + +* Sat Jan 14 2012 Fedora Release Engineering - 0.7.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Dec 15 2011 Vít Ondruch - 0.7.4-1 +- Updated to yard 0.7.4. + +* Mon Jul 25 2011 Mo Morsi - 0.7.2-1 +- update to latest upstream release +- fixes to conform to fedora guidelines + +* Wed Feb 09 2011 Fedora Release Engineering +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Mon Feb 22 2010 Mohammed Morsi - 0.5.3-3 - fixed dependencies/package issues according to guidelines diff --git a/sources b/sources index 3e15974..edc5871 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -5bf1e34356d0803203ddf97d03fdf0e3 yard-0.5.3.gem +SHA512 (yard-0.9.38.gem) = af69f50fb7ce065adc8b387c93327ee9001fd2526ddce9381d883c4aa9f1518e895a2128623956210509c2c0528700cab91c4fcb30c0c88802e9007d5c5b43f2 +SHA512 (yard-0.9.38-test-missing-files.tar.gz) = 08084b435ebbccf7fb85707c243d7a6e5be21f09188b05ebe50e41b897e34cb32d2310423567a89aef205ef2db5bfdfa7e334a1f2f61013132112331bce6df08 diff --git a/yard-0.9.38-issue1637-spec-namespace-collision.patch b/yard-0.9.38-issue1637-spec-namespace-collision.patch new file mode 100644 index 0000000..cbc41de --- /dev/null +++ b/yard-0.9.38-issue1637-spec-namespace-collision.patch @@ -0,0 +1,16 @@ +diff --git a/spec/tags/types_explainer_spec.rb b/spec/tags/types_explainer_spec.rb +index de7454d3..5eb72d47 100644 +--- a/spec/tags/types_explainer_spec.rb ++++ b/spec/tags/types_explainer_spec.rb +@@ -5,10 +5,9 @@ RSpec.describe YARD::Tags::TypesExplainer do + CollectionType = YARD::Tags::TypesExplainer::CollectionType + FixedCollectionType = YARD::Tags::TypesExplainer::FixedCollectionType + HashCollectionType = YARD::Tags::TypesExplainer::HashCollectionType +- Parser = YARD::Tags::TypesExplainer::Parser + + def parse(types) +- Parser.new(types).parse ++ YARD::Tags::TypesExplainer::Parser.new(types).parse + end + + def parse_fail(types) diff --git a/yard-create-missing-test-files.sh b/yard-create-missing-test-files.sh new file mode 100644 index 0000000..e5eb81e --- /dev/null +++ b/yard-create-missing-test-files.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +usage() { + echo "$0 " +} + +set -e +set -x + +if [ $# -lt 1 ] ; then + usage + exit 1 +fi + +VERSION=$1 + +GEMNAME=yard +TMPDIR=$(mktemp -d /tmp/${GEMNAME}-XXXXXX) +CURDIR=$(pwd) +GITTOPDIR=${GEMNAME}-${VERSION} + +pushd $TMPDIR + +git clone http://github.com/lsegal/${GEMNAME} ${GITTOPDIR} +cd ${GEMNAME}-$VERSION + +git checkout -b fedora-$VERSION v$VERSION +cd .. + +tar czf $CURDIR/${GEMNAME}-${VERSION}-test-missing-files.tar.gz \ + ${GITTOPDIR}/spec/ \ + +popd +rm -rf $TMPDIR +