diff --git a/.gitignore b/.gitignore index 2b6bafa..240c0c8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,72 +1,2 @@ -/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 -/pango-3.2.4.gem -/pango-no-gi-3.2.4.tar.gz -/pango-3.2.5.gem -/pango-no-gi-3.2.5.tar.gz -/pango-3.2.7.gem -/pango-no-gi-3.2.7.tar.gz -/pango-3.2.9.gem -/pango-no-gi-3.2.9.tar.gz -/pango-3.3.0.gem -/pango-no-gi-3.3.0.tar.gz -/pango-3.3.1.gem -/pango-no-gi-3.3.1.tar.gz -/pango-3.3.2.gem -/pango-no-gi-3.3.2.tar.gz -/pango-3.3.6.gem -/pango-no-gi-3.3.6.tar.gz -/pango-3.3.7.gem -/pango-no-gi-3.3.7.tar.gz -/pango-3.3.8.gem -/pango-no-gi-3.3.8.tar.gz -/pango-3.4.0.gem -/pango-no-gi-3.4.0.tar.gz -/pango-3.4.1.gem -/pango-no-gi-3.4.1.tar.gz +/pango-*.gem +/pango-*-test-missing-files.tar.gz diff --git a/pango-create-no-gi-src.sh b/pango-create-missing-test-files.sh similarity index 62% rename from pango-create-no-gi-src.sh rename to pango-create-missing-test-files.sh index 34a466a..3dd2016 100644 --- a/pango-create-no-gi-src.sh +++ b/pango-create-missing-test-files.sh @@ -14,7 +14,7 @@ fi VERSION=$1 -TMPDIR=$(mktemp -d /tmp/pango-nogi-XXXXXX) +TMPDIR=$(mktemp -d /tmp/pango-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 -tar czf $CURDIR/pango-no-gi-${VERSION}.tar.gz glib2/ pango-no-gi/ +git reset --hard $VERSION || true +tar czf $CURDIR/pango-${VERSION}-test-missing-files.tar.gz pango/test/* popd rm -rf $TMPDIR diff --git a/pango-no-gi-3.3.7-backport-def.patch b/pango-no-gi-3.3.7-backport-def.patch deleted file mode 100644 index 40aafe3..0000000 --- a/pango-no-gi-3.3.7-backport-def.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff -urp pango-no-gi-3.3.7.orig/ext/pango/rbpango.h pango-no-gi-3.3.7.new/ext/pango/rbpango.h ---- pango-no-gi-3.3.7.orig/ext/pango/rbpango.h 2019-09-06 16:06:39.000000000 +0900 -+++ pango-no-gi-3.3.7.new/ext/pango/rbpango.h 2019-09-06 16:11:02.031086838 +0900 -@@ -93,3 +93,5 @@ extern GType pango_script_iter_get_type( - - extern VALUE pango_get_attribute_klass(VALUE attr_type); - extern void pango_add_attribute(int attr_type, VALUE klass); -+ -+VALUE rbpango_attribute_to_ruby(PangoAttribute *attribute); -diff -urp pango-no-gi-3.3.7.orig/ext/pango/rbpangoattribute.c pango-no-gi-3.3.7.new/ext/pango/rbpangoattribute.c ---- pango-no-gi-3.3.7.orig/ext/pango/rbpangoattribute.c 2019-09-06 16:06:39.000000000 +0900 -+++ pango-no-gi-3.3.7.new/ext/pango/rbpangoattribute.c 2019-09-06 17:54:26.143794321 +0900 -@@ -82,6 +82,41 @@ pango_get_attribute(VALUE attr) - return gattr; - } - -+#if !PANGO_VERSION_CHECK(1, 44, 0) -+static GType -+pango_attribute_get_type(void) -+{ -+ static GType our_type = 0; -+ if (our_type == 0) -+ our_type = g_boxed_type_register_static("PangoAttribute", -+ (GBoxedCopyFunc)pango_attribute_copy, -+ (GBoxedFreeFunc)pango_attribute_destroy); -+ return our_type; -+} -+#endif -+ -+VALUE -+rbpango_attribute_to_ruby(PangoAttribute *attribute) -+{ -+ VALUE rb_attr_type; -+ ID id_to_class; -+ VALUE klass; -+ -+ rb_attr_type = GENUM2RVAL(attribute->klass->type, PANGO_TYPE_ATTR_TYPE); -+ CONST_ID(id_to_class, "to_class"); -+ klass = rb_funcall(rb_attr_type, id_to_class, 0); -+ return rbgobj_make_boxed_raw(pango_attribute_copy(attribute), -+ pango_attribute_get_type(), -+ klass, -+ 0); -+} -+ -+PangoAttribute * -+rbpango_attribute_from_ruby(VALUE rb_attribute) -+{ -+ return rbgobj_boxed_get(rb_attribute, pango_attribute_get_type()); -+} -+ - /***********************************************/ - static VALUE - rg_s_allocate(VALUE klass) -diff -urp pango-no-gi-3.3.7.orig/ext/pango/rbpangofontsetsimple.c pango-no-gi-3.3.7.new/ext/pango/rbpangofontsetsimple.c ---- pango-no-gi-3.3.7.orig/ext/pango/rbpangofontsetsimple.c 2019-09-06 16:06:39.000000000 +0900 -+++ pango-no-gi-3.3.7.new/ext/pango/rbpangofontsetsimple.c 2019-09-06 17:54:57.094194781 +0900 -@@ -22,6 +22,7 @@ - #include "rbpangoprivate.h" - - #ifdef PANGO_ENABLE_BACKEND -+#if !PANGO_VERSION_CHECK(1, 44, 0) - - #define RG_TARGET_NAMESPACE cFontsetSimple - #define _SELF(self) (RVAL2PANGOFONTSETSIMPLE(self)) -@@ -47,14 +48,17 @@ rg_size(VALUE self) - } - - #endif -+#endif - void - Init_pango_fontset_simple(VALUE mPango) - { - #ifdef PANGO_ENABLE_BACKEND -+#if !PANGO_VERSION_CHECK(1, 44, 0) - VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_FONTSET_SIMPLE, "FontsetSimple", mPango); - - RG_DEF_METHOD(initialize, 1); - RG_DEF_METHOD(append, 1); - RG_DEF_METHOD(size, 0); - #endif -+#endif - } diff --git a/rubygem-pango.spec b/rubygem-pango.spec index 225ad61..b86b31d 100644 --- a/rubygem-pango.spec +++ b/rubygem-pango.spec @@ -12,18 +12,17 @@ Summary: Ruby binding of pango-1.x Name: rubygem-%{gem_name} -Version: 3.4.1 -Release: 1%{?dist} -# from README -License: LGPLv2 +Version: 4.3.4 +Release: 2%{?dist} +# SPDX confirmed +# LGPL-2.1-or-later: gemspec +License: LGPL-2.1-or-later URL: http://ruby-gnome2.sourceforge.jp/ Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem -# no-gi version -Source1: pango-no-gi-%{version}.tar.gz -# Source1 is created from Source2 -Source2: pango-create-no-gi-src.sh -# Backport rbpango_attribute_{to,from}_ruby definition -Patch10: pango-no-gi-3.3.7-backport-def.patch +# FIXME +Source1: pango-%{version}-test-missing-files.tar.gz +# Source1 is generated by the below +Source2: pango-create-missing-test-files.sh Requires: ruby(release) BuildRequires: ruby(release) @@ -47,6 +46,9 @@ 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. @@ -58,27 +60,6 @@ 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 -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 Requires: %{name} = %{version}-%{release} @@ -95,12 +76,15 @@ Header files and libraries for building a extension library for the rubygem-%{gem_name} %prep -gem unpack %{SOURCE0} -%setup -q -D -T -n %{gem_name}-%{version} -gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec +%setup -q -n %{gem_name}-%{version} +mv ../%{gem_name}-%{version}.gemspec . # Allow ruby-gnome2 no less than ones -sed -i -e 's|= 3\.4\.1|>= 3.4.1|' %{gem_name}.gemspec +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' # Fix wrong shebang @@ -109,49 +93,9 @@ sed -i -e 's|= 3\.4\.1|>= 3.4.1|' %{gem_name}.gemspec %build export CONFIGURE_ARGS="--with-cflags='%{optflags}'" export CONFIGURE_ARGS="$CONFIGURE_ARGS --with-pkg-config-dir=$(pwd)%{_libdir}/pkgconfig" -gem build %{gem_name}.gemspec +gem build %{gem_name}-%{version}.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 -cat %PATCH10 | patch -p1 -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\.4\.1|>= 3.4.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 @@ -180,38 +124,13 @@ 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 @@ -224,8 +143,10 @@ popd LANG=C.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:ext/%{gem_name} ./test/run-test.rb \ +ruby -Ilib:test:%{buildroot}%{gem_extdir_mri} ./test/run-test.rb \ %ifarch %ix86 '--ignore-name=/test_rotate!*/' \ %endif @@ -254,30 +175,168 @@ ruby -Ilib:test:ext/%{gem_name} ./test/run-test.rb \ %files doc %{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 diff --git a/sources b/sources index 6f4f513..1886327 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (pango-3.4.1.gem) = c8b9ba9d1552a5840f0e12b5dce55da1902438cb75f554a37c46f9d1fe5fc8db35555be014aed8e96896940b7a14bff6ed9cbd0d1bdaf66d80f70b70dcd7891c -SHA512 (pango-no-gi-3.4.1.tar.gz) = 02824f140b61df7db1128f8941281c72f0e740d5297bcf4155ce5bb38e13dd2bd021df3dc112ba988ef236fe9981d325984e709a274379f36f62d2b1e941efd1 +SHA512 (pango-4.3.4.gem) = 30e7c48a57926db6d6b51d3e2fa86a98b1a7b9bf04a27dfb0d55cb0b9a351914dce0aac2003b7e576a6003b4e9de0b4c60059785660a100f3ec842bafbf7de22 +SHA512 (pango-4.3.4-test-missing-files.tar.gz) = 05962d6f01f2d810b401627716c0aa41b0b3b14b9531e0fcfce13a10f06d45dc4725c0bd82377babc6d320a30196af1a5e4fe1b97f2e72177b08df52c1f96c9a