nixpkgs/pkgs/by-name/go/goocanvas_2/package.nix
quantenzitrone b819e03154
goocanvas_{1,2,3}: move to pkgs/by-name, rename from goocanvas{,23}
this shouldn't create any rebuilds

I removed the "default" goocanvas because it was stuck on the old and
deprecated goocanvas 1. Newer goocanvas versions are incompatible with
old ones.
2026-01-21 00:47:32 +01:00

80 lines
1.7 KiB
Nix

{
lib,
stdenv,
fetchurl,
fetchpatch,
pkg-config,
gettext,
gtk-doc,
gobject-introspection,
python3,
gtk3,
cairo,
glib,
gnome,
}:
stdenv.mkDerivation rec {
pname = "goocanvas";
version = "2.0.4";
outputs = [
"out"
"dev"
"devdoc"
];
src = fetchurl {
url = "mirror://gnome/sources/goocanvas/2.0/goocanvas-${version}.tar.xz";
sha256 = "141fm7mbqib0011zmkv3g8vxcjwa7hypmq71ahdyhnj2sjvy4a67";
};
nativeBuildInputs = [
pkg-config
gettext
gtk-doc
python3
gobject-introspection
];
buildInputs = [
gtk3
cairo
glib
];
# add fedora patch to fix gcc-14 build
# https://src.fedoraproject.org/rpms/goocanvas2/tree/main
patches = [
(fetchpatch {
name = "goocanvas-2.0.4-Fix-building-with-GCC-14.patch";
hash = "sha256-9uqqC1uKZF9TDz5dfDTKSRCmjEiuvqkLnZ9w6U+q2TI=";
url = "https://src.fedoraproject.org/rpms/goocanvas2/raw/e799612a277262a0c6bd03db10a6ee9ca7871b9c/f/goocanvas-2.0.4-Fix-building-with-GCC-14.patch";
})
];
configureFlags = [
"--disable-python"
];
env = {
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "$(dev)/share/gir-1.0";
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "$(out)/lib/girepository-1.0";
};
passthru = {
updateScript = gnome.updateScript {
attrPath = "goocanvas${lib.versions.major version}";
packageName = "goocanvas";
versionPolicy = "odd-unstable";
freeze = true;
};
};
meta = {
description = "Canvas widget for GTK based on the the Cairo 2D library";
homepage = "https://gitlab.gnome.org/Archive/goocanvas";
license = lib.licenses.lgpl2;
maintainers = [ ];
platforms = lib.platforms.unix;
};
}