diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40b1ae1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/gdk4-*gem +/gdk4-*-missing-files.tar.gz diff --git a/gdk4-create-missing-test-files.sh b/gdk4-create-missing-test-files.sh new file mode 100644 index 0000000..9800095 --- /dev/null +++ b/gdk4-create-missing-test-files.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +usage() { + echo "$0 " +} + +set -e +set -x + +if [ $# -lt 1 ] ; then + usage + exit 1 +fi + +GEMN=gdk4 + +VERSION=$1 + +TMPDIR=$(mktemp -d /tmp/${GEMN}-XXXXXX) +CURDIR=$(pwd) + +pushd $TMPDIR + +git clone https://github.com/ruby-gnome/ruby-gnome.git +cd ruby-gnome/ + +git reset --hard $VERSION || true +tar czf $CURDIR/${GEMN}-${VERSION}-test-missing-files.tar.gz ${GEMN}/test/ + +popd +rm -rf $TMPDIR + diff --git a/rubygem-gdk4.spec b/rubygem-gdk4.spec new file mode 100644 index 0000000..4c85200 --- /dev/null +++ b/rubygem-gdk4.spec @@ -0,0 +1,222 @@ +%global gem_name gdk4 + +%global gem_ver 4.3.4 +%global gem_ver_escaped %(v=%{gem_ver}; echo ${v} | sed -e 's|\\.|\\\\.|g') + +Name: rubygem-%{gem_name} +Version: 4.3.4 +Release: 1%{?dist} + +Summary: Ruby/GDK4 is a Ruby binding of GDK-4.x +# SPDX confirmed +# LGPL-2.1-or-later: gemspec +License: LGPL-2.1-or-later +URL: https://ruby-gnome.github.io/ + +Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem +Source1: %{gem_name}-%{version}-test-missing-files.tar.gz +# Source1 is generated by the $ bash %%SOURCE2 %%version +Source2: %{gem_name}-create-missing-test-files.sh + +BuildRequires: ruby(release) +BuildRequires: rubygems-devel +BuildRequires: ruby-devel +#%%check +BuildRequires: rubygem(rake) +BuildRequires: rubygem(cairo-gobject) +BuildRequires: rubygem(gdk_pixbuf2) +BuildRequires: rubygem(pango) +BuildRequires: rubygem(test-unit) +BuildRequires: rubygem(pkg-config) +BuildRequires: %{_bindir}/xvfb-run +BuildRequires: pkgconfig(gtk4) +# glib2/test/run-test +BuildRequires: rubygem-glib2-devel +# gio repository +Requires: gtk4 +BuildArch: noarch + +%description +Ruby/GDK4 is a Ruby binding of GDK-4.x. + + +%package doc +Summary: Documentation for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description doc +Documentation for %{name}. + +%prep +%setup -q -n %{gem_name}-%{version} -a 1 +mv ../%{gem_name}-%{version}.gemspec . + +# Allow higher version of other ruby-gnome suite pkgs +sed -i -e 's|= %{gem_ver_escaped}|>= %{gem_ver}|' %{gem_name}-%{version}.gemspec + +# Remove unneeded rake runtime dependency +sed -i %{gem_name}-%{version}.gemspec \ + -e '\@add_runtime_dependency.*rake@d' + +%build +gem build %{gem_name}-%{version}.gemspec +%gem_install + +# Umm... currently I cannot figure out why +# generated gemspec contains s.extensions entry. +# (extension entry means %%{gem_extdir_mri} must be packaged.) +# Manually removing for now.... +sed -i .%{gem_spec} -e '\@s\.extensions =@d' + +%install +mkdir -p %{buildroot}%{gem_dir} +cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/ + +# cleanup +rm -f %{buildroot}%{gem_cache} +pushd %{buildroot}%{gem_instdir} +rm -rf \ + %{gem_name}.gemspec \ + Rakefile \ + dependency-check/ \ + test/ \ + %{nil} +popd + +%check +# ref: https://bugzilla.redhat.com/show_bug.cgi?id=2275913 +# glycin on ppc64le is currently unusable +%if 0%{?fedora} >= 43 +if ( arch | grep -q ppc64le ) ; then + exit 0 +fi +%endif + +cp -a %{gem_name}/test .%{gem_instdir} +pushd .%{gem_instdir} + +sed -i test/run-test.rb \ + -e '\@run-test@s|require_relative "../../|require "|' +xvfb-run \ + ruby -Ilib:test ./test/run-test.rb +popd + +%files +%license %{gem_instdir}/COPYING.LIB +%doc %{gem_instdir}/README.md +%dir %{gem_instdir} +%{gem_libdir} +%{gem_spec} + +%files doc +%doc %{gem_docdir} + +%changelog +* 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 Aug 15 2025 Mamoru TASAKA - 4.3.0-3 +- Exclude tests on glycin ppc64le for now (bug 2275913) + +* 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-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* 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 + +* Mon Jan 22 2024 Fedora Release Engineering - 4.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* 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-2 +- 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 + +* Thu Nov 24 2022 Mamoru TASAKA - 4.0.3-2 +- List license for embedded fonts explicitly + +* Tue Nov 15 2022 Mamoru TASAKA - 4.0.3-1 +- Initial package diff --git a/sources b/sources new file mode 100644 index 0000000..944c820 --- /dev/null +++ b/sources @@ -0,0 +1,2 @@ +SHA512 (gdk4-4.3.4.gem) = 4205c8439d5365c19c3920f69d222cc57f10321bacb1c2ba8a8c78c695c32c0ccd90c6a5c0005dd09f49cc73d05d68362854dba3b8d4f96bbc0e5225f7749437 +SHA512 (gdk4-4.3.4-test-missing-files.tar.gz) = d8e25ff4ecea870c15b82ac63a71e519eac13fda518320f88ea9ed4cd517598a1af03d1173104ad5b6130cb1155fa5b348b2709cbefb70712e3ee36cc1115493