diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix index e9406fc1a69..0162f85c37f 100644 --- a/pkgs/desktops/deepin/default.nix +++ b/pkgs/desktops/deepin/default.nix @@ -12,6 +12,7 @@ let wnck = pkgs.libwnck3; }; dtkcore = callPackage ./dtkcore { }; + dtkwidget = callPackage ./dtkwidget { }; }; diff --git a/pkgs/desktops/deepin/dtkcore/default.nix b/pkgs/desktops/deepin/dtkcore/default.nix index 561e951f34d..1dfb627c605 100644 --- a/pkgs/desktops/deepin/dtkcore/default.nix +++ b/pkgs/desktops/deepin/dtkcore/default.nix @@ -23,11 +23,16 @@ stdenv.mkDerivation rec { ]; postPatch = '' - sed -i src/src.pro src/dtk_module.prf \ - -e "s,\$\''${QT_HOST_DATA}/mkspecs,$out/mkspecs," + # Only define QT_HOST_DATA if it is empty + sed '/QT_HOST_DATA=/a }' -i src/dtk_module.prf + sed '/QT_HOST_DATA=/i isEmpty(QT_HOST_DATA) {' -i src/dtk_module.prf - sed -i tools/script/dtk-translate.py \ - -e "s,#!env,#!/usr/bin/env," + # Fix shebang + sed -i tools/script/dtk-translate.py -e "s,#!env,#!/usr/bin/env," + ''; + + preConfigure = '' + qmakeFlags="$qmakeFlags QT_HOST_DATA=$out" ''; postFixup = '' @@ -35,6 +40,8 @@ stdenv.mkDerivation rec { wrapPythonProgramsIn "$out/lib/dtk2" "$out $pythonPath" ''; + enableParallelBuilding = true; + meta = with stdenv.lib; { description = "Deepin tool kit core modules"; homepage = https://github.com/linuxdeepin/dtkcore; diff --git a/pkgs/desktops/deepin/dtkwidget/default.nix b/pkgs/desktops/deepin/dtkwidget/default.nix new file mode 100644 index 00000000000..c9dbd124b03 --- /dev/null +++ b/pkgs/desktops/deepin/dtkwidget/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, qtmultimedia, + qtsvg, qtx11extras, librsvg, libstartup_notification, gsettings-qt, + dde-qt-dbus-factory, dtkcore +}: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "dtkwidget"; + version = "2.0.9.3"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "1ngspvjvws1d2nkyqjh9y45ilahkd1fqwxnlmazgik4355mb76bv"; + }; + + nativeBuildInputs = [ + pkgconfig + qmake + qttools + ]; + + buildInputs = [ + qtmultimedia + qtsvg + qtx11extras + librsvg + libstartup_notification + gsettings-qt + dde-qt-dbus-factory + dtkcore + ]; + + preConfigure = '' + qmakeFlags="$qmakeFlags \ + INCLUDE_INSTALL_DIR=$out/include \ + LIB_INSTALL_DIR=$out/lib \ + QT_HOST_DATA=$out" + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Deepin graphical user interface library"; + homepage = https://github.com/linuxdeepin/dtkwidget; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +}