diff options
Diffstat (limited to 'pkgs/development/libraries/gsettings-qt/default.nix')
-rw-r--r-- | pkgs/development/libraries/gsettings-qt/default.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/development/libraries/gsettings-qt/default.nix b/pkgs/development/libraries/gsettings-qt/default.nix new file mode 100644 index 000000000000..9e893932a64c --- /dev/null +++ b/pkgs/development/libraries/gsettings-qt/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchbzr, pkgconfig, qmake, qtbase, qtdeclarative, glib, gobjectIntrospection }: + +stdenv.mkDerivation rec { + name = "gsettings-qt-${version}"; + version = "0.1.20170824"; + + src = fetchbzr { + url = http://bazaar.launchpad.net/~system-settings-touch/gsettings-qt/trunk; + rev = "85"; + sha256 = "1kcw0fgdyndx9c0dyha11wkj0gi05spdc1adf1609mrinbb4rnyi"; + }; + + nativeBuildInputs = [ + pkgconfig + qmake + gobjectIntrospection + ]; + + buildInputs = [ + glib + qtdeclarative + ]; + + patchPhase = '' + # force ordered build of subdirs + sed -i -e "\$aCONFIG += ordered" gsettings-qt.pro + + # It seems that there is a bug in qtdeclarative: qmlplugindump fails + # because it can not find or load the Qt platform plugin "minimal". + # A workaround is to set QT_PLUGIN_PATH and QML2_IMPORT_PATH explicitly. + export QT_PLUGIN_PATH=${qtbase.bin}/${qtbase.qtPluginPrefix} + export QML2_IMPORT_PATH=${qtdeclarative.bin}/${qtbase.qtQmlPrefix} + + substituteInPlace GSettings/gsettings-qt.pro \ + --replace '$$[QT_INSTALL_QML]' "$out/$qtQmlPrefix" \ + --replace '$$[QT_INSTALL_BINS]/qmlplugindump' "qmlplugindump" + + substituteInPlace src/gsettings-qt.pro \ + --replace '$$[QT_INSTALL_LIBS]' "$out/lib" \ + --replace '$$[QT_INSTALL_HEADERS]' "$out/include" + ''; + + preInstall = '' + # do not install tests + for f in tests/Makefile{,.cpptest}; do + substituteInPlace $f \ + --replace "install: install_target" "install: " + done + ''; + + meta = with stdenv.lib; { + description = "Qt/QML bindings for GSettings"; + homepage = https://launchpad.net/gsettings-qt; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} |