about summary refs log tree commit diff
path: root/pkgs/desktops/deepin
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-04-07 15:14:52 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2019-04-07 15:14:52 +0200
commit7f7da0a16f05f7e86559b41d98f2a67eaec30587 (patch)
tree8df4efebb83e7c2614aa10def3d87369f6ddb337 /pkgs/desktops/deepin
parent4a125f6b202516b1ae8dee79202ad9fff1c7693a (diff)
parentb2011766ed8c20647d5c40d8c6bad74c9373aa0a (diff)
downloadnixlib-7f7da0a16f05f7e86559b41d98f2a67eaec30587.tar
nixlib-7f7da0a16f05f7e86559b41d98f2a67eaec30587.tar.gz
nixlib-7f7da0a16f05f7e86559b41d98f2a67eaec30587.tar.bz2
nixlib-7f7da0a16f05f7e86559b41d98f2a67eaec30587.tar.lz
nixlib-7f7da0a16f05f7e86559b41d98f2a67eaec30587.tar.xz
nixlib-7f7da0a16f05f7e86559b41d98f2a67eaec30587.tar.zst
nixlib-7f7da0a16f05f7e86559b41d98f2a67eaec30587.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/desktops/deepin')
-rw-r--r--pkgs/desktops/deepin/default.nix1
-rw-r--r--pkgs/desktops/deepin/qcef/default.nix104
2 files changed, 105 insertions, 0 deletions
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index 9f3613fccf0e..53f9ae27c553 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -38,6 +38,7 @@ let
     go-dbus-generator = callPackage ./go-dbus-generator { };
     go-gir-generator = callPackage ./go-gir-generator { };
     go-lib = callPackage ./go-lib { };
+    qcef = callPackage ./qcef { };
     qt5dxcb-plugin = callPackage ./qt5dxcb-plugin { };
     qt5integration = callPackage ./qt5integration { };
 
diff --git a/pkgs/desktops/deepin/qcef/default.nix b/pkgs/desktops/deepin/qcef/default.nix
new file mode 100644
index 000000000000..18d64c5645ca
--- /dev/null
+++ b/pkgs/desktops/deepin/qcef/default.nix
@@ -0,0 +1,104 @@
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools,
+  qtwebchannel, qtx11extras, dtkcore, dtkwidget, qt5integration,
+  libXScrnSaver, gnome2, nss, nspr, alsaLib, atk, cairo, cups, dbus,
+  expat, fontconfig, gdk_pixbuf, glib, gtk2, libX11, libXcomposite,
+  libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr,
+  libXrender, libXtst, libxcb, pango, pulseaudio, xorg, deepin }:
+
+let
+  rpahtLibraries = [
+    stdenv.cc.cc.lib  # libstdc++.so.6
+    alsaLib
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    gdk_pixbuf
+    glib
+    gnome2.GConf
+    gtk2
+    libxcb
+    nspr
+    nss
+    pango
+    pulseaudio
+    xorg.libX11
+    xorg.libXScrnSaver
+    xorg.libXcomposite
+    xorg.libXcursor
+    xorg.libXdamage
+    xorg.libXext
+    xorg.libXfixes
+    xorg.libXi
+    xorg.libXrandr
+    xorg.libXrender
+    xorg.libXtst
+  ];
+  libPath = stdenv.lib.makeLibraryPath rpahtLibraries;
+in
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "qcef";
+  version = "1.1.4.6";
+
+  srcs = [
+    (fetchFromGitHub {
+      owner = "linuxdeepin";
+      repo = pname;
+      rev = version;
+      sha256 = "06909sd0gf7n4hw6p4j96apjym219zabflgpwjafm7v00bgnwxxs";
+      name = pname;
+    })
+    (fetchFromGitHub {
+      owner = "linuxdeepin";
+      repo = "cef-binary";
+      rev = "059a0c9cef4e289a50dc7a2f4c91fe69db95035e";
+      sha256 = "1h7cq63n94y2a6fprq4g63admh49rcci7avl5z9kdimkhqb2jb84";
+      name = "cef-binary";
+    })
+  ];
+
+  sourceRoot = pname;
+
+  nativeBuildInputs = [
+    pkgconfig
+    cmake
+    qttools
+    deepin.setupHook
+  ];
+
+  buildInputs = [
+    qtbase
+    qtwebchannel
+    qtx11extras
+  ] ++ rpahtLibraries;
+
+  postUnpack = ''
+    rmdir ${pname}/cef
+    ln -s ../cef-binary ${pname}/cef
+  '';
+
+  postPatch = ''
+    searchHardCodedPaths
+    fixPath $out /usr src/core/qcef_global_settings.{h,cpp}
+    sed '/COMMAND rm -rf Release Resources/a COMMAND ldd qcef/libcef.so' -i src/CMakeLists.txt
+    sed '/COMMAND rm -rf Release Resources/a COMMAND patchelf --set-rpath ${libPath} qcef/libcef.so' -i src/CMakeLists.txt
+  '';
+
+  postFixup = ''
+    searchHardCodedPaths $out
+  '';
+
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
+  meta = with stdenv.lib; {
+    description = "Qt5 binding of Chromium Embedded Framework";
+    homepage = https://github.com/linuxdeepin/qcef;
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}