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-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-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..19f1062 --- /dev/null +++ b/xchat-ruby.spec @@ -0,0 +1,108 @@ +Name: xchat-ruby +Version: 1.2 +Release: 11%{?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 + +BuildRequires: ruby(abi) = 1.8 +BuildRequires: ruby-devel ruby +Requires: ruby(abi) = 1.8 +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 + + +%build +cd src +CFLAGS="%{optflags}" make %{?_smp_mflags} + + +%install +# Get arch-specific load paths +%{!?ruby_sitearch: %define ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')} +%{!?ruby_arch: %define ruby_arch %(ruby -rrbconfig -e 'puts Config::CONFIG["archdir"]')} + +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} +cat <%{buildroot}%{_sysconfdir}/xchat-rubyenv +/usr/lib/ruby/site_ruby/1.8 +%{ruby_sitearch} +/usr/lib/ruby/site_ruby +/usr/lib/ruby/1.8 +%{ruby_arch} +. +EOS + + +%clean +rm -rf %{buildroot} + + +%files +%defattr(-,root,root,-) +%config(noreplace) %{_sysconfdir}/xchat-rubyenv +%doc README COPYING +%{_libdir}/xchat/plugins/xchat-ruby.so + + +%changelog +* 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.