summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorJosé Romildo Malaquias <malaquias@gmail.com>2018-10-30 19:17:45 -0300
committerJosé Romildo Malaquias <malaquias@gmail.com>2018-11-10 12:27:38 -0200
commit287db0f9b97789606c63974487c6a5c2b7467ef4 (patch)
treec77630dba006f14a89219abc29ac4e5054e475a8 /pkgs/desktops
parentd0df66ea60cf8a9543db6d393b38f2d9ec667097 (diff)
downloadnixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar
nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar.gz
nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar.bz2
nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar.lz
nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar.xz
nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.tar.zst
nixpkgs-287db0f9b97789606c63974487c6a5c2b7467ef4.zip
deepin: add update script
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/deepin/dbus-factory/default.nix4
-rw-r--r--pkgs/desktops/deepin/dde-api/default.nix9
-rw-r--r--pkgs/desktops/deepin/dde-calendar/default.nix4
-rw-r--r--pkgs/desktops/deepin/dde-daemon/default.nix4
-rw-r--r--pkgs/desktops/deepin/dde-polkit-agent/default.nix4
-rw-r--r--pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix4
-rw-r--r--pkgs/desktops/deepin/dde-session-ui/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-desktop-base/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-desktop-schemas/default.nix5
-rw-r--r--pkgs/desktops/deepin/deepin-gettext-tools/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-gtk-theme/default.nix7
-rw-r--r--pkgs/desktops/deepin/deepin-icon-theme/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-image-viewer/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-menu/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-metacity/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-movie-reborn/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-mutter/default.nix5
-rw-r--r--pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix5
-rw-r--r--pkgs/desktops/deepin/deepin-sound-theme/default.nix7
-rw-r--r--pkgs/desktops/deepin/deepin-terminal/default.nix9
-rw-r--r--pkgs/desktops/deepin/deepin-wallpapers/default.nix7
-rw-r--r--pkgs/desktops/deepin/deepin-wm/default.nix4
-rw-r--r--pkgs/desktops/deepin/default.nix1
-rw-r--r--pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix5
-rw-r--r--pkgs/desktops/deepin/dtkcore/default.nix4
-rw-r--r--pkgs/desktops/deepin/dtkwidget/default.nix5
-rw-r--r--pkgs/desktops/deepin/dtkwm/default.nix5
-rw-r--r--pkgs/desktops/deepin/go-dbus-factory/default.nix4
-rw-r--r--pkgs/desktops/deepin/go-dbus-generator/default.nix4
-rw-r--r--pkgs/desktops/deepin/go-gir-generator/default.nix5
-rw-r--r--pkgs/desktops/deepin/go-lib/default.nix5
-rw-r--r--pkgs/desktops/deepin/qt5dxcb-plugin/default.nix5
-rw-r--r--pkgs/desktops/deepin/qt5integration/default.nix9
-rw-r--r--pkgs/desktops/deepin/update.nix37
34 files changed, 153 insertions, 46 deletions
diff --git a/pkgs/desktops/deepin/dbus-factory/default.nix b/pkgs/desktops/deepin/dbus-factory/default.nix
index 610e367b09f..3c99c40ee80 100644
--- a/pkgs/desktops/deepin/dbus-factory/default.nix
+++ b/pkgs/desktops/deepin/dbus-factory/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, jq, libxml2, go-dbus-generator }:
+{ stdenv, fetchFromGitHub, jq, libxml2, go-dbus-generator, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
     sed -i -e 's:/share/gocode:/share/go:' Makefile
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Generates static DBus bindings for Golang and QML at build-time";
     homepage = https://github.com/linuxdeepin/dbus-factory;
diff --git a/pkgs/desktops/deepin/dde-api/default.nix b/pkgs/desktops/deepin/dde-api/default.nix
index d8452e5f7a3..9e25d031440 100644
--- a/pkgs/desktops/deepin/dde-api/default.nix
+++ b/pkgs/desktops/deepin/dde-api/default.nix
@@ -1,6 +1,7 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig,
-go-gir-generator, glib, gtk3, poppler, librsvg, pulseaudio, alsaLib,
-libcanberra, gnome3, deepin-gettext-tools, go }:
+{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig ,
+  go-gir-generator, glib, gtk3, poppler, librsvg, pulseaudio, alsaLib,
+  libcanberra, gnome3, deepin-gettext-tools, go, deepin
+}:
 
 buildGoPackage rec {
   name = "${pname}-${version}";
@@ -50,6 +51,8 @@ buildGoPackage rec {
     remove-references-to -t ${go} $bin/bin/* $bin/lib/deepin-api/*
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Go-lang bindings for dde-daemon";
     homepage = https://github.com/linuxdeepin/dde-api;
diff --git a/pkgs/desktops/deepin/dde-calendar/default.nix b/pkgs/desktops/deepin/dde-calendar/default.nix
index ad6b0f1912a..6d0abab2100 100644
--- a/pkgs/desktops/deepin/dde-calendar/default.nix
+++ b/pkgs/desktops/deepin/dde-calendar/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, qmake, qttools,
-  deepin-gettext-tools, dtkcore, dtkwidget
+  deepin-gettext-tools, dtkcore, dtkwidget, deepin
 }:
 
 stdenv.mkDerivation rec {
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
       -e "s,/usr,$out,"
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Calendar for Deepin Desktop Environment";
     homepage = https://github.com/linuxdeepin/dde-calendar;
diff --git a/pkgs/desktops/deepin/dde-daemon/default.nix b/pkgs/desktops/deepin/dde-daemon/default.nix
index fe2c5f8f55a..aedd5826373 100644
--- a/pkgs/desktops/deepin/dde-daemon/default.nix
+++ b/pkgs/desktops/deepin/dde-daemon/default.nix
@@ -2,7 +2,7 @@
   dbus-factory, go-dbus-factory, go-gir-generator, go-lib,
   deepin-gettext-tools, dde-api, alsaLib, glib, gtk3, libinput, libnl,
   librsvg, linux-pam, networkmanager, pulseaudio, xorg, gnome3,
-  python3Packages, hicolor-icon-theme, go }:
+  python3Packages, hicolor-icon-theme, go, deepin }:
 
 buildGoPackage rec {
   name = "${pname}-${version}";
@@ -80,6 +80,8 @@ buildGoPackage rec {
     remove-references-to -t ${go} $out/lib/deepin-daemon/*
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Daemon for handling Deepin Desktop Environment session settings";
     homepage = https://github.com/linuxdeepin/dde-daemon;
diff --git a/pkgs/desktops/deepin/dde-polkit-agent/default.nix b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
index 71f9e9b0298..e5d1df6d53b 100644
--- a/pkgs/desktops/deepin/dde-polkit-agent/default.nix
+++ b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, polkit-qt,
-dtkcore, dtkwidget, dde-qt-dbus-factory }:
+  dtkcore, dtkwidget, dde-qt-dbus-factory, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -36,6 +36,8 @@ stdenv.mkDerivation rec {
       -e "s,/usr/lib/polkit-1-dde/plugins,/run/current-system/sw/lib/polkit-1-dde/plugins,"
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "PolicyKit agent for Deepin Desktop Environment";
     homepage = https://github.com/linuxdeepin/dde-polkit-agent;
diff --git a/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix b/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
index 007d58b3c30..047c2cc78cc 100644
--- a/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
+++ b/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, qmake, python }:
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, python, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Qt DBus interface library for Deepin software";
     homepage = https://github.com/linuxdeepin/dde-qt-dbus-factory;
diff --git a/pkgs/desktops/deepin/dde-session-ui/default.nix b/pkgs/desktops/deepin/dde-session-ui/default.nix
index cab3aff1404..8f0c05e6888 100644
--- a/pkgs/desktops/deepin/dde-session-ui/default.nix
+++ b/pkgs/desktops/deepin/dde-session-ui/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, pkgconfig, qmake, qtsvg, qttools,
   qtx11extras, xkeyboard_config, xorg, lightdm_qt, gsettings-qt,
   dde-qt-dbus-factory, deepin-gettext-tools, dtkcore, dtkwidget,
-  hicolor-icon-theme }:
+  hicolor-icon-theme, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -50,6 +50,8 @@ stdenv.mkDerivation rec {
     sed -i widgets/*.cpp boxframe/*.cpp -e 's,/usr/share/backgrounds/default_background.jpg,/usr/share/backgrounds/deepin/desktop.jpg,'
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Deepin desktop-environment - Session UI module";
     homepage = https://github.com/linuxdeepin/dde-session-ui;
diff --git a/pkgs/desktops/deepin/deepin-desktop-base/default.nix b/pkgs/desktops/deepin/deepin-desktop-base/default.nix
index 5b96e335c67..4c718b76d93 100644
--- a/pkgs/desktops/deepin/deepin-desktop-base/default.nix
+++ b/pkgs/desktops/deepin/deepin-desktop-base/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, deepin-wallpapers }:
+{ stdenv, fetchFromGitHub, deepin-wallpapers, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
     ln -s ../lib/deepin/desktop-version $out/etc/deepin-version
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Base assets and definitions for Deepin Desktop Environment";
     homepage = https://github.com/linuxdeepin/deepin-desktop-base;
diff --git a/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
index b1a9c52014b..d871b17aea7 100644
--- a/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
+++ b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchFromGitHub, python, deepin-gtk-theme,
-deepin-icon-theme, deepin-sound-theme, deepin-wallpapers, gnome3 }:
+  deepin-icon-theme, deepin-sound-theme, deepin-wallpapers, gnome3,
+  deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -33,6 +34,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "GSettings deepin desktop-wide schemas";
     homepage = https://github.com/linuxdeepin/deepin-desktop-schemas;
diff --git a/pkgs/desktops/deepin/deepin-gettext-tools/default.nix b/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
index e275429b395..779fae6a113 100644
--- a/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
+++ b/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gettext, python3Packages, perlPackages }:
+{ stdenv, fetchFromGitHub, gettext, python3Packages, perlPackages, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -36,6 +36,8 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/deepin-desktop-ts-convert --set PERL5LIB $PERL5LIB
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Deepin Internationalization utilities";
     homepage = https://github.com/linuxdeepin/deepin-gettext-tools;
diff --git a/pkgs/desktops/deepin/deepin-gtk-theme/default.nix b/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
index c46dea2875a..d00bf86bc2c 100644
--- a/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
+++ b/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchFromGitHub, gtk-engine-murrine }:
+{ stdenv, fetchFromGitHub, gtk-engine-murrine, deepin }:
 
 stdenv.mkDerivation rec {
-  name = "deepin-gtk-theme-${version}";
+  name = "${pname}-${version}";
+  pname = "deepin-gtk-theme";
   version = "17.10.9";
 
   src = fetchFromGitHub {
@@ -15,6 +16,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Deepin GTK Theme";
     homepage = https://github.com/linuxdeepin/deepin-gtk-theme;
diff --git a/pkgs/desktops/deepin/deepin-icon-theme/default.nix b/pkgs/desktops/deepin/deepin-icon-theme/default.nix
index c6d7f349301..47368ac686e 100644
--- a/pkgs/desktops/deepin/deepin-icon-theme/default.nix
+++ b/pkgs/desktops/deepin/deepin-icon-theme/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gtk3, papirus-icon-theme }:
+{ stdenv, fetchFromGitHub, gtk3, papirus-icon-theme, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
     sed -i -e 's|\(-rm -f .*/icon-theme.cache\)|# \1|g' Makefile
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Icons for the Deepin Desktop Environment";
     homepage = https://github.com/linuxdeepin/deepin-icon-theme;
diff --git a/pkgs/desktops/deepin/deepin-image-viewer/default.nix b/pkgs/desktops/deepin/deepin-image-viewer/default.nix
index 0ba2e306110..bcbccc4ded5 100644
--- a/pkgs/desktops/deepin/deepin-image-viewer/default.nix
+++ b/pkgs/desktops/deepin/deepin-image-viewer/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, qtsvg,
   qtx11extras, dtkcore, dtkwidget, qt5integration, freeimage, libraw,
-  libexif
+  libexif, deepin
 }:
 
 stdenv.mkDerivation rec {
@@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
       -e "s,/usr,$out,"
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Image Viewer for Deepin Desktop Environment";
     homepage = https://github.com/linuxdeepin/deepin-image-viewer;
diff --git a/pkgs/desktops/deepin/deepin-menu/default.nix b/pkgs/desktops/deepin/deepin-menu/default.nix
index eeed3579f45..9ac61355c75 100644
--- a/pkgs/desktops/deepin/deepin-menu/default.nix
+++ b/pkgs/desktops/deepin/deepin-menu/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, qmake, dtkcore, dtkwidget,
-  qt5integration }:
+  qt5integration, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Deepin menu service";
     homepage = https://github.com/linuxdeepin/deepin-menu;
