diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gsettings-qt')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/gsettings-qt/default.nix | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gsettings-qt/default.nix b/nixpkgs/pkgs/development/libraries/gsettings-qt/default.nix new file mode 100644 index 000000000000..803ab5e96dc5 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/gsettings-qt/default.nix @@ -0,0 +1,69 @@ +{ lib, stdenv, fetchFromGitLab, pkg-config +, qmake, qtbase, qtdeclarative, wrapQtAppsHook +, glib, gobject-introspection +, gitUpdater +}: + +stdenv.mkDerivation rec { + pname = "gsettings-qt"; + version = "0.2"; + + src = fetchFromGitLab { + group = "ubports"; + owner = "core"; + repo = pname; + rev = "v${version}"; + sha256 = "14l8xphw4jd9ckqba13cyxq0i362x8lfsd0zlfawwi2z1q1vqm92"; + }; + + nativeBuildInputs = [ + pkg-config + qmake + gobject-introspection + wrapQtAppsHook + ]; + + 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 + ''; + + passthru.updateScript = gitUpdater { + rev-prefix = "v"; + }; + + meta = with lib; { + description = "Library to access GSettings from Qt"; + homepage = "https://gitlab.com/ubports/core/gsettings-qt"; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} |