diff --git a/.gitignore b/.gitignore index 240c0c8..6561ee6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,48 @@ -/pango-*.gem -/pango-*-test-missing-files.tar.gz +/pango-0.90.2.gem +/pango-0.90.3.gem +/pango-0.90.4.gem +/pango-0.90.5.gem +/pango-0.90.7.gem +/pango-0.90.8.gem +/pango-0.90.9.gem +/pango-1.0.0.gem +/pango-1.0.3.gem +/pango-1.1.1.gem +/pango-1.1.2.gem +/pango-1.1.3.gem +/pango-1.1.4.gem +/pango-1.1.5.gem +/pango-1.1.6.gem +/pango-1.1.9.gem +/pango-1.2.0.gem +/pango-1.2.1.gem +/pango-1.2.3.gem +/pango-1.2.4.gem +/pango-1.2.5.gem +/pango-1.2.6.gem +/pango-2.0.2.gem +/pango-2.1.0.gem +/pango-2.2.0.gem +/pango-2.2.3.gem +/pango-2.2.4.gem +/pango-2.2.5.gem +/pango-3.0.4.gem +/pango-3.0.5.gem +/pango-3.0.7.gem +/pango-3.0.8.gem +/pango-3.0.9.gem +/pango-3.1.0.gem +/pango-3.1.1.gem +/pango-3.1.3.gem +/pango-3.1.6.gem +/pango-no-gi-3.1.6.tar.gz +/pango-3.1.7.gem +/pango-no-gi-3.1.7.tar.gz +/pango-3.1.8.gem +/pango-no-gi-3.1.8.tar.gz +/pango-3.1.9.gem +/pango-no-gi-3.1.9.tar.gz +/pango-3.2.0.gem +/pango-no-gi-3.2.0.tar.gz +/pango-3.2.1.gem +/pango-no-gi-3.2.1.tar.gz diff --git a/pango-create-missing-test-files.sh b/pango-create-no-gi-src.sh similarity index 62% rename from pango-create-missing-test-files.sh rename to pango-create-no-gi-src.sh index 3dd2016..34a466a 100644 --- a/pango-create-missing-test-files.sh +++ b/pango-create-no-gi-src.sh @@ -14,7 +14,7 @@ fi VERSION=$1 -TMPDIR=$(mktemp -d /tmp/pango-XXXXXX) +TMPDIR=$(mktemp -d /tmp/pango-nogi-XXXXXX) CURDIR=$(pwd) pushd $TMPDIR @@ -22,8 +22,8 @@ pushd $TMPDIR git clone https://github.com/ruby-gnome2/ruby-gnome2.git cd ruby-gnome2/ -git reset --hard $VERSION || true -tar czf $CURDIR/pango-${VERSION}-test-missing-files.tar.gz pango/test/* +git reset --hard $VERSION +tar czf $CURDIR/pango-no-gi-${VERSION}.tar.gz glib2/ pango-no-gi/ popd rm -rf $TMPDIR diff --git a/rubygem-pango.spec b/rubygem-pango.spec index b86b31d..942b7ac 100644 --- a/rubygem-pango.spec +++ b/rubygem-pango.spec @@ -8,32 +8,28 @@ %global glibminver 3.1.3 %global obsoleteevr 0.90.7-1.999 -%undefine _changelog_trimtime - Summary: Ruby binding of pango-1.x Name: rubygem-%{gem_name} -Version: 4.3.4 -Release: 2%{?dist} -# SPDX confirmed -# LGPL-2.1-or-later: gemspec -License: LGPL-2.1-or-later +Version: 3.2.1 +Release: 1%{?dist} +Group: Development/Languages +# from README +License: LGPLv2 URL: http://ruby-gnome2.sourceforge.jp/ Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem -# FIXME -Source1: pango-%{version}-test-missing-files.tar.gz -# Source1 is generated by the below -Source2: pango-create-missing-test-files.sh +# no-gi version +Source1: pango-no-gi-%{version}.tar.gz +# Source1 is created from Source2 +Source2: pango-create-no-gi-src.sh Requires: ruby(release) BuildRequires: ruby(release) -BuildRequires: gcc BuildRequires: rubygems-devel BuildRequires: rubygem-cairo-devel BuildRequires: rubygem-glib2-devel >= %{glibminver} BuildRequires: rubygem(gobject-introspection) BuildRequires: rubygem(cairo-gobject) -BuildRequires: rubygem-gobject-introspection-devel BuildRequires: ruby-devel BuildRequires: pango-devel # %%check @@ -46,22 +42,43 @@ Provides: rubygem(%{gem_name}) = %{version} Obsoletes: ruby-%{gem_name} <= %{version}-%{release} Provides: ruby-%{gem_name} = %{version}-%{release} Provides: ruby(%{gem_name}) = %{version}-%{release} -# For now, add Obsoletes (but no provides) -Obsoletes: rubygem-pango-no-gi < 3.4.3-3.999 -Obsoletes: rubygem-pango-no-gi-doc < 3.4.3-3.999 %description Ruby/Pango is a Ruby binding of pango-1.x. %package doc Summary: Documentation for %{name} +Group: Documentation Requires: %{name} = %{version}-%{release} %description doc This package contains documentation for %{name}. +# Create no-gi for now +%package -n rubygem-%{gem_name_no_gi} +Summary: Ruby binding of pango-1.x with no-gi version +BuildRequires: rubygem(rake) +BuildRequires: rubygem(mechanize) +# For now, explicitly +Requires: rubygem(glib2) +Requires: rubygem(cairo) +Provides: rubygem(pango-no-gi) = %{version}-%{release} + +%description -n rubygem-%{gem_name_no_gi} +Ruby/Pango is a Ruby binding of pango-1.x. +This package contains no-gi implementation of Ruby/Pango. + +%package -n rubygem-%{gem_name_no_gi}-doc +Summary: Documentation for %{name} no-gi +Group: Documentation +Requires: rubygem-%{gem_name_no_gi} = %{version}-%{release} + +%description -n rubygem-%{gem_name_no_gi}-doc +This package contains documentation for ubygem-%{gem_name_no_gi}. + %package devel Summary: Ruby/pango development environment +Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: ruby-devel Requires: pango-devel @@ -76,15 +93,12 @@ Header files and libraries for building a extension library for the rubygem-%{gem_name} %prep -%setup -q -n %{gem_name}-%{version} -mv ../%{gem_name}-%{version}.gemspec . +gem unpack %{SOURCE0} +%setup -q -D -T -n %{gem_name}-%{version} +gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec # Allow ruby-gnome2 no less than ones -sed -i -e 's|= 4\.3\.4|>= 4.3.4|' %{gem_name}-%{version}.gemspec - -# Remove unneeded rake runtime dependency -sed -i %{gem_name}-%{version}.gemspec \ - -e '\@add_runtime_dependency.*rake@d' +sed -i -e 's|= 3\.2\.1|>= 3.2.1|' %{gem_name}.gemspec # Fix wrong shebang @@ -93,9 +107,48 @@ sed -i %{gem_name}-%{version}.gemspec \ %build export CONFIGURE_ARGS="--with-cflags='%{optflags}'" export CONFIGURE_ARGS="$CONFIGURE_ARGS --with-pkg-config-dir=$(pwd)%{_libdir}/pkgconfig" -gem build %{gem_name}-%{version}.gemspec +gem build %{gem_name}.gemspec %gem_install +###### +# Create no-gi for now +rm -rf no-gi +mkdir no-gi +pushd no-gi + +tar xf %{SOURCE1} +chmod ugo+rX . +pushd pango-no-gi +mv ext/pango ext/pango-no-gi +rake gem +popd + +cp -a pango-no-gi/pkg/%{gem_name_no_gi}-%{version}.gem . + +# Change for now +%global gem_name %gem_name_no_gi +gem unpack %{gem_name}-%{version}.gem +pushd %{gem_name}-%{version} + +# Kill shebang +grep -rl '#!.*/usr/bin' sample | \ + xargs sed -i -e '\@#![ ]*/usr/bin@d' +find sample/ -name \*.rb | xargs chmod 0644 + +gem spec ../%{gem_name}-%{version}.gem -l --ruby > %{gem_name}.gemspec +sed -i -e 's|= 3\.2\.1|>= 3.2.1|' %{gem_name}.gemspec +export CONFIGURE_ARGS="--with-cflags='%{optflags}'" +export CONFIGURE_ARGS="$CONFIGURE_ARGS --with-pkg-config-dir=$(pwd)%{_libdir}/pkgconfig" +gem build %{gem_name}.gemspec +mv %{gem_name}-%{version}.gem .. +popd + +%gem_install -n ./%{gem_name}-%{version}.gem +chmod -R ugo+rX . + +# Back +%global gem_name %gem_name_gi +popd %install # Once copy all @@ -124,13 +177,38 @@ rm -rf .%{gem_instdir}/ext/ rm -f .%{gem_instdir}/extconf.rb popd +### For no-gi +%global gem_name %gem_name_no_gi + +pushd no-gi +cp -a .%{gem_dir}/* \ + %{buildroot}%{gem_dir}/ + +# move header files, C extension files to the correct directory +mkdir -p %{buildroot}%{gem_extdir_mri} +cp -a ./%{gem_extdir_mri}/* %{buildroot}%{gem_extdir_mri}/ + +pushd %{buildroot} +# mv .%{gem_extdir_mri}/*.h .%{header_dir}/ +rm -f ./%{gem_extdir_mri}/*.h +rm -f .%{gem_extdir_mri}/{gem_make.out,mkmf.log} +popd + +# Cleanups +pushd %{buildroot} +rm -rf .%{gem_instdir}/ext/ +rm -rf .%{gem_instdir}/test/ +rm -f .%{gem_instdir}/Rakefile +rm -f .%{gem_instdir}/extconf.rb +popd +popd + +%global gem_name %gem_name_gi + + %check pushd .%{gem_instdir} -tar xf %{SOURCE1} -mkdir test || : -cp -a pango/test/* test - # kill unneeded make process rm -rf ./TMPBINDIR mkdir ./TMPBINDIR @@ -140,25 +218,23 @@ export PATH=$(pwd):$PATH popd # test_default(TestLanguage) [./test/test-language.rb] needs LANG=ja_JP.UTF-8, for example -LANG=C.UTF-8 +LANG=en_US.UTF-8 sed -i test/run-test.rb \ -e '\@exit Test::Unit::AutoRunner@s|,[ \t]*File\.join(.*"test")||' -sed -i test/run-test.rb \ - -e '\@run-test@s|require_relative "../../|require "|' # Ignore floating point difference on i686 for now -ruby -Ilib:test:%{buildroot}%{gem_extdir_mri} ./test/run-test.rb \ +ruby -Ilib:test:ext/%{gem_name} ./test/run-test.rb \ %ifarch %ix86 '--ignore-name=/test_rotate!*/' \ %endif %{nil} %files +%defattr(-,root,root,-) %dir %{gem_instdir} %dir %{gem_instdir}/lib/ %doc %{gem_instdir}/[A-Z]* %exclude %{gem_instdir}/Rakefile -%exclude %{gem_instdir}/*gemspec %{gem_instdir}/lib/%{gem_name}.rb %{gem_instdir}/lib/%{gem_name}/ @@ -168,239 +244,39 @@ ruby -Ilib:test:%{buildroot}%{gem_extdir_mri} ./test/run-test.rb \ %{gem_spec} %files devel +%defattr(-,root,root,-) %{_libdir}/pkgconfig/ruby-%{gem_name}.pc %{header_dir}/rb-pango.h %{header_dir}/rb-pango-conversions.h %files doc +%defattr(-,root,root,-) %{gem_dir}/doc/%{gem_name}-%{version} %exclude %{gem_instdir}/Rakefile +%{gem_instdir}/test/ + +# Again: +%global gem_name %gem_name_no_gi +%files -n rubygem-%{gem_name_no_gi} +%dir %{gem_instdir} +%dir %{gem_instdir}/lib/ + +%doc %{gem_instdir}/[A-Z]* + +# The following should be "pango.rb" +%{gem_instdir}/lib/pango.rb +%{gem_extdir_mri} +%exclude %{gem_cache} +%{gem_spec} + +%files -n rubygem-%{gem_name_no_gi}-doc +%{gem_docdir} +%{gem_instdir}/sample/ + +%global gem_name %gem_name_gi + %changelog -* Thu Jan 08 2026 Mamoru TASAKA - 4.3.4-2 -- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_4.0 - -* Sat Dec 06 2025 Mamoru TASAKA - 4.3.4-1 -- 4.3.4 - -* Mon Aug 18 2025 Mamoru TASAKA - 4.3.3-1 -- 4.3.3 - -* Sat Aug 16 2025 Mamoru TASAKA - 4.3.2-1 -- 4.3.2 - -* Fri Jul 25 2025 Fedora Release Engineering - 4.3.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Tue Jul 15 2025 Mamoru TASAKA - 4.3.0-1 -- 4.3.0 - -* Sat Mar 22 2025 Mamoru TASAKA - 4.2.9-1 -- 4.2.9 - -* Thu Mar 20 2025 Mamoru TASAKA - 4.2.8-1 -- 4.2.8 - -* Thu Jan 30 2025 Mamoru TASAKA - 4.2.7-1 -- 4.2.7 - -* Sun Jan 26 2025 Mamoru TASAKA - 4.2.6-1 -- 4.2.6 - -* Sat Jan 18 2025 Fedora Release Engineering - 4.2.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Tue Jan 07 2025 Mamoru TASAKA - 4.2.5-2 -- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.4 - -* Sun Dec 15 2024 Mamoru TASAKA - 4.2.5-1 -- 4.2.5 - -* Wed Sep 25 2024 Mamoru TASAKA - 4.2.4-1 -- 4.2.4 - -* Thu Sep 19 2024 Mamoru TASAKA - 4.2.3-1 -- 4.2.3 - -* Fri Jul 19 2024 Fedora Release Engineering - 4.2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Apr 02 2024 Mamoru TASAKA - 4.2.2-1 -- 4.2.2 - -* Fri Feb 23 2024 Mamoru TASAKA - 4.2.1-1 -- 4.2.1 - -* Fri Jan 26 2024 Fedora Release Engineering - 4.2.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jan 03 2024 Mamoru TASAKA - 4.2.0-2 -- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.3 - -* Sat Aug 19 2023 Mamoru TASAKA - 4.2.0-1 -- 4.2.0 - -* Sat Aug 12 2023 Mamoru TASAKA - 4.1.9-1 -- 4.1.9 - -* Fri Jul 21 2023 Fedora Release Engineering - 4.1.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Mon Jun 26 2023 Mamoru TASAKA - 4.1.8-1 -- 4.1.8 - -* Thu Jun 1 2023 Mamoru TASAKA - 4.1.7-1 -- 4.1.7 - -* Mon May 22 2023 Mamoru TASAKA - 4.1.6-1 -- 4.1.6 - -* Thu May 11 2023 Mamoru TASAKA - 4.1.5-1 -- 4.1.5 - -* Thu May 04 2023 Mamoru TASAKA - 4.1.4-1 -- 4.1.4 - -* Mon May 01 2023 Mamoru TASAKA - 4.1.3-1 -- 4.1.3 - -* Fri Feb 24 2023 Mamoru TASAKA - 4.1.2-1 -- 4.1.2 - -* Sun Feb 19 2023 Mamoru TASAKA - 4.1.1-1 -- 4.1.1 - -* Fri Feb 3 2023 Mamoru TASAKA - 4.1.0-1 -- 4.1.0 - -* Sun Jan 22 2023 Mamoru TASAKA - 4.0.8-1 -- 4.0.8 - -* Fri Jan 20 2023 Fedora Release Engineering - 4.0.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Jan 6 2023 Mamoru TASAKA - 4.0.5-1 -- 4.0.5 - -* Wed Jan 04 2023 Mamoru TASAKA - 4.0.3-3 -- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.2 - -* Sun Dec 25 2022 Mamoru TASAKA - 4.0.3-2 -- Use %%gem_extdir_mri instead of ext for %%check due to ruby3.2 change - for ext cleanup during build - -* Fri Sep 16 2022 Mamoru TASAKA - 4.0.3-1 -- 4.0.3 - -* Mon Sep 5 2022 Mamoru TASAKA - 4.0.2-1 -- 4.0.2 - -* Sat Jul 23 2022 Fedora Release Engineering - 3.5.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sun Jan 23 2022 Mamoru TASAKA - 3.5.1-1 -- 3.5.1 - -* Fri Jan 21 2022 Fedora Release Engineering - 3.4.9-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Aug 10 2021 Mamoru TASAKA - 3.4.9-1 -- 3.4.9 - -* Sun Aug 8 2021 Mamoru TASAKA - 3.4.7-1 -- 3.4.7 - -* Fri Jul 23 2021 Fedora Release Engineering - 3.4.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Sun May 2 2021 Mamoru TASAKA - 3.4.4-1 -- 3.4.4 - -* Sun Apr 4 2021 Mamoru TASAKA - 3.4.3-4 -- Kill no-gi - -* Wed Jan 27 2021 Fedora Release Engineering - 3.4.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jan 06 2021 Mamoru TASAKA - 3.4.3-2 -- F-34: rebuild against ruby 3.0 - -* Thu Aug 13 2020 Mamoru TASAKA - 3.4.3-1 -- 3.4.3 - -* Wed Jul 29 2020 Fedora Release Engineering - 3.4.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jan 30 2020 Fedora Release Engineering - 3.4.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jan 17 2020 Mamoru TASAKA - 3.4.1-2 -- F-32: rebuild against ruby27 - -* Wed Dec 4 2019 Mamoru TASAKA - 3.4.1-1 -- 3.4.1 - -* Sat Oct 12 2019 Mamoru TASAKA - 3.4.0-1 -- 3.4.0 - -* Thu Oct 3 2019 Mamoru TASAKA - 3.3.8-1 -- 3.3.8 - -* Sun Sep 8 2019 Mamoru TASAKA - 3.3.7-2 -- Rebuild again - -* Fri Sep 6 2019 Mamoru TASAKA - 3.3.7-1 -- 3.3.7 - -* Fri Jul 26 2019 Fedora Release Engineering - 3.3.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Apr 17 2019 Mamoru TASAKA - 3.3.6-1 -- 3.3.6 - -* Sun Feb 17 2019 Mamoru TASAKA - 3.3.2-1 -- 3.3.2 - -* Fri Feb 1 2019 Mamoru TASAKA - 3.3.1-1 -- 3.3.1 - -* Mon Jan 21 2019 Mamoru TASAKA - 3.3.0-3 -- F-30: rebuild against ruby26 - -* Sun Nov 18 2018 Zbigniew Jędrzejewski-Szmek - 3.3.0-2 -- Use C.UTF-8 locale - See https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot - -* Wed Nov 14 2018 Mamoru TASAKA - 3.3.0-1 -- 3.3.0 - -* Mon Aug 13 2018 Mamoru TASAKA - 3.2.9-1 -- 3.2.9 - -* Sat Jul 14 2018 Fedora Release Engineering - 3.2.7-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Jun 21 2018 Mamoru TASAKA - 3.2.7-2 -- Backport rbpango_attribute_{to,from}_ruby def to no-gi - -* Wed Jun 20 2018 Mamoru TASAKA - 3.2.7-1 -- 3.2.7 - -* Thu May 3 2018 Mamoru TASAKA - 3.2.5-1 -- 3.2.5 - -* Wed Apr 18 2018 Mamoru TASAKA - 3.2.4-1 -- 3.2.4 - -* Fri Feb 09 2018 Fedora Release Engineering - 3.2.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sat Jan 20 2018 Björn Esser - 3.2.1-3 -- Rebuilt for switch to libxcrypt - -* Wed Jan 03 2018 Mamoru TASAKA - 3.2.1-2 -- F-28: rebuild for ruby25 - * Tue Nov 28 2017 Mamoru TASAKA - 3.2.1-1 - 3.2.1 diff --git a/sources b/sources index 1886327..c589759 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (pango-4.3.4.gem) = 30e7c48a57926db6d6b51d3e2fa86a98b1a7b9bf04a27dfb0d55cb0b9a351914dce0aac2003b7e576a6003b4e9de0b4c60059785660a100f3ec842bafbf7de22 -SHA512 (pango-4.3.4-test-missing-files.tar.gz) = 05962d6f01f2d810b401627716c0aa41b0b3b14b9531e0fcfce13a10f06d45dc4725c0bd82377babc6d320a30196af1a5e4fe1b97f2e72177b08df52c1f96c9a +SHA512 (pango-3.2.1.gem) = b17b3fbda8cf91a66a993dfe87b28cfc0574dbc16bb26aed67d16e6b3ba283a878cce3859ac4ad2e689db585f5ad8537a77e801de43d1d5a22fa31a23d3371ff +SHA512 (pango-no-gi-3.2.1.tar.gz) = 23091328c8b718479d9cc0446489ad9db5a5dea657c8c0defa365968bff287319327a1695ee989a6da66411dc98261d6f942fdd83cb1518eea5bde416d859b1b