Compare commits

..

No commits in common. "rawhide" and "f29" have entirely different histories.

5 changed files with 247 additions and 212 deletions

66
.gitignore vendored
View file

@ -1,2 +1,64 @@
/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
/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

View file

@ -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

View file

@ -0,0 +1,50 @@
--- pango-no-gi-3.2.7/ext/pango/rbpango.h.orig 2018-06-20 14:55:00.753601838 +0900
+++ pango-no-gi-3.2.7/ext/pango/rbpango.h 2018-06-21 17:10:31.197614447 +0900
@@ -93,3 +93,5 @@
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);
--- pango-no-gi-3.2.7/ext/pango/rbpangoattribute.c.orig 2018-06-20 14:55:00.756601871 +0900
+++ pango-no-gi-3.2.7/ext/pango/rbpangoattribute.c 2018-06-21 17:10:37.147691468 +0900
@@ -82,6 +82,39 @@
return gattr;
}
+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;
+}
+
+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)

View file

@ -12,17 +12,18 @@
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.3.6
Release: 1%{?dist}
# 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
# Backport rbpango_attribute_{to,from}_ruby definition
Patch10: pango-no-gi-3.2.7-backport-def.patch
Requires: ruby(release)
BuildRequires: ruby(release)
@ -46,9 +47,6 @@ 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.
@ -60,6 +58,27 @@ 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}
@ -76,15 +95,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\.3\.6|>= 3.3.6|' %{gem_name}.gemspec
# Fix wrong shebang
@ -93,9 +109,49 @@ 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
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\.3\.6|>= 3.3.6|' %{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 +180,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
@ -143,10 +224,8 @@ 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:%{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
@ -175,186 +254,30 @@ ruby -Ilib:test:%{buildroot}%{gem_extdir_mri} ./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 <mtasaka@fedoraproject.org> - 4.3.4-2
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_4.0
* Sat Dec 06 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.3.4-1
- 4.3.4
* Mon Aug 18 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.3.3-1
- 4.3.3
* Sat Aug 16 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.3.2-1
- 4.3.2
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Jul 15 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.3.0-1
- 4.3.0
* Sat Mar 22 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.9-1
- 4.2.9
* Thu Mar 20 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.8-1
- 4.2.8
* Thu Jan 30 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.7-1
- 4.2.7
* Sun Jan 26 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.6-1
- 4.2.6
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Jan 07 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.5-2
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.4
* Sun Dec 15 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.5-1
- 4.2.5
* Wed Sep 25 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.4-1
- 4.2.4
* Thu Sep 19 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.3-1
- 4.2.3
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Apr 02 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.2-1
- 4.2.2
* Fri Feb 23 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.1-1
- 4.2.1
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jan 03 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.0-2
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.3
* Sat Aug 19 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.0-1
- 4.2.0
* Sat Aug 12 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.1.9-1
- 4.1.9
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Jun 26 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.1.8-1
- 4.1.8
* Thu Jun 1 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.1.7-1
- 4.1.7
* Mon May 22 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.1.6-1
- 4.1.6
* Thu May 11 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.1.5-1
- 4.1.5
* Thu May 04 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.1.4-1
- 4.1.4
* Mon May 01 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.1.3-1
- 4.1.3
* Fri Feb 24 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.1.2-1
- 4.1.2
* Sun Feb 19 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.1.1-1
- 4.1.1
* Fri Feb 3 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.1.0-1
- 4.1.0
* Sun Jan 22 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.0.8-1
- 4.0.8
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jan 6 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.0.5-1
- 4.0.5
* Wed Jan 04 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.0.3-3
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.2
* Sun Dec 25 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 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 <mtasaka@fedoraproject.org> - 4.0.3-1
- 4.0.3
* Mon Sep 5 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.0.2-1
- 4.0.2
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Jan 23 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.5.1-1
- 3.5.1
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Aug 10 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.4.9-1
- 3.4.9
* Sun Aug 8 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.4.7-1
- 3.4.7
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sun May 2 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.4.4-1
- 3.4.4
* Sun Apr 4 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.4.3-4
- Kill no-gi
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jan 06 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.4.3-2
- F-34: rebuild against ruby 3.0
* Thu Aug 13 2020 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.4.3-1
- 3.4.3
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jan 17 2020 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.4.1-2
- F-32: rebuild against ruby27
* Wed Dec 4 2019 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.4.1-1
- 3.4.1
* Sat Oct 12 2019 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.4.0-1
- 3.4.0
* Thu Oct 3 2019 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.3.8-1
- 3.3.8
* Sun Sep 8 2019 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.3.7-2
- Rebuild again
* Fri Sep 6 2019 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.3.7-1
- 3.3.7
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Apr 17 2019 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.3.6-1
- 3.3.6

View file

@ -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.3.6.gem) = 5e99bcd26cf10da2e577c1cb9936c44eaf21d187090f0aff186c368e6127f21792368b308eddfea8811200f6c26c21d47cae2f54a414efea800f5c83850c7218
SHA512 (pango-no-gi-3.3.6.tar.gz) = e75b7c4b16ee8fc18c250b82d77b39800ce4983328d47ecbfb4e960b53671d76e19d6f8b98dabdff9f4fe92dc3ca1ca8594d4110a46c966926e706b7233093a2