1{
2 lib,
3 stdenv,
4 fetchpatch,
5 fetchurl,
6 autoreconfHook,
7 gtk-doc,
8 pkg-config,
9 atk,
10 cairo,
11 glib,
12 gnome-common,
13 gtk2,
14 pango,
15 libxml2Python,
16 perl,
17 intltool,
18 gettext,
19 gtk-mac-integration-gtk2,
20 testers,
21}:
22
23stdenv.mkDerivation (finalAttrs: {
24 pname = "gtksourceview";
25 version = "2.10.5";
26
27 src =
28 let
29 inherit (finalAttrs) pname version;
30 in
31 fetchurl {
32 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
33 sha256 = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e";
34 };
35
36 patches = lib.optionals stdenv.hostPlatform.isDarwin [
37 (fetchpatch {
38 name = "change-igemacintegration-to-gtkosxapplication.patch";
39 url = "https://gitlab.gnome.org/GNOME/gtksourceview/commit/e88357c5f210a8796104505c090fb6a04c213902.patch";
40 sha256 = "0h5q79q9dqbg46zcyay71xn1pm4aji925gjd5j93v4wqn41wj5m7";
41 })
42 (fetchpatch {
43 name = "update-to-gtk-mac-integration-2.0-api.patch";
44 url = "https://gitlab.gnome.org/GNOME/gtksourceview/commit/ab46e552e1d0dae73f72adac8d578e40bdadaf95.patch";
45 sha256 = "0qzrbv4hpa0v8qbmpi2vp575n13lkrvp3cgllwrd2pslw1v9q3aj";
46 })
47 ];
48
49 # Fix build with gcc 14
50 env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
51
52 nativeBuildInputs = [
53 pkg-config
54 intltool
55 ]
56 ++ lib.optionals stdenv.hostPlatform.isDarwin [
57 autoreconfHook
58 gtk-doc
59 ];
60
61 buildInputs = [
62 atk
63 cairo
64 glib
65 gtk2
66 pango
67 libxml2Python
68 perl
69 gettext
70 ]
71 ++ lib.optionals stdenv.hostPlatform.isDarwin [
72 gnome-common
73 gtk-mac-integration-gtk2
74 ];
75
76 doCheck = false; # requires X11 daemon
77
78 passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
79
80 meta = {
81 pkgConfigModules = [ "gtksourceview-2.0" ];
82 };
83})