Updated configure script
svn: r1170
This commit is contained in:
parent
9b2933bee0
commit
acab84a596
143
configure
vendored
143
configure
vendored
@ -1441,7 +1441,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE=gramps
|
PACKAGE=gramps
|
||||||
VERSION=0.9.0pre2
|
VERSION=0.9.0
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@ -1567,7 +1567,7 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
RELEASE=rc4
|
RELEASE=pre3
|
||||||
|
|
||||||
VERSIONSTRING=$VERSION
|
VERSIONSTRING=$VERSION
|
||||||
if test x"$RELEASE" != "x"
|
if test x"$RELEASE" != "x"
|
||||||
@ -3638,44 +3638,6 @@ GNOMEINC=`pkg-config --cflags gnome-vfs-module-2.0`
|
|||||||
GNOMELIB=`pkg-config --libs gnome-vfs-module-2.0`
|
GNOMELIB=`pkg-config --libs gnome-vfs-module-2.0`
|
||||||
|
|
||||||
|
|
||||||
echo "$as_me:$LINENO: checking Python bindings for sax/xml" >&5
|
|
||||||
echo $ECHO_N "checking Python bindings for sax/xml... $ECHO_C" >&6
|
|
||||||
|
|
||||||
cat > conftest.py <<EOF
|
|
||||||
try:
|
|
||||||
from xml.sax import make_parser, handler
|
|
||||||
f = open("conftest.out", "w")
|
|
||||||
f.write("YES")
|
|
||||||
f.close()
|
|
||||||
except ImportError:
|
|
||||||
|
|
||||||
try:
|
|
||||||
from _xmlplus.sax import make_parser, handler
|
|
||||||
f = open("conftest.out", "w")
|
|
||||||
f.write("YES")
|
|
||||||
f.close()
|
|
||||||
except ImportError:
|
|
||||||
f = open("conftest.out", "w")
|
|
||||||
f.write("NO")
|
|
||||||
f.close()
|
|
||||||
EOF
|
|
||||||
|
|
||||||
$PYTHON conftest.py
|
|
||||||
has_sax=`cat conftest.out`
|
|
||||||
rm -f conftest.out conftest.py
|
|
||||||
if test "YES" != $has_sax
|
|
||||||
then
|
|
||||||
{ { echo "$as_me:$LINENO: error:
|
|
||||||
|
|
||||||
**** The python interpreter can't find the SAX/XML bindings." >&5
|
|
||||||
echo "$as_me: error:
|
|
||||||
|
|
||||||
**** The python interpreter can't find the SAX/XML bindings." >&2;}
|
|
||||||
{ (exit 1); exit 1; }; }
|
|
||||||
fi
|
|
||||||
echo "$as_me:$LINENO: result: ok" >&5
|
|
||||||
echo "${ECHO_T}ok" >&6
|
|
||||||
|
|
||||||
echo "$as_me:$LINENO: checking Python bindings for gtk" >&5
|
echo "$as_me:$LINENO: checking Python bindings for gtk" >&5
|
||||||
echo $ECHO_N "checking Python bindings for gtk... $ECHO_C" >&6
|
echo $ECHO_N "checking Python bindings for gtk... $ECHO_C" >&6
|
||||||
|
|
||||||
@ -3698,10 +3660,10 @@ if test "YES" != $has_pygtk
|
|||||||
then
|
then
|
||||||
{ { echo "$as_me:$LINENO: error:
|
{ { echo "$as_me:$LINENO: error:
|
||||||
|
|
||||||
**** The python interpreter can't find the python bindings for gtk 2.0." >&5
|
**** The python bindings for gtk 2.0 (pygtk2) could not be found." >&5
|
||||||
echo "$as_me: error:
|
echo "$as_me: error:
|
||||||
|
|
||||||
**** The python interpreter can't find the python bindings for gtk 2.0." >&2;}
|
**** The python bindings for gtk 2.0 (pygtk2) could not be found." >&2;}
|
||||||
{ (exit 1); exit 1; }; }
|
{ (exit 1); exit 1; }; }
|
||||||
fi
|
fi
|
||||||
echo "$as_me:$LINENO: result: ok" >&5
|
echo "$as_me:$LINENO: result: ok" >&5
|
||||||
@ -3728,40 +3690,9 @@ rm -f conftest.out conftest.py
|
|||||||
if test "YES" != $has_pygnome
|
if test "YES" != $has_pygnome
|
||||||
then
|
then
|
||||||
{ { echo "$as_me:$LINENO: error:
|
{ { echo "$as_me:$LINENO: error:
|
||||||
**** The python interpreter can't find the python bindings for GNOME." >&5
|
**** The python bindings for GNOME 2.0 (gnome-python2) could not be found." >&5
|
||||||
echo "$as_me: error:
|
echo "$as_me: error:
|
||||||
**** The python interpreter can't find the python bindings for GNOME." >&2;}
|
**** The python bindings for GNOME 2.0 (gnome-python2) could not be found." >&2;}
|
||||||
{ (exit 1); exit 1; }; }
|
|
||||||
fi
|
|
||||||
echo "$as_me:$LINENO: result: ok" >&5
|
|
||||||
echo "${ECHO_T}ok" >&6
|
|
||||||
|
|
||||||
echo "$as_me:$LINENO: checking Python/libglade bindings" >&5
|
|
||||||
echo $ECHO_N "checking Python/libglade bindings... $ECHO_C" >&6
|
|
||||||
|
|
||||||
cat > conftest.py <<EOF
|
|
||||||
try:
|
|
||||||
import gtk.glade
|
|
||||||
f = open("conftest.out", "w")
|
|
||||||
f.write("YES")
|
|
||||||
f.close()
|
|
||||||
except ImportError:
|
|
||||||
f = open("conftest.out", "w")
|
|
||||||
f.write("NO")
|
|
||||||
f.close()
|
|
||||||
EOF
|
|
||||||
|
|
||||||
$PYTHON conftest.py
|
|
||||||
has_pygtk=`cat conftest.out`
|
|
||||||
rm -f conftest.out conftest.py
|
|
||||||
if test "YES" != $has_pygtk
|
|
||||||
then
|
|
||||||
{ { echo "$as_me:$LINENO: error:
|
|
||||||
|
|
||||||
**** The python interpreter can't find the python bindings for libglade." >&5
|
|
||||||
echo "$as_me: error:
|
|
||||||
|
|
||||||
**** The python interpreter can't find the python bindings for libglade." >&2;}
|
|
||||||
{ (exit 1); exit 1; }; }
|
{ (exit 1); exit 1; }; }
|
||||||
fi
|
fi
|
||||||
echo "$as_me:$LINENO: result: ok" >&5
|
echo "$as_me:$LINENO: result: ok" >&5
|
||||||
@ -3788,11 +3719,69 @@ rm -f conftest.out conftest.py
|
|||||||
if test "YES" != $has_gconf
|
if test "YES" != $has_gconf
|
||||||
then
|
then
|
||||||
{ { echo "$as_me:$LINENO: error:
|
{ { echo "$as_me:$LINENO: error:
|
||||||
|
**** The python bindings for gconf (gnome-python2-gconf) could not be found." >&5
|
||||||
|
echo "$as_me: error:
|
||||||
|
**** The python bindings for gconf (gnome-python2-gconf) could not be found." >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: result: ok" >&5
|
||||||
|
echo "${ECHO_T}ok" >&6
|
||||||
|
|
||||||
**** The python interpreter can't find the python bindings for gconf." >&5
|
echo "$as_me:$LINENO: checking Python bindings for GNOME canvas" >&5
|
||||||
|
echo $ECHO_N "checking Python bindings for GNOME canvas... $ECHO_C" >&6
|
||||||
|
|
||||||
|
cat > conftest.py <<EOF
|
||||||
|
try:
|
||||||
|
import gnome.canvas
|
||||||
|
f = open("conftest.out", "w")
|
||||||
|
f.write("YES")
|
||||||
|
f.close()
|
||||||
|
except ImportError:
|
||||||
|
f = open("conftest.out", "w")
|
||||||
|
f.write("NO")
|
||||||
|
f.close()
|
||||||
|
EOF
|
||||||
|
|
||||||
|
$PYTHON conftest.py
|
||||||
|
has_canvas=`cat conftest.out`
|
||||||
|
rm -f conftest.out conftest.py
|
||||||
|
if test "YES" != $has_canvas
|
||||||
|
then
|
||||||
|
{ { echo "$as_me:$LINENO: error:
|
||||||
|
**** The python bindings for GNOME canvas (gnome-python2-canvas) could not be found." >&5
|
||||||
|
echo "$as_me: error:
|
||||||
|
**** The python bindings for GNOME canvas (gnome-python2-canvas) could not be found." >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: result: ok" >&5
|
||||||
|
echo "${ECHO_T}ok" >&6
|
||||||
|
|
||||||
|
echo "$as_me:$LINENO: checking Python bindin for glade" >&5
|
||||||
|
echo $ECHO_N "checking Python bindin for glade... $ECHO_C" >&6
|
||||||
|
|
||||||
|
cat > conftest.py <<EOF
|
||||||
|
try:
|
||||||
|
import gtk.glade
|
||||||
|
f = open("conftest.out", "w")
|
||||||
|
f.write("YES")
|
||||||
|
f.close()
|
||||||
|
except ImportError:
|
||||||
|
f = open("conftest.out", "w")
|
||||||
|
f.write("NO")
|
||||||
|
f.close()
|
||||||
|
EOF
|
||||||
|
|
||||||
|
$PYTHON conftest.py
|
||||||
|
has_pygtk=`cat conftest.out`
|
||||||
|
rm -f conftest.out conftest.py
|
||||||
|
if test "YES" != $has_pygtk
|
||||||
|
then
|
||||||
|
{ { echo "$as_me:$LINENO: error:
|
||||||
|
|
||||||
|
**** The python bindings for glade (pytgk2-libglade) could not be found." >&5
|
||||||
echo "$as_me: error:
|
echo "$as_me: error:
|
||||||
|
|
||||||
**** The python interpreter can't find the python bindings for gconf." >&2;}
|
**** The python bindings for glade (pytgk2-libglade) could not be found." >&2;}
|
||||||
{ (exit 1); exit 1; }; }
|
{ (exit 1); exit 1; }; }
|
||||||
fi
|
fi
|
||||||
echo "$as_me:$LINENO: result: ok" >&5
|
echo "$as_me:$LINENO: result: ok" >&5
|
||||||
|
117
configure.in
117
configure.in
@ -1,8 +1,8 @@
|
|||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
dnl May need to run automake && aclocal first
|
dnl May need to run automake && aclocal first
|
||||||
AC_INIT(src/gramps.py)
|
AC_INIT(src/gramps.py)
|
||||||
AM_INIT_AUTOMAKE(gramps, 0.9.0pre2)
|
AM_INIT_AUTOMAKE(gramps, 0.9.0)
|
||||||
RELEASE=rc4
|
RELEASE=pre3
|
||||||
|
|
||||||
VERSIONSTRING=$VERSION
|
VERSIONSTRING=$VERSION
|
||||||
if test x"$RELEASE" != "x"
|
if test x"$RELEASE" != "x"
|
||||||
@ -32,7 +32,7 @@ AC_SUBST(POFILES)
|
|||||||
AC_SUBST(MOFILES)
|
AC_SUBST(MOFILES)
|
||||||
|
|
||||||
dnl Checks for programs.
|
dnl Checks for programs.
|
||||||
dnl We first only check for python >= 1.5
|
dnl We first only check for python >= 2.2
|
||||||
AM_PATH_PYTHON(2.2)
|
AM_PATH_PYTHON(2.2)
|
||||||
|
|
||||||
dnl override automatic python detection with our own place
|
dnl override automatic python detection with our own place
|
||||||
@ -78,38 +78,6 @@ GNOMELIB=`pkg-config --libs gnome-vfs-module-2.0`
|
|||||||
|
|
||||||
dnl Check if python bindings for gtk are installed
|
dnl Check if python bindings for gtk are installed
|
||||||
|
|
||||||
AC_MSG_CHECKING(Python bindings for sax/xml)
|
|
||||||
changequote(,)
|
|
||||||
cat > conftest.py <<EOF
|
|
||||||
try:
|
|
||||||
from xml.sax import make_parser, handler
|
|
||||||
f = open("conftest.out", "w")
|
|
||||||
f.write("YES")
|
|
||||||
f.close()
|
|
||||||
except ImportError:
|
|
||||||
|
|
||||||
try:
|
|
||||||
from _xmlplus.sax import make_parser, handler
|
|
||||||
f = open("conftest.out", "w")
|
|
||||||
f.write("YES")
|
|
||||||
f.close()
|
|
||||||
except ImportError:
|
|
||||||
f = open("conftest.out", "w")
|
|
||||||
f.write("NO")
|
|
||||||
f.close()
|
|
||||||
EOF
|
|
||||||
changequote([, ])
|
|
||||||
$PYTHON conftest.py
|
|
||||||
has_sax=`cat conftest.out`
|
|
||||||
rm -f conftest.out conftest.py
|
|
||||||
if test "YES" != $has_sax
|
|
||||||
then
|
|
||||||
AC_MSG_ERROR([
|
|
||||||
|
|
||||||
**** The python interpreter can't find the SAX/XML bindings.])
|
|
||||||
fi
|
|
||||||
AC_MSG_RESULT(ok)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(Python bindings for gtk)
|
AC_MSG_CHECKING(Python bindings for gtk)
|
||||||
changequote(,)
|
changequote(,)
|
||||||
cat > conftest.py <<EOF
|
cat > conftest.py <<EOF
|
||||||
@ -131,7 +99,7 @@ if test "YES" != $has_pygtk
|
|||||||
then
|
then
|
||||||
AC_MSG_ERROR([
|
AC_MSG_ERROR([
|
||||||
|
|
||||||
**** The python interpreter can't find the python bindings for gtk 2.0.])
|
**** The python bindings for gtk 2.0 (pygtk2) could not be found.])
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT(ok)
|
AC_MSG_RESULT(ok)
|
||||||
|
|
||||||
@ -155,32 +123,7 @@ rm -f conftest.out conftest.py
|
|||||||
if test "YES" != $has_pygnome
|
if test "YES" != $has_pygnome
|
||||||
then
|
then
|
||||||
AC_MSG_ERROR([
|
AC_MSG_ERROR([
|
||||||
**** The python interpreter can't find the python bindings for GNOME.])
|
**** The python bindings for GNOME 2.0 (gnome-python2) could not be found.])
|
||||||
fi
|
|
||||||
AC_MSG_RESULT(ok)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(Python/libglade bindings)
|
|
||||||
changequote(,)
|
|
||||||
cat > conftest.py <<EOF
|
|
||||||
try:
|
|
||||||
import gtk.glade
|
|
||||||
f = open("conftest.out", "w")
|
|
||||||
f.write("YES")
|
|
||||||
f.close()
|
|
||||||
except ImportError:
|
|
||||||
f = open("conftest.out", "w")
|
|
||||||
f.write("NO")
|
|
||||||
f.close()
|
|
||||||
EOF
|
|
||||||
changequote([, ])
|
|
||||||
$PYTHON conftest.py
|
|
||||||
has_pygtk=`cat conftest.out`
|
|
||||||
rm -f conftest.out conftest.py
|
|
||||||
if test "YES" != $has_pygtk
|
|
||||||
then
|
|
||||||
AC_MSG_ERROR([
|
|
||||||
|
|
||||||
**** The python interpreter can't find the python bindings for libglade.])
|
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT(ok)
|
AC_MSG_RESULT(ok)
|
||||||
|
|
||||||
@ -204,8 +147,56 @@ rm -f conftest.out conftest.py
|
|||||||
if test "YES" != $has_gconf
|
if test "YES" != $has_gconf
|
||||||
then
|
then
|
||||||
AC_MSG_ERROR([
|
AC_MSG_ERROR([
|
||||||
|
**** The python bindings for gconf (gnome-python2-gconf) could not be found.])
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT(ok)
|
||||||
|
|
||||||
**** The python interpreter can't find the python bindings for gconf.])
|
AC_MSG_CHECKING(Python bindings for GNOME canvas)
|
||||||
|
changequote(,)
|
||||||
|
cat > conftest.py <<EOF
|
||||||
|
try:
|
||||||
|
import gnome.canvas
|
||||||
|
f = open("conftest.out", "w")
|
||||||
|
f.write("YES")
|
||||||
|
f.close()
|
||||||
|
except ImportError:
|
||||||
|
f = open("conftest.out", "w")
|
||||||
|
f.write("NO")
|
||||||
|
f.close()
|
||||||
|
EOF
|
||||||
|
changequote([, ])
|
||||||
|
$PYTHON conftest.py
|
||||||
|
has_canvas=`cat conftest.out`
|
||||||
|
rm -f conftest.out conftest.py
|
||||||
|
if test "YES" != $has_canvas
|
||||||
|
then
|
||||||
|
AC_MSG_ERROR([
|
||||||
|
**** The python bindings for GNOME canvas (gnome-python2-canvas) could not be found.])
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT(ok)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(Python bindin for glade)
|
||||||
|
changequote(,)
|
||||||
|
cat > conftest.py <<EOF
|
||||||
|
try:
|
||||||
|
import gtk.glade
|
||||||
|
f = open("conftest.out", "w")
|
||||||
|
f.write("YES")
|
||||||
|
f.close()
|
||||||
|
except ImportError:
|
||||||
|
f = open("conftest.out", "w")
|
||||||
|
f.write("NO")
|
||||||
|
f.close()
|
||||||
|
EOF
|
||||||
|
changequote([, ])
|
||||||
|
$PYTHON conftest.py
|
||||||
|
has_pygtk=`cat conftest.out`
|
||||||
|
rm -f conftest.out conftest.py
|
||||||
|
if test "YES" != $has_pygtk
|
||||||
|
then
|
||||||
|
AC_MSG_ERROR([
|
||||||
|
|
||||||
|
**** The python bindings for glade (pytgk2-libglade) could not be found.])
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT(ok)
|
AC_MSG_RESULT(ok)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
%define ver 0.9.0pre2
|
%define ver 0.9.0
|
||||||
%define rel rc4
|
%define rel pre3
|
||||||
%define prefix /usr
|
%define prefix /usr
|
||||||
|
|
||||||
Summary: Genealogical Research and Analysis Management Programming System.
|
Summary: Genealogical Research and Analysis Management Programming System.
|
||||||
|
@ -227,7 +227,6 @@ class Gallery(ImageSelect):
|
|||||||
self.root = self.iconlist.root()
|
self.root = self.iconlist.root()
|
||||||
|
|
||||||
# Local object variables
|
# Local object variables
|
||||||
self.selectedIcon = -1
|
|
||||||
self.x = 0
|
self.x = 0
|
||||||
self.y = 0
|
self.y = 0
|
||||||
self.remember_x = -1
|
self.remember_x = -1
|
||||||
@ -283,10 +282,8 @@ class Gallery(ImageSelect):
|
|||||||
elif event.type == gtk.gdk.BUTTON_RELEASE:
|
elif event.type == gtk.gdk.BUTTON_RELEASE:
|
||||||
self.button = 0
|
self.button = 0
|
||||||
elif event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1:
|
elif event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1:
|
||||||
#Change the item's color.
|
|
||||||
LocalMediaProperties(photo,self.path,self)
|
LocalMediaProperties(photo,self.path,self)
|
||||||
return gtk.TRUE
|
return gtk.TRUE
|
||||||
|
|
||||||
elif event.type == gtk.gdk.MOTION_NOTIFY:
|
elif event.type == gtk.gdk.MOTION_NOTIFY:
|
||||||
if event.state & gtk.gdk.BUTTON1_MASK:
|
if event.state & gtk.gdk.BUTTON1_MASK:
|
||||||
# Get the new position and move by the difference
|
# Get the new position and move by the difference
|
||||||
@ -396,10 +393,6 @@ class Gallery(ImageSelect):
|
|||||||
else:
|
else:
|
||||||
self.iconlist.set_scroll_region(0,0,self.x,self.y)
|
self.iconlist.set_scroll_region(0,0,self.x,self.y)
|
||||||
|
|
||||||
def on_photo_select_icon(self, obj,iconNumber,event):
|
|
||||||
"""User clicked on a photo. Remember which one."""
|
|
||||||
self.selectedIcon = iconNumber
|
|
||||||
|
|
||||||
def get_index(self,obj,x,y):
|
def get_index(self,obj,x,y):
|
||||||
x_offset = x/(_IMAGEX+_PAD)
|
x_offset = x/(_IMAGEX+_PAD)
|
||||||
y_offset = y/(_IMAGEY+_PAD)
|
y_offset = y/(_IMAGEY+_PAD)
|
||||||
@ -556,7 +549,7 @@ class Gallery(ImageSelect):
|
|||||||
|
|
||||||
def popup_edit_photo(self, obj):
|
def popup_edit_photo(self, obj):
|
||||||
"""Open this picture in a picture editor"""
|
"""Open this picture in a picture editor"""
|
||||||
photo = self.dataobj.getPhotoList()[self.selectedIcon]
|
photo = obj.get_data('o')
|
||||||
if os.fork() == 0:
|
if os.fork() == 0:
|
||||||
os.execvp(const.editor,[const.editor,
|
os.execvp(const.editor,[const.editor,
|
||||||
photo.getReference().getPath()])
|
photo.getReference().getPath()])
|
||||||
@ -564,7 +557,7 @@ class Gallery(ImageSelect):
|
|||||||
def popup_convert_to_private(self, obj):
|
def popup_convert_to_private(self, obj):
|
||||||
"""Copy this picture into gramps private database instead of
|
"""Copy this picture into gramps private database instead of
|
||||||
leaving it as an external data object."""
|
leaving it as an external data object."""
|
||||||
photo = self.dataobj.getPhotoList()[self.selectedIcon]
|
photo = obj.get_data('o')
|
||||||
object = photo.getReference()
|
object = photo.getReference()
|
||||||
name = RelImage.import_media_object(object.getPath(),self.path,
|
name = RelImage.import_media_object(object.getPath(),self.path,
|
||||||
object.getId())
|
object.getId())
|
||||||
@ -574,9 +567,8 @@ class Gallery(ImageSelect):
|
|||||||
def popup_change_description(self, obj):
|
def popup_change_description(self, obj):
|
||||||
"""Bring up a window allowing the user to edit the description
|
"""Bring up a window allowing the user to edit the description
|
||||||
of a picture."""
|
of a picture."""
|
||||||
if self.selectedIcon >=0:
|
photo = obj.get_data('o')
|
||||||
photo = self.dataobj.getPhotoList()[self.selectedIcon]
|
LocalMediaProperties(photo,self.path,self)
|
||||||
LocalMediaProperties(photo,self.path,self)
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
|
@ -96,7 +96,7 @@ startup = 1
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
progName = "GRAMPS"
|
progName = "GRAMPS"
|
||||||
version = "0.9.0pre2-rc4"
|
version = "0.9.0-pre3"
|
||||||
copyright = "© 2001-2002 Donald N. Allingham"
|
copyright = "© 2001-2002 Donald N. Allingham"
|
||||||
authors = ["Donald N. Allingham", "David Hampton","Donald A. Peterson"]
|
authors = ["Donald N. Allingham", "David Hampton","Donald A. Peterson"]
|
||||||
comments = _("GRAMPS (Genealogical Research and Analysis "
|
comments = _("GRAMPS (Genealogical Research and Analysis "
|
||||||
|
Loading…
Reference in New Issue
Block a user