diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..08e2b60 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +xchat-ruby-1.2-src.tar.gz diff --git a/dead.package b/dead.package deleted file mode 100644 index 7631169..0000000 --- a/dead.package +++ /dev/null @@ -1,4 +0,0 @@ -xchat was retired, and this package is unusable without it - -https://pagure.io/fesco/issue/1847 -https://bugzilla.redhat.com/show_bug.cgi?id=1486752 diff --git a/sources b/sources new file mode 100644 index 0000000..bf5b199 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +d9a8eafb03c88ac5d8c67b5373f10538 xchat-ruby-1.2-src.tar.gz diff --git a/xchat-ruby-1-2-ruby192-fix.diff b/xchat-ruby-1-2-ruby192-fix.diff new file mode 100644 index 0000000..bee070c --- /dev/null +++ b/xchat-ruby-1-2-ruby192-fix.diff @@ -0,0 +1,11 @@ +--- xchat-ruby-1.2-src/src/xchat-ruby.c.orig 2012-06-04 02:34:03.000000000 +0200 ++++ xchat-ruby-1.2-src/src/xchat-ruby.c 2012-06-04 02:35:18.944609899 +0200 +@@ -36,6 +36,8 @@ + + #define XCHAT_RUBY_VERSION "1.2" + ++#define STR2CSTR StringValuePtr ++ + static xchat_plugin *static_plugin_handle = NULL; + static xchat_plugin *ph = NULL; + static int static_ruby_initialized = 0; diff --git a/xchat-ruby-1.2-fix-null-ptr-deref.diff b/xchat-ruby-1.2-fix-null-ptr-deref.diff new file mode 100644 index 0000000..d389247 --- /dev/null +++ b/xchat-ruby-1.2-fix-null-ptr-deref.diff @@ -0,0 +1,20 @@ +--- xchat-ruby-1.2-src/src/xchat-ruby.c.orig 2007-04-26 13:16:32.000000000 +0200 ++++ xchat-ruby-1.2-src/src/xchat-ruby.c 2012-02-03 21:01:12.779969703 +0100 +@@ -773,7 +773,7 @@ static int static_ruby_custom_command_ho + rb_word = rb_ary_new(); + rb_word_eol = rb_ary_new(); + +- for( i = 1; word[i][0] != '\0'; i++ ) ++ for( i = 1; word[i] && word[i][0] != '\0'; i++ ) + { + rb_ary_push( rb_word, rb_str_new2( word[i] ) ); + rb_ary_push( rb_word_eol, rb_str_new2( word_eol[i] ) ); +@@ -828,7 +828,7 @@ static int static_ruby_custom_server_hoo + rb_word = rb_ary_new(); + rb_word_eol = rb_ary_new(); + +- for( i = 1; word[i][0] != '\0'; i++ ) ++ for( i = 1; word[i] && word[i][0] != '\0'; i++ ) + { + rb_ary_push( rb_word, rb_str_new2( word[i] ) ); + rb_ary_push( rb_word_eol, rb_str_new2( word_eol[i] ) ); diff --git a/xchat-ruby-1.2-ruby22-remove-deprecated-usage.patch b/xchat-ruby-1.2-ruby22-remove-deprecated-usage.patch new file mode 100644 index 0000000..03c7e51 --- /dev/null +++ b/xchat-ruby-1.2-ruby22-remove-deprecated-usage.patch @@ -0,0 +1,24 @@ +--- xchat-ruby-1.2-src/src/Makefile.rbconfig 2015-01-16 15:59:36.154426689 +0900 ++++ xchat-ruby-1.2-src/src/Makefile 2015-01-16 16:00:33.272758195 +0900 +@@ -4,7 +4,7 @@ + + OBJ=xchat-ruby.o + +-ARCHDIR=`$(RUBY) -rrbconfig -e "puts Config::CONFIG['archdir']"` ++ARCHDIR=`$(RUBY) -rrbconfig -e "puts RbConfig::CONFIG['archdir']"` + + XCHAT_RUBY=xchat-ruby + SO_FILE=$(XCHAT_RUBY).so +--- xchat-ruby-1.2-src/src/win32/make.rb.rbconfig 2007-04-26 20:16:32.000000000 +0900 ++++ xchat-ruby-1.2-src/src/win32/make.rb 2015-01-16 16:00:45.426615950 +0900 +@@ -9,8 +9,8 @@ + end + + +-$archdir = Config::CONFIG['archdir'] +-$libs = Config::CONFIG['LIBS'] ++$archdir = RbConfig::CONFIG['archdir'] ++$libs = RbConfig::CONFIG['LIBS'] + + # first, process the header file + puts "Building 'xchat-ruby-plugin.h'..." diff --git a/xchat-ruby-dont-ignore-cflags.patch b/xchat-ruby-dont-ignore-cflags.patch new file mode 100644 index 0000000..f53242f --- /dev/null +++ b/xchat-ruby-dont-ignore-cflags.patch @@ -0,0 +1,12 @@ +--- xchat-ruby-1.2-src/src/Makefile 2007-04-26 04:16:32.000000000 -0700 ++++ xchat-ruby-1.2-src-modified/src/Makefile 2007-11-27 17:17:24.000000000 -0800 +@@ -1,8 +1,8 @@ + RUBY=ruby + CC=gcc +-CFLAGS=-g -Wall -O1 -fPIC ++CFLAGS+=-fPIC + + OBJ=xchat-ruby.o + + ARCHDIR=`$(RUBY) -rrbconfig -e "puts Config::CONFIG['archdir']"` + diff --git a/xchat-ruby-global-rubyenv.patch b/xchat-ruby-global-rubyenv.patch new file mode 100644 index 0000000..f2a4e58 --- /dev/null +++ b/xchat-ruby-global-rubyenv.patch @@ -0,0 +1,11 @@ +diff -ur xchat-ruby-1.2-src/src/xchat-ruby-plugin.rb xchat-ruby-1.2-src-patched/src/xchat-ruby-plugin.rb +--- xchat-ruby-1.2-src/src/xchat-ruby-plugin.rb 2007-04-26 04:16:32.000000000 -0700 ++++ xchat-ruby-1.2-src-patched/src/xchat-ruby-plugin.rb 2007-11-17 20:06:25.000000000 -0800 +@@ -416,6 +416,7 @@ + + def XChatRubyEnvironment.initialize_ruby_environment + envfile = get_info( "xchatdir" ) + "/rubyenv" ++ envfile = "/etc/xchat-rubyenv" if not File.exist? envfile + begin + File.open( envfile, "r" ) do |file| + file.each do |line| diff --git a/xchat-ruby.spec b/xchat-ruby.spec new file mode 100644 index 0000000..beda8a0 --- /dev/null +++ b/xchat-ruby.spec @@ -0,0 +1,132 @@ +Name: xchat-ruby +Version: 1.2 +Release: 21%{?dist} +Summary: An X-Chat plugin providing scripting functionality with Ruby + +Group: Applications/Internet +License: GPLv2+ +URL: http://xchat-ruby.sourceforge.net/ +Source0: http://downloads.sourceforge.net/xchat-ruby/%{name}-%{version}-src.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Patch0: xchat-ruby-global-rubyenv.patch +Patch1: xchat-ruby-dont-ignore-cflags.patch +Patch2: xchat-ruby-1.2-fix-null-ptr-deref.diff +Patch3: xchat-ruby-1-2-ruby192-fix.diff +# Remove deprecated usage on ruby 22 +Patch4: xchat-ruby-1.2-ruby22-remove-deprecated-usage.patch + +BuildRequires: ruby(release) +BuildRequires: ruby-devel ruby +Requires: ruby(release) +Requires: xchat + +%description +For those of us that prefer the Ruby programming language above all +others, the XChat-Ruby Plugin now allows X-Chat plugins to be written +in Ruby, in addition to the other supported scripting interfaces. This +means that, for the first time, you can use a purely object-oriented +language in which to write X-Chat plugins. + + +%prep +%setup -q -n xchat-ruby-%{version}-src +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 + + +%build +cd src +CFLAGS="%{optflags} -I`ruby -e 'puts File.join(RbConfig::CONFIG[%q(includedir)], RbConfig::CONFIG[%q(sitearch)])'`" make %{?_smp_mflags} + + +%install +rm -rf %{buildroot} +mkdir %{buildroot} +cd src +# xchat-ruby's make install is broken +install -D xchat-ruby.so %{buildroot}%{_libdir}/xchat/plugins/xchat-ruby.so +mkdir -p %{buildroot}%{_sysconfdir} +ruby -e 'puts $:.push(".").join("\n")' > %{buildroot}%{_sysconfdir}/xchat-rubyenv + +%clean +rm -rf %{buildroot} + + +%files +%defattr(-,root,root,-) +%config(noreplace) %{_sysconfdir}/xchat-rubyenv +%doc README COPYING +%{_libdir}/xchat/plugins/xchat-ruby.so + + +%changelog +* Fri Jan 16 2015 Mamoru TASAKA - 1.2-21 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_2.2 +- Remove deprecated Config:: usage + +* Mon Aug 18 2014 Fedora Release Engineering - 1.2-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 1.2-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Apr 29 2014 Vít Ondruch - 1.2-18 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.1 + +* Sun Aug 04 2013 Fedora Release Engineering - 1.2-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Mar 13 2013 Conrad Meyer - 1.2-16 +- Bump requires from old-style ruby(abi) to new-style ruby(release) for 2.0.0 + +* Fri Feb 15 2013 Fedora Release Engineering - 1.2-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Jul 22 2012 Fedora Release Engineering - 1.2-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jun 4 2012 Conrad Meyer - 1.2-13 +- Fix for Ruby 1.9.2 (#828008) from Pallai Roland + +* Wed Feb 08 2012 Bohuslav Kabrda - 1.2-12 +- Rebuilt for Ruby 1.9.3. + +* Fri Feb 3 2012 Conrad Meyer - 1.2-11 +- Fix null pointer dereference (#787298 reported by Pallai Roland) + +* Sat Jan 14 2012 Fedora Release Engineering - 1.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Feb 07 2011 Fedora Release Engineering - 1.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Jul 27 2009 Fedora Release Engineering - 1.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Feb 26 2009 Fedora Release Engineering - 1.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Feb 9 2008 Conrad Meyer - 1.2-6 +- Bump for GCC 4.3 rebuild + +* Wed Nov 28 2007 Conrad Meyer - 1.2-5 +- SourceURL includes %%{version} +- BuildRequire Ruby 1.8 ABI for consistancy with Require +- Fixed macro in changelog + +* Tue Nov 27 2007 Conrad Meyer - 1.2-4 +- Default load path now contains arch-specific directories + +* Tue Nov 27 2007 Conrad Meyer - 1.2-3 +- Fixed xchat-rubyenv for 64-bit +- Patched Makefile to not ignore CFLAGS + +* Fri Nov 23 2007 Conrad Meyer - 1.2-2 +- Replaced /etc with %%{_sysconfdir} + +* Fri Nov 17 2007 Conrad Meyer - 1.2-1 +- Initial package.