aboutsummaryrefslogtreecommitdiffstats
path: root/databases/glom
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2007-10-25 07:37:25 +0800
committermarcus <marcus@FreeBSD.org>2007-10-25 07:37:25 +0800
commit43bd9f14d9ce11690e9538bf3b03d3462faa6dbe (patch)
treeda347910089a96d6d726b8bb080f62c773263828 /databases/glom
parent2e669ed08a56339ee1a8b2a0573a30147f95bd82 (diff)
downloadfreebsd-ports-gnome-43bd9f14d9ce11690e9538bf3b03d3462faa6dbe.tar.gz
freebsd-ports-gnome-43bd9f14d9ce11690e9538bf3b03d3462faa6dbe.tar.zst
freebsd-ports-gnome-43bd9f14d9ce11690e9538bf3b03d3462faa6dbe.zip
Presenting GNOME 2.20.1 and all related works for FreeBSD. The official
GNOME 2.20 release notes can be found at http://www.gnome.org/start/2.20/notes/en/ . Beyond that, this update includes the new GIMP 2.4 (courtesy of ahze). The GNOME 2.20 update also includes a huge change in the FreeBSD GNOME hierarchy. We are now using the more standard DATADIR of ${PREFIX}/share rather than ${PREFIX}/share/gnome. The result is that fewer patches and hacks are needed to port GNOME components to FreeBSD. This will mean some user changes may be required, so be sure to read /usr/ports/UPDATING for more details. This release and the things we accomplished in it would not have been possible without mezz's crazy idea to collapse DATADIR, and his persistence to make it happen successfully. Ahze and pav also deserve thanks for their work on porting modules and testing the whole ball of wax on pointyhat (respectively). The FreeBSD GNOME team would also like to thank our various testers and contributors: Yasuda Keisuke Frank Jahnke Pawel Worach Brian Gruber Franz Klammer Yuri Pankov Nick Barkas Cristian KLEIN Tony Maher Scot Hetzel Martin Matuska (mm) Benoit Dejean Martin Wilke (miwi) (And anyone else I may have missed) PRs fixed in this release: 111272, 113470, 115995, 116338
Diffstat (limited to 'databases/glom')
-rw-r--r--databases/glom/Makefile7
-rw-r--r--databases/glom/files/patch-glom-libglom-python_embed-py_glom_record.cc153
-rw-r--r--databases/glom/files/patch-glom-libglom-python_embed-py_glom_related.cc170
-rw-r--r--databases/glom/files/patch-glom-libglom-python_embed-py_glom_relatedrecord.cc153
-rw-r--r--databases/glom/pkg-plist27
5 files changed, 26 insertions, 484 deletions
diff --git a/databases/glom/Makefile b/databases/glom/Makefile
index 1bd65f448c4a..c779613fae5c 100644
--- a/databases/glom/Makefile
+++ b/databases/glom/Makefile
@@ -3,12 +3,12 @@
# Whom: Adam Weinberger <adamw@FreeBSD.org>
#
# $FreeBSD$
-# $MCom: ports/databases/glom/Makefile,v 1.9 2006/09/05 03:44:45 mezz Exp $
+# $MCom: ports/databases/glom/Makefile,v 1.11 2007/07/23 19:45:47 mezz Exp $
#
PORTNAME= glom
PORTVERSION= 1.0.4
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= databases gnome
MASTER_SITES= ${MASTER_SITE_GNOME}
MASTER_SITE_SUBDIR= sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
@@ -36,7 +36,8 @@ CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include" \
INSTALLS_ICONS= yes
post-patch:
- @${REINPLACE_CMD} -e 's|-update-mime-database|true|g' ${WRKSRC}/Makefile.in
+ @${REINPLACE_CMD} -e 's|-update-mime-database|true|g' \
+ ${WRKSRC}/Makefile.in
post-install:
@-update-mime-database ${PREFIX}/share/mime
diff --git a/databases/glom/files/patch-glom-libglom-python_embed-py_glom_record.cc b/databases/glom/files/patch-glom-libglom-python_embed-py_glom_record.cc
index 24ce492ec3a0..a83ec8738c29 100644
--- a/databases/glom/files/patch-glom-libglom-python_embed-py_glom_record.cc
+++ b/databases/glom/files/patch-glom-libglom-python_embed-py_glom_record.cc
@@ -1,157 +1,20 @@
---- glom/libglom/python_embed/py_glom_record.cc.orig 2006-04-28 03:12:31.000000000 -0500
-+++ glom/libglom/python_embed/py_glom_record.cc 2007-09-05 00:21:02.305894450 -0500
-@@ -50,51 +50,57 @@
+--- glom/libglom/python_embed/py_glom_record.cc.orig Sun Jul 15 13:34:18 2007
++++ glom/libglom/python_embed/py_glom_record.cc Sun Jul 15 13:34:44 2007
+@@ -122,7 +122,7 @@
- //Set the object's member data, from the parameters supplied when creating the object:
- static int
--Record_init(PyGlomRecord *self, PyObject * /* args */, PyObject * /* kwds */)
-+Record_init(PyObject *self, PyObject * /* args */, PyObject * /* kwds */)
- {
-+ PyGlomRecord *self_record = (PyGlomRecord*)self;
-+
- //static char *kwlist[] = {"test", NULL};
-
- //if(!PyArg_ParseTupleAndKeywords(args, kwds, "|i", kwlist,
- // &self->m_test))
- // return -1;
-
-- if(self)
-+ if(self_record)
- {
-- self->m_related = 0;
-+ self_record->m_related = 0;
-
-- if(self->m_pMap_field_values == 0)
-- self->m_pMap_field_values = new PyGlomRecord::type_map_field_values();
-+ if(self_record->m_pMap_field_values == 0)
-+ self_record->m_pMap_field_values = new PyGlomRecord::type_map_field_values();
- }
-
- return 0;
- }
-
- static void
--Record_dealloc(PyGlomRecord* self)
-+Record_dealloc(PyObject* self)
- {
-- if(self->m_pMap_field_values)
-+ PyGlomRecord *self_record = (PyGlomRecord*)self;
-+
-+ if(self_record->m_pMap_field_values)
- {
-- delete self->m_pMap_field_values;
-- self->m_pMap_field_values = 0;
-+ delete self_record->m_pMap_field_values;
-+ self_record->m_pMap_field_values = 0;
- }
-
-- self->ob_type->tp_free((PyObject*)self);
-+ self_record->ob_type->tp_free((PyObject*)self);
- }
-
-
- static PyObject *
--Record__get_related(PyGlomRecord* self, void* /* closure */)
-+Record__get_related(PyObject* self, void* /* closure */)
- {
-+ PyGlomRecord *self_record = (PyGlomRecord*)self;
-+
- //We initialize it here, so that this work never happens if it's not needed:
-- if(!(self->m_related))
-+ if(!(self_record->m_related))
- {
- //Return a new RelatedRecord:
- PyObject* new_args = PyTuple_New(0);
-- self->m_related = (PyGlomRelated*)PyObject_Call((PyObject*)PyGlomRelated_GetPyType(), new_args, 0);
-+ self_record->m_related = (PyGlomRelated*)PyObject_Call((PyObject*)PyGlomRelated_GetPyType(), new_args, 0);
- Py_DECREF(new_args);
-
- //Fill it:
-- Document_Glom::type_vecRelationships vecRelationships = self->m_document->get_relationships(*(self->m_table_name));
-+ Document_Glom::type_vecRelationships vecRelationships = self_record->m_document->get_relationships(*(self_record->m_table_name));
- PyGlomRelated::type_map_relationships map_relationships;
- for(Document_Glom::type_vecRelationships::const_iterator iter = vecRelationships.begin(); iter != vecRelationships.end(); ++iter)
- {
-@@ -102,14 +108,14 @@
- map_relationships[(*iter)->get_name()] = *iter;
- }
-- PyGlomRelated_SetRelationships(self->m_related, map_relationships);
-+ PyGlomRelated_SetRelationships(self_record->m_related, map_relationships);
-- self->m_related->m_record = self;
-- Py_XINCREF(self); //unreffed in the self->m_related's _dealloc. //TODO: Is this a circular reference?
-+ self_record->m_related->m_record = self_record;
-+ Py_XINCREF(self_record); //unreffed in the self->m_related's _dealloc. //TODO: Is this a circular reference?
- }
-
-- Py_INCREF(self->m_related); //Should we do this?
-- return (PyObject*)self->m_related;
-+ Py_INCREF(self_record->m_related); //Should we do this?
-+ return (PyObject*)self_record->m_related;
- }
-
-
-@@ -122,31 +128,44 @@
-
-
-
-+//Adapt to API changes in Python 2.5:
-+#if defined(PY_VERSION_HEX) && (PY_VERSION_HEX >= 0x02050000) /* Python 2.5+ */
+-static int
+static Py_ssize_t
-+Record_tp_as_mapping_length(PyObject *self)
-+{
-+ PyGlomRecord *self_record = (PyGlomRecord*)self;
-+ return self_record->m_pMap_field_values->size();
-+}
-+#else
- static int
--Record_tp_as_mapping_length(PyGlomRecord *self)
-+Record_tp_as_mapping_length(PyObject *self)
+ Record_tp_as_mapping_length(PyGlomRecord *self)
{
-- return self->m_pMap_field_values->size();
-+ PyGlomRecord *self_record = (PyGlomRecord*)self;
-+ return (int)(self->m_pMap_field_values->size());
- }
-+#endif
-
- static PyObject *
--Record_tp_as_mapping_getitem(PyGlomRecord *self, PyObject *item)
-+Record_tp_as_mapping_getitem(PyObject *self, PyObject *item)
- {
-+ PyGlomRecord *self_record = (PyGlomRecord*)self;
-+
- if(PyString_Check(item))
- {
- const char* pchKey = PyString_AsString(item);
- if(pchKey)
- {
- const Glib::ustring key(pchKey);
-- if(self && self->m_pMap_field_values)
-+ if(self_record && self_record->m_pMap_field_values)
- {
-- PyGlomRecord::type_map_field_values::const_iterator iterFind = self->m_pMap_field_values->find(key);
-- if(iterFind != self->m_pMap_field_values->end())
-+ PyGlomRecord::type_map_field_values::const_iterator iterFind = self_record->m_pMap_field_values->find(key);
-+ if(iterFind != self_record->m_pMap_field_values->end())
- {
- return pygda_value_as_pyobject(iterFind->second.gobj(), true /* copy */);
+ return self->m_pMap_field_values->size();
+@@ -146,7 +146,7 @@
}
else
{
- g_warning("Record_tp_as_mapping_getitem(): item not found in m_pMap_field_values. size=%d, item=%s", self->m_pMap_field_values->size(), pchKey);
-+ g_warning("Record_tp_as_mapping_getitem(): item not found in m_pMap_field_values. size=%d, item=%s", (int)self_record->m_pMap_field_values->size(), pchKey);
++ g_warning("Record_tp_as_mapping_getitem(): item not found in m_pMap_field_values. size=%d, item=%s", (int)self->m_pMap_field_values->size(), pchKey);
}
}
else
-@@ -180,8 +199,8 @@
- */
-
- static PyMappingMethods Record_tp_as_mapping = {
-- (inquiry)Record_tp_as_mapping_length,
-- (binaryfunc)Record_tp_as_mapping_getitem,
-+ Record_tp_as_mapping_length,
-+ Record_tp_as_mapping_getitem,
- (objobjargproc)0 /* Record_tp_as_mapping_setitem */
- };
-
diff --git a/databases/glom/files/patch-glom-libglom-python_embed-py_glom_related.cc b/databases/glom/files/patch-glom-libglom-python_embed-py_glom_related.cc
deleted file mode 100644
index 206b2133b49e..000000000000
--- a/databases/glom/files/patch-glom-libglom-python_embed-py_glom_related.cc
+++ /dev/null
@@ -1,170 +0,0 @@
---- glom/libglom/python_embed/py_glom_related.cc.orig 2006-05-20 06:35:32.000000000 -0500
-+++ glom/libglom/python_embed/py_glom_related.cc 2007-09-05 00:42:52.657306150 -0500
-@@ -52,62 +52,79 @@
-
- //Set the object's member data, from the parameters supplied when creating the object:
- static int
--Related_init(PyGlomRelated *self, PyObject* /* args */, PyObject* /* kwds */)
-+Related_init(PyObject *self, PyObject* /* args */, PyObject* /* kwds */)
- {
-- if(self)
-+ PyGlomRelated *self_related = (PyGlomRelated*)self;
-+
-+ if(self_related)
- {
-- self->m_record = 0;
-+ self_related->m_record = 0;
-
-- if(self->m_pMap_relationships == 0)
-- self->m_pMap_relationships = new PyGlomRelated::type_map_relationships();
-+ if(self_related->m_pMap_relationships == 0)
-+ self_related->m_pMap_relationships = new PyGlomRelated::type_map_relationships();
-
-- if(self->m_pMap_relatedrecords == 0)
-- self->m_pMap_relatedrecords = new PyGlomRelated::type_map_relatedrecords();
-+ if(self_related->m_pMap_relatedrecords == 0)
-+ self_related->m_pMap_relatedrecords = new PyGlomRelated::type_map_relatedrecords();
- }
-
- return 0;
- }
-
- static void
--Related_dealloc(PyGlomRelated* self)
-+Related_dealloc(PyObject* self)
- {
-- if(self->m_pMap_relationships)
-+ PyGlomRelated *self_related = (PyGlomRelated*)self;
-+
-+ if(self_related->m_pMap_relationships)
- {
-- delete self->m_pMap_relationships;
-- self->m_pMap_relationships = 0;
-+ delete self_related->m_pMap_relationships;
-+ self_related->m_pMap_relationships = 0;
- }
-
-- if(self->m_record)
-+ if(self_related->m_record)
- {
-- Py_XDECREF( (PyObject*)self->m_record );
-- self->m_record = 0;
-+ Py_XDECREF( (PyObject*)self_related->m_record );
-+ self_related->m_record = 0;
- }
-
-- if(self->m_pMap_relatedrecords)
-+ if(self_related->m_pMap_relatedrecords)
- {
- //Unref each item:
-- for(PyGlomRelated::type_map_relatedrecords::iterator iter = self->m_pMap_relatedrecords->begin(); iter != self->m_pMap_relatedrecords->end(); ++iter)
-+ for(PyGlomRelated::type_map_relatedrecords::iterator iter = self_related->m_pMap_relatedrecords->begin(); iter != self_related->m_pMap_relatedrecords->end(); ++iter)
- {
- Py_XDECREF( (PyObject*)(iter->second) );
- }
-
-- delete self->m_pMap_relatedrecords;
-- self->m_pMap_relatedrecords = 0;
-+ delete self_related->m_pMap_relatedrecords;
-+ self_related->m_pMap_relatedrecords = 0;
- }
-
-- self->ob_type->tp_free((PyObject*)self);
-+ self_related->ob_type->tp_free((PyObject*)self);
- }
-
-
-+//Adapt to API changes in Python 2.5:
-+#if defined(PY_VERSION_HEX) && (PY_VERSION_HEX >= 0x02050000) /* Python 2.5 */
-+static Py_ssize_t
-+Related_tp_as_mapping_length(PyObject *self)
-+{
-+ PyGlomRelated *self_related = (PyGlomRelated*)self;
-+ return self_related->m_pMap_relationships->size();
-+}
-+#else
- static int
--Related_tp_as_mapping_length(PyGlomRelated *self)
-+Related_tp_as_mapping_length(PyObject *self)
- {
-- return self->m_pMap_relationships->size();
-+ PyGlomRelated *self_related = (PyGlomRelated*)self;
-+ return self_related->m_pMap_relationships->size();
- }
-+#endif
-
- static PyObject *
--Related_tp_as_mapping_getitem(PyGlomRelated *self, PyObject *item)
-+Related_tp_as_mapping_getitem(PyObject *self, PyObject *item)
- {
-+ PyGlomRelated *self_related = (PyGlomRelated*)self;
-+
- if(PyString_Check(item))
- {
- const char* pchKey = PyString_AsString(item);
-@@ -116,8 +133,8 @@
- const Glib::ustring key(pchKey);
-
- //Return a cached item if possible:
-- PyGlomRelated::type_map_relatedrecords::iterator iterCacheFind = self->m_pMap_relatedrecords->find(key);
-- if(iterCacheFind != self->m_pMap_relatedrecords->end())
-+ PyGlomRelated::type_map_relatedrecords::iterator iterCacheFind = self_related->m_pMap_relatedrecords->find(key);
-+ if(iterCacheFind != self_related->m_pMap_relatedrecords->end())
- {
- //Return a reference to the cached item:
- PyGlomRelatedRecord* pyRelatedRecord = iterCacheFind->second;
-@@ -127,8 +144,8 @@
- else
- {
- //If the relationship exists:
-- PyGlomRelated::type_map_relationships::const_iterator iterFind = self->m_pMap_relationships->find(key);
-- if(iterFind != self->m_pMap_relationships->end())
-+ PyGlomRelated::type_map_relationships::const_iterator iterFind = self_related->m_pMap_relationships->find(key);
-+ if(iterFind != self_related->m_pMap_relationships->end())
- {
- //Return a new RelatedRecord:
- PyObject* new_args = PyTuple_New(0);
-@@ -140,15 +157,15 @@
- //Get the value of the from_key in the parent record.
- sharedptr<Relationship> relationship = iterFind->second;
- const Glib::ustring from_key = relationship->get_from_field();
-- PyGlomRecord::type_map_field_values::const_iterator iterFromKey = self->m_record->m_pMap_field_values->find(from_key);
-- if(iterFromKey != self->m_record->m_pMap_field_values->end())
-+ PyGlomRecord::type_map_field_values::const_iterator iterFromKey = self_related->m_record->m_pMap_field_values->find(from_key);
-+ if(iterFromKey != self_related->m_record->m_pMap_field_values->end())
- {
- const Gnome::Gda::Value from_key_value = iterFromKey->second;
-
- //TODO_Performance:
- //Get the full field details so we can sqlize its value:
- sharedptr<Field> from_key_field;
-- from_key_field = self->m_record->m_document->get_field(*(self->m_record->m_table_name), from_key);
-+ from_key_field = self_related->m_record->m_document->get_field(*(self_related->m_record->m_table_name), from_key);
- if(from_key_field)
- {
- Glib::ustring key_value_sqlized;
-@@ -157,11 +174,11 @@
- if(!GlomConversions::value_is_empty(from_key_value)) //Do not link on null-values. That would cause us to link on 0, or "0".
- key_value_sqlized = from_key_field->sql(from_key_value);
-
-- PyGlomRelatedRecord_SetRelationship(pyRelatedRecord, iterFind->second, key_value_sqlized, self->m_record->m_document);
-+ PyGlomRelatedRecord_SetRelationship(pyRelatedRecord, iterFind->second, key_value_sqlized, self_related->m_record->m_document);
-
- //Store it in the cache:
- Py_INCREF((PyObject*)pyRelatedRecord); //Dereferenced in _dealloc().
-- (*(self->m_pMap_relatedrecords))[key] = pyRelatedRecord;
-+ (*(self_related->m_pMap_relatedrecords))[key] = pyRelatedRecord;
-
- return (PyObject*)pyRelatedRecord; //TODO: pygda_value_as_pyobject(iterFind->second.gobj(), true /* copy */);
- }
-@@ -185,8 +202,8 @@
- */
-
- static PyMappingMethods Related_tp_as_mapping = {
-- (inquiry)Related_tp_as_mapping_length,
-- (binaryfunc)Related_tp_as_mapping_getitem,
-+ Related_tp_as_mapping_length,
-+ Related_tp_as_mapping_getitem,
- (objobjargproc)0 /* Related_tp_as_mapping_setitem */
- };
-
diff --git a/databases/glom/files/patch-glom-libglom-python_embed-py_glom_relatedrecord.cc b/databases/glom/files/patch-glom-libglom-python_embed-py_glom_relatedrecord.cc
deleted file mode 100644
index 43f0df8e9706..000000000000
--- a/databases/glom/files/patch-glom-libglom-python_embed-py_glom_relatedrecord.cc
+++ /dev/null
@@ -1,153 +0,0 @@
---- glom/libglom/python_embed/py_glom_relatedrecord.cc.orig 2006-05-20 06:35:36.000000000 -0500
-+++ glom/libglom/python_embed/py_glom_relatedrecord.cc 2007-09-05 01:02:13.606806043 -0500
-@@ -137,11 +137,22 @@
- */
-
-
-+//Adapt to API changes in Python 2.5:
-+#if defined(PY_VERSION_HEX) && (PY_VERSION_HEX >= 0x02050000) /* Python 2.5+ */
-+static Py_ssize_t
-+RelatedRecord_tp_as_mapping_length(PyObject *self)
-+{
-+ PyGlomRelatedRecord* self_derived = (PyGlomRelatedRecord*)self;
-+ return self_derived->m_pMap_field_values->size();
-+}
-+#else
- static int
--RelatedRecord_tp_as_mapping_length(PyGlomRelatedRecord *self)
-+RelatedRecord_tp_as_mapping_length(PyObject *self)
- {
-- return self->m_pMap_field_values->size();
-+ PyGlomRelatedRecord* self_derived = (PyGlomRelatedRecord*)self;
-+ return (int)(self_derived->m_pMap_field_values->size());
- }
-+#endif
-
- static void RelatedRecord_HandlePythonError()
- {
-@@ -150,29 +161,31 @@
- }
-
- static PyObject *
--RelatedRecord_tp_as_mapping_getitem(PyGlomRelatedRecord *self, PyObject *item)
-+RelatedRecord_tp_as_mapping_getitem(PyObject *self, PyObject *item)
- {
-+ PyGlomRelatedRecord* self_derived = (PyGlomRelatedRecord*)self;
-+
- if(PyString_Check(item))
- {
- const char* pchKey = PyString_AsString(item);
- if(pchKey)
- {
- const Glib::ustring field_name(pchKey);
-- PyGlomRelatedRecord::type_map_field_values::const_iterator iterFind = self->m_pMap_field_values->find(field_name);
-- if(iterFind != self->m_pMap_field_values->end())
-+ PyGlomRelatedRecord::type_map_field_values::const_iterator iterFind = self_derived->m_pMap_field_values->find(field_name);
-+ if(iterFind != self_derived->m_pMap_field_values->end())
- {
- //If the value has already been stored, then just return it again:
- return pygda_value_as_pyobject(iterFind->second.gobj(), true /* copy */);
- }
- else
- {
-- const Glib::ustring related_table = (*(self->m_relationship))->get_to_table();
-+ const Glib::ustring related_table = (*(self_derived->m_relationship))->get_to_table();
-
- //Check whether the field exists in the table.
- //TODO_Performance: Do this without the useless Field information?
-- sharedptr<Field> field = self->m_document->get_field((*(self->m_relationship))->get_to_table(), field_name);
-+ sharedptr<Field> field = self_derived->m_document->get_field((*(self_derived->m_relationship))->get_to_table(), field_name);
- if(!field)
-- g_warning("RelatedRecord_tp_as_mapping_getitem: field %s not found in table %s", field_name.c_str(), (*(self->m_relationship))->get_to_table().c_str());
-+ g_warning("RelatedRecord_tp_as_mapping_getitem: field %s not found in table %s", field_name.c_str(), (*(self_derived->m_relationship))->get_to_table().c_str());
- else
- {
- //Try to get the value from the database:
-@@ -182,15 +195,15 @@
- {
- Glib::RefPtr<Gnome::Gda::Connection> gda_connection = sharedconnection->get_gda_connection();
-
-- const Glib::ustring related_key_name = (*(self->m_relationship))->get_to_field();
-+ const Glib::ustring related_key_name = (*(self_derived->m_relationship))->get_to_field();
-
- //Do not try to get a value based on a null key value:
-- if(!(self->m_from_key_value_sqlized))
-+ if(!(self_derived->m_from_key_value_sqlized))
- return Py_None;
-
- //Get the single value from the related records:
- Glib::ustring sql_query = "SELECT \"" + related_table + "\".\"" + field_name + "\" FROM \"" + related_table + "\""
-- + " WHERE \"" + related_table + "\".\"" + related_key_name + "\" = " + *(self->m_from_key_value_sqlized);
-+ + " WHERE \"" + related_table + "\".\"" + related_key_name + "\" = " + *(self_derived->m_from_key_value_sqlized);
-
- //std::cout << "PyGlomRelatedRecord: Executing: " << sql_query << std::endl;
- Glib::RefPtr<Gnome::Gda::DataModel> datamodel = gda_connection->execute_single_command(sql_query);
-@@ -200,7 +213,7 @@
- //g_warning("RelatedRecord_tp_as_mapping_getitem(): value from datamodel = %s", value.to_string().c_str());
-
- //Cache it, in case it's asked-for again.
-- (*(self->m_pMap_field_values))[field_name] = value;
-+ (*(self_derived->m_pMap_field_values))[field_name] = value;
- return pygda_value_as_pyobject(value.gobj(), true /* copy */);
- }
- else if(!datamodel)
-@@ -211,7 +224,7 @@
- }
- else
- {
-- g_warning("RelatedRecord_tp_as_mapping_getitem(): No related records exist yet for relationship %s.", (*(self->m_relationship))->get_name().c_str());
-+ g_warning("RelatedRecord_tp_as_mapping_getitem(): No related records exist yet for relationship %s.", (*(self_derived->m_relationship))->get_name().c_str());
- }
- }
- }
-@@ -234,8 +247,8 @@
- */
-
- static PyMappingMethods RelatedRecord_tp_as_mapping = {
-- (inquiry)RelatedRecord_tp_as_mapping_length,
-- (binaryfunc)RelatedRecord_tp_as_mapping_getitem,
-+ RelatedRecord_tp_as_mapping_length,
-+ RelatedRecord_tp_as_mapping_getitem,
- (objobjargproc)0 /* RelatedRecord_tp_as_mapping_setitem */
- };
-
-@@ -311,27 +324,31 @@
- }
-
- static PyObject *
--RelatedRecord_sum(PyGlomRelatedRecord* self, PyObject *args, PyObject *kwargs)
-+RelatedRecord_sum(PyObject* self, PyObject *args, PyObject *kwargs)
- {
-- return RelatedRecord_generic_aggregate(self, args, kwargs, "sum");
-+ PyGlomRelatedRecord* self_derived = (PyGlomRelatedRecord*)self;
-+ return RelatedRecord_generic_aggregate(self_derived, args, kwargs, "sum");
- }
-
- static PyObject *
--RelatedRecord_count(PyGlomRelatedRecord* self, PyObject *args, PyObject *kwargs)
-+RelatedRecord_count(PyObject* self, PyObject *args, PyObject *kwargs)
- {
-- return RelatedRecord_generic_aggregate(self, args, kwargs, "count");
-+ PyGlomRelatedRecord* self_derived = (PyGlomRelatedRecord*)self;
-+ return RelatedRecord_generic_aggregate(self_derived, args, kwargs, "count");
- }
-
- static PyObject *
--RelatedRecord_min(PyGlomRelatedRecord* self, PyObject *args, PyObject *kwargs)
-+RelatedRecord_min(PyObject* self, PyObject *args, PyObject *kwargs)
- {
-- return RelatedRecord_generic_aggregate(self, args, kwargs, "min");
-+ PyGlomRelatedRecord* self_derived = (PyGlomRelatedRecord*)self;
-+ return RelatedRecord_generic_aggregate(self_derived, args, kwargs, "min");
- }
-
- static PyObject *
--RelatedRecord_max(PyGlomRelatedRecord* self, PyObject *args, PyObject *kwargs)
-+RelatedRecord_max(PyObject* self, PyObject *args, PyObject *kwargs)
- {
-- return RelatedRecord_generic_aggregate(self, args, kwargs, "max");
-+ PyGlomRelatedRecord* self_derived = (PyGlomRelatedRecord*)self;
-+ return RelatedRecord_generic_aggregate(self_derived, args, kwargs, "max");
- }
-
- static PyMethodDef RelatedRecord_methods[] = {
diff --git a/databases/glom/pkg-plist b/databases/glom/pkg-plist
index 88bcda3abfc4..2f5df39bee37 100644
--- a/databases/glom/pkg-plist
+++ b/databases/glom/pkg-plist
@@ -6,19 +6,19 @@ lib/libglom.so.0
%%PYTHON_SITELIBDIR%%/glom.a
%%PYTHON_SITELIBDIR%%/glom.la
%%PYTHON_SITELIBDIR%%/glom.so
-share/gnome/applications/glom.desktop
-share/gnome/glom/doc/examples/example_smallbusiness.glom
-share/gnome/glom/glade/glom.glade
-share/gnome/glom/glom_document.dtd
-share/gnome/glom/xslt/print_details_to_html.xsl
-share/gnome/glom/xslt/print_report_to_html.xsl
+share/applications/glom.desktop
+share/glom/doc/examples/example_smallbusiness.glom
+share/glom/glade/glom.glade
+share/glom/glom_document.dtd
+share/glom/xslt/print_details_to_html.xsl
+share/glom/xslt/print_report_to_html.xsl
share/gnome/help/glom/C/figures/start.png
share/gnome/help/glom/C/glom.xml
share/gnome/help/glom/C/legal.xml
share/gnome/help/glom/de/figures/start.png
share/gnome/help/glom/de/glom.xml
-share/gnome/mime-info/glom.keys
-share/gnome/mime-info/glom.mime
+share/mime-info/glom.keys
+share/mime-info/glom.mime
share/icons/hicolor/48x48/apps/glom.png
share/icons/hicolor/scalable/apps/glom.svg
share/locale/ca/LC_MESSAGES/glom.mo
@@ -48,12 +48,13 @@ share/mime/packages/glom.xml
@dirrm share/gnome/help/glom/C/figures
@dirrm share/gnome/help/glom/C
@dirrm share/gnome/help/glom
-@dirrm share/gnome/glom/xslt
-@dirrm share/gnome/glom/glade
-@dirrm share/gnome/glom/doc/examples
-@dirrm share/gnome/glom/doc
-@dirrm share/gnome/glom
+@dirrm share/glom/xslt
+@dirrm share/glom/glade
+@dirrm share/glom/doc/examples
+@dirrm share/glom/doc
+@dirrm share/glom
@dirrmtry share/locale/rw/LC_MESSAGES
@dirrmtry share/locale/rw
@exec %%LOCALBASE%%/bin/update-mime-database %D/share/mime
@unexec %%LOCALBASE%%/bin/update-mime-database %D/share/mime
+@dirrmtry share/applications