diff --git a/pkgs/desktops/deepin/deepin-metacity/default.nix b/pkgs/desktops/deepin/deepin-metacity/default.nix
index b5eb7110876..78b6303188a 100644
--- a/pkgs/desktops/deepin/deepin-metacity/default.nix
+++ b/pkgs/desktops/deepin/deepin-metacity/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, bamf,
   json-glib, libcanberra-gtk3, libxkbcommon, libstartup_notification,
-  deepin-wallpapers, deepin-desktop-schemas }:
+  deepin-wallpapers, deepin-desktop-schemas, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -52,6 +52,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "2D window manager for Deepin";
     homepage = https://github.com/linuxdeepin/deepin-metacity;
diff --git a/pkgs/desktops/deepin/deepin-movie-reborn/default.nix b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
index 52a51c0db86..a22a261cea2 100644
--- a/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
+++ b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, qttools, qtx11extras,
   dtkcore, dtkwidget, ffmpeg, ffmpegthumbnailer, mpv, pulseaudio,
-  libdvdnav, libdvdread, xorg }:
+  libdvdnav, libdvdread, xorg, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -43,6 +43,8 @@ stdenv.mkDerivation rec {
     sed -i src/libdmr/libdmr.pc.in -e "s,/usr,$out," -e 's,libdir=''${prefix}/,libdir=,'
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Deepin movie player";
     homepage = https://github.com/linuxdeepin/deepin-movie-reborn;
diff --git a/pkgs/desktops/deepin/deepin-mutter/default.nix b/pkgs/desktops/deepin/deepin-mutter/default.nix
index e397ab53576..efa36dd6604 100644
--- a/pkgs/desktops/deepin/deepin-mutter/default.nix
+++ b/pkgs/desktops/deepin/deepin-mutter/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, xorg,
   libcanberra-gtk3, upower, xkeyboard_config, libxkbcommon,
-  libstartup_notification, libinput, cogl, clutter, systemd
-}:
+  libstartup_notification, libinput, cogl, clutter, systemd, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -51,6 +50,8 @@ stdenv.mkDerivation rec {
     NOCONFIGURE=1 ./autogen.sh
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Base window manager for deepin, fork of gnome mutter";
     homepage = https://github.com/linuxdeepin/deepin-mutter;
diff --git a/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix b/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
index 1bb112b76f6..737c99261f9 100644
--- a/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
+++ b/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
@@ -1,6 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, qmake, dtkcore, dtkwidget,
-  qt5integration
-}:
+  qt5integration, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -27,6 +26,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Pop-up shortcut viewer for Deepin applications";
     homepage = https://github.com/linuxdeepin/deepin-shortcut-viewer;
