1{ lib, stdenv, fetchurl, fetchpatch, pkg-config, vala, gobject-introspection, gtk-doc
2, docbook_xsl, docbook_xml_dtd_412, glib, libxml2, libsoup, gnome, buildPackages
3, Foundation, AppKit
4}:
5
6stdenv.mkDerivation rec {
7 pname = "libgrss";
8 version = "0.7.0";
9
10 outputs = [ "out" "dev" "devdoc" ];
11
12 src = fetchurl {
13 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
14 sha256 = "1nalslgyglvhpva3px06fj6lv5zgfg0qmj0sbxyyl5d963vc02b7";
15 };
16
17 patches = [
18 (fetchpatch {
19 name = "CVE-2016-20011.patch";
20 # https://gitlab.gnome.org/GNOME/libgrss/-/merge_requests/7, not yet merged!
21 url = "https://gitlab.gnome.org/GNOME/libgrss/-/commit/2c6ea642663e2a44efc8583fae7c54b7b98f72b3.patch";
22 sha256 = "1ijvq2jl97vphcvrbrqxvszdmv6yyjfygdca9vyaijpafwyzzb18";
23 })
24 ];
25
26 nativeBuildInputs = [
27 pkg-config
28 vala
29 gobject-introspection
30 gtk-doc
31 docbook_xsl
32 docbook_xml_dtd_412
33 ];
34
35 buildInputs = [
36 glib
37 libxml2
38 libsoup
39 ] ++ lib.optionals stdenv.isDarwin [
40 Foundation
41 AppKit
42 ];
43
44 configureFlags = [
45 "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config"
46 ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [
47 "--enable-gtk-doc"
48 ];
49
50 doCheck = true;
51
52 passthru = {
53 updateScript = gnome.updateScript {
54 packageName = pname;
55 versionPolicy = "none";
56 };
57 };
58
59 meta = with lib; {
60 description = "Glib abstaction to handle feeds in RSS, Atom and other formats";
61 homepage = "https://gitlab.gnome.org/GNOME/libgrss";
62 license = licenses.lgpl3Plus;
63 maintainers = teams.gnome.members;
64 platforms = platforms.unix;
65 };
66}