nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv
2, fetchurl
3, gettext
4, gobject-introspection
5, gtk-doc
6, docbook_xsl
7, docbook_xml_dtd_43
8, pkgconfig
9, meson
10, ninja
11, git
12, vala
13, glib
14, zlib
15, gnome3
16, nixosTests
17}:
18
19stdenv.mkDerivation rec {
20 pname = "gcab";
21 version = "1.4";
22
23 outputs = [ "bin" "out" "dev" "devdoc" "installedTests" ];
24
25 src = fetchurl {
26 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
27 sha256 = "13q43iqld4l50yra45lhvkd376pn6qpk7rkx374zn8y9wsdzm9b7";
28 };
29
30 patches = [
31 # allow installing installed tests to a separate output
32 ./installed-tests-path.patch
33 ];
34
35 nativeBuildInputs = [
36 meson
37 ninja
38 git
39 pkgconfig
40 vala
41 gettext
42 gobject-introspection
43 gtk-doc
44 docbook_xsl
45 docbook_xml_dtd_43
46 ];
47
48 buildInputs = [
49 glib
50 zlib
51 ];
52
53 # required by libgcab-1.0.pc
54 propagatedBuildInputs = [
55 glib
56 ];
57
58 mesonFlags = [
59 "-Dinstalled_tests=true"
60 "-Dinstalled_test_prefix=${placeholder ''installedTests''}"
61 ];
62
63 doCheck = true;
64
65 passthru = {
66 updateScript = gnome3.updateScript {
67 packageName = pname;
68 versionPolicy = "none";
69 };
70
71 tests = {
72 installedTests = nixosTests.installed-tests.gcab;
73 };
74 };
75
76 meta = with stdenv.lib; {
77 description = "GObject library to create cabinet files";
78 homepage = "https://gitlab.gnome.org/GNOME/gcab";
79 license = licenses.lgpl21Plus;
80 maintainers = teams.gnome.members;
81 platforms = platforms.linux;
82 };
83}