diff --git a/.cvsignore b/.cvsignore index e69de29..54f104b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +recode-3.6.tar.gz diff --git a/recode-3.6-getcwd.patch b/recode-3.6-getcwd.patch new file mode 100644 index 0000000..5a7b870 --- /dev/null +++ b/recode-3.6-getcwd.patch @@ -0,0 +1,11 @@ +--- recode-3.6/lib/gettext.c.orig 2005-03-07 12:18:30.000000000 +0100 ++++ recode-3.6/lib/gettext.c 2005-03-07 12:23:14.000000000 +0100 +@@ -1668,8 +1668,6 @@ + # if !defined HAVE_GETCWD + char *getwd (); + # define getcwd(buf, max) getwd (buf) +-# else +-char *getcwd (); + # endif + # ifndef HAVE_STPCPY + static char *stpcpy PARAMS ((char *dest, const char *src)); diff --git a/recode.patch b/recode.patch new file mode 100644 index 0000000..4a9f2dd --- /dev/null +++ b/recode.patch @@ -0,0 +1,68 @@ +--- recode-3.6.orig/src/libiconv.c ++++ recode-3.6/src/libiconv.c +@@ -1,5 +1,5 @@ + /* Conversion of files between different charsets and surfaces. +- Copyright © 1999, 2000 Free Software Foundation, Inc. ++ Copyright © 1999, 2000, 2001 Free Software Foundation, Inc. + Contributed by François Pinard , 1999, + and Bruno Haible , 2000. + +@@ -195,12 +195,17 @@ + memcpy() doesn't do here, because the regions might overlap. + memmove() isn't worth it, because we rarely have to move more + than 12 bytes. */ +- if (input > input_buffer && input_left > 0) ++ cursor = input_buffer; ++ if (input_left > 0) + { +- cursor = input_buffer; +- do +- *cursor++ = *input++; +- while (--input_left > 0); ++ if (input > input_buffer) ++ { ++ do ++ *cursor++ = *input++; ++ while (--input_left > 0); ++ } ++ else ++ cursor += input_left; + } + } + +--- recode-3.6.orig/src/request.c ++++ recode-3.6/src/request.c +@@ -1073,7 +1073,7 @@ + if (task->output.cursor + 4 >= task->output.limit) + { + RECODE_OUTER outer = task->request->outer; +- size_t old_size = task->output.limit - task->output.buffer; ++ size_t old_size = task->output.cursor - task->output.buffer; + size_t new_size = task->output.cursor + 4 - task->output.buffer; + + /* FIXME: Rethink about how the error should be reported. */ +--- recode-3.6.orig/src/task.c ++++ recode-3.6/src/task.c +@@ -1198,6 +1198,8 @@ + else + success = transform_mere_copy (subtask); + ++ task->output = subtask->output; ++ + if (subtask->input.name && *subtask->input.name) + fclose (subtask->input.file); + if (subtask->output.name && *subtask->output.name) +--- recode-3.6.orig/src/hash.h ++++ recode-3.6/src/hash.h +@@ -21,6 +21,11 @@ + /* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use + obstacks instead of malloc, and recompile `hash.c' with same setting. */ + ++#define hash_lookup recode_hash_lookup ++#define hash_delete recode_hash_delete ++#define hash_free recode_hash_free ++#define hash_insert recode_hash_insert ++ + #ifndef PARAMS + # if PROTOTYPES || __STDC__ + # define PARAMS(Args) Args diff --git a/recode.spec b/recode.spec new file mode 100644 index 0000000..4dc124c --- /dev/null +++ b/recode.spec @@ -0,0 +1,136 @@ +Summary: Conversion between character sets and surfaces. +Name: recode +Version: 3.6 +Release: 16 +License: GPL +Group: Applications/File +Source: ftp://ftp.iro.umontreal.ca/pub/recode/recode-%{version}.tar.gz +Patch: recode.patch +Patch1: recode-3.6-getcwd.patch +Url: http://www.iro.umontreal.ca/contrib/recode/HTML/ +Prereq: /sbin/install-info /sbin/ldconfig +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root + +%description +The `recode' converts files between character sets and usages. +It recognises or produces nearly 150 different character sets +and is able to transliterate files between almost any pair. When exact +transliteration are not possible, it may get rid of the offending +characters or fall back on approximations. Most RFC 1345 character sets +are supported. + +%package devel +Summary: Header files and static libraries for development using recode. +Group: Development/Libraries +Requires: %{name} = %{version} + +%description devel +The `recode' library converts files between character sets and usages. +The library recognises or produces nearly 150 different character sets +and is able to transliterate files between almost any pair. When exact +transliteration are not possible, it may get rid of the offending +characters or fall back on approximations. Most RFC 1345 character sets +are supported. + +%prep +%setup -q +%patch -p1 +%patch1 -p1 -b .getcwd + +%build +%configure +make + +%install +rm -rf $RPM_BUILD_ROOT + +%makeinstall +%find_lang %{name} + +gzip -9nf ${RPM_BUILD_ROOT}%{_infodir}/recode.info* + +# remove unpackaged file from the buildroot +rm -f $RPM_BUILD_ROOT%{_infodir}/dir + +%post +/sbin/ldconfig +/sbin/install-info %{_infodir}/recode.info.gz %{_infodir}/dir --entry="* recode: (recode). Conversion between character sets and surfaces." +exit 0 + +%preun +if [ $1 = 0 ]; then + /sbin/install-info --delete %{_infodir}/recode.info.gz %{_infodir}/dir --entry="* recode: (recode). Conversion between character sets and surfaces." +fi +exit 0 + +%postun -p /sbin/ldconfig + +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f %{name}.lang +%defattr(-,root,root) +%{_mandir}/*/* +%{_infodir}/recode.info* +%{_bindir}/* +%{_libdir}/*.so.0* + +%files devel +%defattr(-,root,root) +%{_libdir}/*.a +%{_libdir}/*.la +%{_libdir}/*.so +%{_includedir}/* + +%changelog +* Mon Mar 07 2005 Than Ngo 3.6-16 +- cleanup + +* Sat Mar 05 2005 Than Ngo 3.6-15 +- rebuilt + +* Wed Feb 09 2005 Than Ngo 3.6-14 +- rebuilt + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Than Ngo 3.6-11 +- add a patch file from kota@szbk.u-szeged.hu (bug #115524) + +* Thu Nov 20 2003 Thomas Woerner 3.6-10 +- Fixed RPATH (missing make in %%build) + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Wed Dec 11 2002 Tim Powers 3.6-7 +- rebuild on all arches +- remove unpackaged file from the buildroot + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Mon Apr 15 2002 Bill Nottingham 3.6-4 +- add ldconfig %post/%postun + +* Tue Feb 26 2002 Than Ngo 3.6-3 +- rebuild + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Tue Nov 13 2001 Than Ngo 3.6-1 +- initial RPM for 8.0 diff --git a/sources b/sources index e69de29..f764bd6 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +be3f40ad2e93dae5cd5f628264bf1877 recode-3.6.tar.gz