nixpkgs/pkgs/applications/misc/glom/default.nix
Maximilian Bosch 71ece62fd4
glom: provide bin dir of postgresql
By default `pg_config --bindir` is executed during configure phase to
get the bin directory containing all the postgres executables used by
glom.

This seems wrong given that the same postgresql_15 package will be
executed on build and on the final host platform which is not
necessarily the same. To avoid that, specify the bin dir manually via
the corresponding configure option.
2023-10-30 10:41:16 +01:00

133 lines
2.7 KiB
Nix

{ lib, stdenv
, fetchurl
, pkg-config
, autoconf
, automake
, libtool
, mm-common
, intltool
, itstool
, doxygen
, graphviz
, makeFontsConf
, freefont_ttf
, boost
, libxmlxx3
, libxslt
, libgdamm
, libarchive
, libepc
, python3
, ncurses
, glibmm
, gtk3
, openssl
, gtkmm3
, goocanvasmm2
, evince
, isocodes
, gtksourceview
, gtksourceviewmm
, postgresql_15
, gobject-introspection
, yelp-tools
, wrapGAppsHook
}:
let
gda = libgdamm.override {
mysqlSupport = true;
postgresSupport = true;
};
python = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]);
sphinx-build = python3.pkgs.sphinx.overrideAttrs (super: {
postFixup = super.postFixup or "" + ''
# Do not propagate Python
rm $out/nix-support/propagated-build-inputs
'';
});
boost_python = boost.override { enablePython = true; inherit python; };
in stdenv.mkDerivation rec {
pname = "glom";
version = "1.32.0";
outputs = [ "out" "lib" "dev" "doc" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1wcd4kd3crwqjv0jfp73jkyyf5ws8mvykg37kqxmcb58piz21gsk";
};
nativeBuildInputs = [
pkg-config
autoconf
automake
libtool
mm-common
intltool
yelp-tools
itstool
doxygen
graphviz
sphinx-build
wrapGAppsHook
gobject-introspection # for setup hook
];
buildInputs = [
boost_python
glibmm
gtk3
openssl
libxmlxx3
libxslt
gda
libarchive
libepc
python
ncurses # for python
gtkmm3
goocanvasmm2
evince
isocodes
python3.pkgs.pygobject3
gtksourceview
gtksourceviewmm
postgresql_15 # for postgresql utils
];
enableParallelBuilding = true;
preConfigure = "NOCONFIGURE=1 ./autogen.sh";
configureFlags = [
"--with-boost-python=boost_python${lib.versions.major python3.version}${lib.versions.minor python3.version}"
"--with-postgres-utils=${lib.getBin postgresql_15}/bin"
];
makeFlags = [
"libdocdir=${placeholder "doc"}/share/doc/$(book_name)"
"devhelpdir=${placeholder "devdoc"}/share/devhelp/books/$(book_name)"
];
# Fontconfig error: Cannot load default config file
FONTCONFIG_FILE = makeFontsConf {
fontDirectories = [ freefont_ttf ];
};
preFixup = ''
gappsWrapperArgs+=(
--prefix PYTHONPATH : "${placeholder "out"}/${python3.sitePackages}"
--set PYTHONHOME "${python}"
)
'';
meta = with lib; {
description = "An easy-to-use database designer and user interface";
homepage = "http://www.glom.org/";
license = [ licenses.lgpl2 licenses.gpl2 ];
maintainers = teams.gnome.members;
platforms = platforms.linux;
};
}