Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / glom / default.nix
blob5c8eb94712a680e34d31f0c45a2d69572b253b72
1 { lib, stdenv
2 , fetchurl
3 , pkg-config
4 , autoconf
5 , automake
6 , libtool
7 , mm-common
8 , intltool
9 , itstool
10 , doxygen
11 , graphviz
12 , makeFontsConf
13 , freefont_ttf
14 , boost
15 , libxmlxx3
16 , libxslt
17 , libgdamm
18 , libarchive
19 , libepc
20 , python3
21 , ncurses
22 , glibmm
23 , gtk3
24 , openssl
25 , gtkmm3
26 , goocanvasmm2
27 , evince
28 , isocodes
29 , gtksourceview
30 , gtksourceviewmm
31 , postgresql_15
32 , gobject-introspection
33 , yelp-tools
34 , wrapGAppsHook
37 let
38   gda = libgdamm.override {
39     mysqlSupport = true;
40     postgresSupport = true;
41   };
42   python = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]);
43   sphinx-build = python3.pkgs.sphinx.overrideAttrs (super: {
44     postFixup = super.postFixup or "" + ''
45       # Do not propagate Python
46       rm $out/nix-support/propagated-build-inputs
47     '';
48   });
49   boost_python = boost.override { enablePython = true; inherit python; };
50 in stdenv.mkDerivation rec {
51   pname = "glom";
52   version = "1.32.0";
54   outputs = [ "out" "lib" "dev" "doc" "devdoc" ];
56   src = fetchurl {
57     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
58     sha256 = "1wcd4kd3crwqjv0jfp73jkyyf5ws8mvykg37kqxmcb58piz21gsk";
59   };
61   nativeBuildInputs = [
62     pkg-config
63     autoconf
64     automake
65     libtool
66     mm-common
67     intltool
68     yelp-tools
69     itstool
70     doxygen
71     graphviz
72     sphinx-build
73     wrapGAppsHook
74     gobject-introspection # for setup hook
75   ];
77   buildInputs = [
78     boost_python
79     glibmm
80     gtk3
81     openssl
82     libxmlxx3
83     libxslt
84     gda
85     libarchive
86     libepc
87     python
88     ncurses # for python
89     gtkmm3
90     goocanvasmm2
91     evince
92     isocodes
93     python3.pkgs.pygobject3
94     gtksourceview
95     gtksourceviewmm
96     postgresql_15 # for postgresql utils
97   ];
99   enableParallelBuilding = true;
101   preConfigure = "NOCONFIGURE=1 ./autogen.sh";
103   configureFlags = [
104     "--with-boost-python=boost_python${lib.versions.major python3.version}${lib.versions.minor python3.version}"
105     "--with-postgres-utils=${lib.getBin postgresql_15}/bin"
106   ];
108   makeFlags = [
109     "libdocdir=${placeholder "doc"}/share/doc/$(book_name)"
110     "devhelpdir=${placeholder "devdoc"}/share/devhelp/books/$(book_name)"
111   ];
113   # Fontconfig error: Cannot load default config file
114   FONTCONFIG_FILE = makeFontsConf {
115     fontDirectories = [ freefont_ttf ];
116   };
118   preFixup = ''
119     gappsWrapperArgs+=(
120       --prefix PYTHONPATH : "${placeholder "out"}/${python3.sitePackages}"
121       --set PYTHONHOME "${python}"
122     )
123   '';
125   meta = with lib; {
126     description = "An easy-to-use database designer and user interface";
127     homepage = "http://www.glom.org/";
128     license = [ licenses.lgpl2 licenses.gpl2 ];
129     maintainers = teams.gnome.members;
130     platforms = platforms.linux;
131   };