nixpkgs/pkgs/applications/misc/gramps/default.nix
Jan Tojnar eb04659fc2 treewide: wrapGAppsHook → wrapGAppsHook3
This was achieved using the following command:

    sd 'wrapGAppsHook\b' wrapGAppsHook3 (rg -l 'wrapGAppsHook\b')

And then manually reverted the following changes:

- alias in top-level.nix
- function name in wrap-gapps-hook.sh
- comment in postFixup of at-spi2-core
- comment in gtk4
- comment in preFixup of 1password-gui/linux.nix
- comment in postFixup of qgis/unwrapped-ltr.nix and qgis/unwrapped.nix
- comment in postFixup of telegram-desktop
- comment in postFixup of fwupd
- buildCommand of mongodb-compass
- postFixup of xflux-gui
- comment in a patch in kdePackages.kde-gtk-config and plasma5Packages.kde-gtk-config
- description of programs.sway.wrapperFeatures.gtk NixOS option (manual rebuild)
2024-04-27 02:23:22 +02:00

112 lines
2.6 KiB
Nix

{ lib
, fetchFromGitHub
, gtk3
, pythonPackages
, glibcLocales
, intltool
, gexiv2
, pango
, gobject-introspection
, wrapGAppsHook3
, gettext
# Optional packages:
, enableOSM ? true
, osm-gps-map
, glib-networking
, enableGraphviz ? true
, graphviz
, enableGhostscript ? true
, ghostscript
}:
let
inherit (pythonPackages) buildPythonApplication pythonOlder;
in
buildPythonApplication rec {
version = "5.2.2";
pname = "gramps";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "gramps-project";
repo = "gramps";
rev = "refs/tags/v${version}";
hash = "sha256-umyc5G4p0GSEQEtq6sPUgtq1waNL1OW7iLxnf5dGcLc=";
};
patches = [
# textdomain doesn't exist as a property on locale when running on Darwin
./check-locale-hasattr-textdomain.patch
# disables the startup warning about bad GTK installation
./disable-gtk-warning-dialog.patch
];
nativeBuildInputs = [
wrapGAppsHook3
intltool
gettext
gobject-introspection
pythonPackages.setuptools
];
nativeCheckInputs = [
glibcLocales
pythonPackages.unittestCheckHook
pythonPackages.jsonschema
pythonPackages.mock
pythonPackages.lxml
];
buildInputs = [ gtk3 pango gexiv2 ]
# Map support
++ lib.optionals enableOSM [ osm-gps-map glib-networking ]
# Graphviz support
++ lib.optional enableGraphviz graphviz
# Ghostscript support
++ lib.optional enableGhostscript ghostscript
;
propagatedBuildInputs = with pythonPackages; [
bsddb3
pyicu
pygobject3
pycairo
];
preCheck = ''
export HOME=$(mktemp -d)
mkdir .git # Make gramps think that it's not in an installed state
'';
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
)
'';
# https://github.com/NixOS/nixpkgs/issues/149812
# https://nixos.org/manual/nixpkgs/stable/#ssec-gnome-hooks-gobject-introspection
strictDeps = false;
meta = with lib; {
description = "Genealogy software";
mainProgram = "gramps";
homepage = "https://gramps-project.org";
maintainers = with maintainers; [ jk pinpox tomasajt ];
changelog = "https://github.com/gramps-project/gramps/blob/${src.rev}/ChangeLog";
longDescription = ''
Every person has their own story but they are also part of a collective
family history. Gramps gives you the ability to record the many details of
an individual's life as well as the complex relationships between various
people, places and events. All of your research is kept organized,
searchable and as precise as you need it to be.
'';
license = licenses.gpl2Plus;
};
}