[sdcv/f14/master] Initial import (#666455).

Pavel Zhukov landgraf at fedoraproject.org
Thu Jan 13 21:08:59 UTC 2011


commit 34c16a9802472ab327794724358ade0d739af11f
Author: Pavel Zhukov <pavel at zhukoff.net>
Date:   Fri Jan 14 00:08:44 2011 +0300

    Initial import (#666455).

 .gitignore                   |    1 +
 sdcv-allignment.patch        |   27 ++++
 sdcv-c++.patch               |   44 ++++++
 sdcv-cs.po.patch             |  144 ++++++++++++++++++
 sdcv-fix-tests.patch         |   52 +++++++
 sdcv-format.patch            |   20 +++
 sdcv-gettext.patch           |   14 ++
 sdcv-locales.patch           |  335 ++++++++++++++++++++++++++++++++++++++++++
 sdcv-manpage.patch           |  142 ++++++++++++++++++
 sdcv-sk.po.patch             |  133 +++++++++++++++++
 sdcv-use-env-home.patch      |   31 ++++
 sdcv-zlib-return-value.patch |   18 +++
 sdcv.spec                    |   78 ++++++++++
 sources                      |    1 +
 14 files changed, 1040 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..1b66cd2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/sdcv-0.4.2.tar.bz2
diff --git a/sdcv-allignment.patch b/sdcv-allignment.patch
new file mode 100644
index 0000000..264cffc
--- /dev/null
+++ b/sdcv-allignment.patch
@@ -0,0 +1,27 @@
+Fix unalligned access to buffer.
+
+On several architectures (arm, armel, sparc and ia64), unalligned access to
+integers is not allowed. Buffer in this function is not alligned at all and
+attempt to read integer from it causes crash of application on such
+architectures.
+
+Reported upstream at:
+https://sourceforge.net/tracker/index.php?func=detail&aid=2149388&group_id=122858&atid=694730
+--- a/src/lib/lib.cpp
++++ b/src/lib/lib.cpp
+@@ -496,9 +496,13 @@
+ 		entries[i].keystr=p;
+ 		len=strlen(p);
+ 		p+=len+1;
+-		entries[i].off=g_ntohl(*reinterpret_cast<guint32 *>(p));
++        /*
++         * Can not use typecasting here, because *data does not have
++         * to be alligned and unalligned access fails on some architectures.
++         */
++		entries[i].off=((unsigned char)p[0] << 24) | ((unsigned char)p[1] << 16) | ((unsigned char)p[2] << 8) | (unsigned char)p[3];
+ 		p+=sizeof(guint32);
+-		entries[i].size=g_ntohl(*reinterpret_cast<guint32 *>(p));
++		entries[i].size=((unsigned char)p[0] << 24) | ((unsigned char)p[1] << 16) | ((unsigned char)p[2] << 8) | (unsigned char)p[3];
+ 		p+=sizeof(guint32);
+ 	}
+ }
diff --git a/sdcv-c++.patch b/sdcv-c++.patch
new file mode 100644
index 0000000..5d8c163
--- /dev/null
+++ b/sdcv-c++.patch
@@ -0,0 +1,44 @@
+Fixes compilation with recent GCC which is more strict about C++.
+http://sourceforge.net/tracker/index.php?func=detail&aid=2125955&group_id=122858&atid=694730
+--- a/src/readline.cpp
++++ b/src/readline.cpp
+@@ -23,6 +23,7 @@
+ #endif
+ 
+ #include <cstdio>
++#include <cstdlib>
+ #ifdef WITH_READLINE
+ #  include <readline/readline.h>
+ #  include <readline/history.h>
+--- a/src/libwrapper.cpp
++++ b/src/libwrapper.cpp
+@@ -24,6 +24,7 @@
+ 
+ #include <glib/gi18n.h>
+ #include <map>
++#include <cstring>
+ 
+ #include "utils.hpp"
+ 
+--- a/src/utils.cpp
++++ b/src/utils.cpp
+@@ -22,6 +22,8 @@
+ #  include "config.h"
+ #endif
+ 
++#include <cstdio>
++#include <cstdlib>
+ #include <glib.h>
+ #include <glib/gi18n.h>
+ 
+--- a/src/lib/lib.cpp
++++ b/src/lib/lib.cpp
+@@ -513,7 +513,7 @@
+ {
+ 	fseek(idxfile, wordoffset[page_idx], SEEK_SET);
+ 	guint32 page_size=wordoffset[page_idx+1]-wordoffset[page_idx];
+-	fread(wordentry_buf, std::min(sizeof(wordentry_buf), page_size), 1, idxfile); //TODO: check returned values, deal with word entry that strlen>255.
++	fread(wordentry_buf, std::min(sizeof(wordentry_buf), (size_t)page_size), 1, idxfile); //TODO: check returned values, deal with word entry that strlen>255.
+ 	return wordentry_buf;
+ }
+ 
diff --git a/sdcv-cs.po.patch b/sdcv-cs.po.patch
new file mode 100644
index 0000000..dde952f
--- /dev/null
+++ b/sdcv-cs.po.patch
@@ -0,0 +1,144 @@
+Add Czech translation.
+http://sourceforge.net/tracker/index.php?func=detail&aid=2125958&group_id=122858&atid=694730
+--- a/po/LINGUAS
++++ b/po/LINGUAS
+@@ -1,2 +1,2 @@
+ # Set of available languages.
+-sk zh_CN ru uk zh_TW
++cs sk zh_CN ru uk zh_TW
+--- /dev/null
++++ b/po/cs.po
+@@ -0,0 +1,133 @@
++# Czech translations for sdcv package.
++# Copyright (C) 2008 Free Software Foundation, Inc.
++# This file is distributed under the same license as the sdcv package.
++# Michal ÄŒihaÅ™ <michal at cihar.com>, 2008.
++msgid ""
++msgstr ""
++"Project-Id-Version: sdcv 0.4.2\n"
++"Report-Msgid-Bugs-To: dushistov at mail.ru\n"
++"POT-Creation-Date: 2008-09-24 10:54+0200\n"
++"PO-Revision-Date: 2008-09-24 10:42+0200\n"
++"Last-Translator: Michal ÄŒihaÅ™ <michal at cihar.com>\n"
++"Language-Team: Czech <cs at li.org>\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
++
++#: src/sdcv.cpp:127
++#, c-format
++msgid ""
++"Unknown option.\n"
++"Try '%s --help' for more information.\n"
++msgstr ""
++"Neznámý parametr.\n"
++"Zkuste '%s --help' pro nápovědu.\n"
++
++#: src/sdcv.cpp:134
++#, c-format
++msgid "Usage: %s [OPTIONS] words\n"
++msgstr "Použití: %s [PARAMETRY] slova\n"
++
++#: src/sdcv.cpp:135
++#, c-format
++msgid "-h, --help               display this help and exit\n"
++msgstr "-h, --help               zobrazí tuto nápovědu a skončí\n"
++
++#: src/sdcv.cpp:136
++#, c-format
++msgid "-v, --version            display version information and exit\n"
++msgstr "-v, --version            zobrazí informace o verzi a skončí\n"
++
++#: src/sdcv.cpp:137
++#, c-format
++msgid ""
++"-l, --list-dicts         display list of available dictionaries and exit\n"
++msgstr "-l, --list-dicts         zobrazí seznam dostupných slovníků a skončí\n"
++
++#: src/sdcv.cpp:138
++#, c-format
++msgid ""
++"-u, --use-dict bookname  for search use only dictionary with this bookname\n"
++msgstr "-u, --use-dict jméno     vyhledávat jen v zadaném slovníku\n"
++
++#: src/sdcv.cpp:139
++#, c-format
++msgid "-n, --non-interactive    for use in scripts\n"
++msgstr "-n, --non-interactive    pro použití ve skriptech\n"
++
++#: src/sdcv.cpp:140
++#, c-format
++msgid "--utf8-output            output must be in utf8\n"
++msgstr "--utf8-output            výstup musí být v utf8\n"
++
++#: src/sdcv.cpp:141
++#, c-format
++msgid "--utf8-input             input of sdcv in utf8\n"
++msgstr "--utf8-input             vstup musí být v utf8\n"
++
++#: src/sdcv.cpp:142
++#, c-format
++msgid ""
++"--data-dir path/to/dir   use this directory as path to stardict data "
++"directory\n"
++msgstr ""
++"--data-dir cesta/někam   použít tento adresář jako cestu ke slovníkům "
++"stardict\n"
++
++#: src/sdcv.cpp:148
++#, c-format
++msgid "Console version of Stardict, version %s\n"
++msgstr "Konzolová verze Stardictu, verze %s\n"
++
++#: src/sdcv.cpp:169
++#, c-format
++msgid "Dictionary's name   Word count\n"
++msgstr "Jméno slovníku      Počet slov\n"
++
++#: src/sdcv.cpp:191
++#, c-format
++msgid "g_mkdir failed: %s\n"
++msgstr "g_mkdir selhalo: %s\n"
++
++#: src/sdcv.cpp:207
++msgid "Enter word or phrase: "
++msgstr "Zadejte slovo nebo frázi: "
++
++#: src/sdcv.cpp:215
++#, c-format
++msgid "There are no words/phrases to translate.\n"
++msgstr "Nebyla zadáno nic k přeložení.\n"
++
++#: src/libwrapper.cpp:246
++msgid "popen failed"
++msgstr "popen selhalo"
++
++#: src/libwrapper.cpp:283
++#, c-format
++msgid "Can not convert %s to utf8.\n"
++msgstr "Nepodařilo se převést %s do utf8.\n"
++
++#: src/libwrapper.cpp:340 src/libwrapper.cpp:372
++#, c-format
++msgid "Found %d items, similar to %s.\n"
++msgstr "Nalezeno %d záznamů podobných %s.\n"
++
++#: src/libwrapper.cpp:353
++#, c-format
++msgid "Your choice[-1 to abort]: "
++msgstr "Vaše volba [-1 pro ukončení]: "
++
++#: src/libwrapper.cpp:367
++#, c-format
++msgid ""
++"Invalid choice.\n"
++"It must be from 0 to %d or -1.\n"
++msgstr ""
++"Chybná volba.\n"
++"Musí být mezi 0 a %d nebo -1.\n"
++
++#: src/libwrapper.cpp:383
++#, c-format
++msgid "Nothing similar to %s, sorry :(\n"
++msgstr "Nic podobného %s nenalezeno, promiň :(\n"
diff --git a/sdcv-fix-tests.patch b/sdcv-fix-tests.patch
new file mode 100644
index 0000000..510ed6e
--- /dev/null
+++ b/sdcv-fix-tests.patch
@@ -0,0 +1,52 @@
+Fixes tests so that they can be executed using dash as /bin/sh.
+http://sourceforge.net/tracker/index.php?func=detail&aid=2125959&group_id=122858&atid=694730
+--- a/tests/t_datadir
++++ b/tests/t_datadir
+@@ -2,11 +2,11 @@
+ 
+ unset SDCV_PAGER
+ have=`../src/sdcv --data-dir ./ -l | wc -l`
+-let have=have-1
++have=$(($have-1))
+ ndicts=`find "${HOME}"/.stardict/dic -name "*.ifo" -print | wc -l`
+-let ndicts=ndicts+1
++ndicts=$(($ndicts+1))
+ if [ $have -ne $ndicts ]; then
+-	let ndicts=ndicts-1
++	ndicts=$(($ndicts-1))
+ 	echo "test failed: sdcv says: we have: $have, but really we have: $ndicts" >&2
+ 	exit 1
+ fi
+--- a/tests/t_list
++++ b/tests/t_list
+@@ -1,10 +1,10 @@
+ #!/bin/sh
+ 
+ ndicts=`../src/sdcv -l | wc -l`
+-let ndicts=ndicts-1
++ndicts=$(($ndicts-1))
+ ncom=`find /usr/share/stardict/dic -name "*.ifo" | wc -l`
+ nspe=`find "${HOME}"/.stardict/dic -name "*.ifo" | wc -l`
+-let nmy=ncom+nspe
++nmy=$(($ncom+$nspe))
+ 
+ if [ $nmy -ne $ndicts ]; then
+ 	echo "should be: $nmy, we have: $ndicts" >&2
+--- a/tests/t_utf8input
++++ b/tests/t_utf8input
+@@ -9,13 +9,13 @@
+ "
+ j=0
+ for i in `../src/sdcv --utf8-input -n человек 2>&1`; do
+-	let j=j+1
++	j=$(($j+1))
+ 	if [ $j -ne 1 ]; then
+ 		break;
+ 	fi
+ done
+ 
+-if [ $j -eq 1 ]; then
++if [ $j -ne 1 ]; then
+ 	echo "empty results of search: test failed" >&2
+ 	exit 1
+ fi
diff --git a/sdcv-format.patch b/sdcv-format.patch
new file mode 100644
index 0000000..c2b7d0e
--- /dev/null
+++ b/sdcv-format.patch
@@ -0,0 +1,20 @@
+Fixes displaying of 'g' (gtk markup) entries.
+http://sourceforge.net/tracker/index.php?func=detail&aid=2125962&group_id=122858&atid=694730
+--- a/src/libwrapper.cpp
++++ b/src/libwrapper.cpp
+@@ -118,7 +118,6 @@
+ 		switch (*p++) {
+ 		case 'm':
+ 		case 'l': //need more work...
+-		case 'g':
+ 			sec_size = strlen(p);
+ 			if (sec_size) {
+ 				res+="\n";
+@@ -128,6 +127,7 @@
+ 			}
+ 			sec_size++;
+ 			break;
++		case 'g':
+ 		case 'x':
+ 			sec_size = strlen(p);
+ 			if (sec_size) {
diff --git a/sdcv-gettext.patch b/sdcv-gettext.patch
new file mode 100644
index 0000000..de68c80
--- /dev/null
+++ b/sdcv-gettext.patch
@@ -0,0 +1,14 @@
+Subject: Update gettext version to use newer m4 macros
+From: Michal ÄŒihaÅ™ <nijel at debian.org>
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,7 +22,7 @@
+ dnl Gettext stuff.
+ dnl ================================================================
+ AM_GNU_GETTEXT([external])
+-AM_GNU_GETTEXT_VERSION(0.14.1)
++AM_GNU_GETTEXT_VERSION(0.17)
+ GETTEXT_PACKAGE=sdcv
+ AC_SUBST(GETTEXT_PACKAGE)
+ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package])
diff --git a/sdcv-locales.patch b/sdcv-locales.patch
new file mode 100644
index 0000000..4dc77a4
--- /dev/null
+++ b/sdcv-locales.patch
@@ -0,0 +1,335 @@
+Fixes typo in program (choise -> choice).
+http://sourceforge.net/tracker/index.php?func=detail&aid=2125953&group_id=122858&atid=694730
+--- a/po/ru.po
++++ b/po/ru.po
+@@ -8,7 +8,7 @@
+ msgstr ""
+ "Project-Id-Version: sdcv 0.3\n"
+ "Report-Msgid-Bugs-To: dushistov at mail.ru\n"
+-"POT-Creation-Date: 2006-04-24 15:18+0400\n"
++"POT-Creation-Date: 2008-09-24 10:54+0200\n"
+ "PO-Revision-Date: 2006-04-24 15:20+0300\n"
+ "Last-Translator: Evgeniy Dushistov <dushistov at mail.ru>\n"
+ "Language-Team: Russian <ru at li.org>\n"
+@@ -105,35 +105,35 @@
+ msgid "There are no words/phrases to translate.\n"
+ msgstr "îÅ ÚÁÄÁÎÏ ÓÌÏ×Á/ÆÒÁÚÙ ÄÌÑ ÐÅÒÅ×ÏÄÁ.\n"
+ 
+-#: src/libwrapper.cpp:245
++#: src/libwrapper.cpp:246
+ msgid "popen failed"
+ msgstr "ÆÕÎËÃÉÑ popen ÚÁ×ÅÒÛÉÌÁÓØ Ó ÏÛÉÂËÏÊ"
+ 
+-#: src/libwrapper.cpp:282
++#: src/libwrapper.cpp:283
+ #, c-format
+ msgid "Can not convert %s to utf8.\n"
+ msgstr "îÅ ÍÏÇÕ ÐÒÅÏÂÒÁÚÏ×ÁÔØ %s × utf8.\n"
+ 
+-#: src/libwrapper.cpp:339 src/libwrapper.cpp:371
++#: src/libwrapper.cpp:340 src/libwrapper.cpp:372
+ #, c-format
+ msgid "Found %d items, similar to %s.\n"
+ msgstr "îÁÊÄÅÎÏ %d ÓÌÏ×, ÐÏÈÏÖÉÈ ÎÁ %s.\n"
+ 
+-#: src/libwrapper.cpp:352
++#: src/libwrapper.cpp:353
+ #, c-format
+ msgid "Your choice[-1 to abort]: "
+ msgstr "÷ÁÛ ×ÙÂÏÒ[-1 - ÏÔÍÅÎÁ]:"
+ 
+-#: src/libwrapper.cpp:366
++#: src/libwrapper.cpp:367
+ #, c-format
+ msgid ""
+-"Invalid choise.\n"
++"Invalid choice.\n"
+ "It must be from 0 to %d or -1.\n"
+ msgstr ""
+ "îÅÐÒÁ×ÉÌØÎÙÊ ×ÙÂÏÒ.\n"
+ "äÏÌÖÎÏ ÂÙÔØ ÏÔ 0 ÄÏ %d ÉÌÉ -1.\n"
+ 
+-#: src/libwrapper.cpp:382
++#: src/libwrapper.cpp:383
+ #, c-format
+ msgid "Nothing similar to %s, sorry :(\n"
+ msgstr "îÉÞÅÇÏ ÐÏÈÏÖÅÇÏ ÎÁ %s, ÉÚ×ÉÎÉÔÅ :(\n"
+--- a/po/sdcv.pot
++++ b/po/sdcv.pot
+@@ -8,7 +8,7 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: dushistov at mail.ru\n"
+-"POT-Creation-Date: 2006-04-24 15:18+0400\n"
++"POT-Creation-Date: 2008-09-24 10:54+0200\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL at li.org>\n"
+@@ -96,33 +96,33 @@
+ msgid "There are no words/phrases to translate.\n"
+ msgstr ""
+ 
+-#: src/libwrapper.cpp:245
++#: src/libwrapper.cpp:246
+ msgid "popen failed"
+ msgstr ""
+ 
+-#: src/libwrapper.cpp:282
++#: src/libwrapper.cpp:283
+ #, c-format
+ msgid "Can not convert %s to utf8.\n"
+ msgstr ""
+ 
+-#: src/libwrapper.cpp:339 src/libwrapper.cpp:371
++#: src/libwrapper.cpp:340 src/libwrapper.cpp:372
+ #, c-format
+ msgid "Found %d items, similar to %s.\n"
+ msgstr ""
+ 
+-#: src/libwrapper.cpp:352
++#: src/libwrapper.cpp:353
+ #, c-format
+ msgid "Your choice[-1 to abort]: "
+ msgstr ""
+ 
+-#: src/libwrapper.cpp:366
++#: src/libwrapper.cpp:367
+ #, c-format
+ msgid ""
+-"Invalid choise.\n"
++"Invalid choice.\n"
+ "It must be from 0 to %d or -1.\n"
+ msgstr ""
+ 
+-#: src/libwrapper.cpp:382
++#: src/libwrapper.cpp:383
+ #, c-format
+ msgid "Nothing similar to %s, sorry :(\n"
+ msgstr ""
+--- a/po/sk.po
++++ b/po/sk.po
+@@ -6,7 +6,7 @@
+ msgstr ""
+ "Project-Id-Version: sdcv 0.3.2\n"
+ "Report-Msgid-Bugs-To: dushistov at mail.ru\n"
+-"POT-Creation-Date: 2006-04-24 15:18+0400\n"
++"POT-Creation-Date: 2008-09-24 10:54+0200\n"
+ "PO-Revision-Date: 2005-01-04 20:19+0100\n"
+ "Last-Translator: Zdenko Podobný <zdpo at mailbox.sk>\n"
+ "Language-Team: Slovak <<sk-i18n at lists.linux.sk>>\n"
+@@ -102,35 +102,35 @@
+ msgid "There are no words/phrases to translate.\n"
+ msgstr "Nie je čo preložiť.\n"
+ 
+-#: src/libwrapper.cpp:245
++#: src/libwrapper.cpp:246
+ msgid "popen failed"
+ msgstr ""
+ 
+-#: src/libwrapper.cpp:282
++#: src/libwrapper.cpp:283
+ #, c-format
+ msgid "Can not convert %s to utf8.\n"
+ msgstr "nie je možné konvertovať %s na utf8.\n"
+ 
+-#: src/libwrapper.cpp:339 src/libwrapper.cpp:371
++#: src/libwrapper.cpp:340 src/libwrapper.cpp:372
+ #, c-format
+ msgid "Found %d items, similar to %s.\n"
+ msgstr "Nájdené %d položiek, podobných %s,\n"
+ 
+-#: src/libwrapper.cpp:352
++#: src/libwrapper.cpp:353
+ #, fuzzy, c-format
+ msgid "Your choice[-1 to abort]: "
+ msgstr "Vaša voľba: "
+ 
+-#: src/libwrapper.cpp:366
++#: src/libwrapper.cpp:367
+ #, fuzzy, c-format
+ msgid ""
+-"Invalid choise.\n"
++"Invalid choice.\n"
+ "It must be from 0 to %d or -1.\n"
+ msgstr ""
+ "Neplatná voľba.\n"
+ "Musí byť od 0 po %d.\n"
+ 
+-#: src/libwrapper.cpp:382
++#: src/libwrapper.cpp:383
+ #, c-format
+ msgid "Nothing similar to %s, sorry :(\n"
+ msgstr "Ľutujem, nič sa nepodobá na %s :(\n"
+--- a/po/uk.po
++++ b/po/uk.po
+@@ -8,7 +8,7 @@
+ msgstr ""
+ "Project-Id-Version: sdcv 0.3\n"
+ "Report-Msgid-Bugs-To: dushistov at mail.ru\n"
+-"POT-Creation-Date: 2006-04-24 15:18+0400\n"
++"POT-Creation-Date: 2008-09-24 10:54+0200\n"
+ "PO-Revision-Date: 2004-12-14 17:54+0300\n"
+ "Last-Translator:  <dubyk at lsl.lviv.ua>\n"
+ "Language-Team: Ukrainian <dubyk at lsl.lviv.ua>\n"
+@@ -105,35 +105,35 @@
+ msgid "There are no words/phrases to translate.\n"
+ msgstr "Не задано слова/фрази для перекладу.\n"
+ 
+-#: src/libwrapper.cpp:245
++#: src/libwrapper.cpp:246
+ msgid "popen failed"
+ msgstr ""
+ 
+-#: src/libwrapper.cpp:282
++#: src/libwrapper.cpp:283
+ #, c-format
+ msgid "Can not convert %s to utf8.\n"
+ msgstr "Не можу перетворити %s у utf8.\n"
+ 
+-#: src/libwrapper.cpp:339 src/libwrapper.cpp:371
++#: src/libwrapper.cpp:340 src/libwrapper.cpp:372
+ #, c-format
+ msgid "Found %d items, similar to %s.\n"
+ msgstr "Знайдено %d слів, схожих на %s.\n"
+ 
+-#: src/libwrapper.cpp:352
++#: src/libwrapper.cpp:353
+ #, fuzzy, c-format
+ msgid "Your choice[-1 to abort]: "
+ msgstr "Ваш вибір: "
+ 
+-#: src/libwrapper.cpp:366
++#: src/libwrapper.cpp:367
+ #, fuzzy, c-format
+ msgid ""
+-"Invalid choise.\n"
++"Invalid choice.\n"
+ "It must be from 0 to %d or -1.\n"
+ msgstr ""
+ "Неправильний вибір.\n"
+ "Повинно бути від 0 до %d.\n"
+ 
+-#: src/libwrapper.cpp:382
++#: src/libwrapper.cpp:383
+ #, c-format
+ msgid "Nothing similar to %s, sorry :(\n"
+ msgstr "Нічого схожого на %s, даруйте :(\n"
+--- a/po/zh_CN.po
++++ b/po/zh_CN.po
+@@ -6,7 +6,7 @@
+ msgstr ""
+ "Project-Id-Version: sdcv 0.3\n"
+ "Report-Msgid-Bugs-To: dushistov at mail.ru\n"
+-"POT-Creation-Date: 2006-04-24 15:18+0400\n"
++"POT-Creation-Date: 2008-09-24 10:54+0200\n"
+ "PO-Revision-Date: 2005-1-17 00:58+0800\n"
+ "Last-Translator: Cai Qian <caiqian at gnome.org>\n"
+ "Language-Team: Simplified Chinese\n"
+@@ -96,35 +96,35 @@
+ msgid "There are no words/phrases to translate.\n"
+ msgstr "没有供翻译的单词或短语。\n"
+ 
+-#: src/libwrapper.cpp:245
++#: src/libwrapper.cpp:246
+ msgid "popen failed"
+ msgstr ""
+ 
+-#: src/libwrapper.cpp:282
++#: src/libwrapper.cpp:283
+ #, c-format
+ msgid "Can not convert %s to utf8.\n"
+ msgstr "无法将 %s 转换为 UTF-8。\n"
+ 
+-#: src/libwrapper.cpp:339 src/libwrapper.cpp:371
++#: src/libwrapper.cpp:340 src/libwrapper.cpp:372
+ #, c-format
+ msgid "Found %d items, similar to %s.\n"
+ msgstr "发现 %d 条记录和 %s 相似。\n"
+ 
+-#: src/libwrapper.cpp:352
++#: src/libwrapper.cpp:353
+ #, fuzzy, c-format
+ msgid "Your choice[-1 to abort]: "
+ msgstr "您的选择为:"
+ 
+-#: src/libwrapper.cpp:366
++#: src/libwrapper.cpp:367
+ #, fuzzy, c-format
+ msgid ""
+-"Invalid choise.\n"
++"Invalid choice.\n"
+ "It must be from 0 to %d or -1.\n"
+ msgstr ""
+ "无效的选择。\n"
+ "必须是 0 到 %d。\n"
+ 
+-#: src/libwrapper.cpp:382
++#: src/libwrapper.cpp:383
+ #, c-format
+ msgid "Nothing similar to %s, sorry :(\n"
+ msgstr "对不起,没有发现和 %s 相似的 :(\n"
+--- a/po/zh_TW.po
++++ b/po/zh_TW.po
+@@ -7,7 +7,7 @@
+ msgstr ""
+ "Project-Id-Version: sdcv 0.4\n"
+ "Report-Msgid-Bugs-To: dushistov at mail.ru\n"
+-"POT-Creation-Date: 2006-04-24 15:18+0400\n"
++"POT-Creation-Date: 2008-09-24 10:54+0200\n"
+ "PO-Revision-Date: 2005-10-31 17:14+0800\n"
+ "Last-Translator: Wei-Lun Chao <chaoweilun at pcmail.com.tw>\n"
+ "Language-Team: Chinese (traditional) <zh-l10n at linux.org.tw>\n"
+@@ -98,35 +98,35 @@
+ msgid "There are no words/phrases to translate.\n"
+ msgstr "沒有可供翻譯的單字或片語。\n"
+ 
+-#: src/libwrapper.cpp:245
++#: src/libwrapper.cpp:246
+ msgid "popen failed"
+ msgstr ""
+ 
+-#: src/libwrapper.cpp:282
++#: src/libwrapper.cpp:283
+ #, c-format
+ msgid "Can not convert %s to utf8.\n"
+ msgstr "無法將 %s 轉換為 UTF-8。\n"
+ 
+-#: src/libwrapper.cpp:339 src/libwrapper.cpp:371
++#: src/libwrapper.cpp:340 src/libwrapper.cpp:372
+ #, c-format
+ msgid "Found %d items, similar to %s.\n"
+ msgstr "找到 %d 項紀錄和 %s 相似。\n"
+ 
+-#: src/libwrapper.cpp:352
++#: src/libwrapper.cpp:353
+ #, fuzzy, c-format
+ msgid "Your choice[-1 to abort]: "
+ msgstr "您的選擇為:"
+ 
+-#: src/libwrapper.cpp:366
++#: src/libwrapper.cpp:367
+ #, fuzzy, c-format
+ msgid ""
+-"Invalid choise.\n"
++"Invalid choice.\n"
+ "It must be from 0 to %d or -1.\n"
+ msgstr ""
+ "無效的選擇。\n"
+ "必須是從 0 到 %d。\n"
+ 
+-#: src/libwrapper.cpp:382
++#: src/libwrapper.cpp:383
+ #, c-format
+ msgid "Nothing similar to %s, sorry :(\n"
+ msgstr "抱歉,沒有和 %s 相似者 :(\n"
+--- a/src/libwrapper.cpp
++++ b/src/libwrapper.cpp
+@@ -364,7 +364,7 @@
+ 				} else if (choise==-1)
+ 					break;
+ 				else
+-					printf(_("Invalid choise.\nIt must be from 0 to %d or -1.\n"), 
++					printf(_("Invalid choice.\nIt must be from 0 to %d or -1.\n"), 
+ 					       res_list.size()-1);	  
+ 			}		
+ 		} else {
diff --git a/sdcv-manpage.patch b/sdcv-manpage.patch
new file mode 100644
index 0000000..77a6c00
--- /dev/null
+++ b/sdcv-manpage.patch
@@ -0,0 +1,142 @@
+Fix man page to be correct.
+http://sourceforge.net/tracker/index.php?func=detail&aid=2125983&group_id=122858&atid=694730
+--- a/doc/uk/sdcv.1
++++ b/doc/uk/sdcv.1
+@@ -1,14 +1,14 @@
+-..TH SDCV 1 "2004-12-06" "sdcv-0.4"
+-..SH NAME
++.TH SDCV 1 "2004-12-06" "sdcv-0.4"
++.SH NAME
+ sdcv \- консольна версія Зоряного словника [Stardict]
+-..SH SYNOPSIS
+-..B sdcv 
++.SH SYNOPSIS
++.B sdcv 
+ [ 
+-..BI options 
++.BI options 
+ ] 
+ [list of words]
+-..SH DESCRIPTION
+-..I sdcv 
++.SH DESCRIPTION
++.I sdcv 
+ sdcv проста, міжплатформена текстова утиліта для роботи із 
+ словниками у форматі Зоряного словника [StarDict].
+ Слово зі "списку слів", може бути рядком з початковим слешем '/' 
+@@ -19,37 +19,37 @@
+ У діалоговому режимі, якщо sdcv був скомпільований з підтримкою 
+ бібліотеки readline, Ви можете використовувати клавіші ДОГОРИ 
+ та ВНИЗ для роботи з хронологією.
+-..SH OPTIONS
+-..TP 8
+-..B "\-h  \-\-help"
++.SH OPTIONS
++.TP 8
++.B "\-h  \-\-help"
+ відображає повідомлення довідки та виходить
+-..TP 8
+-..B "\-v \-\-verbose"
++.TP 8
++.B "\-v \-\-verbose"
+ відображає версію та виходить
+-..TP 8
+-..B "\-l \-\-list\-dicts" 
++.TP 8
++.B "\-l \-\-list\-dicts" 
+ відображає список доступних словників та виходить
+-..TP 8
+-..B "\-u \-\-use\-dict filename"
++.TP 8
++.B "\-u \-\-use\-dict filename"
+ для пошуку з використанням лише словника з цим іменем(bookname)
+-..TP 8
+-..B "\-n \-\-non\-interactive"
++.TP 8
++.B "\-n \-\-non\-interactive"
+ для використання в скриптах
+-..TP 8
+-..B "\-\-utf8\-output"
++.TP 8
++.B "\-\-utf8\-output"
+ Заставити sdcv розмовляти не в системному кодуванні locale, а робити вивід в utf8
+-..TP 8
+-..B "\-\-utf8\-input"
++.TP 8
++.B "\-\-utf8\-input"
+ Заставити sdcv слухати не в системному кодуванні locale, а припускати що це 
+ ввід в utf8
+-..TP 8
+-..B "\-\-data\-dir path/to/directory" 
++.TP 8
++.B "\-\-data\-dir path/to/directory" 
+ Використовуйте цю теку як шлях до теки даних зоряного словника [stardict]. 
+ Це значає, що sdcv шукає словники у теці data-dir/dic.
+-..SH FILES
+-..TP 
++.SH FILES
++.TP 
+ /usr/share/stardict/dic 
+-..TP
++.TP
+ $(HOME)/.stardict/dic
+ 
+ Місце, де sdcv очікує знайти словники.
+@@ -57,28 +57,28 @@
+ що Ви хочете, лише встановіть змінну оточення STARDICT_DATA_DIR.
+ Наприклад, якщо Ви маєте словники у теці /mnt/data/stardict-dicts/dic, 
+ встановіть STARDICT_DATA_DIR у /mnt/data/stardict-dicts.
+-..TP
++.TP
+ $(HOME)/.sdcv_history
+ 
+ Цей файл містить останні $(SDCV_HISTSIZE) слова, які Ви шукали з sdcv.
+ SDCV використовує цей файл при умові, якщо sdcv був скомпільований 
+ з підтримкою бібліотеки readline.
+ 
+-..SH ENVIROMENT 
++.SH ENVIROMENT 
+ Змінні оточення для \fIsdcv\fR:
+-..TP 20
+-..B STARDICT_DATA_DIR
++.TP 20
++.B STARDICT_DATA_DIR
+ Якщо встановлена, sdcv використає цю змінну як теку даних, це означає, 
+ що sdcv шукатиме словники у $\fBSTARDICT_DATA_DIR\fR\dic
+-..TP 20
+-..B SDCV_HISTSIZE
++.TP 20
++.B SDCV_HISTSIZE
+ Якщо встановлена, sdcv писатиме у $(HOME)/.sdcv_history лише 
+ останні $(SDCV_HISTSIZE) слова, які Ви шукали з sdcv. Якщо не встановлена, 
+ то збірігатиметься останніх 2000 слів у $(HOME)/.sdcv_history.
+-..SH BUGS
++.SH BUGS
+ Звіти про помилки висилайте на адресу dushistov на mail крапка ru. 
+ Не забувайте включати слово "sdcv" десь у полі "Тема:".
+-..SH AUTHORS
++.SH AUTHORS
+ Эвгений А. Душистов, Hu Zheng
+-..SH SEE ALSO
++.SH SEE ALSO
+ stardict(1), http://sdcv.sourceforge.net/, http://stardict.sourceforge.net 
+--- a/doc/sdcv.1
++++ b/doc/sdcv.1
+@@ -55,7 +55,7 @@
+ 
+ Place, where sdcv expect to find dictionaries.
+ Instead of /usr/share/stardict/dic you can use everything
+-that you want, just set STARDICT_DATA_DIR enviroment variable.
++that you want, just set STARDICT_DATA_DIR environment variable.
+ For example, if you have dictionaries in /mnt/data/stardict-dicts/dic,
+ set STARDICT_DATA_DIR to /mnt/data/stardict-dicts.
+ .TP
+@@ -64,7 +64,7 @@
+ This file include last  $(SDCV_HISTSIZE) words, which you seek with sdcv. 
+ SDCV use this file only if it was compiled with readline library support.
+ 
+-.SH ENVIROMENT 
++.SH ENVIRONMENT 
+ Environment Variables Used By \fIsdcv\fR:
+ .TP 20
+ .B STARDICT_DATA_DIR
diff --git a/sdcv-sk.po.patch b/sdcv-sk.po.patch
new file mode 100644
index 0000000..f85590c
--- /dev/null
+++ b/sdcv-sk.po.patch
@@ -0,0 +1,133 @@
+Updates Slovak translation.
+http://sourceforge.net/tracker/index.php?func=detail&aid=2125956&group_id=122858&atid=694730
+--- a/po/sk.po
++++ b/po/sk.po
+@@ -1,21 +1,21 @@
+ # translation of sdcv.po to Slovak
+ # Copyright (C)
+ # Zdenko Podobný <zdpo at mailbox.sk>, 2004, 2005.
+-#
++# Ivan Masár <helix84 at centrum.sk>, 2007.
++
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: sdcv 0.3.2\n"
+ "Report-Msgid-Bugs-To: dushistov at mail.ru\n"
+ "POT-Creation-Date: 2008-09-24 10:54+0200\n"
+-"PO-Revision-Date: 2005-01-04 20:19+0100\n"
+-"Last-Translator: Zdenko Podobný <zdpo at mailbox.sk>\n"
+-"Language-Team: Slovak <<sk-i18n at lists.linux.sk>>\n"
++"PO-Revision-Date: 2007-09-11 00:22+0100\n"
++"Last-Translator: Ivan Masár <helix84 at centrum.sk>\n"
++"Language-Team: Slovak <sk-i18n at lists.linux.sk>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.9.1\n"
+-"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
++"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+ 
+ #: src/sdcv.cpp:127
+ #, c-format
+@@ -24,7 +24,7 @@
+ "Try '%s --help' for more information.\n"
+ msgstr ""
+ "Neznáma voľba.\n"
+-"Skúste `%s --help'.\n"
++"Skúste „%s --help“.\n"
+ 
+ #: src/sdcv.cpp:134
+ #, c-format
+@@ -43,15 +43,12 @@
+ 
+ #: src/sdcv.cpp:137
+ #, c-format
+-msgid ""
+-"-l, --list-dicts         display list of available dictionaries and exit\n"
+-msgstr ""
+-"-l, --list-dicts         zobrazí zoznam dostupných slovníkov a skončí\n"
++msgid "-l, --list-dicts         display list of available dictionaries and exit\n"
++msgstr "-l, --list-dicts         zobrazí zoznam dostupných slovníkov a skončí\n"
+ 
+ #: src/sdcv.cpp:138
+ #, c-format
+-msgid ""
+-"-u, --use-dict bookname  for search use only dictionary with this bookname\n"
++msgid "-u, --use-dict bookname  for search use only dictionary with this bookname\n"
+ msgstr "-u, --use-dict názov     použiť pre hľadanie iba zvolený slovník\n"
+ 
+ #: src/sdcv.cpp:139
+@@ -71,12 +68,8 @@
+ 
+ #: src/sdcv.cpp:142
+ #, c-format
+-msgid ""
+-"--data-dir path/to/dir   use this directory as path to stardict data "
+-"directory\n"
+-msgstr ""
+-"--data-dir path/to/dir   použiť tento priečinok ako cestu pre stardict "
+-"dátový priečinok\n"
++msgid "--data-dir path/to/dir   use this directory as path to stardict data directory\n"
++msgstr "--data-dir path/to/dir   použiť tento priečinok ako cestu pre stardict dátový priečinok\n"
+ 
+ #: src/sdcv.cpp:148
+ #, c-format
+@@ -84,14 +77,14 @@
+ msgstr "Konzolová verzia StarDict, verzia %s\n"
+ 
+ #: src/sdcv.cpp:169
+-#, fuzzy, c-format
++#, c-format
+ msgid "Dictionary's name   Word count\n"
+-msgstr "názov     počet slov\n"
++msgstr "názov slovníka      počet slov\n"
+ 
+ #: src/sdcv.cpp:191
+ #, c-format
+ msgid "g_mkdir failed: %s\n"
+-msgstr ""
++msgstr "g_mkdir zlyhalo: %s\n"
+ 
+ #: src/sdcv.cpp:207
+ msgid "Enter word or phrase: "
+@@ -104,7 +97,7 @@
+ 
+ #: src/libwrapper.cpp:246
+ msgid "popen failed"
+-msgstr ""
++msgstr "popen zlyhalo"
+ 
+ #: src/libwrapper.cpp:283
+ #, c-format
+@@ -117,18 +110,18 @@
+ msgstr "Nájdené %d položiek, podobných %s,\n"
+ 
+ #: src/libwrapper.cpp:353
+-#, fuzzy, c-format
++#, c-format
+ msgid "Your choice[-1 to abort]: "
+-msgstr "Vaša voľba: "
++msgstr "Vaša voľba[-1 zruší]: "
+ 
+ #: src/libwrapper.cpp:367
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "Invalid choice.\n"
+ "It must be from 0 to %d or -1.\n"
+ msgstr ""
+ "Neplatná voľba.\n"
+-"Musí byť od 0 po %d.\n"
++"Musí byť od 0 do %d alebo -1.\n"
+ 
+ #: src/libwrapper.cpp:383
+ #, c-format
+@@ -137,6 +130,6 @@
+ 
+ #~ msgid "Can not convert %s to current locale.\n"
+ #~ msgstr "Nie je možné konvertovať %s na aktuálne locale.\n"
+-
+ #~ msgid "There is no dictionary with this bookname: %s.\n"
+ #~ msgstr "Neexistuje slovník s takýmto názvom: %s.\n"
++
diff --git a/sdcv-use-env-home.patch b/sdcv-use-env-home.patch
new file mode 100644
index 0000000..b897966
--- /dev/null
+++ b/sdcv-use-env-home.patch
@@ -0,0 +1,31 @@
+Use environment variable HOME to get home directory. g_get_home_dir does
+ignore it.
+Index: sdcv-0.4.2/src/sdcv.cpp
+===================================================================
+--- sdcv-0.4.2.orig/src/sdcv.cpp	2008-10-03 09:15:26.000000000 +0200
++++ sdcv-0.4.2/src/sdcv.cpp	2008-10-03 09:16:25.000000000 +0200
+@@ -157,11 +157,14 @@
+ 			data_dir="/usr/share/stardict/dic";
+ 	}
+ 
++	const char *homedir = g_getenv ("HOME");
++	if (!homedir)
++		homedir = g_get_home_dir ();
+ 
+ 
+ 	strlist_t dicts_dir_list;
+ 
+-	dicts_dir_list.push_back(std::string(g_get_home_dir())+G_DIR_SEPARATOR+
++	dicts_dir_list.push_back(std::string(homedir)+G_DIR_SEPARATOR+
+ 				 ".stardict"+G_DIR_SEPARATOR+"dic");
+ 	dicts_dir_list.push_back(data_dir);   
+ 
+@@ -186,7 +189,7 @@
+ 	}
+ 
+     
+-	string conf_dir = string(g_get_home_dir())+G_DIR_SEPARATOR+".stardict";
++	string conf_dir = string(homedir)+G_DIR_SEPARATOR+".stardict";
+ 	if (g_mkdir(conf_dir.c_str(), S_IRWXU)==-1 && errno!=EEXIST)
+ 		fprintf(stderr, _("g_mkdir failed: %s\n"), strerror(errno));
+ 
diff --git a/sdcv-zlib-return-value.patch b/sdcv-zlib-return-value.patch
new file mode 100644
index 0000000..5fdbf45
--- /dev/null
+++ b/sdcv-zlib-return-value.patch
@@ -0,0 +1,18 @@
+Zlib can return negative value, but gulong is unsigned, so it can not catch the error state.
+--- a/src/lib/lib.cpp
++++ b/src/lib/lib.cpp
+@@ -751,12 +751,12 @@
+ 		
+ 	idxdatabuf = (gchar *)g_malloc(fsize);
+ 		
+-	gulong len = gzread(in, idxdatabuf, fsize);
++	ssize_t len = gzread(in, idxdatabuf, fsize);
+ 	gzclose(in);
+ 	if (len < 0)
+ 		return false;
+ 
+-	if (len != fsize)
++	if (len != (ssize_t)fsize)
+ 		return false;
+ 
+   wordlist.resize(wc+1);
diff --git a/sdcv.spec b/sdcv.spec
new file mode 100644
index 0000000..947f3cd
--- /dev/null
+++ b/sdcv.spec
@@ -0,0 +1,78 @@
+Name:           sdcv
+Version:        0.4.2 
+Release:        4%{?dist}
+Summary:        Console version of StarDict program
+
+Group:          Applications/System
+License:        GPLv2+
+URL:            http://sdcv.sourceforge.net/
+Source0:        http://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{version}.tar.bz2
+Patch1:         %{name}-allignment.patch
+Patch2:         %{name}-c++.patch
+Patch3:         %{name}-cs.po.patch
+Patch5:         %{name}-fix-tests.patch
+Patch6:         %{name}-format.patch
+Patch7:         %{name}-gettext.patch
+Patch8:         %{name}-locales.patch
+Patch9:         %{name}-manpage.patch
+Patch10:        %{name}-sk.po.patch
+Patch11:        %{name}-use-env-home.patch
+Patch12:        %{name}-zlib-return-value.patch
+
+BuildRequires:  zlib-devel glib2-devel gettext-devel autoconf automake
+
+%description
+SDCV is simple, cross-platform text-base utility for work with
+dictionaries in StarDict's format.
+
+%description -l ru
+SDCV - простая, консольная утилита работы 
+со словарям в формате Starict
+
+%prep
+%setup -q
+%patch1 -p1 
+%patch2 -p1 
+%patch3 -p1 
+%patch5 -p1 
+%patch6 -p1 
+%patch7 -p1 
+%patch8 -p1 
+%patch9 -p1 
+%patch10 -p1 
+%patch11 -p1 
+%patch12 -p1 
+
+%build
+autopoint --force  
+autoreconf 
+%configure 
+make %{?_smp_mflags}
+
+
+%install
+make install DESTDIR=%{buildroot}
+%find_lang %{name}
+
+%files -f %{name}.lang
+%defattr(-,root,root,-)
+%doc README NEWS AUTHORS BUGS NEWS TODO
+%{_bindir}/%{name}
+%{_mandir}/man1/sdcv.1.gz
+%{_mandir}/uk/man1/sdcv.1.gz
+
+%changelog
+* Thu Jan 12 2011 Pavel Zhukov <pavel at zhukoff.net> - 0.4.2-4
+- fixed License tag
+
+* Wed Jan 12 2011 Pavel Zhukov <pavel at zhukoff.net> - 0.4.2-3
+- rename patchs for better legibity
+- fixed doc section 
+
+* Fri Dec 31 2010 Pavel Zhukov <pavel at zhukoff.net> - 0.4.2-2
+- some minor bugfixes and gettext patch
+
+* Thu Dec 30 2010 Pavel Zhukov <pavel at zhukoff.net> - 0.4.2-1
+- Initial package
+- version 0.4.2
+
diff --git a/sources b/sources
index e69de29..f75cfd1 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+f624662b333daa5da2d3e99cef519f17  sdcv-0.4.2.tar.bz2


More information about the scm-commits mailing list