[Bug 264529] science/gramps: Remove dependency on py-bsddb3

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 08 Jun 2022 13:07:41 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264529

Benjamin Takacs <nimaje+fbz@bureaucracy.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #234533|0                           |1
        is obsolete|                            |

--- Comment #2 from Benjamin Takacs <nimaje+fbz@bureaucracy.de> ---
Created attachment 234555
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=234555&action=edit
science/gramps: Make py-bsddb3 dependency an OPTION

You are right keeping the py-bsddb3 dependency as an OPTION until py-bsddb3 is
removed from the portstree seems better.

As Berkeley DB support depends on sqlite and a build without DB support doesn't
seem desirable I decided not to create a SQLITE option, but I can if you think
it is useful.

When runtime testing with the py-bsddb3 dependency gramps wouldn't start with:
```
Traceback (most recent call last):
[…]
  File
"/usr/local/lib/python3.8/site-packages/gramps/gen/utils/grampslocale.py", line
529, in __init_first_instance
    locale.textdomain(self.localedomain)
AttributeError: module 'locale' has no attribute 'textdomain'
```
So I added a patch using `textdomain` and `bindtextdomain` from gettext instead
as the locale docs[0] suggest, it seems like `locale` was used there as on
linux gettext doesn't affect gtk for some reason[1].
It seems to work fine on freebsd, but I only looked at a few translations.

Not sure why I didn't hit that AttributeError when py-bsddb3 wan't installed.

For the UPDATING entry, maybe something like:
```
py-bsddb3 is deprecated and will be removed in the future, with that gramps
will lose the ability to load family trees using Berkeley DB.
So it is suggested to migrate all family trees using Berkeley DB by exporting
them to gramps xml and import that gramps xml into a family tree using sqlite
as database.
```


[0]: https://docs.python.org/3/library/locale.html#access-to-message-catalogs
[1]: https://gramps-project.org/bugs/view.php?id=12278

-- 
You are receiving this mail because:
You are the assignee for the bug.