diff --git a/pkgs/desktops/deepin/deepin-sound-theme/default.nix b/pkgs/desktops/deepin/deepin-sound-theme/default.nix
index f12419a615b..bb004372497 100644
--- a/pkgs/desktops/deepin/deepin-sound-theme/default.nix
+++ b/pkgs/desktops/deepin/deepin-sound-theme/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, deepin }:
 
 stdenv.mkDerivation rec {
-  name = "deepin-sound-theme-${version}";
+  name = "${pname}-${version}";
+  pname = "deepin-sound-theme";
   version = "15.10.3";
 
   src = fetchFromGitHub {
@@ -13,6 +14,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Deepin sound theme";
     homepage = https://github.com/linuxdeepin/deepin-sound-theme;
diff --git a/pkgs/desktops/deepin/deepin-terminal/default.nix b/pkgs/desktops/deepin/deepin-terminal/default.nix
index 26146b8ab47..89e98e78099 100644
--- a/pkgs/desktops/deepin/deepin-terminal/default.nix
+++ b/pkgs/desktops/deepin/deepin-terminal/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, fetchFromGitHub, pkgconfig, gtk3, vala, cmake,
   ninja, vte, libgee, wnck, zssh, gettext, librsvg, libsecret,
-  json-glib, gobjectIntrospection, deepin-menu, deepin-shortcut-viewer
-}:
+  json-glib, gobjectIntrospection, deepin-menu,
+  deepin-shortcut-viewer, deepin }:
 
 stdenv.mkDerivation rec {
-  name = "deepin-terminal-${version}";
+  name = "${pname}-${version}";
+  pname = "deepin-terminal";
   version = "3.0.3";
 
   src = fetchFromGitHub {
@@ -50,6 +51,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "The default terminal emulation for Deepin";
     longDescription = ''
diff --git a/pkgs/desktops/deepin/deepin-wallpapers/default.nix b/pkgs/desktops/deepin/deepin-wallpapers/default.nix
index ed2c795fd9c..8f04bd48218 100644
--- a/pkgs/desktops/deepin/deepin-wallpapers/default.nix
+++ b/pkgs/desktops/deepin/deepin-wallpapers/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchFromGitHub, dde-api }:
+{ stdenv, fetchFromGitHub, dde-api, deepin }:
 
 stdenv.mkDerivation rec {
-  name = "deepin-wallpapers-${version}";
+  name = "${pname}-${version}";
+  pname = "deepin-wallpapers";
   version = "1.7.5";
 
   src = fetchFromGitHub {
@@ -31,6 +32,8 @@ stdenv.mkDerivation rec {
       $out/var/cache/image-blur/$(echo -n $out/share/backgrounds/deepin/desktop.jpg | md5sum | cut -d " " -f 1).jpg
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Wallpapers for Deepin Desktop Environment";
     homepage = https://github.com/linuxdeepin/deepin-wallpapers;
diff --git a/pkgs/desktops/deepin/deepin-wm/default.nix b/pkgs/desktops/deepin/deepin-wm/default.nix
index f936934dcc0..66aec528f37 100644
--- a/pkgs/desktops/deepin/deepin-wm/default.nix
+++ b/pkgs/desktops/deepin/deepin-wm/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, vala, gnome3,
   bamf, clutter-gtk, granite, libcanberra-gtk3, libwnck3,
   deepin-mutter, deepin-wallpapers, deepin-desktop-schemas,
-  hicolor-icon-theme }:
+  hicolor-icon-theme, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -48,6 +48,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Deepin Window Manager";
     homepage = https://github.com/linuxdeepin/deepin-wm;
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index a6163cd32e2..ca279679e83 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -2,6 +2,7 @@
 
 let
   packages = self: with self; {
+    updateScript = callPackage ./update.nix { };
 
     dbus-factory = callPackage ./dbus-factory { };
     dde-api = callPackage ./dde-api { };
diff --git a/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
index 4aeba1b4c1b..c9af2930500 100644
--- a/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
+++ b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, gnome3, dde-polkit-agent }:
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, gnome3,
+  dde-polkit-agent, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -30,6 +31,8 @@ stdenv.mkDerivation rec {
       -e "s,/usr,$out,"
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "GNOME keyring extension for dde-polkit-agent";
     homepage = https://github.com/linuxdeepin/dpa-ext-gnomekeyring;
diff --git a/pkgs/desktops/deepin/dtkcore/default.nix b/pkgs/desktops/deepin/dtkcore/default.nix
index 3fc9a1b4a03..bd46896588e 100644
--- a/pkgs/desktops/deepin/dtkcore/default.nix
+++ b/pkgs/desktops/deepin/dtkcore/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, qmake, gsettings-qt, pythonPackages }:
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, gsettings-qt, pythonPackages, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -42,6 +42,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   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
index 268f9518495..078905b15ab 100644
--- a/pkgs/desktops/deepin/dtkwidget/default.nix
+++ b/pkgs/desktops/deepin/dtkwidget/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, qtmultimedia,
   qtsvg, qtx11extras, librsvg, libstartup_notification, gsettings-qt,
-  dde-qt-dbus-factory, dtkcore
-}:
+  dde-qt-dbus-factory, dtkcore, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -41,6 +40,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Deepin graphical user interface library";
     homepage = https://github.com/linuxdeepin/dtkwidget;
diff --git a/pkgs/desktops/deepin/dtkwm/default.nix b/pkgs/desktops/deepin/dtkwm/default.nix
index 46ed7bcc3be..7154ae3da6a 100644
--- a/pkgs/desktops/deepin/dtkwm/default.nix
+++ b/pkgs/desktops/deepin/dtkwm/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, dtkcore }:
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, dtkcore,
+  deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -29,6 +30,8 @@ stdenv.mkDerivation rec {
       LIB_INSTALL_DIR=$out/lib"
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Deepin graphical user interface library";
     homepage = https://github.com/linuxdeepin/dtkwm;
diff --git a/pkgs/desktops/deepin/go-dbus-factory/default.nix b/pkgs/desktops/deepin/go-dbus-factory/default.nix
index b9b3aa59a0b..01d504eda89 100644
--- a/pkgs/desktops/deepin/go-dbus-factory/default.nix
+++ b/pkgs/desktops/deepin/go-dbus-factory/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
     sed -i -e 's:/share/gocode:/share/go:' Makefile
   '';
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "GoLang DBus factory for the Deepin Desktop Environment";
     homepage = https://github.com/linuxdeepin/go-dbus-factory;
diff --git a/pkgs/desktops/deepin/go-dbus-generator/default.nix b/pkgs/desktops/deepin/go-dbus-generator/default.nix
index fa38e650c3a..28873d8459e 100644
--- a/pkgs/desktops/deepin/go-dbus-generator/default.nix
+++ b/pkgs/desktops/deepin/go-dbus-generator/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, go, go-lib }:
+{ stdenv, fetchFromGitHub, go, go-lib, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
     "GOCACHE=off"
   ];
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Convert dbus interfaces to go-lang or qml wrapper code";
     homepage = https://github.com/linuxdeepin/go-dbus-generator;
diff --git a/pkgs/desktops/deepin/go-gir-generator/default.nix b/pkgs/desktops/deepin/go-gir-generator/default.nix
index d5ec29f1ef8..96abc9dbf7d 100644
--- a/pkgs/desktops/deepin/go-gir-generator/default.nix
+++ b/pkgs/desktops/deepin/go-gir-generator/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, pkgconfig, go, gobjectIntrospection, libgudev }:
+{ stdenv, fetchFromGitHub, pkgconfig, go, gobjectIntrospection,
+  libgudev, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -31,6 +32,8 @@ stdenv.mkDerivation rec {
     "GOCACHE=off"
   ];
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Generate static golang bindings for GObject";
     homepage = https://github.com/linuxdeepin/go-gir-generator;
diff --git a/pkgs/desktops/deepin/go-lib/default.nix b/pkgs/desktops/deepin/go-lib/default.nix
index ff9394425e0..ad4e725f0f5 100644
--- a/pkgs/desktops/deepin/go-lib/default.nix
+++ b/pkgs/desktops/deepin/go-lib/default.nix
@@ -1,6 +1,5 @@
 { stdenv, fetchFromGitHub, glib, xorg, gdk_pixbuf, pulseaudio,
-  mobile-broadband-provider-info
-}:
+  mobile-broadband-provider-info, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -27,6 +26,8 @@ stdenv.mkDerivation rec {
     "GOSITE_DIR=$(out)/share/go"
   ];
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Go bindings for Deepin Desktop Environment development";
     homepage = https://github.com/linuxdeepin/go-lib;
diff --git a/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix b/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
index 3754de3ea98..dbfe7076976 100644
--- a/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
+++ b/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, libSM, mtdev, cairo }:
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, libSM,
+  mtdev, cairo, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -30,6 +31,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Qt platform theme integration plugin for DDE";
     homepage = https://github.com/linuxdeepin/qt5dxcb-plugin;
