Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / libgsf / default.nix
blob172e3a2a2c781d15686b3fcc9c7fbe26da9b4c03
1 { fetchFromGitLab
2 , lib
3 , stdenv
4 , autoreconfHook
5 , gtk-doc
6 , pkg-config
7 , intltool
8 , gettext
9 , glib
10 , libxml2
11 , zlib
12 , bzip2
13 , perl
14 , gdk-pixbuf
15 , libiconv
16 , libintl
17 , gnome
20 stdenv.mkDerivation rec {
21   pname = "libgsf";
22   version = "1.14.50";
24   outputs = [ "out" "dev" ];
26   src = fetchFromGitLab {
27     domain = "gitlab.gnome.org";
28     owner = "GNOME";
29     repo = "libgsf";
30     rev = "LIBGSF_${lib.replaceStrings ["."] ["_"] version}";
31     hash = "sha256-6RP2DJWcDQ8dkKtcPxAkRsS7jSvvLoDNZHXiDJwR8Eg=";
32   };
34   postPatch = ''
35     # Fix cross-compilation
36     substituteInPlace configure.ac \
37       --replace "AC_PATH_PROG(PKG_CONFIG, pkg-config, no)" \
38                 "PKG_PROG_PKG_CONFIG"
39   '';
41   strictDeps = true;
43   nativeBuildInputs = [
44     autoreconfHook
45     gtk-doc
46     pkg-config
47     intltool
48     libintl
49   ];
51   buildInputs = [
52     gettext
53     bzip2
54     zlib
55   ];
57   nativeCheckInputs = [
58     perl
59   ];
61   propagatedBuildInputs = [
62     libxml2
63     glib
64     gdk-pixbuf
65     libiconv
66   ];
68   doCheck = true;
70   preCheck = ''
71     patchShebangs ./tests/
72   '';
74   # checking pkg-config is at least version 0.9.0... ./configure: line 15213: no: command not found
75   # configure: error: in `/build/libgsf-1.14.50':
76   # configure: error: The pkg-config script could not be found or is too old.  Make sure it
77   # is in your PATH or set the PKG_CONFIG environment variable to the full
78   preConfigure = ''
79     export PKG_CONFIG="$(command -v "$PKG_CONFIG")"
80   '';
82   passthru = {
83     updateScript = gnome.updateScript {
84       packageName = pname;
85       versionPolicy = "odd-unstable";
86     };
87   };
89   meta = with lib; {
90     description = "GNOME's Structured File Library";
91     homepage = "https://www.gnome.org/projects/libgsf";
92     license = licenses.lgpl2Plus;
93     maintainers = with maintainers; [ lovek323 ];
94     platforms = lib.platforms.unix;
96     longDescription = ''
97       Libgsf aims to provide an efficient extensible I/O abstraction for
98       dealing with different structured file formats.
99     '';
100   };