71ece62fd4
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.
132 lines
2.7 KiB
Nix
132 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;
|
|
};
|
|
}
|