diff --git a/pkgs/desktops/deepin/qt5integration/default.nix b/pkgs/desktops/deepin/qt5integration/default.nix
index 28e06bae42d..7ffdf16cdb3 100644
--- a/pkgs/desktops/deepin/qt5integration/default.nix
+++ b/pkgs/desktops/deepin/qt5integration/default.nix
@@ -1,7 +1,6 @@
-{ stdenv, fetchFromGitHub, pkgconfig, qmake, mtdev, gsettings-qt
-, lxqt, qtx11extras, qtmultimedia, qtsvg, fontconfig, freetype
-, qt5dxcb-plugin, qtstyleplugins, dtkcore, dtkwidget
-}:
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, mtdev, gsettings-qt ,
+  lxqt, qtx11extras, qtmultimedia, qtsvg, fontconfig, freetype ,
+  qt5dxcb-plugin, qtstyleplugins, dtkcore, dtkwidget, deepin }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -42,6 +41,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
   meta = with stdenv.lib; {
     description = "Qt platform theme integration plugins for DDE";
     homepage = https://github.com/linuxdeepin/qt5integration;
diff --git a/pkgs/desktops/deepin/update.nix b/pkgs/desktops/deepin/update.nix
new file mode 100644
index 00000000000..761ead015c6
--- /dev/null
+++ b/pkgs/desktops/deepin/update.nix
@@ -0,0 +1,37 @@
+{ lib, writeScript, coreutils, curl, gnugrep, gnused, jq, common-updater-scripts, nix }:
+{ name, ignored-versions ? "^2014\\.|^v[0-9]+" }:
+
+let
+  nameAndVersion = builtins.parseDrvName name;
+  packageVersion = nameAndVersion.version;
+  packageName = nameAndVersion.name;
+  attrPath = "deepin.${packageName}";
+in
+
+writeScript "update-${packageName}" ''
+  set -o errexit
+  set -x
+
+  # search for the latest version of the package on github
+  PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep gnused jq ]}
+  tags=$(curl -s https://api.github.com/repos/linuxdeepin/${packageName}/tags)
+  tags=$(echo "$tags" | jq -r '.[] | .name')
+  echo "# ${name}" >> git-commits.txt
+  echo "#   available tags:" >> git-commits.txt
+  echo "$tags" | ${gnused}/bin/sed -e 's/^/#      /' >> git-commits.txt
+  if [ -n "${ignored-versions}" ]; then
+    tags=$(echo "$tags" | grep -vE "${ignored-versions}")
+  fi
+  latest_tag=$(echo "$tags" | sort --version-sort | tail -1)
+
+  # generate commands to commit the changes
+  if [ "${packageVersion}" != "$latest_tag" ]; then
+    pfile=$(EDITOR=echo ${nix}/bin/nix edit -f. ${attrPath})
+    echo "   git add $pfile " >> git-commits.txt
+    echo "   git commit -m \"${attrPath}: ${packageVersion} -> $latest_tag\"" >> git-commits.txt
+  fi
+
+  # update the nix expression
+  update-source-version "${attrPath}" "$latest_tag"
+  echo "" >> git-commits.txt
+''